PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法

直流电机PWM调速:使用将直流电机转速转换为脉冲频率,测量出电机的转速,与写入到单片机的EEPROM里的脉冲设定值进行比较产生偏差,若偏差为正值则电机减速,偏差为负值则加速,并在LCD上显示电机的转速与偏差值。设定值可以通过按键调整。

通过计数器采集到直流电机转速,然后和设定值对比。通过调节PWM占空比使得直流电机转速尽可能接近设定值,如下图。
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
显示差速:
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法

要点:
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
驱动电机需要硬件。
为什么?电流太大。
常用的:L298N。
为什么L298N比U2003L好?因为U2003L开关速度太慢,跟不上PWM频率。
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
修改直流电机转速原理是用PWM。
单片机里的PWM,通过寄存器固定好一个PWM周期。
然后调节PWM占空比,也就是高电平时间。
高电平时间越长,电机就转得越快。
电机惯性会让电机一直转,只是肯定的是高电平占空比越大,电机转动肯定更快。
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
测量电机转速原理。
霍尔传感器是磁敏元件。在电机转盘固定一块磁铁,这样霍尔元件就能电机每转一圈,就能输出一个脉冲。
单片机里面有计数器,可以计数多少个脉冲,也就是多少圈。
单片机里面开一个定时器,定时1秒钟,看看1秒钟内电机转的圈数。
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
PWM控制策略。
PID算法的思想是,如果当前转速和设置数值偏差大,那么就用很大变化的占空比更改去让电机转速快速到达目标值左右。
当当前转速和设置数值偏差不大,就微调占空比变化使得当前转速和目标转速相差无几。
一般if判断是否可行?没算法不可行,因为电机转速测量是滞后的,只用if会震荡!
PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法