標(biāo)題: 基于stm32的ULN2033求助,電機(jī)在震,但是不轉(zhuǎn) [打印本頁]

作者: dididi1313    時間: 2019-12-19 21:04
標(biāo)題: 基于stm32的ULN2033求助,電機(jī)在震,但是不轉(zhuǎn)
我電機(jī)在震,但是不轉(zhuǎn)怎么辦呀,用一開始的程序能轉(zhuǎn)起來,但是看了之后改進(jìn)我的里面就不行,可以幫我看看嘛.步進(jìn)電機(jī)c文件
  1. #include "bujin.h"
  2. #include "SysTick.h"

  3. #define uint unsigned int

  4. uint16_t phasecw[4] ={0x0800,0x0400,0x0200,0x0100};

  5. void Delay_xms(uint x)
  6. {
  7. uint i,j;
  8. for(i=0;i<x;i++)
  9.   for(j=0;j<112;j++);
  10. }

  11. void MOTO_Init(void)
  12. {
  13.         
  14. GPIO_InitTypeDef GPIO_InitStructure;
  15. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
  16. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 ;
  17. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  18. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  19. GPIO_Init(GPIOD,&GPIO_InitStructure);
  20. GPIO_ResetBits(GPIOD,GPIO_Pin_8 | GPIO_Pin_9 |GPIO_Pin_10 |GPIO_Pin_11 );
  21.         
  22. }

  23. void Motorcw(uint speed)  
  24. {  
  25.     uint8_t i=0;         
  26.         {
  27.     for(i=0;i<4;i++)  
  28.     {  
  29.         GPIO_Write(GPIOD,phasecw[i]);  
  30.         delay_ms(speed);  
  31.     }
  32.         }
  33. }

  34. void MotorStop(void)  
  35. {
  36. GPIO_Write(GPIOD,0x0000);  
  37. }

  38. void Motorcw_angle(int angle,int speed)
  39. {
  40.         int i,j;
  41.         j=(int)(angle/0.70312);
  42.         for(i=0;i<j;i++)
  43.         {
  44.                 Motorcw(speed);
  45.         }
  46. }
復(fù)制代碼
主程序的
  1. if(hum>=setup||shi>=setup)
  2. {
  3.         led3=!led3;
  4.         beep=!beep;
  5.         Motorcw_angle(90,4);
  6.                  data_pros();
  7.                 }
  8.                 else
  9.                 {
  10.                  data_pros();
  11.                  }
  12. }
復(fù)制代碼






作者: dididi1313    時間: 2019-12-19 21:06
一直在震,但是不會轉(zhuǎn),氣死了
作者: dididi1313    時間: 2019-12-20 08:37
有人會不
作者: pcbboy    時間: 2019-12-20 08:48
看下速度是否太快啟動不了。就是哪個延時。
作者: dididi1313    時間: 2019-12-20 09:07
步進(jìn)電機(jī)有一個技術(shù)參數(shù):空載啟動頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟 
動的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動,可能發(fā)生丟步或堵
轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動,脈沖頻
率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電
機(jī)轉(zhuǎn)速從低速升到高速)。

剛剛看到這個,是因?yàn)檫@個嗎
作者: linzhiqi1    時間: 2019-12-20 10:03
main()
for(;;)
{
  if(hum>=setup||shi>=setup)
{
        led3=!led3;
        beep=!beep;
        Motorcw_angle(90,4);
                 data_pros();
                }
                else
                {
                 data_pros();
                 }
}
}
主程序應(yīng)該是的死循環(huán)
作者: dididi1313    時間: 2019-12-20 11:07
pcbboy 發(fā)表于 2019-12-20 08:48
看下速度是否太快啟動不了。就是哪個延時。

我沒調(diào)過,電機(jī)能轉(zhuǎn),但是加到我的程序里,就不轉(zhuǎn)只會震
作者: dididi1313    時間: 2019-12-20 11:10
  1.         while(1)
  2.         {
  3.                 key=KEY_Scan(0);  
  4.                 switch(key)
  5.                 {
  6.                         case KEY_UP:    setup=setup+1;break;   
  7.                         case KEY_DOWN:  setup=setup-1;break;   
  8.                 }
  9.                 if(setup>=99)
  10.                 {
  11.                         setup=99;
  12.                 }
  13.                 i++;
  14.                 if(i%20==0)
  15.                 {
  16.                         data_pros();  
  17.                 }               

  18.                 delay_us(10);
  19.      hum=humi/10;
  20.                 shi=shidu/10;
  21.                 if(hum>=setup||shi>=setup)
  22.                 {
  23.         led3=!led3;
  24.         beep=!beep;
  25.         Motorcw_angle(90,4);
  26.                  data_pros();
  27.                 }
  28.                 else
  29.                 {
  30.         GPIO_SetBits(LED_PORT,LED_PIN);
  31.                  data_pros();
  32.                 }       
  33.         }
復(fù)制代碼

這個是主程序的while循環(huán)
作者: dididi1313    時間: 2019-12-20 11:10
linzhiqi1 發(fā)表于 2019-12-20 10:03
main()
for(;;)
{

我發(fā)了個主程序的while循環(huán) 在樓下




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1