这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » [经验]步进电机驱动设计

共7条 1/1 1 跳转至

[经验]步进电机驱动设计

工程师
2020-12-31 17:45:46     打赏
随着数字化技术发展,数字控制技术得到广泛应用。作为将数字信号转化为角位移、线位移的控制驱动元件,步进电机以其系统结构简单、价格低廉,能满足大部分工业控制、医疗器件、摄像数码、计算机外围设备等实际需求。典型的步进电机控制系统,由控制器发出脉冲信号,为环形分配器提供脉冲序列,经过功率放大器放大加载到驱动电源的各项输入端,最终以驱动步进电机的转动。
步进电机控制系统组成原理

今天就给大家讲讲步进电机驱动电路的设计,以具体应用作为例子。01


小功率4相步进电机的驱动下面是一种驱动电路框图:
达林顿管阵列ULN2803分别从锁存器取出第0,2,4,6位和1,3,5,7位去驱动两个步进电机。四相步进电机的通电顺序可以有几种:A,B,C,D(4相4拍);AB,BC,CD,DA(4相双4拍);A,AB,B,BC,C,CD,D,DA(4相8拍)。为了兼顾稳定性、转矩和功耗,一般采用4相8拍方式。所有这些方式都可以通过循环移位实现(也要有定期监控),为了使4相8拍容易实现,锁存器与驱动部分采用了交叉连接。步进电机工作在四相八拍模式(即正转的输入信号为1000→1100→0100→0110→0010→0011→0001→1001→1000),对应每个步进电机要有四个信号输入端,理论上向端口输出信号可以控制两个步进电机的工作。寄存器循环移位奇偶位分别作两个步进电机的驱动端的做法。
其思想如下:LOOP:MOV A,#1110000B;在A寄存器中置入11100000RR A;右移位AJMP LOOP;循环右移位这样在寄存器A中存储的值会有如下循环:11100000→01110000→00111000→00011100→00001110→00000111→10000011→11000001→11100000,其奇数位有如下循环:1000→1100→0100→0110→0010→0011→0001→1001→1000,其偶数位有如下循环1100→0100→0110→0010→0011→0001→1001→1000→1100。将A输出到P0端口,则奇数位和偶数位正是我们所需要的步进电机输入信号。
而事实上每个电机的动作是不同的,为此我们在RAM中为每个电机开辟一个byte的状态字节用以循环移位。在每一个电机周期里,根据需要对每个电机的byte进行移位,并用ANL指令将两个电机的状态合成到一个字节里输出,此时的A同时可以控制两个电机了。步进电机的速度由驱动脉冲的频率决定,移位的周期不同,电机的速度也就不同了。前面提到的电机周期,应该取各种可能的周期的最大公约数。换句话说,一旦电机周期取定,每个电机移位的周期应该是它的倍数。在程序中,对每个电机的相应时刻设定相应的分频比值,同时用一个变量进行加一计数:每到一个电机周期若计数变量<分频比值,则计数变量加1;若相等,则移位,计数变量清零。这样就实现了分频调速,可以让多个电机同时以不同的速度运转。另外,也可以采用传统的查表方式进行驱动,程序稍长,但也比较稳定,这种方法非常适合三相步进电机。
02


步进电机的智能驱动方案
步进电机有可以精确控制的优点,但是功耗大,效率低,力矩小。如果选用大功率步进电机,为了降低功耗,可以采取PWM恒流控制的方法。基本思路是,用带反馈的高频PWM根据输出功率的要求对每相恒流驱动,总体电流顺序又符合转动顺序。需要力矩小的时候应及时减小电流,以降低功耗。该方案实现的电路,可以采用独立的单片机或CPLD加场效应管驱动电路以及电流采样反馈电路。





关键词: 步进     电机     驱动     设计    

工程师
2020-12-31 17:52:45     打赏
2楼

不错的设计


工程师
2020-12-31 18:10:19     打赏
3楼

谢谢分享


工程师
2020-12-31 18:32:04     打赏
4楼

设计的很不错


工程师
2020-12-31 18:33:50     打赏
5楼

干货


工程师
2020-12-31 18:36:02     打赏
6楼

设计的蛮好的


高工
2020-12-31 22:45:06     打赏
7楼

设计的挺不错的


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]