APP下载

基于AVR单片机和L6208的步进电机控制系统设计

2011-06-02李文广汤清华吴国安

电机与控制应用 2011年1期
关键词:串口滤波器单片机

李文广, 汤清华, 吴国安

(华中科技大学电子科学与技术系,湖北武汉 430074)

0 引言

步进电机是数字控制电机,它将电脉冲信号转变为角位移,在正常情况下,步进电机的转速、停止的位置仅由脉冲信号的频率和个数决定;同时,步进电机只有周期性的无累积误差,精度和可靠性高,动态响应快,易于起停、正反转及变速。由于这些优点,步进电动机已广泛应用于速度控制、位置控制的系统中,如数控机床、计算机设备、自动记录仪等。随着应用的扩大,对步进电机的驱动控制要求也更高,如更小体积及更大的驱动能力等。

本文采用AVR单片机和ST公司的L6208电机驱动芯片作为电机驱动系统的设计方案,该系统的特点是集成度高、驱动电流大、精度及可靠性高、成本低,并具有很好的通用性,结合单片机串口通信可以实现远程控制。

1 步进电机控制系统实现

本文的步进电机控制系统采用上位机、下位机结构。下位机负责进行指令译码,控制步进电机的转动、停止和加、减速的实现。加速或减速过程采用软件程序实现。上位机为PC机,负责将控制指令传递给下位机,并接收下位机的状态信息,上位机和下位机通过串口交换数据。

步进电机驱动系统硬件框图如图1所示,采用AVR单片机和L6208来控制两相的步进电机,通过单片机来控制L6208实现驱动电机工作。单片机通过串口接收上位机发出的运行指令,根据指令控制电机执行相应的运动,并将相应的状态通过串口回传给PC机。发光二极管用来检测步进电机带动的直线运动是否到达基准位置,一旦检测到到达基准,高速比较器将光电转换的信号送到AVR的外部中断,单片机检测到中断后立即停止电机运行,该基准位置用来进行驱动部分的故障检测,同时也能提高步进电机在直线位置控制中的精度。

图1 驱动系统硬件框图

单片机采用Atmel公司生产的ATmega128,它是8位低功耗增强型内置Flash程序存储器的精简指令集结构单片机,与51单片机相比,AVR单片机具有很高的执行速度和非常丰富的片内资源。

L6208是ST公司推出的步进电机驱动芯片,集成了由8个功率DMOS晶体管组成的两个全桥、一个执行相位生成功能的集中式逻辑电路和关断时间恒定的脉宽调制(Pulse Width Modulation,PWM)电流控制器,该控制器内部采用斩波电路的原理,解决了步进电机频繁换相时电流剧烈波动而引起转矩变化的问题。

L6208的解码逻辑电路能够生成3个不同的步进序列,使该器件能够适合各种应用。该芯片还具有热关断功能,其高压侧功率MOSFET具有无损耗的过流保护功能;而且工作电压范围广(8~52 V),平均输出电流可达 2.8 A,峰值5.6 A,可驱动绝大部分步进电机。即使将来因为某些特殊需要而选用其他型号的步进电机,也无需改变驱动电路,极大地方便了整个系统的后续改进优化。输入脉冲频率可达到100 kHz,因此可满足各种转速要求严格的场合,此电路和以往的驱动方案相比具有明显的优点,驱动电流大、稳定性好、实现方便、安全可靠。

2 电路原理及方案实现

2.1 硬件电路

具体的电路如图2所示,Us+、UCC通过外接电源来提供,其中Us+为驱动电源,电源值范围为8~52 V,由于不同型号的步进电机工作电压不一定相同,因此该电压要与所使用电机的工作电压保持一致。UREF为参考电压,由UCC经过分压电阻得到,其与SENSE脚上的电压进行比较后控制全桥的关闭与否。MOTOR为驱动电路的输出单元,OUT1A、OUT1B、OUT2A、OUT2B 与两相步进电机相连。控制信号由ATmega128单片机提供,该系统采用单片机I/O中的PA4、PA5、PA6、PA7、PD5、PG1引脚配置为带上拉电阻输出并分别与驱动单元的 ENABLE、CW/CCW、CLOCK、CONTROL、RST、HALF/FULL 控制线相连。

