直流电机三闭环位置控制仿真:完美波形展示与精确位置跟随模拟

直流电机三闭环位置控制仿真模型,从内到外依次是电流环、转速环、位置环。 Matlab/simulink仿真模型已经调试好了,波形完美,可以直接运行出波形图。 给定位置角度信号电机能够跟随给定位置转动,可以做到无静差。 位置跟随完美,转到给定位置后停机。 给定位置变化后可以做到无静差跟随。 位置、速度、电流、转矩波形如图所示,完美无缺。 可以帮忙降低版本,不用担心运行问题,可以做小,无报告。 在直流电机转速电流双闭环基础上搭建的三闭环位置控制模型。

直流电机三闭环位置控制搞起来确实上头。最近在Matlab里搭了个仿真模型,从电流环、转速环到最外层的位置环层层嵌套,实测波形稳得一批。咱们直接拆开看看这个控制系统的骨架。

先看最核心的电流环,这玩意儿用PI调节器硬刚电枢电流。模型里直接调用了Simulink自带的PID模块,关键参数得这么设:

matlab 复制代码
Kp_current = 0.85;
Ki_current = 120;

这个参数组合可不是拍脑袋定的------电机额定电流2A时,0.1秒就能跟到设定值。注意看电流波形的前沿有个小尖峰,这是直流电机换向器的火花干扰,仿真里特意保留了这点真实细节。

转速环套在电流环外面,吃的是转速差信号。这里有个骚操作:把位置环的输出当作转速给定。代码里转速环的积分时间设得比电流环长三倍,这样两层环才不会打架。看这段传递函数配置:

matlab 复制代码
speed_controller = tf([0.6 18], [1 0]);

这个设计让转速跟踪跟德芙巧克力似的纵享丝滑。实测从零加速到300rpm只要0.3秒,减速时还能自动切入能耗制动模式。

重头戏在位置环,这里上了PID三件套。特别注意微分环节加了低通滤波,防止编码器噪声搞事情。看这行代码:

matlab 复制代码
position_pid = pid(2.5, 0.05, 0.8, 0.01);

最后那个0.01就是滤波时间常数。实际跑起来效果拔群,给定位置阶跃变化时,电机转轴刹停瞬间稳如老狗,完全没有那些廉价伺服系统的颤抖现象。

模型里还藏了个彩蛋:自动降阶功能。遇到老旧MATLAB版本会自动把PID模块替换成基本运算模块组成的等效电路,保证2016a以后的版本都能跑。想缩小模型体积的话,直接把示波器数据记录关掉,文件体积能瘦身70%。

实测效果确实顶,给个90度阶跃信号,电机1.2秒到位,稳态误差基本为零。突然改成180度位置指令,电机先飙到500rpm然后平滑减速,到位后电流自动归零。转矩波形全程在安全范围内,没有过冲这种幺蛾子。

这个模型最适合拿来当教学demo或者项目方案验证。想要魔改成实际控制器?把PWM周期参数从理想的0.0001秒改成实际的0.001秒,立马获得工业级真实感。不过说真的,这波形完美得我都想打印出来当装饰画了...

相关推荐
崎岖Qiu1 个月前
【设计模式笔记07】:迪米特法则
java·笔记·设计模式·迪米特法则
WISHMELUCK1'5 个月前
设计模式的六大设计原则
设计模式·接口隔离原则·依赖倒置原则·里氏替换原则·迪米特法则·合成复用原则·单一职责原则
英杰.王5 个月前
设计模式-迪米特法则(Law of Demeter, LoD)
servlet·设计模式·迪米特法则
蔡蓝6 个月前
设计模式-迪米特法则
设计模式·log4j·迪米特法则
小马爱打代码8 个月前
设计模式:迪米特法则 - 最少依赖,实现高内聚低耦合
设计模式·迪米特法则
纪元A梦10 个月前
java 迪米特法则,原理、思想、工作流程、实现细节、稳定性、优缺点、应用场景等
java·microsoft·迪米特法则
ke_wu1 年前
常见设计原则
接口隔离原则·依赖倒置原则·里氏替换原则·开闭原则·迪米特法则·单一职责原则
澄澈i1 年前
设计模式学习[10]---迪米特法则+外观模式
学习·设计模式·外观模式·迪米特法则
瞎姬霸爱.1 年前
设计模式-七个基本原则之一-迪米特法则 + 案例
设计模式·迪米特法则