C8051F020单片机的步进电机驱动器

步进电机又称脉冲电动机,是数字控制系统中的一种执行元件,其功能是将脉冲电信号变换为相应的角位移或直线位移。其输出转角、转速与输入脉冲个数、频率有着严格的同步关系,因而常用于开环系统,在雷达伺服控制系统中也有应用。采用恒流和细分驱动技术可以大大提高步进电机的步矩分辨率,减小转矩波动,避免低频共振及降低运行噪声。
目前步进电机控制和驱动的重要发展方向是大量采用专用芯片,其优点是可以提高驱动器的集成度、缩小体积、明显提高驱动器的可靠性和运动性能,还可以减少电源数量、简化电路。随着以MCS51系列为代表的单片机的迅速普及,以前必须由硬件(GAL、EPROM、CPLD等可编程器件)实现的环形分配器被基于软件的通用环形分配器取代,其优点是可以减少体积、发挥软件的灵活性,通过写入不同的软件可灵活改变环形分配的方式。
因此,本文通过对步进电机控制器电路的分析和研究,介绍一种基于C8051F020单片机的步进电机驱动器,实践证明该驱动器设计合理、电路简单、性能优良、应用灵活。

1 C8051F020单片机简介
Cygnal公司生产的C8051F系列单片机是完全集成的混合信号系统级芯片(SOC)。采用全速、非侵入式在系统调试接口,提供C编译调试环境,可以大大提高产品开发速度和效率。芯片为工业级温度范围(-40℃~ 85℃),满足产品对室外环境温度的要求。另外,芯片内置有8路12位A/D转换器、8路8位A/D转换器、2路12位D/A转换器、2路UART、SPI、I2C、电压比较器、内部晶振、看门狗、电压监视器、温度传感器、多路PWM输出,支持20个中断源、64个可编程I/O口(推挽输出、漏极开路输出、弱上拉输出)、4 kB RAM、64 kB在系统编程Flash存储器等外部设备,简化了MCU芯片外围电路的设计。这种高集成度的系统器件为设计低功耗、小体积、高可靠性和高性能的驱动器提供了方便,同时也降低了驱动器的成本 。

2 驱动器电路设计
两相混合式步进电机的两相绕组相互独立,每相采用全桥电路。
驱动器恒频PWM细分驱动电路是在斩波恒流驱动基础上的改进。控制电路主要由单片机构成,实现脉冲接收、细分电流控制信号输出、环形分配等功能。其电路原理见图1。
C8051F020单片机的步进电机驱动器
图1 驱动器电路原理
2.1 逻辑通电方式
两相步进电机驱动器逻辑通电方式一般有两相4拍、两相8拍和双4拍3种。两相4拍相序为:A—/B—/A—B,其特点是在任一时间仅有一相绕组通电;两相8拍相序为:A—AB—B—/AB—/A—/A/B—/B—A/B,其特点是电机的步进角减半,但产生较小的正常转矩;双4拍的相序为:A/B—AB—/AB—/A/B,其特点是能输出最大的转矩。

2.2 控制斩波电路
L6506是传感和控制电流的线性集成电路,适用于双极性两相步进电机或单极性四相步进电机的控制。L6506对感性负载进行恒流驱动,可实现从控制逻辑级到功率级的接口功能。其主要特点为:集成度高、适用范围广、PWM频率范围宽、输入信号符合TTL电平规范,可直接用单片机、可编程逻辑器件等控制。其功能框图见图2。
C8051F020单片机的步进电机驱动器
图2 L6506功能框图
2.3 功率驱动电路
功率驱动方案采用IR公司的驱动集成电路IR2304和MOSFET组合。与双全桥驱动器L298等相比,可大大提高功率级供电电压,使得步进电机驱动器功率范围更广。
作为一种多功能的600 V高低端驱动集成电路,IR2304适于功率MOSFET驱动的特点使其在步进电机驱动中可得到良好的应用。其性能特点如下:
a)由于单电源 15 V供电经二极管隔离后分别作为其两路高端驱动输出的供电电源,这样大大减小了电路体积,并减少了电源数目,集成度高,可靠性高;
b)动态响应快,典型通断延迟时间为220ns/220 ns,内部死区时间100 ns;
c)一般步进电机的最高工作频率小于10 kHz,IR2304可支持100 kHz或以下的高频开关,频率可以满足工作要求;
d)IR2304的输入输出同相设计,可提供高端和低端独立控制驱动输出,兼容LSTTL、TTL、CMOS逻辑控制,使单片机可通过数字端口直接控制IR2304;
e)具有电源欠压保护和关断逻辑,可防止器件意外开通。
步进电机驱动器的一相原理图见图3。
C8051F020单片机的步进电机驱动器
图3 功率驱动一相原理

3 驱动器软件设计
驱动器软件主程序包括初始化和主循环,以及串口0和1中断服务程序模块、定时中断服务程序模块。串口0和1中断分别对应与上位机的RS232和RS422通信方式。定时中断每隔100 us产生一次,用来查询CP脉冲是否到来;同时根据当前细分和电流设定状态输出相应幅值的阶梯正弦波信号,作为步进电机两相的参考电压。定时中断服务程序流程如图4。
C8051F020单片机的步进电机驱动器
图4 定时中断服务程序流程
该两路正弦波信号幅值与电流设定值成正比,频率f为:
f=fin/C
式中fin为输入脉冲频率;C为细分数。

4 结束语
本步进电机驱动器电路应用斩波恒流细分驱动方式,充分利用了C8051F020单片机集成度高、功能多的特点,同时运用驱动集成电路IR2304,电路简单可靠,驱动能力强,大大减小电路体积并减少电源品种;充分利用了电流控制器L6506的特性,使得电流控制响应快、精度高,电机运行平稳。本两相步进电机驱动器已通过性能测试,能够满足使用要求。