目录
1.绪论
针对直流电机恒转速闭环调节控制的问题,本文介绍了基于模糊控制算法(Fuzzy Control)的PWM直流电机恒转速闭环调节控制系统,系统以AT89C51单片机为核心,由串口通信模块、液晶显示模块、按键控制模块、电机驱动模块、测速环节和直流电机组成,其中电机驱动模块采用L298N芯片实现,液晶显示模块采用LCD1602实现,稳压电路模块采用7805芯片实现。采用模糊控制(Fuzzy Control)算法对直流电机转速进行闭环控制。
通过调试,实现了串口通信设置目标转速、手动设置目标转速、电机自动调速、电机手动调速、电机正反转以及停止电机的功能,在目标直流电机实际转速达到目标转速时,性能指标良好;当设定目标转速为,系统的超调量为8%,稳态误差为0.89% ,采用10%误差带的调节时间为52s。
关键词:PWM占空比输出;闭环调速;模糊控制算法;单片机AT89C51
2.电路总体方案
本次设计是以单片机AT89C51为核心的PWM直流电机恒转速闭环调节控制系统,其中主要包含电机驱动模块、直流电机模块、测速环节、电源模块、液晶显示模块、按键控制模块、串口通信模块。硬件电路总体设计框图如图2-1所示:
3.控制算法
本次课程设计中采用模糊控制算法(Fuzzy),结构图、设计过程、控制器参数如下:
图3-1 模糊(Fuzzy)控制器原理结构图
3.1模糊化接口
1)确定基本论域
2)将基本论域数值映射到模糊论域
3)模糊子集
4)隶属函数
图3-2
3.2 模糊规则表
表1 模糊规则表
3.3 模糊推理
3.4 清晰化
利用重心法对控制量进行反模糊化
3.5 通过借助Matlab数学工具得到模糊控制表
表2 模糊控制表
e q ec | -1 | 0 | 1 |
-2 | 19 | 12 | 0 |
-1 | 16 | 6 | -6 |
0 | 12 | 0 | -12 |
1 | 6 | -6 | -16 |
2 | 0 | -12 | -19 |
得到模糊控制字表:U[ ]={19,12,0,16,6,-6,12,0,-12,6,-6,-16,0,-12,-19};
4.软件设计
系统程序主要包括系统主程序、按键控制子程序、定时器T0中断子程序等。
4.1系统主程序
系统主程序的主要功能是执行串口通信程序,按键的扫描程序,液晶显示程序。系统主程序流程图如图4-1所示。
图4-1系统主程序流程图
4.2按键控制子程序
按键控制子程序的主要功能是手动设置目标转速、控制电机正转/反转,控制PWM占空比输出大小的增减、控制是否开启自动调速、控制关闭电机。
按键控制子程序流程图如图4-2所示。
图4-2按键控制子程序图
4.3定时器T0中断子程序
定时器T0中断子程序,主要负责控制PWM的输出、使用计数器T1进行测速、调用模糊控制算法程序。
定时器T0中断子程序流程图如图4-3所示。
图4-3 定时器T0中断子程序流程图
5.系统调试结果与讨论
图5-1 Proteus仿真系统运行图
本次设计的直流电机恒转速闭环调节控制系统,是以单片机AT89C51为核心的PWM直流电机恒转速闭环调节控制系统,采用的闭环控制算法是模糊控制算法(Fuzzy Control),实现了通过串口通信设置目标转速的功能、手动设置目标转速功能、电机自动调速功能、电机手动调速功能、电机正反转功能以及停止电机的功能。使用了Proteus进行仿真,如图5-1所示,目标转速为225r/min,实际测得转速为225±2r/min,实际电机转速为225±2r/min;系统的超调量为8%,稳态误差为0.88% ,采用10%误差带的调节时间为52s,性能指标良好。
本次项目设计的相关仿真文件和代码文件,在如下百度网盘中,如有需要,请自行下载:
链接:https://pan.baidu.com/s/1W-Nt0fhJwZo18vYq5GjoDQ
提取码:rs6i串口调试助手百度网盘链接如下:
链接:https://pan.baidu.com/s/1qB5mtNjzBzsgNkRF2rK2ZQ
提取码:snw2如果你觉得博主的文章还可以的话,请点上个小小的赞并收藏起来。
希望这篇文章能够对您有所帮助。
如有错误、疑问和侵权,欢迎留言联系作者。
