我的是5線4相28BYJ-48電機,5VDC,按照例程調試了電機,正轉反轉程序如下:用的ULN2003A驅動的,delay函數延時大約10us
下面是問題:
1、延時函數在相位轉換間再低于75的時候電機就只振動不轉了,是因為時間太短不足以讓電機轉動起來?
2、我調到最高速度(大約)時,步進電機轉一周大約在3.5秒左右,只能這么慢嗎?是有什么我不知道的方法?還是需要換更貴更好的電機?
3、我調試了電機轉動配合蜂鳴器來模擬圖片打印,400*200的圖片灰度數據,打印一行要3分鐘左右,這玩意如果做什么激光打印之類的東西是不是太扯淡了?
4、為什么KEIL5和論壇里面代碼復制來去,中文注釋出來都是亂碼?????
char motor[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
void setmotor(unsigned long i)//順時針轉動一個周期,64周期為5.625度,64*64周期為360度一圈
{
while(--i)
{
P1=motor[i%8];
delay(85);
}
}
void setmotorN(unsigned long i)//逆時針轉動一個周期,64周期為5.625度,64*64周期為360度一圈
{
while(--i)
{
P1=motor[7-i%8];
delay(80);
}
}
void delay(unsigned long us)
{
while(us--);
}
|