尝试软驱4线步进电机控制
2011-01-2611:13最近,在整理废旧物品时,从过去换下的3寸和5寸软驱上拆下几个步进电机,想把它利用一下,就搞了个步进电机控制器
驱动效果还不错,看看下一步能否应用到我的机器人上
首先介绍4线步进电机,它体积很小,只有4根引线,分别为红、蓝、黄、白
如图示:控制电路采用了4只8550(PNP)和4只8050(NPN)三极管,L1和L2分别为步进电机的两个线圈,电路使用与单片机相同的电压+5V供电,电路接好后通过插座J1连接到51单片机的PX口
控制电路实物见下图,该电路可以同时控制两台步进电机,电路输出分别连接至51单片机的P0和P2口,使用三个按钮开关分别接至51单片机的P1
2,分别控制步进电机的正转、反转和停止
汇编测试程序如下:ORG00HSTOP:ORLP2,#0FFHORLP0,#0FFHLOOP:JNBP1
0,FOR2JNBP1
1,REV2JNBP1
2,STOP1SJMPLOOPFOR:MOVR0,#00HFOR1:MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZFORCPLAMOVP2,AMOVP0,AJNBP1
2,STOP1JNBP1
1,REV2LCALLDELAYINCR0SJMPFOR1REV:MOVR0,#05REV1:MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZREVCPLAMOVP2,AMOVP0,AJNBP1
2,STOP1JNBP1
0,FOR2LCALLDELAYINCR0SJMPREV1STOP1:LCALLDELAYJNBP1
2,$LCALLDELAYSJMPSTOPFOR2:LCALLDELAYJNBP1
0,$LCALLDELAYSJMPFORREV2:LCALLDELAYJNBP1
1,$LCALLDELAYSJ