STM8低速步进电机控制系统的设计
2013-08-01唐艳芳李钟慎
唐艳芳,李钟慎
(华侨大学电机及自动化学院,福建厦门 361021)
随着微型计算机和数字控制技术的发展,应用步进电动机作为数控系统执行部件越来越受到关注。由于步进电机低速运行时的电机振动幅度较大,传统的改善方法为在步进电机轴上加磁性阻尼器,但这种方式对机械结构的改变较大。也可采用步距角更小的步进电机,如三相或五相步进电机,或采用带有细分功能的驱动器[1-2]。嵌入式系统是指以应用为中心、以计算机技术为基础,软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统在硬件和软件方面都出现了许多新的特点。依据细分原理,本文提出了采用STM8S903单片机为内核芯片控制低速二相步进电机的嵌入式系统。采用STM8S903单片机的嵌入式系统[3]相比其他系列单片机的控制系统更具优势[4-7],其优点是系统内核小、专用性强、精简、实时性高。
1 系统总体设计
1.1 系统结构
图1为系统的结构。STM8S903单片机控制驱动器使其采用细分动作驱动步进电机,并利用反馈控制原理实时检测步进电机的转速[8],若有过电流或短路情况立即送入控制器处理,从而保证步进电机安全可靠地运行。
图1 系统结构
1.2 步进电机驱动电路
步进电机依靠单片机产生的脉冲来控制转矩。由于单片机本身驱动电流过小,驱动电机绕组需要采用驱动芯片进行驱动。
多源BCD(Bipolar,CMOS,DMOS)技术是集成单个或者多个 DMOS场效应晶体管,并混合MOS管/二极管的控制电路技术。L6203是一种采用多源BCD技术用于电机切换驱动的整块全桥芯片。通过使用这种技术使得芯片具备兼容所有TTL、COMS和μC的能力,并且可以消除外部MOS设备的驱动问题。
两相四线步进电机采用2片L6203联合驱动步进电机(如图2所示)。L6203芯片中的BOOT1引脚外接自举电容来确保第1级DMOS场效应管有效,BOOT2引脚外接电容来确保第1级DMOS场效应管有效。L6203芯片中的OUT1对应第1个半桥的输出口,OUT2对应第2个半桥的输出口。ENABLE引脚高电平有效,其功能是选择IN1或者IN2接口。当ENABLE为1时,如果将PWM信号传递给IN1,则PWM信号反向后传递给IN2,这样调整PWM即可改变步进电机的转速。最后,为防止电流过大或者短路造成对步进电机运行稳定性的影响,采用8个二极管进行续流保护。
图2 驱动电路
1.3 电流检测电路
步进电机连接检测电路的主要作用是检测驱动电路侧是否存在连接器脱落情况或连接器到步进电机的配线有断线或短路的情况。主要是利用LM358处理放大信号并送往单片机。
2 细分驱动器原理
2.1 细分原理
在步进电机步距角不能满足使用要求的条件下,可采用细分驱动原理驱动步进电机。细分驱动原理是通过改变相邻(A,B)电流的大小来改变合成磁场的夹角以控制步进电机的运转。
本实验采用二相步进电机,其额定相电流为2 A。如果使用普通驱动器直接驱动步进电机,电机每转动一步,其绕组内的电流将从0突变为2 A或从2 A突变到0。相电流的突然巨变必然会导致电机转动的振动和噪音变大。如果使用细分驱动器,在16细分的状态下驱动该电机时,电机每转动一小步,其绕组内的电流变化仅有0.125 A,且电流以正弦曲线规律变化,从而极大地改善了电机的振动和噪音情况。表1的数据来源依据原理为:0~90°细分的PWM数据范围为0~128,细分N=16,步进电机走到第n步时转过的角度为:
此时在坐标系的位置为:
此算法按照逆时针表顺序,以半周期进行细分。由表1可知,步进电机在运行时,避免了整步达到90°的跨度,微步使得电机运行更平稳。
表1 16细分实验数据
2.2 细分PWM波形图
对于24 r/min的低速步进电机,在未细分时每分钟输出的PWM波为96个,采用16细分时每分钟输出的PWM波为384个。未细分时与细分时实验需要产生的PWM波对比如图3所示。
图3 PWM波仿真对比
3 系统软件设计
系统程序设计流程如图4所示。系统程序主要分为4个模块:故障检测、PWM波程序、正转、反转。步进电机稳定运行的前提是没有发生故障,所以程序在每次初始化后从故障检测模块开始执行,然后根据实际需求运行正反转程序。
图4 程序设计流程
4 结束语
本文设计的低速步进电机控制系统采用STM8S903单片机,结合步进电机驱动芯片L6203和电流检测电路来实时控制步进电机。STM8S903输出PWM波控制驱动芯片控制步进电机,简化了硬件电路;STM8S903单片机的STLINK接口使得程序调试和软件更新更加方便。试验结果表明:步进电机经过本文的细分驱动控制后,其振动明显减弱,整个系统稳定可靠,经济实用性较好。
[1]陈培民.步进电机的高性能驱动[J].华侨大学学报:自然科学版,1998,19(4):347 -349.
[2]范正翘,刘进,程胜.单片机控制的步进电动机综合微步驱动系统[J].驱动控制,1996(3):30-31.
[3]潘永雄.STM8S系列单片机原理与应用[M].西安:西安电子科技大学出版社,2011.
[4]董磊,王春民,尹晶,等.基于MSP430F169的步进电机控制系统[J].吉林大学学报:信息科学版,2011,29(6):549-553.
[5]高琴,刘淑聪,彭宏伟.步进电机控制系统的设计及应用[J].制造业自动化,2012,34(1):150 -152.
[6]张旭波.一种步进电机运动控制系统设计[J].甘肃科技,2011,27(20):41 -43.
[7]李文广,汤清华,吴国安.基于AVR单片机和L6208的步进电机控制系统设计[J].电机与控制应用,2011,38(1):43 -46.
[8]陈瑞.基于8089单片机控制的电动机转速实时检测系统[J].仪器仪表装置,2002(3):16-18.