完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
本发明属于传感器技术领域,具体涉及种一种基于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的值。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1820 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1634 浏览 1 评论
1104 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
740 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1692 浏览 2 评论
1951浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
756浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
587浏览 3评论
605浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
570浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 02:13 , Processed in 0.694424 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号