步进电机驱动电路
- 格式:doc
- 大小:106.00 KB
- 文档页数:8
四相步进电机驱动电路及驱动程序设计我们用一个单片机控制多个步进电机指挥跳舞机器人的双肩、双肘和双脚伴着音乐做出各种协调舒缓充满感情的动作,荣获一等奖。
电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机(Atc52)作脉冲序列信号发生器。
程序设计基于中断服务和总线分时利用方式,实时更新各个电机的速度、方向。
整个舞蹈由运动数据所决定的一截截动作无缝连接而成。
本文主要介绍一下这个机器人的四相五线制步进电机驱动电路及程序设计.1、步进电机简介步进电机根据内部线圈个数不同分为二相制、三相制、四相制等。
本文以四相制为例介绍其内部结构。
图1为四相五线制步进电机内部结构示意图。
2、四相五线制步进电机的驱动电路电路主要由单片机工作外围电路、信号锁存和放大电路组成。
我们利用了单片机的I/O端口,通过74373锁存,由74LS244驱动,ULN2003对信号进行放大。
8个电机共用4bit I/O端口作为数据总线,向电机传送步进脉冲。
每个电机分配1bit的I/O端口用作74373锁存信号,锁存步进电机四相脉冲,经ULN2003放大到12V驱动电机运转。
电路原理图(部分)如图2所示。
(1)Intel 8051系列单片机是一种8位的嵌入式控制器,可寻址64K字节,共有32个可编程双向I/O口,分别称为P0~P3。
该系列单片机上集成8K的ROM,128字节RAM可供使用。
(2)74LS244为三态控制芯片,目的是使单片机足以驱动ULN2003。
ULN2003是常用的达林顿管阵列,工作电压是12V,可以提供足够的电流以驱动步进电机。
关于这些芯片的详细介绍可参见它们各自的数据手册。
(3)74373是电平控制锁存器,它可使多个步进电机共用一组数据总线。
我们用P1.0~P1.7作为8个电机的锁存信号输出端,见表1。
这是一种基于总线分时复用的方式,以动态扫描的方式来发送控制信号,这和高级操作系统里的多任务进程调度的思想一致。
实用的步进电机驱动电路(图)概述步进电机是一种将电脉冲转化为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。
本设计选用第三种方案,用PMM8713三相或四相步进电机的脉冲分配器、SI-7300A 两相或四相功率驱动器,组成四相步进电机功率驱动电路,以提高集成度和可靠性,步进电机控制框图见图1。
图1 步进电机控制系统框图硬件简介● PMM8713原理框图及功能PMM8713是日本三洋电机公司生产的步进电机脉冲分配器,适用于控制三相或四相步进电机。
控制三相或四相步进电机时都可以选择3种励磁方式,每相最小吸入与拉出电流为20mA,它不仅满足后级功率放大器的输入要求,而且在其所有输入端上均内嵌施密特触发电路,抗干扰能力强,其原理框图如图2所示。
图2 PMM8713的原理框图在PMM8713的内部电路中,时钟选通部分用于设定步进电机的正反转脉冲输入发。
PMM8713有两种脉冲输入法:双脉冲输入法和单脉冲输入法。
采用双脉冲输入法时,CP、CU两端分别输入步进电机正反转的控制脉冲。
当采用单脉冲输入时,步进电机的正反转方向由U/D的高、低电位决定。
激励方式控制电路用来选择采用何种励磁方式。
激励方式判断电路用于输出检测;而可逆环形计数器则用于产生步进电机在选定的励磁方式下的各相通断时序信号。
● SI-7300A的结构及功率驱动原理SI-7300A是日本三青公司生产的高性能步进电机集成功率放大器,该器件为单极性四相驱动,采用SIP18封装。
步进电机功率驱动级电路可分为电压和电流两种驱动方式。
电流驱动方式最常用的是PWM恒流斩波驱动电路,也是最常用的高性能驱动方式,其中一相的等效电路图如图3所示。
图3 LM331电压/频率变换电路● LM331芯片LM331是美国国家半导体公司生产的双列直插式8脚芯片,只需接入几个外部元件就可以方便地构成电压/频率(V/F)变换电路,电路如图4所示。
步进电机H桥功率驱动电路设计步进电机是一种特殊的直流电机,可以通过一定的控制方式实现精准的角度控制。
步进电机的驱动电路通常采用H桥功率驱动电路,其中H桥电路是通过四个开关元件(通常是MOSFET管或者IGBT管)和两个电源组成的,能够实现电机的正、反向旋转。
H桥电路由四个开关元件组成,其中开关S1和S4连接在一起,共同控制电机的一个端口,开关S2和S3连接在一起,共同控制电机的另一个端口。
H桥电路有四种状态:S1和S4为导通状态,S2和S3为截止状态;S2和S3为导通状态,S1和S4为截止状态;S1和S3为导通状态,S2和S4为截止状态;S2和S4为导通状态,S1和S3为截止状态。
步进电机的驱动原理是通过控制H桥电路的四种状态,使得电机在施加电源电压的不同方向上旋转。
控制步进电机的一个重要参数是步距角,即电机每转一圈所走过的角度。
根据步距角的大小,步进电机可以分为全角步进电机和半角步进电机。
全角步进电机的步距角为360度/步数,控制方式可以是单相驱动方式或者双相驱动方式。
单相驱动方式只需要两个驱动电路,一个控制电机的一个端口,另一个端口通过调整S1和S4的导通时间来实现,通过调整导通的时间长短,可以控制电机的速度。
双相驱动方式需要四个驱动电路,分别控制电机的两个端口,通过交替切换四种状态来实现控制。
半角步进电机的步距角为360度/(2×步数)。
控制半角步进电机通常采用四相驱动方式,需要八个驱动电路,通过交替切换八种状态来实现控制。
四相驱动方式的原理是将步进电机的一个端口分成四段,通过施加电源电压的不同顺序,使得电机在不同的相邻段上产生磁场,并完成旋转。
步进电机的驱动电路设计需要考虑以下几个问题:1.驱动电路的工作电压范围,要能适应电机的额定电压以及工作电压波动范围。
2.驱动电路的开关元件的选型,要能够满足电流和功率的要求,并具有足够的开关速度。
3.驱动电路的保护措施,要考虑过流、过热等异常情况的保护。
第三节步进电动机及其驱动一、步进电机的特点与种类1.步进电机的特点步进电机又称脉冲电机。
它是将电脉冲信号转换成机械角位移的执行元件。
每当输入一个电脉冲时,转子就转过一个相应的步距角。
转子角位移的大小及转速分别与输入的电脉冲数及频率成正比,并在时间上与输入脉冲同步。
只要控制输入电脉冲的数量、频率以及电机绕组通电相序即可获得所需的转角、转速及转向。
步进电动机具有以下特点:✍工作状态不易受各种干扰因素(如电压波动、电流大小与波形变化、温度等)的影响;✍步进电动机的步距角有误差,转子转过一定步数以后也会出现累积误差,但转子转过一转以后,其累积误差变为“零” ;✍由于可以直接用数字信号控制,与微机接口比较容易;✍控制性能好,在起动、停止、反转时不易“丢步”;✍不需要传感器进行反馈,可以进行开环控制;✍缺点是能量效率较低。
就常用的旋转式步进电动机的转子结构来说,可将其分为以下三种:(1)可变磁阻(VR-Variable Reluctance),也叫反应式步进电动机(2)永磁(PM—Permanent Magnet)型(3)混合(HB—Hybrid)型(1)可变磁阻(VR—Variable Reluctance)结构原理:该类电动机由定子绕组产生的反应电磁力吸引用软磁钢制成的齿形转子作步进驱动,故又称作反应式步进电动机.其结构原理如图3.5定子1上嵌有线圈,转子2朝定子与转子之间磁阻最小方向转动,并由此而得名可变磁阻型。
图3。
6 可变式阻步进电机可变磁阻步进电机的特点:❖反应式电动机的定子与转子均不含永久磁铁,故无励磁时没有保持力;❖需要将气隙作得尽可能小,例如几个微米;❖结构简单,运行频率高,可产生中等转矩,步距角小(0。
09~9°)❖制造材料费用低;❖有些数控机床及工业机器人上使用。
(3)混合(HB—Hybrid)型结构原理这类电机是PM式和VR式的复合形式。
其定子与VR类似,表面制有小齿,转子由永磁铁和铁心构成,同样切有小齿,为了减小步距角可以在结构上增加转子和定子的齿数。
三相步进电机驱动电路设计一、引言步进电机是一种将电脉冲信号转换为机械转动的电动机,具有结构简单、定位精度高、起动停止快的特点,被广泛应用于数控机床、机器人、自动化设备等领域。
本文将介绍三相步进电机驱动电路的设计。
二、驱动原理三相步进电机的驱动原理基于磁场交替作用的原理,通过控制电流的改变,使电机在不同的磁场中转动。
它分为两种驱动方式:全、半步进驱动。
全步进驱动方式中,步进电机每接收一个脉冲信号就转动一个步距,而在半步进驱动方式中,步进电机每接收一个脉冲信号就转动半个步距。
本文以全步进驱动为例进行设计。
三、电路设计1.电源电路:步进电机驱动电路需要一个稳定的直流电源,通常使用电容滤波器和稳压电路来提供稳定的电压输出,保证电机正常工作。
2.脉冲发生及控制电路:脉冲发生电路产生脉冲信号,用于控制步进电机的转动。
常用的发生电路有震荡电路和微处理器控制电路。
本文以震荡电路为例,通过计算电容充放电时间确定震荡频率。
3.驱动电路:驱动电路是步进电机的核心,它将脉冲信号转换为电流控制信号,控制步进电机的转动。
常用的驱动方式有双H桥驱动和高低电平驱动。
本文以双H桥驱动为例进行设计。
4.电流检测和反馈电路:为了控制步进电机的转速和转矩,需要对电机的电流进行检测和反馈。
常用的检测电路有电阻检测和霍尔效应检测。
通过检测电流大小,可以调节驱动电流,以达到控制步进电机的效果。
5.保护电路:为了保护步进电机和驱动电路的安全,需要设计相应的保护电路。
常见的保护电路有过流保护电路、过热保护电路和短路保护电路等。
四、总结本文介绍了三相步进电机驱动电路的设计。
通过合理设计电路,可以实现对步进电机的控制和保护,提高步进电机的运行效果和寿命。
未来,可以进一步研究和改进三相步进电机驱动电路的设计,以满足更高精度、更高速度的步进电机应用需求。
步进电机驱动电路[单机片]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.步进电机工作时序波形图图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不受损坏。
步进电机的恒电流驱动电路原理
恒电流斩波器的原理如下图所示,额定电流或设置的驱动电流值为I0时,加电压在绕圈上,若超过所设定的电流值I0,则把所加的电压V关断,使电流削减,若低于所设定的电流值I0,则把所加电压V打开,使电流再增加至所设定的电流值I0……如此反复,使I0为恒定电流。
左图中,V以及I表示1相关断的电压、电流,1相电压加到t1秒时间区间。
假如步进电机低速转动时,不用恒电流斩波器驱动,当流过电机线圈的电流超过额定电流时,电机会产生很高的温升,有可能会烧毁。
在高速运行时,1相绕组电压所加的时间若在左图的t0以下,使电源不能保证供应设定的电流I0值,此时变成恒压驱动。
即在高速运行中,有斩波才能变成恒电流驱动。
电流测量值与设定电流I0相对应的基准电压Vr用差动放大器比较,使其达到设定的电流值,施加到电机的电压斩波器的掌握端。
此处,恒电流斩波电路使用恒电压电路。
同一步进电机的恒电压与恒电流脉冲频率-转矩特性曲线比较如下图所示。
两者在同一额定电流约10pps以内时,具有相同的转矩,但低速时恒电流斩波驱动器产生转矩较大。
稳态电流值两者虽然相同,但由于恒电流斩波驱动器其电流上升快,所以其值略高于平均电流值,使用
上需要留意上述问题。
步进电机是一种将电脉冲信号转化为角位移的电动机,它通过不同相序的驱动信号来控制转子的运动。
步进电机驱动电源的功率放大电路起到了放大控制信号和驱动电机的功率的作用。
步进电机驱动电源的功率放大电路主要由输入端、输出端和功率放大器组成。
输入端接收来自控制器的低功率控制信号,输出端连接到步进电机上,将经过放大后的高功率信号传递给步进电机。
基本原理如下:1.输入端:输入端接收来自控制器的低功率控制信号,通常是以脉冲信号形式存在。
输入端通常包括一个输入缓冲器和一个触发器。
输入缓冲器用于保护控制器不受负载影响,并将脉冲信号传递给触发器。
触发器根据脉冲信号的边沿触发,产生相应的输出信号。
2.输出端:输出端连接到步进电机上,将经过放大后的高功率信号传递给步进电机。
输出端通常包括一个输出缓冲器和一个功率级。
输出缓冲器用于保护放大器不受负载影响,并将放大后的信号传递给功率级。
功率级起到了放大信号功率的作用,将低功率信号转化为足够驱动步进电机所需的高功率信号。
3.功率放大器:功率放大器是步进电机驱动电源的核心部件,起到了放大信号功率的作用。
它通常由多个晶体管或场效应管组成,通过控制输入端信号的增益来实现对输出端信号的功率放大。
在步进电机驱动电源中,由于需要提供较高的驱动力矩和速度,所以需要使用高功率的功率放大器。
4.控制策略:控制策略是步进电机驱动电源中重要的一部分。
它决定了如何根据输入端信号来控制输出端信号,并最终控制步进电机的运动。
常见的控制策略包括全步进、半步进和微步进等。
在实际应用中,为了提高系统性能和稳定性,还会加入一些辅助功能和保护功能。
例如过流保护、过热保护、欠压保护等功能可以有效防止步进电机受损或系统故障。
总结起来,步进电机驱动电源的功率放大电路通过将控制信号放大为足够驱动步进电机所需的高功率信号,实现对步进电机的精确控制。
它是步进电机系统中重要的组成部分,能够提供稳定可靠的驱动力矩和速度。
步进电机细分驱动电路及原理(后面是已经编好的程序改改就可直接使用)步进电机细分驱动电路及原理(后面是已经编好的程序改改就可直接使用)细分原理分析步进电机驱动线路,如果按照环形分配器决定的分配方式,控制电动机各相绕组的导通或截止,从而使电动机产生步进所需的旋转磁势拖动转子步进旋转,则步距角只有二种,即整步工作或半步工作,步距角已由电机结构所确定。
如果要求步进电机有更小的步距角,更高的分辨率,或者为了电机振动、噪声等原因,可以在每次输入脉冲切换时,只改变相应绕组中额定的一部分,则电机的合成磁势也只旋转步距角的一部分,转子的每步运行也只有步距角的一部分。
这里,绕组电流不是一个方波,而是阶梯波,额定电流是台阶式的投入或切除,电流分成多少个台阶,则转子就以同样的次数转过一个步距角,这种将一个步距角细分成若干步的驱动方法,称为细分驱动。
在国外,对于步进系统,主要采用二相混合式步进电机及相应的细所示。
单片机根据要求的步距角计算出各相绕组中通过的电流值,并输出到数模转换器(DPA) 中,由DPA 把数字量转换为相应的模拟电压,经过环形分配器加到各相的功放电路上,控制功放电路给各相绕组通以相应的电流,来实现步进电机的细分。
单片机控制的步进电机细分驱动电路根据末级功放管的工作状态可分为放大型和开关型两种(见下图5)。
图5 步进电机细分驱动电路放大型步进电机细分驱动电路中末级功放管的输出电流直接受单片机输出的控制电压控制,电路较简单,电流的控制精度也较高,但是由于末级功放管工作在放大状态,使功放管上的功耗较大,发热严重,容易引起晶体管的温漂,影响驱动电路的性能。
甚至还可能由于晶体管的热击穿,使电路不能正常工作。
因此该驱动电路一般应用于驱动电流较小、控制精度较高、散热情况较好的场合。
开关型步进电机细分驱动电路中的末级功放管工作在开关状态,从而使得晶体管上的功耗大大降低,克服了放大型细分电路中晶体管发热严重的问题。
但电路较复杂,输出的电流有一定的波纹。
步进电机驱动电路原理图讲解双极性步进电机的驱动电路如图所示,它会使用八颗晶体管来驱动两组相位。
双极性驱动电路可以同时驱动四线式或六线式步进电机,虽然四线式电机只能使用双极性驱动电路,它却能大幅降低量产型应用的成本。
双极性步进电机驱动电路的晶体管数目是单极性驱动电路的两倍,其中四颗下端晶体管通常是由微控制器直接驱动,上端晶体管则需要成本较高的上端驱动电路。
双极性驱动电路的晶体管只需承受电机电压,所以它不像单极性驱动电路一样需要箝位电路。
步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。
图中点划线所包围的二个单元可以用微机控制来实现。
驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口,这里予以简单介绍。
图2 步进电动机驱动控制器1.单电压功率驱动接口实用电路如图3所示。
在电机绕组回路中串有电阻Rs,使电机回路时间常数减小,高频时电机能产生较大的电磁转矩,还能缓解电机的低频共振现象,但它引起附加的损耗。
一般情况下,简单单电压驱动线路中,Rs是不可缺少的。
Rs对步进电动机单步响应的改善如图3(b)。
{{分页}}图3 单电压功率驱动接口及单步响应曲线图4 双电压功率驱动接口2.双电压功率驱动接口双电压驱动的功率接口如图4所示。
双电压驱动的基本思路是在较低(低频段)用较低的电压UL驱动,而在高速(高频段)时用较高的电压UH驱动。
这种功率接口需要两个控制信号,Uh为高压有效控制信号,U为脉冲调宽驱动控制信号。
图中,功率管TH和二极管DL构成电源转换电路。
当Uh低电平,TH关断,DL正偏置,低电压UL对绕组供电。
反之Uh高电平,TH导通,DL反偏,高电压UH对绕组供电。
这种电路可使电机在高频段也有较大出力,而静止锁定时功耗减小。
3.高低压功率驱动接口图5 高低压功率驱动接口高低压功率驱动接口如图5所示。
单极步进电机驱动电路方案
以下是 8 条关于单极步进电机驱动电路方案的内容:
1. 哇塞,你知道单极步进电机驱动电路方案吗?就像给电机注入了神奇的力量!比如你家里的那种自动窗帘,它就是靠这样的驱动电路来实现平稳开合的呀!是不是很神奇?
2. 嘿,单极步进电机驱动电路方案真的超厉害的!好比是电机的最佳伙伴!像那些数控机床能那么精准地工作,可少不了它的功劳啊!
3. 你想过没有,单极步进电机驱动电路方案简直就是个幕后英雄啊!比如说我们常见的打印机,能那么快速准确地打印文件,它在其中起着关键作用呢,你说牛不牛?
4. 单极步进电机驱动电路方案啊,它就如同夜空中最亮的星!想想看,自动贩卖机能够快速准确地送出商品,这可不就是它的威力嘛!
5. 哎呀呀,单极步进电机驱动电路方案可是很了不起的哟!就像为电机铺就了一条顺畅大道。
比如说那些模型小火车能够欢快地跑起来,很大程度上就靠它啦!
6. 单极步进电机驱动电路方案,那绝对是电机的魔法助手呀!好比如智能门锁的顺畅开关,不就是它在默默发力吗?真的好厉害!
7. 哇哦,单极步进电机驱动电路方案可是不容小觑呀!好似是电机的秘密武器!像那些医疗设备能够精确运作,它功不可没呀,能不厉害吗?
8. 单极步进电机驱动电路方案,真的是让电机如虎添翼啊!比如说自动取款机的稳定运行,这当中它起到了至关重要的作用。
总之,它真的是超重要的啦!
我的观点结论:单极步进电机驱动电路方案在各种设备中都有着不可或缺的地位,它让电机的性能得以充分发挥,给我们的生活带来了诸多便利和惊喜。
简述步进电机驱动电源的功率放大电路原
理
步进电机是一种常见的电机类型,它可以通过控制电流的方式实现精确的旋转运动。
为了驱动步进电机,需要使用一种特殊的电源,即步进电机驱动电源。
这种电源需要具备一定的功率放大能力,以保证步进电机能够正常工作。
本文将介绍步进电机驱动电源的功率放大电路原理。
步进电机驱动电源的功率放大电路通常由三个部分组成:输入电路、功率放大电路和输出电路。
其中,输入电路用于接收外部信号,功率放大电路用于放大信号并驱动步进电机,输出电路用于将电源输出到步进电机。
在输入电路中,通常使用电阻、电容和二极管等元件来实现信号的滤波和保护。
这些元件可以有效地防止电源中的噪声和干扰信号对步进电机的影响。
在功率放大电路中,通常使用晶体管或场效应管等元件来实现信号的放大。
这些元件可以将输入信号放大到足够的电平,以驱动步进电机。
此外,功率放大电路还需要具备一定的保护功能,以防止过流和过热等问题。
在输出电路中,通常使用电感和电容等元件来实现电源的稳定输出。
这些元件可以有效地滤波和调节电源输出,以保证步进电机的正常
工作。
总的来说,步进电机驱动电源的功率放大电路原理是通过输入电路接收外部信号,通过功率放大电路将信号放大并驱动步进电机,最终通过输出电路将电源输出到步进电机。
这种电源具备一定的功率放大能力和保护功能,可以有效地驱动步进电机,实现精确的旋转运动。
步进电机驱动电路原理
步进电机驱动电路的原理主要基于电脉冲信号的转换。
具体来说,步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机。
当步进驱动器接收到一个脉冲信号时,它驱动步进电机按设定的方向转动一个固定的角度,这个固定的角度被称为“步距角”。
步进电机的旋转是以这个固定的角度一步一步运行的。
步进电机的转速和停止的位置只取决于脉冲信号的频率和脉冲数,不受负载变化的影响。
通过控制脉冲个数,可以控制角位移量,从而达到准确定位的目的。
同时,通过控制脉冲频率,可以控制电机转动的速度和加速度,从而达到调速的目的。
步进电机的工作原理是利用电子电路将直流电变成分时供电的多相时序控制电流。
这种电流为步进电机供电,使步进电机能够正常工作。
驱动器就是为步进电机分时供电的多相时序控制器。
总的来说,步进电机驱动电路的原理就是通过控制电脉冲信号来控制步进电机的角位移和转速,从而实现精确的定位和调速。
这种电机在数字式计算机的外部设备、打印机、绘图机和磁盘等设备中得到了广泛应用。
步进电机驱动电路单极性(unipolar) 和双极性(bipolar) 是步进电机最常采用的两种驱动架构。
单极性驱动电路使用四颗晶体管来驱动步进电机的两组相位,电机结构则如图1所示包含两组带有中间抽头的线圈,整个电机共有六条线与外界连接。
这类电机有时又称为四相电机,但这种称呼容易令人混淆又不正确,因为它其实只有两个相位,精确的说法应是双相位六线式步进电机。
六线式步进电机虽又称为单极性步进电机,实际上却能同时使用单极性或双极性驱动电路。
单极性步进电机驱动电路双极性步进电机的驱动电路则如图2所示,它会使用八颗晶体管来驱动两组相位。
双极性驱动电路可以同时驱动四线式或六线式步进电机,虽然四线式电机只能使用双极性驱动电路,它却能大幅降低量产型应用的成本。
双极性步进电机驱动电路的晶体管数目是单极性驱动电路的两倍,其中四颗下端晶体管通常是由微控制器直接驱动,上端晶体管则需要成本较高的上端驱动电路。
双极性驱动电路的晶体管只需承受电机电压,所以它不像单极性驱动电路一样需要箝位电路。
双极性步进电机驱动电路用单片机控制步进电机2006-4-9 平凡步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
一、步进电机常识常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。
它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。
这种步进电机的应用最为广泛。
二、永磁式步进电机的控制下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步进电机。
图1是35BY型永磁步进电机的外形图,图2是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。
要使用步进电机转动,只要轮流给各引出端通电即可。
将COM端标识为C,只要AC、 C、BC、 C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、、B、轮流接地。
下表列出了该电机的一些典型参数:表1 35BY48S03型步机电机参数型号步距角相数电压电流电阻最大静转距定位转距转动惯量35BY48S03 7.5 4 12 0.26 47 180 65 2.5有了这些参数,不难设计出控制电路,因其工作电压为12V,最大电流为0.26A,因此用一块开路输出达林顿驱动器(ULN2003)来作为驱动,通过P1.4~P1.7来控制各线圈的接通与切断,电路如图3所示。
开机时,P1.4~P1.7均为高电平,依次将P1.4~P1.7切换为低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。
如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线圈接通的顺序。
图1 35BY48S03型步进电机外形图图2 35BY48S03型步进电机的接线图图3 单片机控制35BY48S03型步进电机的电路原理图三、步进电机的驱动实例要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。
速度值要求在数码管上显示出来。
1.要求分析按上面的分析,改变转速,只要改变P1.0~P1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。
这里以定时的方式来实现。
下面首先计算一下定时时间。
按要求,最低转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于50ms/脉冲。
而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。
可以列出下表表1 步进电机转速与定时器定时常数关系速度单步时间(us) TH1 TL1 实际定时(us)25 50000 76 0 49996.826 48077 82 236 48074.1827 46296 89 86 46292.6128 44643 95 73 44640.155… … … … …100 12500 211 0 12499.2表中不仅计算出了TH1和TL1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。
表中TH1和TL1是根据定时时间算出来的定时初值,这里用到的晶振是11.0592M。
有了上述表格,程序就不难实现了,使用定时/计数器T1为定时器,定时时间到后切换输出脚即可。
2.程序实现定义DSB-1A实验板的S1为启动键,S2为停止键,S3为加1键,S4为减1键,程序如下:StartEnd bit 01H ;起动及停止标志MinSpd EQU 25 ;起始转动速度MaxSpd EQU 100 ;最高转动速度Speed DATA 23H ;流动速度计数DjCount DATA 24H ;控制电机输出的一个值,初始为11110 111Hidden EQU 10H ;消隐码Counter DATA 57H ;显示计数器DISPBUF DATA 58H ;显示缓冲区ORG 0000HAJMP MAINORG 000BHJMP DISPORG 001BHJMP DJZDORG 30HMAIN:MOV SP,#5FHMOV P1,#0FFHMOV A,#HiddenMOV DispBuf,AMOV DispBuf+1,AMOV DispBuf+2,AMOV DjCount,#11110111BMOV SPEED,#MinSpd ;起始转动速度送入计数器CLR StartEnd ;停转状态MOV TMOD,#00010001B ;MOV TH0,#HIGH(65536-3000)MOV TL0,#LOW(65536-3000)MOV TH1,#0FFH;MOV TL1,#0FFHSETB TR0SETB EASETB ET0SETB ET1LOOP: ACALL KEY ;键盘程序JNB F0,m_NEXT1 ;无键继续ACALL KEYPROC ;否则调用键盘处理程序m_NEXT1:MOV A,SpeedMOV B,#10DIV ABMOV DispBuf+5,B ;最低位MOV B,#10DIV ABMOV DispBuf+4,BMOV DispBuf+3,AJB StartEnd,m_Next2CLR TR1 ;关闭电机JMP LOOPORL P1,#11110000Bm_Next2:SETB TR1 ;启动电机AJMP LOOP ;主程序结束;---------------------------------------D10ms:……;---------延时程序,键盘处理中调用KEYPROC:MOV A,B ;获取键值JB ACC.2,StartStop ;分析键的代码,某位被按下,则该位为1 JB ACC.3,KeyStyJB ACC.4,UpSpdJB ACC.5,DowSpdAJMP KEY_RETStartStop:SETB StartEnd ;启动AJMP KEY_RETKeySty:CLR StartEnd; ;停止AJMP KEY_RETUpSpd:INC SPEED;MOV A,SPEEDCJNE A,#MaxSpd,K1 ;到了最多的次数?DEC SPEED ;是则减去1,保证下次仍为该值K1:AJMP KEY_RETDowSpd:DEC SPEEDMOV A,SPEEDCJNE A,#MAXSPD,KEY_RET ;不等(未到最大值),返回MOV SPEED,#MinSpd;KEY_RET:RETKEY:……获取键值的程序RETDjZd: ;定时器T1用于电机转速控制PUSH ACCPUSH PSWMOV A,SpeedSUBB A,#MinSpd ;减基准数MOV DPTR,#DjHMOVC A,@A+DPTRMOV TH1,AMOV A,SpeedSUBB A,#MinSpdMOV DPTR,#DjLMOVC A,@A+DPTRMOV TL1,AMOV A,DjCountCPL AORL P1,AMOV A,DjCountJNB ACC.7,d_Next1JMP d_Next2d_Next1:MOV DjCount,#11110111Bd_Next2:MOV A,DjCountRL AMOV DjCount,A ;回存ANL P1,APOP PSWPOP ACCRETIDjH: DB 76,82,89,95,100,106,110,115,119,123,12……DjL: DB 0,236,86,73,212,0,214,96,163,165……DISP: ;显示程序POP PSWPOP ACC……RETIBitTab: DB 7Fh,0BFH,0DFH,0EFH,0F7H,0FBHDISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, 0A1H,86H,8EH,0FFHEND3.程序分析本程序主要由键盘程序、显示器程序、步进电机驱动程序三部份组成,主程序首先初始化各变量,将显示器的高3位消隐,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,如果有键按下,则调用键盘处理程序,否则直接转下一步。
下一步是将当前的转速值转换为BCD码,送入显示缓冲区;接着判断StartEnd这个位变量,是“1”还是“0”,如果是“1”,则开启定时器T1,否则关闭定时器T1,为防止关闭时某一相线圈长期通电,因此,在关闭定时器T1时,将P1.0~P1.3均置高。
至此,主程序的工作即结束。
这里为简便起见,这里没有做高位“0”消隐的工作,即如果速度为10转/分,则显示值“010”,读者可以自行加入相关的代码来处理这一工作。
步进电机的驱动工作是在定时器T1的中断服务程序中实现的,由前述分析,每次的定时时间到达以后,需要将P1.0~P1.3依次接通,程度中用了一个变量DjCntr来实现这一功能,在主程序初始化时,该变量被赋予初值11110111B,进入到定时中断以后,将该变量取出送ACC累加器,并在累加器中进行左移,这样,该数值就变为1110 1111,然后将该数与P1相“与”,此时,P1.4即输出低电平,第二次进入中断时,先将该数取反,成为 0001 0000,然后将该数与P1相“或”,这样,P1.4即输出高电平,关断了相应的线圈,然后将该数重新取出,并作左移,即1110,1111右移成为1101 1111,将该数与P1相“与”,这样P1.5即输出低电平,依次类推,P1.7~P1.4即循环输出低电平。