四自由度机械手多细分步进电机驱动器的设计
2015-01-01党幼云
徐 锟,党幼云,张 峰
(西安工程大学 电子信息学院,陕西 西安710048)
0 引 言
目前所研究的机器人以工业机器人为主,为了更好地与环境进行交互,灵活地操纵物体、准确地到达目标位置、精确地完成所分配的任务,很多工业机器人在进行结构设计时参考了人体手臂的结构.这种机器人是一种对生产条件适应性很强的自动化设备,可以在无人看管的环境下,实现生产、搬运、装配和焊接等多种操作,因为其结构类似于人的臂部,故一般称其为机械臂[1-2].
随着现代工业的飞速发展,四自由度机械手在工业中的应有越来越广泛.四自由度机械手可以模仿人手和臂的某些动作,按照固定的程序抓取、搬运、或操作工具.四自由度机械手可以代替人进行复杂重复的动作,可以在危害环境下代替人力[3-4].目前四自由度机械手臂的驱动往往都是使用混合式步进电机.四自由度机械手在操作过程中会进行频繁的启停,抓取搬运物品的重量不同,这就要求步进电机具有很好的高低速运行平稳性,在高速情况下恒转矩运行,启停平稳,精度高[5-9].
通过分析步进电机驱动器的关键技术,本文给出了一种基于STM32F103的多细分步进电机驱动的设计,分析了驱动器的硬件及软件设计,并分析了实验结果,证明了本设计的正确性.
1 设计方案
随着步进电机越发广泛的应用,对步进电机的要求也越来越高,要求步距精度越来越高,震动和噪声越来越低.式(1)为步距角公式,即每给一个电脉冲信号步进电机转子所转过的机械角度.
其中,Zr为转子齿数;m0为运行拍数(通常等于定子相数或相数的整数倍,即m0=km;m为定子相数,k为电机驱动方式).步进电机步距角的大小由电机自身的转子数和电机驱动的方式所决定,受电机制造工艺的限制,电机本身的参数(相数m)基本不可能在做大幅度的增大,只有通过增大k来获取更小的步距角.k=1时步进电机工作于整步方式,k=2时步进电机工作于半步方式,为了获取更大的k,就必须采用细分控制的方式[10-11].
理想的步进电机电流曲线应该是相差90°的正弦曲线.细分驱动方式实际上是一种电流波形控制技术,将传统的矩形电流波形改为阶梯型近似正弦波形,在正弦波零值和最大值之间分为若干个等幅值、等宽度的阶梯.波形分成若干个阶梯,而额定电流分成多少个阶梯,转子就以多少步完成一个原有的步距角.图1(a)为两相混合式步进电机两相电流整步运行图,图1(b)为两相混合式步进电机两相电流的单步4细分示意图.
在两相混合式步进电机中,若在AB两相绕组中通入幅值按正弦规律变化、相位相差的阶梯波电流时,就可以得到幅度恒定、角度均匀的合成电流矢量.电流合成矢量为
图1 细分示意图Fig.1 Multiple segments
改变两相绕组电流的大小并使其按正余弦规律变化,则可使合成电流矢量恒幅均匀旋转,实现恒力矩、均匀步距角的细分驱动控制.
驱动器的主控制芯片采用意法半导体公司的STM32F103VCT6,使用STM32F103VCT6的定时器产生PWM波,使用其自带的12位ADC采样母线电流,监测电机电流.本设计采用RS485总线的方式实现驱动器与上位机通信,使上位机对驱动器进行实时监测与控制,提高驱动器的可控性.系统整体设计图如图2所示.
2 硬件与软件设计
2.1 硬件设计
图2 系统整体设计图Fig.2 System design
2.1.1 驱动器驱动放大电路设计 驱动器的驱动放大电路包括H全桥电路和MOSFET驱动电路.MOSFET驱动电路主要是产生足够的驱动能力驱动后级的H全桥MOSFET管.H全桥直接控制步进电机.MOSFET驱动电路主要采用IR2110自举半桥驱动芯片IR2110芯片是一种H半桥(独立一桥臂双通道)、栅极驱动、高压、高速单片式专用功率器件集成驱,动电路,2片IR2110就能构成 H全桥功率MOS-FET管可逆PWM他励直流控制系统主控回路.IR2110芯片高端悬浮通道采用外部自举电容产生悬浮电压源,与低端通道共用一个外接驱动电源,兼有光耦隔离和电磁隔离的优点,配置所有高压引脚在芯片一侧、独立的逻辑地和功率地,使芯片结构紧固可靠.栅极门电压在10~20V范围高,高端悬浮通道用于驱动MOSFET的高压端,电压最高可达500V.IR2110欠压锁定功能可确保在工作在正常7.4~9.6V范围内.关断功能可使H半桥双通道立即强制输出低电平,用于电机过流保护等场合[12].IR2110采用自举法给高端控制逻辑电路供电虽然简单便宜,但是自举电容对PWM占空比和开通时间都有一定限制,选取自举电容有一些基本原则不能用于PWM超低频或长期占空比100%的场合,实际应用占空比上限设在97%左右[13].本设计中的步进电机采用两相混合式,故使用4片IR2110驱动2个H桥.IR2110驱动MOS-FET H桥电路如图3所示.
图3 IR2110驱动电路图Fig.3 Drive circuit of IR2110
2.1.2 通信接口电路设 驱动器与上位机通信采用RS485总线通信.RS485是目前工业控制系统中经常采用的一种分布式串行总线结构,RS485采用一对双平衡差分信号线,工作于半双工工作模式.RS485通信系统中,可以支持多于32个的负载,所有的负载即可以做发送器也可以作为接收器来使用.针对这一特性,本设计对所有负载采取唯一地址编号的方式,防止通信混乱.
RS485组网过程中还有一个很重要的问题是接地处理,接地系统的好坏直接影响RS485网络数据通信的质量,这是常常容易被忽视的一个大问题,对于所有电子系统应用来说接地处理都起着非常关键的作用,接地处理不合适会影响系统稳定性,严重情况下会造成系统损坏.本文设计了一种RS485接口电路,很好的解决了RS485组网过程中的这一问题.RS485接口电路如图4所示.
图4 RS485接口电路Fig.4 RS485interface circuit
2.2 软件设计
2.2.1 步进驱动控制器主程序软件设计 步进电机驱动系统上电,系统延迟100μs等待系统稳定.系统稳定之后,进行系统初始化,初始化AD转换子系统、通信子系统、PI控制子系统等.初始化完毕系统进行自检,检测各路传感器、通信是否工作正常.自检完毕,一切准备就绪等待上位机发送的控制指令,接到控制指令驱动系统分析控制指令,执行控制指令的正反转方向.当一条控制指令执行完毕之后,把当前相位标记记录下来,为下次执行做准备.相位标记完成,驱动系统等待上位机的下一条控制指令.主程序流程图如图5所示.
2.2.2 RS485通信的软件设计 在四自由度机械手的步进电机驱动系统中,为保证步进电机运行稳定可靠,上位机一次只发送一条控制指令.针对这种要求,本文设计了一种简洁、可靠、可扩展的RS485通信数据帧格式.通讯帧格式为起始域、地址域、控制域、扩展域以及结束域.
每一帧数据包含5个域,每域各占1字节,共5字节.起始域为通信握手信号.四自由度机械手臂控制系统中,共有4个步进电机驱动系统,每个系统都有唯一的地址ID.地址域表示上位机会向哪个驱动系统发送数据帧.控制域为上位机发送的控制指令,控制系统的正反转等.扩展域为以后控制指令扩展的预留.结束域为一帧数据的结束.
具体通信协议如下:
(1)上位机分别向各个系统发送只有地址域的数据帧,向各系统进行地址校验.驱动系统接收到地址校验帧后与自身的地址进行比较,若相同返回确认帧.
(2)若地址校验正确,上位机发送正常的控制指令.若校验错误,上位机向错误的驱动系统发送复位信号.
(3)驱动控制系统收到复位信号后,立即复位,然后进入地址等待阶段.若收到接收命令,则驱动系统进入接收等待阶段.
(4)驱动系统接收到上位机发送的控制指令后,执行相应动作.
(5)一帧数据接收完毕,驱动系统推出本次通信,准备下次通信.
2.2.3 相电流PI控制 由于步进电机的永磁特性,步进电机旋转时,产生的反电动势使得步进电机的相电流减小,使输出力矩降低,特别是当步进电机高转速运行时,产生的反电动势非常大.随着转速的持续上升,反电动势对步进电机相电流的影响也逐步加大,相电流的减小非常明显.本设计通过相电流的PI控制,使得相电流一直处于恒值状态,从而使步进电机可以恒转矩运行[14].两相混合式步进电机瞬时电流如式(3)所示.
图5 主程序流程图Fig.5 The main program flow chart
其中,VCC为电机绕组两端的电压源电压,Vemf为反电动势,R为电机绕组的电阻,I0为绕组初始电流,L为相电感.由式(3)可知,当电机在低速运行时,反电动势远小于电机绕组两端的电压,因而,步进电机的相电流在额定电流状态下工作,而随着步进电机的转速上升,反电动势随着转速上升,步进电机的相电流也会随着下降,从而比额定电流低很多.这种情况下,步进电机会出现失步或者堵转的现象,从而影响电机在高速运行下带负载的能力.
通过电流环PI调节,可以使相电流工作在恒值,本设计采用的是离散PI调节,在微控制器内完成.PI调节增量式算法如式(4):
3 系统整体验证
四自由度机械手中多细分步进电机驱动器制作出来后在两相步进电机上进行了测试,测试了电机在不同细分数下电流波形测试分析.图6的(a)为4细分时单相绕组的电流波形,(b)为128细分时单相绕组的电流波形.随着细分数的增加,绕组电流波形也越接近于正弦波,波形更平滑,电机运行也更加平稳.从这组电流波形图中可以说明,细分数越大,电流波形越来越向正弦波逼近,电机运行的振动和噪声越小,越能够使驱动系统可靠、稳定的运行.经测试论证,结果表明该驱动器基本满足设定的功能要求,性能良好.
图6 实验测得细分波形Fig.6 The measured waveform segments
4 结束语
(1)IR2110能有效控制功率MOS-FET,实现两相混合式步进电机的驱动.
(2)驱动器有效解决了四自由度机械手中两相混合式步进电机在低速运行下噪声大、震动大,在高速运行下带负载能力差的问题.保证了四自由度机械手臂高精度的工作.
[1] 于秀丽,魏世民,廖启征.仿人机器人发展及其技术探索[J].机械工程学报,2009,45(3):71-75.YU Xiuli,WEI Shimin,LIAO Qizheng.Development and technology research of humanoid robot[J].Journal of Mechanical Engineering,2009,45(3):71-75.
[2] 李伟,王权,何兵,等.一种新型四自由度混联机器人的设计与分析[J].机械设计与制造,2015(5):168-169.LI Wei,WANG Quan,HE Bing,et al.Design and analysis of a new 4-DOF hybrid robot[J].Machinery Design &Manufacture,2015(5):168-169.
[3] 王吉岱,辛飞飞,孙爱芹,等.四自由度混联式码垛机器人动态静力学分析[J].机械传动,2014,38(11)76-77.WANG Jidai,XIN Feifei,SUN Aiqin,et al.Dynamic statics analysis of the 4-DOF series-parallel palletizing robot[J].Journal of Mechanical Transmission,2014,38(11)76-77.
[4] 梶田秀司.仿人机器人[M].北京:清华大学出版社,2007:5-38.FUJIWARA Kiyoshi.Humanoid robots[M].Beijing:Tsinghua University Press,2007:5-38.
[5] 曹彬乾,程远增,孙书鹰,等.基于STM32步进电机多细分控制的设计[J].科学技术与工程,2013,13(23):6893-6895.CAO Binqian,CHENG Yuanzeng,SUN Shuying,et al.Design of the stepper motor subdivision control based on the STM32[J].Science Technology and Engineering,2013,13(23):6893-6895.
[6] 巫群洪.具有高精度与高稳定性的多路输出两相混合步进电机驱动器的设计与实现[D].杭州:浙江工业大学,2013.WU Qunhong.Design and implementation of multi-output two-phase hybrid stepper motor driver with high accuracy and stability[D].Hangzhou:Zhejiang University of Technology,2013.
[7] 朱琪,吴雁,何玉安,基于SimMechanics的四自由度机械手控制系统机液耦合仿真[J].机床与液压,2015(3):16-19.ZHU Qi,WU Yan,HE Yu′an.Mechanical and hydraulic coupling simlation of control system of 4-DOF manipulator based on simMechanics[J].Mechine Tool &Hydraulics,2015(3):16-19.
[8] 王文红,秦艳,郭琳.四自由度机械手PLC控制[J].新技术新工艺,2013(5):95-97.WANG Wenhong,QIN Yan,GUO Lin.PLC control of four-freedom manipulators[J].New Technology &New Process,2013(5):95-97.
[9] 孙勇.基于虚拟仪器的四自由度机械手控制系统设计[J].长春工程学院:自然科学版,2014,15(3):38-41.SUN Yong.Design of control system of 4DOF manipulator based on virtual instrument[J].Journal of Changchun Institute of Technology:Natural Science Edition,2014,15(3):38-41.
[10] 朱武,涂祥存,操瑞发,等.基于L6506/L298芯片细分步进电机驱动系统设计[J].电气自动化,2011,33(1):10-13.ZHU Wu,TU Xiangcun,CAO Ruifa,et al.Design of subdivided driving system of stepping motor based on L6506/L298chip[J].Electric Drive &Automatic Control,2011,33(1):10-13.
[11] 刘亚东,李从心,王小新.步进电机速度的精确控制[J].上海交通大学学报,2001,35(10):1517-1520.LIU Yadong,LI Congxin,WANG Xiaoxin.Precise control of step motor speed[J].Journal of Shanghai Jiaotong University,2001,35(10):1517-1520.
[12] 王剑,王宏华,袁晓玲,等.集成功率驱动电路IR2110应用探讨[J].机床与液压,2008,36(7):399-400.WANG Jian,WANG Honghua,YUAN Xiaoling,et al.The application discussion of integrate power driver circuit IR2110[J].Machine Tool &Hydraulics,2008,36(7):399-400.
[13] 伍洲,方彦军.IR2110在电机驱动器设计中的应用[J].仪表技术与传感器,2008(11):88-90.WU Zhou,FANG Yanjun.Application of IR2110in designing motor driver[J].Instrument Technique and Sensor,2008(11):88-90.
[14] 阮毅,陈伯时.电力拖动自动控制系统:运动控制系统[M].北京:机械工业出版社,2010:3-4.RUAN Yi,CHEN Boshi.Electricity pull automation control system:Motion control systems[M].Beijing:China Machine Press,2010:3-4.