图2 步进电机驱动单元

2.2 软件设计

ENABLE为L6208的使能信号,当输入为低电平时,所有的MOSFET开关被关断,高电平时使能工作。CW/CCW用来控制步进电机的转向,高电平时,电机正转;低电平时,电机反转。CLOCK是相位序列发生器的时钟,上升沿触发有效,可以通过调整CLOCK脉冲的频率来控制相位序列发生器产生的步进序列的频率,以实现对步进电机速度的控制。RST信号用来复位相位序列发生器,当RST信号为低电平时,使相位序列发生器处于初始状态。HALF/FULL用来设置步进序列的模式,配合RESET信号可以将L6208设置为半步模式、单相全步模式及两相全步模式三种步进模式。CONTROL信号用来设置衰减模式,高电平时为慢速衰减模式,低电平时为快速衰减模式。

软件流程图如图3所示,系统上电后,首先对程序进行初始化,包括让电机运行到参考位置,设置串口通信模式以便接收上位机的控制命令,在收到串口信息帧后,单片机对数据帧进行判断,得到相应的控制命令,控制步进电机执行相应的动作,在电机执行完毕后单片机将当前的状态通过串口上报给PC机,然后返回继续等待下条指令。

图3 电机控制流程图

步进电机在转动时,随着电机转动速度的增大其力矩将会下降。在很多场合需要步进电机从低速慢慢加速升到高速转动过程,然后匀速转动,在接近停止时采用减速停止的过程以使电机的运行更加平滑和稳定。特别是在对响应时间有要求的工作场合中,要求加、减速流程时间尽量短,恒速时间尽量长。步进电机常用的加、减速曲线有:直线型曲线、S型曲线、指数型曲线。该系统要求在起动时有较高的力矩,匀速时尽可能快,减速确保平稳。因此,采用简单的直线型加、减速曲线,L6208可以通过改变CLOCK脉冲的频率来实现对电机转速的改变,在软件中可以很容易通过改变软件延时来实现该CLOCK脉冲的频率改变。电机直线加、减速控制流程如图4所示。当步进脉冲数大于等于500时,电机先加速然后匀速再减速停止;当步进脉冲数大于等于250且小于500时,电机先加速起动然后又开始减速停止;当步进脉冲数小于250时,电机只做匀速步进。主要是在短程步进时能满足时间要求,而在远距离步进时希望能尽可能地缩短时间。

图4 电机加、减速流程

2.3 应用实例

该步进电机控制系统已成功应用于电可调滤波器中。电可调滤波器是一种中心频率可变的滤波器,滤波器的基本元件为电容和电感,控制滤波器内部的电容或者电感就能实现滤波器中心频率的变化。平板电容的容值及面积的大小与距离长短有关,通过步进电机改变两平板之间的距离能得到不同的电容值,进而可以实现滤波器中心频率的改变。目前,采用该系统的电可调滤波器的中心频率精确度可控制在50 kHz以内,并且具有很高的重复性。

3 结 语

该系统结合单片机和步进电机驱动芯片设计步进电机控制系统,该控制系统硬件电路设计简单,结构紧凑、运行可靠;因使用专用驱动芯片,软件编写简单;AVR单片机的JTAG接口使得程序调试和软件更新更加方便。该系统能满足42、56、82等系列的两相步进电机的控制,实践表明该控制系统效果好。该系统还可通过串口通信实现步进电机的远程控制,或与其他反馈检测环节连接,组成闭环控制系统用于精度和可靠性要求更高的控制系统中。

[1]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社,2007.

[2]Atmel Corporation.Atmel data sheet(ATmega128 Rev.2467P-08/07)[G].2007.

[3]L6208 Datasheet.STMicroelectronics[G].2003.

猜你喜欢

串口滤波器单片机
浅谈AB PLC串口跟RFID传感器的通讯应用
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
从滤波器理解卷积
基于单片机的便捷式LCF测量仪
开关电源EMI滤波器的应用方法探讨
基于Canny振荡抑制准则的改进匹配滤波器
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于TMS320C6678的SAR方位向预滤波器的并行实现