THB6064H电机驱动原理
管脚M1、M2和M3用来选择电机细分状态,根据输入的值不同可选择八种细分模式,如表1所示。管脚PFD为衰减方式控制端,调节此端电压可以选择不同的衰减方式,从而获得更好的驱动效果,当3.5 V <VPFD<VDD时,慢衰减方式;当1.1V<VPFD<3.1V时,为混合式衰减方式;当0V<VPFD<0.8V时,为快衰减方式。管脚Vref为电流设定端,调节此端电压即可设定驱动电流值:
从性价比方面考虑,本系统选用了ATMEL公司的AT89C2051单片机,该单片机是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机为本系统提供了较高的性价比。
AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
图2是AT89C2051单片机与THB6064H连接控制步进电机的原理图。单片机P1.0-P1.2管脚分别与THB6064H的管脚M1、M2和M3相连,用来决定电机的转动方式。P1.3管脚与THB6064H的CW/CWW管脚相连,控制电机转动方向。P1.4管脚与CLK管脚相连,控制时钟的频率,即可控制电机转动速率。P15管脚与RESET管脚相连,可通过编程使THB6064H复位。P1.6管脚与ENABLE管脚相连,用来控制THB6064H输出有效。THB6064H的OUT1A、OUT2A和OUT1B、OUT2B与步进电机相连,步进电机按二相双极性使用,四相按二相使用时可以提高步进电机的输出转矩。
软件方面主要是设计系统的初始化,步进电机的正反转,变速控制,步距细分控制和电动机的锁定。
在初始化程序中完成对单片机各个寄存器窗口的选择、配置和系统初值的设定等等。
通过对P1口输出固定频率的控制脉冲序列,来控制电机的正转与反转,通过改变定时器的复位事件的时间和相应端口脉冲输出事件的触发时间来实现电机的变速控制。同时设置AT89C2051的软件定时器中断,在中断服务子程序中进行软件细分驱动控制,对THB6064H进行细分控制,产生阶梯状递增和递减参考电压。通过对端口配置固定电平信号使得电机A、B相绕组通入恒定不变得电流,以实现对步进电机的锁定。
为了实现对步进电机启停运转的精确控制,将推导出的符合步进电机矩频特性的指数型运行曲线量化后,存入E2PROM中。在系统运行过程中,通过调用当前速度所对应的状态延时时间,控制输出脉冲频率,确保步进电机的平滑运转。
系统中的主程序框图、电机转动控制程序框图如图3所示。