pi控制直流电机c语言,一种基于PI控制的直流电机调速控制系统及控制方法与流程...
本发明属于传感器技术领域,具体涉及种一种基于PI控制的直流电机调速控制系统及控制方法。
背景技术:
直流电机有广泛的应用。如何控制和调整电机的转速是工程和实验领域要解决的问题之一。通常采用PWM波控制电机的转速,根据PWM波的占空比调整电机的转速,但是在实验和实际应用中,经常会发现,给一个固定占空比的PWM波,电机的转速并不能达到一个稳定的速度。因此,对电机的控制采用经典的PID控制,PID控制中P是比例系数,使得电机速度尽快到达设定值,但P、I、D的参数变化范围很大,很难找到合适的参数。
技术实现要素:
为了克服上述现有技术的不足,本发明的目的是提供一种基于PI控制的直流电机调速控制系统及控制方法,为解决直流电机速度控制问题,采用增量式PI控制方法,设计了无刷直流电机速度控制器。对模拟调节器进行了离散化处理,每隔10ms用编码器测速一次,并进行适当的软件滤波,用计算出速度差作为控制量,用离散的差分方程代替连续的微分方程,用软件实现了PI控制算法。搭建了基于STM32的实验平台,给出了P和I参数整定方法,并通过大量实验得到了合适的P和I的系数,验证了该增量式PI控制方法的正确性。
为了实现上述目的,本发明采用的技术方案是:
一种基于PI控制的直流电机调速控制系统,包括控制中心模块、显示模块,电机驱动模块、带编码器的直流电机模块、按键模块。控制中心模块单向接收按键模块、带编码器的直流电机模块信号,单向传输信号给显示模块、电机驱动模块,电机驱动模块单向传递信号给带编码器的直流电机模块。用按键预制电机的转速,控制中心模块向电机驱动模块发送信号并产生PWM波,电机驱动模块驱动直流电机旋转。编码器测得直流电机的转速并将其反馈给控制中心模块。控制中心将设定速度与测量速度进行比较,得到速度差。根据速度差进行PI控制,改变PWM波的占空比,最终使得测量速度接近与设定速度,实现对直流电机的调试控制。在显示模块上显示PWM波占空比,设定速度、测量速度、当前P和I的系数等信息。
所述的控制中心模块由软件和硬件组成,硬件由STM32F103ZET6微处理器组成,软件包括测速、PI控制、显示等。
所述的带编码器的直流电机模块由带有编码器的小型直流电机组成,用于直流电机旋转并用编码器进行测速。
所述的按键模块由按键检测电路组成。用于设定电机转速和调节P和I的参数。
所述的电机驱动模块由TB6612直流电机驱动模块构成。用于驱动直流电机旋转。
所述的显示模块由TFT1.44寸真彩液晶屏构成,用于显示PWM波占空比,设定速度、测量速度、当前P和I的系数等信息。
一种基于PI控制的直流电机调速的控制方法,包括以下步骤:
1)对中心控制模块STM32F103ZET6的定时器A、定时器B、PWM波、硬件SPI进行初始化,定时器A初始化为10ms中断一次,在中断中主要进行电机测速和PI控制,定时器B初始化为计数方式,每隔10ms读取一次编码器的输出值,得到直流电机的实际转速;用按键模块设置电机的转速;
2)启动电机转动,10ms中断时间到,进定时器A中断,编码器测速,得到实际速度值,用设定值减去测量值,得到速度差e,
用
式中,e(k)为本次误差,e(k-1)为上次误差,e(k-2)为上上次误差,PWM代表PWM波占空比的增加量。Kp为比例系数P, Ki为积分系数;
3)计算得到PWM的增量,重新修改PWM值,调整电机转速,若测量值小于设定值,则PWM增大,提高电机转速;若测量值大于设定值,则PWM减小,降低电机转速;
4)为了找到合适的P和I的系数Kp和Ki,对于每一个固定的Kp和Ki值,连续测量500次,然后修改Kp或Ki值,自动加1或者减1,在一定的范围内,连续测量多组Kp和Ki的值所对应的速度值,将其导入MATLAB下进行分析,确定最终的Kp和Ki的值。
本发明的有益效果是:
1)本发明能够实现直流电机的恒速旋转。
2)采用按键模块,可设定电机转速并修改PI控制时的P和I的参数。
附图说明
图1为本发明的结构示意图。
图2为本发明的工作流程图。
其中,1为控制中心模块;2为显示模块;3为电机驱动模块;4为带编码器的直流电机模块;5为按键模块。
具体实施方式
以下结合附图对本发明进一步叙述。
如图1所示,基于PI控制的直流电机调速控制系统及方法,包括控制中心模块1、显示模块2、电机驱动模块3、带编码器的直流电机模块4、按键模块5。控制中心模块1单向接收按键模块5、带编码器的直流电机模块4信号,单向传输信号给显示模块2、电机驱动模块3,电机驱动模块3单向传递信号给带编码器的直流电机模块4。用按键预制电机的转速,控制中心模块向电机驱动模块发送信号并产生PWM波,电机驱动模块驱动直流电机旋转。编码器测得直流电机的转速并将其反馈给控制中心模块。控制中心将设定速度与测量速度进行比较,得到速度差。根据速度差进行PI控制,改变PWM波的占空比,最终使得测量速度接近与设定速度,实现对直流电机的调试控制。在显示模块上显示PWM波占空比,设定速度、测量速度、当前P和I的系数等信息。
所述的控制中心模块1由软件和硬件组成,硬件由STM32F103ZET6微处理器组成,软件包括测速、PI控制、显示。
所述的带编码器的直流电机模块4由带有编码器的小型直流电机组成。用于直流电机旋转并用编码器进行测速。
所述的按键模块5由按键检测电路组成。用于设定电机转速和调节P和I的参数。
所述的电机驱动模块3由TB6612直流电机驱动模块构成。用于驱动直流电机旋转。
所述的显示模块2由TFT1.44寸真彩液晶屏构成,用于显示PWM波占空比,设定速度、测量速度、当前P和I的系数等信息。
如图2所示,一种基于PI控制的直流电机调速的控制方法,包括以下步骤:
1)对中心控制模块STM32F103ZET6的定时器A、定时器B、PWM波、硬件SPI进行初始化,定时器A初始化为10ms中断一次,在中断中主要进行电机测速和PI控制,定时器B初始化为计数方式,每隔10ms读取一次编码器的输出值,得到直流电机的实际转速;用按键模块设置电机的转速;
2)启动电机转动,10ms中断时间到,进定时器A中断,编码器测速,得到实际速度值,用设定值减去测量值,得到速度差e,
用
式中,e(k)为本次误差,e(k-1)为上次误差,e(k-2)为上上次误差,PWM代表PWM波占空比的增加量。Kp为比例系数P, Ki为积分系数;
3)计算得到PWM的增量,重新修改PWM值,调整电机转速,若测量值小于设定值,则PWM增大,提高电机转速;若测量值大于设定值,则PWM减小,降低电机转速;
4)为了找到合适的P和I的系数Kp和Ki,对于每一个固定的Kp和Ki值,连续测量500次,然后修改Kp或Ki值,自动加1或者减1.在一定的范围内,连续测量多组Kp和Ki的值所对应的速度值,将其导入MATLAB下进行分析,确定最终的Kp和Ki的值。
pi控制直流电机c语言,一种基于PI控制的直流电机调速控制系统及控制方法与流程...相关推荐
- 超调 matlab m文件,基于Matlab平台实现的复合轴控制系统超调控制方法与流程
本发明属于复合轴控制技术领域,具体涉及一种基于Matlab平台实现的复合轴控制系统超调控制方法. 背景技术: 复合轴控制是近年来一种新兴的控制方法,其主要借助快速反射镜响应快.精度高的特点补偿常规控制 ...
- matlab 谐波注入,一种基于谐波注入的新能源汽车永磁同步电机噪声控制方法与流程...
本发明属于新能源汽车技术领域,特别是指一种基于谐波注入的新能源汽车电机噪声控制的方法. 背景技术: 新能源汽车电机在工作时产生的噪声是气动噪声.电磁噪声和机械噪声共同的叠加,其中电磁噪声能量占其中的较 ...
- 嵌入式基于Linux电机控制,基于嵌入式arm+linux平台的直流电机调速控制系统.pdf
2012--2013 学年第 二 学期 物电 学院期末考试卷 嵌入式系统与应用 学号 : 姓名 : 班级 : 成绩: 评语: 装 订 (考试题目及要求) 嵌入式大作: 采用实验箱上的电位器作为信号输入 ...
- 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料
1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...
- 电机调速设计并用matlab仿真,基于MATLAB的双闭环调速系统设计与仿真
名称 基于MATLAB的双闭环调速系统设计与仿真 设计内容和意义 摘要 转速.电流双闭环控制直流调速系统是性能很好.应用最广的直流调速系统.根据晶闸管的特性,通过调节控制角α大小来调节电压.基于设计题 ...
- 直流电机PID转速闭环调速控制系统
在工业自动控制系统和各种智能产品中常常会用用电动机进行驱动.传动和控制,而现代智能控制系统中,对电机的控制要求越来越精确和迅速,对环境的适应要求越来越高.随着科技的发展,通过对电机的改造,出现了一些针 ...
- 直流电机调压调速matlab,第四章MATLAB以及交直流调速系统仿真.ppt
MATLAB应用技术 清华大学出版社 1 MATLAB基本知识 4.3 直流调速系统与MATLAB 仿真实现 4.4交流电动机模型与MATLAB实现 4.5异步电机调压调速系统与MATLAB 实现 4 ...
- 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真word格式
基于matlab的永磁同步电机调速系统的仿真word格式 摘 要本文首先介绍了永磁同步电机的国内外发展状况,然后介绍了永磁同步电机的结构及原理,接着建立了永磁同步电机的数学模型,并在此基础上用MATL ...
- 基于模糊PID的柴油机调速系统
<轮机工程>@EnzoReventon 基于模糊PID的柴油机调速系统 本文是我研一做的课堂大作业,主要介绍基于模糊PID的柴油机调速系统,通过与传统PID的柴油机调速系统的对比,突出展示 ...
- 基于STM32人群定位,调速智能风扇设计
基于STM32人群定位,调速智能风扇设计(论文,源码,流程图,设计报告) 1.本系统采用 STM32 , ATmega16 , AT89S52 三款单片机为控制器, 分为主控台和工 作区两部分. 2. ...
最新文章
- 微软肿么了?版本更新大提速。Visual Studio 2012再次更新
- 【视频课】永久免费!5小时快速掌握Pytorch框架入门及实战
- 二叉树 跳表_漫谈 LevelDB 数据结构(一):跳表(Skip List)
- 「SVN」svn:将服务器关闭后报错Unable to connect to a repository at URL xxx
- React的工作原理,为什么我直接从JSBin copy到本地的代码无法执行
- Canvas制作的下雨动画
- 计算机应用基础第十一版答案,计算机应用基础 11.doc
- ASP.NET适合做互联网吗,适合做电子商务平台吗?
- Kotlin — 实现JavaEE 开发Web工程
- Spring Boot @PropertySource 加载配置文件、@ImportResource 导入Spring 配置文件
- AX2012 R3 Data upgrade checklist sync database step, failed to create a session;
- 利用MO实现流场显示
- nes 红白机模拟器 第4篇 linux 手柄驱动支持
- 智能合约语言 Solidity 教程系列5 - 数组介绍
- 联合分布(二):联合分布
- pwm控制直流电机转速流程图_直流电机PWM控制原理
- 5g理论速度_5g速度一般是多少兆
- 电影在计算机中用什么形式保存,教你如何将 DVD 电影永久保存到电脑里
- 计算机亮度快捷键,调节电脑亮度的快捷键是什么
- 银河麒麟v10_银河麒麟发布V10系统 其使用的是技德系统Jstack技术