本发明属于传感器技术领域,具体涉及种一种基于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控制的直流电机调速控制系统及控制方法与流程...相关推荐

  1. 超调 matlab m文件,基于Matlab平台实现的复合轴控制系统超调控制方法与流程

    本发明属于复合轴控制技术领域,具体涉及一种基于Matlab平台实现的复合轴控制系统超调控制方法. 背景技术: 复合轴控制是近年来一种新兴的控制方法,其主要借助快速反射镜响应快.精度高的特点补偿常规控制 ...

  2. matlab 谐波注入,一种基于谐波注入的新能源汽车永磁同步电机噪声控制方法与流程...

    本发明属于新能源汽车技术领域,特别是指一种基于谐波注入的新能源汽车电机噪声控制的方法. 背景技术: 新能源汽车电机在工作时产生的噪声是气动噪声.电磁噪声和机械噪声共同的叠加,其中电磁噪声能量占其中的较 ...

  3. 嵌入式基于Linux电机控制,基于嵌入式arm+linux平台的直流电机调速控制系统.pdf

    2012--2013 学年第 二 学期 物电 学院期末考试卷 嵌入式系统与应用 学号 : 姓名 : 班级 : 成绩: 评语: 装 订 (考试题目及要求) 嵌入式大作: 采用实验箱上的电位器作为信号输入 ...

  4. 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料

    1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...

  5. 电机调速设计并用matlab仿真,基于MATLAB的双闭环调速系统设计与仿真

    名称 基于MATLAB的双闭环调速系统设计与仿真 设计内容和意义 摘要 转速.电流双闭环控制直流调速系统是性能很好.应用最广的直流调速系统.根据晶闸管的特性,通过调节控制角α大小来调节电压.基于设计题 ...

  6. 直流电机PID转速闭环调速控制系统

    在工业自动控制系统和各种智能产品中常常会用用电动机进行驱动.传动和控制,而现代智能控制系统中,对电机的控制要求越来越精确和迅速,对环境的适应要求越来越高.随着科技的发展,通过对电机的改造,出现了一些针 ...

  7. 直流电机调压调速matlab,第四章MATLAB以及交直流调速系统仿真.ppt

    MATLAB应用技术 清华大学出版社 1 MATLAB基本知识 4.3 直流调速系统与MATLAB 仿真实现 4.4交流电动机模型与MATLAB实现 4.5异步电机调压调速系统与MATLAB 实现 4 ...

  8. 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真word格式

    基于matlab的永磁同步电机调速系统的仿真word格式 摘 要本文首先介绍了永磁同步电机的国内外发展状况,然后介绍了永磁同步电机的结构及原理,接着建立了永磁同步电机的数学模型,并在此基础上用MATL ...

  9. 基于模糊PID的柴油机调速系统

    <轮机工程>@EnzoReventon 基于模糊PID的柴油机调速系统 本文是我研一做的课堂大作业,主要介绍基于模糊PID的柴油机调速系统,通过与传统PID的柴油机调速系统的对比,突出展示 ...

  10. 基于STM32人群定位,调速智能风扇设计

    基于STM32人群定位,调速智能风扇设计(论文,源码,流程图,设计报告) 1.本系统采用 STM32 , ATmega16 , AT89S52 三款单片机为控制器, 分为主控台和工 作区两部分. 2. ...

最新文章

  1. 微软肿么了?版本更新大提速。Visual Studio 2012再次更新
  2. 【视频课】永久免费!5小时快速掌握Pytorch框架入门及实战
  3. 二叉树 跳表_漫谈 LevelDB 数据结构(一):跳表(Skip List)
  4. 「SVN」svn:将服务器关闭后报错Unable to connect to a repository at URL xxx
  5. React的工作原理,为什么我直接从JSBin copy到本地的代码无法执行
  6. Canvas制作的下雨动画
  7. 计算机应用基础第十一版答案,计算机应用基础 11.doc
  8. ASP.NET适合做互联网吗,适合做电子商务平台吗?
  9. Kotlin — 实现JavaEE 开发Web工程
  10. Spring Boot @PropertySource 加载配置文件、@ImportResource 导入Spring 配置文件
  11. AX2012 R3 Data upgrade checklist sync database step, failed to create a session;
  12. 利用MO实现流场显示
  13. nes 红白机模拟器 第4篇 linux 手柄驱动支持
  14. 智能合约语言 Solidity 教程系列5 - 数组介绍
  15. 联合分布(二):联合分布
  16. pwm控制直流电机转速流程图_直流电机PWM控制原理
  17. 5g理论速度_5g速度一般是多少兆
  18. 电影在计算机中用什么形式保存,教你如何将 DVD 电影永久保存到电脑里
  19. 计算机亮度快捷键,调节电脑亮度的快捷键是什么
  20. 银河麒麟v10_银河麒麟发布V10系统 其使用的是技德系统Jstack技术

热门文章

  1. 通达信 移动平均算法_通达信公式教程,建议收藏,关注「所有文章只发表一次」...
  2. android so文件脱壳,安卓逆向ida脱dex so壳内存脱壳教程
  3. VirtualBox使用教程
  4. java 微信 源码_java微信支付功能实现源码
  5. 安装排版软件latex
  6. Python 文件路径
  7. 忍痛分享五款小众软件,点赞收藏加关注
  8. Windows10下安装MySQL5.0详细教程
  9. JDK1.8后List转Map
  10. 操作系统的启动与引导问题 BIOS、UEFI、MBR、GPT