找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2907|回复: 1
打印 上一主题 下一主题
收起左侧

尝试软驱4线步进电机控制

[复制链接]
跳转到指定楼层
楼主
ID:104835 发表于 2016-2-4 00:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近,在整理废旧物品时,从过去换下的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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:217754 发表于 2017-7-22 23:48 | 只看该作者
这个不错。刚好有几个拆下来的。明天试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表