BTN7970在直流电机驱动系统中的应用
时间:09-25
来源:互联网
点击:
通过调用函数FlexPWM_Init(O)即可将本设计中使用的flexpwm0模块初始化。接下来使能PWMA/B输出配置如下:
在控制程序中通过调用输出函数来配置数据重载、PWM输出和BTN7970使能,即可按设定的方向和占空比驱动电机。
3.3 A/D初始化
首先,通过SIU.PCR[29].R=0x2400操作将PIN42引脚配置为A/D输入引脚,通过采集IS端电压间接计算出通过电机的电流。本设计中使用了MPC5604P片内ADCl模块的AN[O]通道,初始化配置如下:
在本设计中通过ADCl的1路硬件监控电路对每次A/D采集的值和预先设置的值进行比较。当采集的值超出通过ADC_1.THRHLR0.R设定的上下限时,将产生中断。通过中断服务程序将MOTOR_CON输出低电平使驱动IC进入Sleep模式,即可实现过流保护。初始化和中断服务函数注册如下:
在SIR服务函数中,通过SIU.GPD0[43].R=O;即可关闭驱动芯片。接下来发送A/D通道转换命令并查询状态标志位,转换完毕后即可通过读取.ADC_1.CDR[O].B.CDATA寄存器得到采集的IS端电压值,并通过计算公式IL=19 500×VIS/470 Ω计算得到通过电机的电流,从而实现电机的闭环控制。
结语
本文介绍了基于BTN7970的2相直流电机驱动电路典型设计。该设计外围电路少,无需外加控制信号驱动电路和电机电流检测电路,可直接和MCU接口,并可通过IS引脚输入电压计算直接得到通过电机的电流。
- 电源监控器IMP809/810及其应用(06-11)
- AD7656的原理及在继电保护产品中的应用(06-18)
- 高可靠MCU电源设计(06-12)
- 如何延长基于微控制器设计的电池寿命(06-24)
- 利用电压跟踪控制器提高多电源系统可靠性(07-01)
- 基于AT89C52的励磁调节器的设计与实现(07-23)