标题: 尝试软驱4线步进电机控制 [打印本页]

作者: 51黑科技    时间: 2016-2-4 00:50
标题: 尝试软驱4线步进电机控制

最近,在整理废旧物品时,从过去换下的3寸和5寸软驱上拆下几个步进电机,想把它利用一下,就搞了个步进电机控制器。驱动效果还不错,看看下一步能否应用到我的机器人上。

    首先介绍4线步进电机,它体积很小,只有4根引线,分别为红、蓝、黄、白。如图示:

    控制电路采用了4只8550(PNP)和4只8050(NPN)三极管,L1和L2分别为步进电机的两个线圈,电路使用与单片机相同的电压+5V供电,电路接好后通过插座J1连接到51单片机的PX口。


    控制电路实物见下图,该电路可以同时控制两台步进电机,电路输出分别连接至51单片机的P0和P2口,使用三个按钮开关分别接至51单片机的P1.0、P1.1和P1.2,分别控制步进电机的正转、反转和停止。

汇编测试程序如下:

       ORG 00H
  STOP:ORL P2,#0FFH
       ORL P0,#0FFH
  LOOP:JNB P1.0,FOR2
       JNB P1.1,REV2
       JNB P1.2,STOP1
       SJMP LOOP
   FOR:MOV R0,#00H   

  FOR1:MOV A,R0        

       MOV DPTR,#TABLE

       MOVC A,@A+DPTR

       JZ FOR
       CPL A            
       MOV P2,A

       MOV P0,A
       JNB P1.2,STOP1
       JNB P1.1,REV2
       LCALL DELAY
       INC R0
       SJMP FOR1
   REV:MOV R0,#05
  REV1:MOV A,R0
       MOV DPTR,#TABLE
       MOVC A,@A+DPTR
       JZ REV

       CPL A
       MOV P2,A
       MOV P0,A
       JNB P1.2,STOP1
       JNB P1.0,FOR2
       LCALL DELAY    
       INC R0        
       SJMP REV1
 STOP1:LCALL DELAY
       JNB P1.2,$
       LCALL DELAY
       SJMP STOP
  FOR2:LCALL DELAY
       JNB P1.0,$
       LCALL DELAY
       SJMP FOR
  REV2:LCALL DELAY
       JNB P1.1,$
       LCALL DELAY
       SJMP REV
 DELAY:MOV R1,#40
    D1:MOV R2,#248
       DJNZ R2,$
       DJNZ R1,D1
       RET
 TABLE:DB 00110011B,11000011B,11001100B,00111100B;正转
       DB 00
       DB 00111100B,11001100B,11000011B,00110011B;反转
       DB 00
       END


作者: xymiss    时间: 2017-7-22 23:48
这个不错。刚好有几个拆下来的。明天试试




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1