2024-09-01
售卖作品
00

目录

全部代码

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

通过计数器采集到直流电机转速,然后和设定值对比。通过调节PWM占空比使得直流电机转速尽可能接近设定值,如下图。

在这里插入图片描述

显示差速:

在这里插入图片描述

要点:

在这里插入图片描述

驱动电机需要硬件。

为什么?电流太大。

常用的:L298N。

为什么L298N比U2003L好?因为U2003L开关速度太慢,跟不上PWM频率。

在这里插入图片描述

修改直流电机转速原理是用PWM。

单片机里的PWM,通过寄存器固定好一个PWM周期。

然后调节PWM占空比,也就是高电平时间。

高电平时间越长,电机就转得越快。

电机惯性会让电机一直转,只是肯定的是高电平占空比越大,电机转动肯定更快。

在这里插入图片描述

测量电机转速原理。

霍尔传感器是磁敏元件。在电机转盘固定一块磁铁,这样霍尔元件就能电机每转一圈,就能输出一个脉冲。

单片机里面有计数器,可以计数多少个脉冲,也就是多少圈。

单片机里面开一个定时器,定时1秒钟,看看1秒钟内电机转的圈数。

在这里插入图片描述

PWM控制策略。

PID算法的思想是,如果当前转速和设置数值偏差大,那么就用很大变化的占空比更改去让电机转速快速到达目标值左右。

当当前转速和设置数值偏差不大,就微调占空比变化使得当前转速和目标转速相差无几。

一般if判断是否可行?没算法不可行,因为电机转速测量是滞后的,只用if会震荡!

在这里插入图片描述

全部代码

cpp
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!