基于A3988+MCU的低成本电机伺服系统设计
2014-08-08王显军
刘 洋, 王显军, 张 岳
(1. 中国科学院 长春光学精密机械与物理研究所,吉林 长春 130033; 2. 中国科学院大学,北京 100039)
0 引 言
传统的力矩电机和光电编码器组成的闭环伺服控制系统中,一般采用集成的IGBT芯片驱动电机,例如采用三菱公司的IPM系列产品。集成的IGBT芯片对于驱动PWM信号要求较高,PWM信号使用不当容易使IGBT电路损坏,在小功率的电机伺服系统中采用IPM驱动电机成本较高,也无法发挥IPM的大功率驱动能力,造成了资源的浪费。本文介绍一种基于A3988+MCU的低成本直流力矩电机伺服控制系统。A3988是Allegro公司制造的用于驱动2路步进电机的集成芯片,也可以用于驱动4路直流力矩电机[1]。A3988与集成的IPM芯片相比成本较低,功耗较低,能同时驱动多路直流力矩电机,因而适合应用在低功耗的直流力矩电机伺服控制系统中。
伺服系统中采用A3988驱动直流力矩电机,且A3988对于输入信号要求较低,使得伺服系统对控制器的要求也降低了。C8051F系列MCU成本较低[2],所集成的PCA0模块能够提供较高精度的PWM作为A3988的输入信号[3]。
1 原 理
1.1 A3988的使用方法
A3988应用在驱动步进电机时,可看作一个电流控制电路,每组控制电路通过外部配置I0x、I1x和PHASEx可以输出16种电流脉冲状态,共有4组独立控制电路,两组电路共同作用可以用于控制1路步进电机。当A3988应用在驱动直流力矩电机时,只应用在16种状态中电压差最大的两种状态中,A3988可当作PWM放大器。A3988用于驱动直流力矩电机状态表如表1所示。
表1 A3988用于驱动直流力矩电机状态表
如表1中3种状态所示,将OUTxA和OUTxB分别接到电机正负两端当,再向I0x和I1x输入相同的PWM时,通过调整PHASEx,可达到使直流力矩电机向两个方向转动的目的。这与传统的利用IPM单极双向方式驱动直流力矩电机达到了相同的效果,其中OUTxA和OUTxB的幅值即电机的母线电压,可以通过配置A3988的VBB1和VBB2来实现,母线电压的可调范围为0~36V。
1.2 伺服系统MCU控制器的设计
从表1中可看出,利用A3988作为电机的单极控制驱动芯片,设计驱动PWM时无需考虑利用IPM驱动电路时用于避免上下桥IGBT同时导通烧毁IPM的死区,因此控制器输出PWM的逻辑更简单,C8051F系列MCU就可完成任务,相比DSP、FPGA等控制器,节约了成本。本文选用C8051F121作为伺服系统控制器。
利用C8051F系列MCU自带的可编程逻辑阵列(PCA0)产生用于驱动直流电机的多路高精度PWM,通过CEXx端口输出,即输入到A3988的I0x和I1x的控制信号。由于PCA0模块受MCU的CPU干预较少,也不被其他中断影响,所以PCA0的计数器具有较高的精度,MCU工作在100MHz,通过在PCA0中断服务程序中对PCA0计数器初值进行重新赋值可改变定时器溢出周期,从而使PWM频率在10~15kHz范围内。此时PWM的分辨率可以达到6667~10000,与DSP等控制器产生的PWM精度相仿。
1.3 基于A3988+MCU的伺服系统设计
基于A3988+MCU伺服控制硬件系统设计框图如图1所示。
图1 基于A3988+MCU伺服控制系统框图
如图1所示,实线表示控制信号,虚线表示数据或指令。Mx表示配备有编码器的直流电机。设计主要针对实验室研发的配备有高精度串口型数据光电编码器和小功率直流力矩电机的转台系统。
编码器需要单片机通过串口触发,编码器反馈位置数据[4]。通过上位机控制不同电机的不同运动状态。图2是控制两路电机的软件流程图。
图2 两路电机控制软件流程图
图2的软件流程图中,左侧为主函数,右侧为PCA0中断服务程序(PCA0计数器溢出时进入)。软件实现中另外两个中断UART0和UART1的服务程序分别用来接收编码器数据和上位机控制指令。上位机控制指令主要是控制两路电机的定点或者定速运动。软件中PCA0定时器溢出周期为100μs,即PWM的频率为10kHz,通过PCA0的中断服务程序流程图可看到COUNTER用来记录PCA0定时器溢出次数,每溢出20次清0,分别在COUNTER=0和COUNTER=10时对M1编码器和M2编码器进行触发,所以系统对两路编码器的采样频率均为: 10kHz/20=500Hz。
2 试 验
试验转台由小功率的直流力矩电机和实验室研发的24位高精度光电编码器组成,通过串口触发信号触发,编码器上传串口型位置数据,试验中编码器与MCU通信的波特率为115200b/s, 也可设置为230400b/s。伺服系统中A3988的母线电压为8V。
2.1 双闭环PI参数的确定
利用电路板和转台进行开环试验,记录试验数据,并利用试验数据和电机各项参数,通过MATLAB的Simulink模块对转台系统模型速度位置双闭环进行仿真,得到理论上的速度环PI参数和位置环PI参数,最终通过闭环试验确定合适的双闭环PI参数。
2.2 定速试验和定点试验
定速试验中设定转台转动速度为10°/s,定点试验中设定的定点位置为90°,图3、图4为转台系统的定速、定点试验结果。
图3 转台定速试验
图4 转台定点试验
由试验可看出,基于A3988+C8051F121的伺服控制系统对小功率转台系统的定速控制误差范围在2%~3%,定点控制误差在10″以内。在定点和定速控制上均有较高的精度。
3 伺服系统对比
3.1 运动效果对比
对于大功率的驱动要求和永磁同步电机等无刷电机的驱动,集成的IGBT芯片有明显优势。对于基于直流力矩电机的小功率转台系统控制,分别利用A3988和传统的集成IGBT芯片驱动,运动效果没有明显区别。PWM的分辨率精度一致,使用由IGBT组成的驱动电路驱动电机要考虑避免IGBT上下桥短路的死区问题,同样母线电压下A3988的驱动能力会更加出色,对电源的利用率也更高。
3.2 开发成本对比
在软件实现上A3988对于控制器的驱动信号要求较低,只需要一路PWM波和一个I/O口来控制电机,由IGBT组成的驱动电路,对控制器输出的控制信号要求较复杂,同时还要考虑死区等问题,增加了软件实现的复杂性,提高了软件成本。
在硬件电路上,A3988对于外围电路的配置只需配置母线电源,与控制器的控制信号可以直接相连接。集成的IGBT芯片对于外围电路的配置要求较复杂,需要多路隔离电源,驱动方式也需通过片外自行设计。
在伺服系统的成本上,基于A3988+MCU的伺服系统硬件成本是普通DSP+IPM的20%~25%,成本下降了75%~80%,较大程度上
降低了对于小功率直流力矩电机伺服控制系统的开发成本。在功率允许的条件下驱动多路电机时,基于A3988的伺服系统的优势更加明显。例如采用同样的DSP作为控制器,基于IPM的驱动器只能驱动一路电机,基于A3988的驱动器最多能驱动4路电机,提高了DSP控制器的利用率。
4 结 语
通过试验验证和不同伺服系统的对比,对于小功率直流力矩电机伺服控制系统的设计,相比传统的DSP+IPM的设计方案,基于A3988+MCU的设计方案在软、硬件方面均能在保证控制效果的前提下节约成本,硬件成本下降了75%~80%。在功率允许的条件下,驱动多路电机时,基于A3988的伺服系统相比基于IPM的伺服系统节约成本的优势更明显。
【参考文献】
[1] 王烁,田书林,戴志坚.基于A3988电机驱动芯片的电机控制电路设计[J].国外电子测量技术,2010,29(7): 65-67.
[2] 王晓明.电动机的单片机控制[M].北京: 北京航空航天大学出版社,2007.
[3] 新华龙电子有限公司.C8051F12X与C8051F13X系列混合信号ISP FLASH微控制器数据手册[G].2004.
[4] 王显军.基于SOC单片机的高集成度光电编码器电路设计[J].光学精密工程,2011,19(5): 1082-1086.