基于51单片机的步进电机驱动器

发布者:和谐的24号最新更新时间:2016-05-11 来源: eefocus关键字:51单片机  步进电机  驱动器 手机看文章 扫描二维码
随时随地手机看文章
 步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。

  有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。

  1. 步进电机的工作原理

  该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。

  图1 四相步进电机步进示意图

  

  
 

  开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

  当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极

 
产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

  四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

  单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:

  图2.步进电机工作时序波形图  


 

 

  2.基于AT89C2051的步进电机驱动器系统电路原理

  图3 步进电机驱动器系统电路原理图  

 



 

  AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。

  图3中的RL1~RL4为绕组内阻,50Ω电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1~D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1~D4)而衰减掉,从而保护了功率管TIP122不受损坏。

  在50Ω外接电阻上并联一个200μF电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的200Ω电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。

  3.软件设计

  该驱动器根据拨码开关KX、KY的不同组合有三种工作方式供选择:

  方式1为中断方式:P3.5(INT1)为步进脉冲输入端,P3.7为正反转脉冲输入端。上位机(PC机或单片机)与驱动器仅以2条线相连。

  方式2为串行通讯方式:上位机(PC机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程。

  方式3为拨码开关控制方式:通过K1~K5的不同组合,直接控制步进电机。

  当上电或按下复位键KR后,AT89C2051先检测拨码开关KX、KY的状态,根据KX、KY 的不同组合,进入不同的工作方式。以下给出方式1的程序流程框图与源程序。

  在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能平滑过渡,不至于产生错步,应在每一步中设置标志位。其中20H单元的各位为步进电机正转标志位;21H单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。

  图4 方式1程序框图

  

 



 

  方式1源程序:

  MOV 20H,#00H ;20H单元置初值,电机正转位置指针

  MOV 21H,#00H ;21H单元置初值,电机反转位置指针

  MOV P1,#0C0H ;P1口置初值,防止电机上电短路

  MOV TMOD,#60H ;T1计数器置初值,开中断

  MOV TL1,#0FFH

  MOV TH1,#0FFH

  SETB ET1

  SETB EA

  SETB TR1

  SJMP $

  ;***********计数器1中断程序************

 

  IT1P: JB P3.7,FAN ;电机正、反转指针

  ;*************电机正转*****************

  JB 00H,LOOP0

  JB 01H,LOOP1

  JB 02H,LOOP2

  JB 03H,LOOP3

  JB 04H,LOOP4

  JB 05H,LOOP5

  JB 06H,LOOP6

  JB 07H,LOOP7

  LOOP0: MOV P1,#0D0H

  MOV 20H,#02H

  MOV 21H,#40H

  AJMP QUIT

  LOOP1: MOV P1,#090H

  MOV 20H,#04H

  MOV 21H,#20H

  AJMP QUIT

  LOOP2: MOV P1,#0B0H

  MOV 20H,#08H

  MOV 21H,#10H

  AJMP QUIT

  LOOP3: MOV P1,#030H

  MOV 20H,#10H

  MOV 21H,#08H

  AJMP QUIT

  LOOP4: MOV P1

 
,#070H

  MOV 20H,#20H

  MOV 21H,#04H

  AJMP QUIT

  LOOP5: MOV P1,#060H

  MOV 20H,#40H

  MOV 21H,#02H

  AJMP QUIT

  LOOP6: MOV P1,#0E0H

  MOV 20H,#80H

  MOV 21H,#01H

  AJMP QUIT

  LOOP7: MOV P1,#0C0H

  MOV 20H,#01H

  MOV 21H,#80H

  AJMP QUIT

  ;***************电机反转*****************

  FAN: JB 08H,LOOQ0

  JB 09H,LOOQ1

  JB 0AH,LOOQ2

  JB 0BH,LOOQ3

  JB 0CH,LOOQ4

  JB 0DH,LOOQ5

  JB 0EH,LOOQ6

  JB 0FH,LOOQ7

  LOOQ0: MOV P1,#0A0H

  MOV 21H,#02H

  MOV 20H,#40H

  AJMP QUIT

  LOOQ1: MOV P1,#0E0H

  MOV 21H,#04H

  MOV 20H,#20H

  AJMP QUIT

  LOOQ2: MOV P1,#0C0H

  MOV 21H,#08H

  MOV 20H,#10H

  AJMP QUIT

  LOOQ3: MOV P1,#0D0H

  MOV 21H,#10H

  MOV 20H,#08H

  AJMP QUIT

  LOOQ4: MOV P1,#050H

  MOV 21H,#20H

  MOV 20H,#04H

  AJMP QUIT

  LOOQ5: MOV P1,#070H

  MOV 21H,#40H

  MOV 20H,#02H

  AJMP QUIT

  LOOQ6: MOV P1,#030H

  MOV 21H,#80H

  MOV 20H,#01H

  AJMP QUIT

  LOOQ7: MOV P1,#0B0H

  MOV 21H,#01H

  MOV 20H,#80H

  QUIT: RETI

  END

  4.结论

  该驱动器经实验验证能驱动0.5N.m的步进电机。将驱动部分的电阻、电容及续流二极管的有关参数加以调整,可驱动1.2N.m的步进电机。该驱动器电路简单可靠,结构紧凑,对于I/O口线与单片机资源紧张的系统来说特别适用。

关键字:51单片机  步进电机  驱动器 引用地址:基于51单片机的步进电机驱动器

上一篇:浅谈单片机c语言模块化编程-附ds1302时钟芯片驱动程序
下一篇:STC89C52通过串口控制流水灯亮灭

推荐阅读最新更新时间:2024-03-16 14:53

51单片机闪烁流水灯
是51单片机的,利用定时器/计数器产生2秒定时,每当2秒到时候更换指示灯闪烁,指示灯闪烁频率为0.2秒(要用延时程序)。 -------- 做而论道的回答: 这个题目,又要用定时器,又要用延时程序,... 其实,各种定时要求,只需使用一个定时器,就都可以解决。 ;假设在 P0 口外接 8 个 LED,输出低电平时发光。 ;下面程序,已经通过了实验,符合题目的流水灯闪烁要求. ;------------------------------------------ ORG 0000H LJMP START ORG 000BH MOV TH0, #4CH ;50ms@11.
[单片机]
<font color='red'>51单片机</font>闪烁流水灯
基于C51单片机的MP3播放器设计
0 引言 便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172—3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用1/24的压
[单片机]
基于C<font color='red'>51单片机</font>的MP3播放器设计
51单片机之T2定时器串口通信
52芯片,比51要多一个定时器。所以我在网上也是看了很多资料,许多都不能运行,我在进行部分修改后,终于在keli和proteus上实现了仿真测试。以下是我的代码和设计的电路。 /*----------------------------------------------------------------------------- * 实 验 名 : RS232串口试验 * 实验说明 : 单片机串口接收数据控制灯亮灭 * 连接方式 : * 注 意 : 该试验使用的晶振是11.0592 ****************************************************
[单片机]
C51单片机小程序(一)
好久没碰单片机了,有些生疏了。到现在还依稀记得自己独自坐在电脑屏幕前自学单片机,硬生生的去看了单片机的基础,现在想想还是挺有趣的。附上当初一点初学的单片机小程序,请大家多多指教! 用P1口作为输出口,接8位用作逻辑电平显示的发光二极管。设计程序使发光二极管间隔300ms先奇数亮再偶数亮,循环3次;一个发光二极管亮上下循环3次;两个分别从两边向中间流动3次;再从中间向两边流动3次;8个全部闪烁3次;关闭全部发光二极管,停止。 综合实验程序: #库定义 #include reg52.h #include intrins.h sbit led=P1^0; #位定义 int i,j,k,num,e,p,m;
[单片机]
基于Proteus 的PC 机对步进电机运动控制仿真
1 引言 步进电机在简单的开环工作方式下能够达到相当高的定位精度,且低速运行时又可输出很大的转矩,因此在运动控制中得到了广泛的应用 。PC 机步进电机控制系统,应用于多个领域如数控机床、机器人、激光加工设备等各种仪器设备。一个完整的PC 机步进电机控制系统,下位机与PC 机构成主从式控制结构:PC 机负责人机交互界面的管理,包括键盘和鼠标的管理、系统状态的显示、控制指令的发送等部分工作;下位机完成运动控制的所有细节,包括脉冲和方向信号的输出、自动升降速的处理等部分工作。实际下位机开发过程复杂,主体包含硬件电路设计和控制程序设计两方面。控制程序设计过程需要软件调试、硬件调试、系统调试3 个过程。软件调试一般比较容易进行,但如果要
[单片机]
基于Proteus 的PC 机对<font color='red'>步进电机</font>运动控制仿真
LED驱动器:选择匹配具体的应用电路设计
  现今的LED照明已具备了多元化的应用场合,从简单的白炽灯或冷阴极荧光灯(CCFL)替代品,到新的建筑、工业、医疗和其他应用。为了在应用中最佳化匹配灯和光亮,不同的LED照明应用通常都有相对应的性能标准要求。   为了驱动LED,工程师可以从琳琅满目的驱动器架构中挑选,然而每一架构都有各自的优缺点,针对具体应用的适应能力有好有坏。选择驱动器架构时需考虑的因素有很多,其中成本占据首要位置,其次是隔离、调光、闪烁、色温、功率因数、可靠性、热管理等问题。   基本的LED驱动器架构有几种:次级侧控制、初级侧控制、隔离式/非隔离式。此外,功率因数控制(PFC)也是在许多应用中的一个主要性能考虑因素,其解决方案由带PFC功能的两级或单级驱
[电源管理]
LED<font color='red'>驱动器</font>:选择匹配具体的应用电路设计
基于单片机控制步进电机的水位控制系统设计
基于单片机控制步进电机的水位控制系统,通过金属棒和水的导电性采集水位信号,结合了单片机输出电平控制继电器来控制抽水机的实验,实现了连续控制和跟踪水位,并以液晶实时显示水位。该方案具有原理简单、想法新颖、容易实现、精度高等特点,控制系统对于提高工业自动化水平和提高生活供水质量具有重要的意义。 在生产领域中,实现水位自动检测和控制是工业过程控制的一项关键技术,对于提高工业过程控制的自动化水平有着重要的意义。 在生活领域中,供水方式过去一般是通过人工来实现控制,容易造成对水资源的浪费,所以现在人们越来越关注水资源的问题。 目前,水位控制系统是受到广泛应用的供水系统,水位控制可以有多种实现方法,如机械控制、逻辑电路控制
[单片机]
基于单片机控制<font color='red'>步进电机</font>的水位控制系统设计
如何搭建一个基本的步进电机控制电路?
摘要: 本节介绍如何搭建一个基本的步进电机控制电路,所用材料均为常见的模块,简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机最小控制系统1个(图1) ②USB转TTL模块1个(图2) ③稳压电源1个(图3) ④TB6600步进电机驱动器1个 (图4) ⑤二相四线步进电机1个(图5) ⑥电线若干 二、接线 2.1原理图 2.2实物连接图 三、补充说明 3.1 稳压电源到驱动器的两根线用0.5平方以上的电线,如无合适的线也可并联多根杜邦线使用 3.2 51单片机拉电流能力很弱,驱动器ENA/DIR/PUL只能采用共阳极接法 **3.3 **步进电机电线同相简单区分方法。方法一:将步进电机任意两个线接在一起,用手
[嵌入式]
如何搭建一个基本的<font color='red'>步进电机</font>控制电路?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved