|
现在做的一个项目需要用到减速步进电机。下面的一款2相电机正在测试,在测试过程出现问题,只向一个方向转的时候除第一次转的角度有误差 其他没有,就是说每次换方向的时候都会出现误差。这个是什么原因。我换了几个驱动程序了,还是不行 实在想不通。看看大家有什么想法
电机参数:
![](http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551659.jpg)
(原文件名:1.jpg)
驱动程序:
void Moto_driver(bit pn_flag,uint m_count)
{
if(pn_flag )//正转
{
while((m_count--)>0)
{
P1=~mostep;
delay_ms(4);
if(mostep==0x08)
{
mostep=0x01;
continue;
}
mostep<<=1;
}
}
else//反转
{
while((m_count--)>0)
{
P1=~mostep;
delay_ms(4);
if(mostep==0x01)
{
mostep=0x08;
continue;
}
mostep>>=1;
}
}
P1 = P1|0x0f;
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|