TB6612FNG在直流电机控制设计中的应用
2.2 电机控制的软件实现
脉宽调制方式产生占空比变化的PWM信号,通过对驱动器输出状态的快速切换,实现电机的速度控制。PWM占空比的大小决定输出电压平均值,进而决定电机的转速。文中采用单极性、定频调宽的PWM调制方式,保证电机调速控制的稳定性。TB6612FNG的逻辑真值表如表1所示。该器件工作时STBY引脚置为高电平;IN1和IN2不变,调整PWM引脚的输入信号可进行电机单向速度控制;置PWM引脚为高电平,并调整IN1和IN2的输入信号可进行电机双向速度控制。表中A、B两通道的控制逻辑相同。本文引用地址:https://www.eepw.com.cn/article/162891.htm
单片机定时器PWM输出设置如图3所示。首先需设置T/C中断屏蔽寄存器TIMSKx使能定时器溢出中断。其次分别设置T/C控制寄存器TCC-RxA和TCCRxB选择PWM模式和预分频比,最后将控制信号引脚I/0置为输出。程序运行时,每当定时器计数产生溢出,CPU响应中断,定时器回零后重新开始计数。
以下列出的示例代码设置为快速PWM反向输出模式,当系统时钟记为fclk时,PWM输出频率fPWM=fclk/64/256。
TIMSKx |=1TOIEx;
TCCRxA=OxF3;
TCCRxB=Ox03;
DDRx |=(1Pxx);
为获得更高的PWM波形精度,可以采用相位修正的PWM输出模式,不过在精度提高的同时,fPWM也将减半,以下代码得到fPWM=fclk/64/512。
TCCRxA=0xF1:
TCCRxB=0x03;
PWM占空比大小的改变通过对输出比较寄存器OCRxx的数值操作来实现,例如当OCRxx=203时,占空比为204/256=80%。编程时将速度变量值写入OCRxx寄存器,从而达到改变占空比和对电机调速的目的。
文中通过电位器调速试验来检测TB6612FNG的PWM控制与电机输出转速间的线性关系。单片机ADC对精密多圈电位器的电压值进行采样,用于控制电机转速。程序流程如图4所示。首先进行电机控制信号的初始化,接着通过设置ADC控制状态寄存器ADCSRA和ADC多路复用选择寄存器ADMUX选择ADC频率和通道,然后选取合适的样本数量,对ADC循环采样并计算样本均值作为当前速度值,代入速度函数。
pwm相关文章:pwm是什么
脉宽调制相关文章:脉宽调制原理
评论