就是我是用一块单片机,想用红外遥控四个步进电机。但是连接P1—1到P1—4口的步进电机最顺畅,其余的步进电机震动都很严重,且旋转速度都相对较慢。并且反向旋转时,部分电机震动更严重,甚至不转。
其中P3—2连接红外模块被占用了无法使用,且P3其他口与定时寄存器调试冲突,于是四号电机连接了P2—0 5 6 7的IO口,旋转最不流畅。
四个电机使用的程序都是完全一样的,没有差别,只有连接IO口上存在区别。
使用型号,驱动板块uln2003。步进电机:28BYJ4。单片机:STC89C52
搞个示波器,对比看看不同电机在旋转时的电压、电流、信号有没有什么不同吧。
如果所有电机都是在 P1-1 到 P1-4 的时候时平稳的,那就有可能连接到其他 IO 时有异常的干扰。另外也可以试试换块芯片看看是否是这个芯片问题。
要看具体操作代码。
你操作的时候是单独对P1的每个bit进行操作,还是对P1进行位运算后赋值操作?如果是后者,建议不要用"P1 |= "或者"P1 &="这样的操作。而是先定义一个变量P1Value,对P1Value进行运算后,直接给P1赋值。