“自抗扰控制器”初探之InstaSPIN-MOTION
对于马达控制,标准的PI速度控制器具有许多内在缺陷:
1)需要调节多个参数,这些参数又相互依赖,从而可能存在多组参数解,参数需要通过大量试验才能确定,参数整定较为困难;
2)一组PI参数对应的转速和负载运行范围非常小,需要针对不同的转速和负载点,设置不同的PI参数。
TI的InstaSPIN-MOTION内部集成了SpinTAC控制器,可以解决上述问题。SpinTAC使用了自抗扰控制器(ADRC,Active Disturbance Rejection Control),自抗扰控制器能够对系统扰动进行实时估算并补偿,其所要整定的参数只有一个即带宽,一旦整定,控制器可以工作在较宽的转速和负载范围内。
观察TI提供的Demo程序,可以发现,ADC中断中,在FOC运行之前运行了SpinTAC控制。
// Run the SpinTAC Components
if(stCnt++ >= ISR_TICKS_PER_SPINTAC_TICK)
{ST_runVelCtl(stHandle, ctrlHandle);stCnt = 1;
}// run the controller
CTRL_run(ctrlHandle,halHandle,&gAdcData,&gPwmData);
进入ST_runVelCtl()函数,可以发现其输出就是转矩参考值,即Iq参考值,作为q轴电流PI调节器的输入。
void ST_runVelCtl(ST_Handle handle, CTRL_Handle ctrlHandle)
{_iq speedFeedback, iqReference;ST_Obj *stObj = (ST_Obj *)handle;CTRL_Obj *ctrlObj = (CTRL_Obj *)ctrlHandle;// Get the mechanical speed in puspeedFeedback = EST_getFm_pu(ctrlObj->estHandle);// Run the SpinTAC Controller// Note that the library internal ramp generator is used to set the speed referenceSTVELCTL_setVelocityReference(stObj->velCtlHandle, TRAJ_getIntValue(ctrlObj->trajHandle_spd));STVELCTL_setAccelerationReference(stObj->velCtlHandle, _IQ(0.0)); STVELCTL_setVelocityFeedback(stObj->velCtlHandle, speedFeedback);STVELCTL_run(stObj->velCtlHandle);// select SpinTAC Velocity ControlleriqReference = STVELCTL_getTorqueReference(stObj->velCtlHandle);// Set the Iq reference that came out of SpinTAC Velocity ControlCTRL_setIq_ref_pu(ctrlHandle, iqReference);
}
参考文献:《InstaSPIN Projects and Labs User’s Guide》,TI文档。
“自抗扰控制器”初探之InstaSPIN-MOTION相关推荐
- SAP UI5 初学者教程之五:视图控制器初探 试读版
Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...
- ADRC,自抗扰控制器,扩张状态观测器,ESO,模型预测控制算法MPC
ADRC,自抗扰控制器,扩张状态观测器,ESO,模型预测控制算法MPC,自适应模型预测控制算法,时变模型预测控制算法,H无穷算法,混合灵敏度,鲁棒控制算法,四旋翼,直升机,控制算法设计,仿真模型,算法 ...
- 【转载】自抗扰控制器的学习过程
学习LADRC结构: 1.学习PID的相关知识,作为学习LADRC的基础铺垫,在simulink中搭建模块,通过调节参数,看调节效果,分析Kp,Ki,Kd参数对系统的影响. 2. 介绍LADRC的一些 ...
- 改进遗传算法 (IGA) 的自抗扰控制器 (ADRC) 学习笔记
基于改进遗传算法的自抗扰控制器在四旋翼飞行器高度姿态上的应用改进与补充 2022.10.18(补充) 注:本文档由 MD 完成.仅为本人在现代测控技术课程中的一些记录和分享如需完整遗传算法.四旋翼飞行 ...
- 【ADRC控制】使用自抗扰控制器调节起动机入口压力值
以前只知道工业控制中用的是PID控制,然而最近了解到实际工程中还在使用ADRC控制,而且使用效果还优于PID控制,遂找了点资料学习学习. 0 引言 自抗扰控制(Active Disturban ...
- matlab adrc,ADRC自抗扰控制器MATLAB程序
[实例简介] 演变过程 自抗扰控制器自PID控制器演变过来,采取了PID误差反馈控制的核心理念.传统PID控制直接引取输出于参考输入做差作为控制信号,导致出现响应快速性与超调性的矛盾出现. 折叠编辑本 ...
- ADRC(自抗扰控制器)技术附Matlab代码框架
自抗扰控制器 ( Auto/Active Disturbances Rejec ion Controller, ADRC)是韩京清学者提出的,是一种继PID控制器后的一种新型的实用的控制技术. 它不是 ...
- 图像去模糊之初探--Single Image Motion Deblurring
曾经很长一段时间, 对图像去模糊都有一种偏见, 认为这是一个灌水的领域, 没有什么实用价值,要到这样的文章,不管是多高的档次, 直接pass. 最近在调研最近几年的关于Computational Ph ...
- SAP UI5 应用开发教程之五:视图控制器初探
本教程的前一个步骤也就是第四个步骤,我们了解了 SAP UI5 XML 视图的使用方法.在该步骤里,我们在 XML 视图里声明了一个 Text 控件实例,该控件位于 sap.m 这个命名空间内. 本步 ...
最新文章
- blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据
- BOM中的其他对象以及短路运算
- linux sed命令 删除指定行
- C/C++中存储类型
- Mybatis LIKE模糊查询
- oracle如何处理死锁,Oracle死锁处理实例
- 工作65:导航栏使用
- cuda笔记-初始化矩阵及thread,block,grid概念
- 一瓶可乐的自动售货机指令“旅程”
- 基于webpack模块加载,ts里对系统对象prototype的扩展
- python实现mysql的读写分离及负载均衡
- 【GYM-100889 D】Dicy Numbers【数学推导求解】
- 3D优化之ShadowGun系列三:shader系列汇总
- Microsoft Recruit in Suzhou Branch (微软苏州招聘)
- 番茄钟怎么调_番茄钟的使用方法与使用体会
- 新型冠状肺炎——这个不一般的春节
- 【转】PHP乱码问题,UTF-8(乱码)
- codeforces1064E Dwarves, Hats and Extrasensory Abilities
- [游戏学习28] MFC 时钟
- [尚硅谷22版shiro]学习笔记
热门文章
- 01背包,完全背包C++实现
- jvm故障 内存和GC异常处理总结
- iOS 网络权限弹框处理
- STM32单片机入门学习(小菜鸟一枚,仅为记录个人学习)
- 中国矿业大学北京计算机学院在哪个校区,中国矿业大学(北京)有几个校区及校区地址...
- 浏览器广告拦截_如何检测广告拦截器
- 前端方案(时间/图片/PWA/微信公众号/图片前端压缩/动画与过渡/新兴方案/屏幕适配)
- 使用au录音有回音_如何使用回音按钮控制智能家居设备
- SecureCRTPortable(CRT)快捷键方法
- 在Github上搭建自己的博客(Windows平台)