
算法
Ronnie_Hu
技术成就生活之美
展开
-
路径跟踪之Stanley控制算法
Stanley控制算法是一种基于横向误差(cross-track error)的跟踪算法,对该算法的相关解释可以参考下图。上图中相关变量的含义如下:1)为横向误差,是车辆前轮到给定轨迹最近点的距离;2)为给定轨迹上点的切线方向与车身航向之间的夹角;3)为前轮线速度方向与车身航向之间的夹角。如果不考虑横向误差,要保持车辆沿给定轨迹运动,则前轮转角需要时刻保持与给定轨迹上点的切线方向一致,即前轮转角应为。如果不考虑航向误差,要保持车辆沿给定轨迹运动,则前轮转角需要消除横向误差,前轮转原创 2021-04-19 14:24:42 · 11415 阅读 · 4 评论 -
路径跟踪之Pure Pursuit控制算法
Pure Pursuit是一种几何跟踪控制算法,也被称为纯跟踪控制算法。该算法最早由R. Wallace在1985年提出,其思想是基于当前车辆的后轮中心位置(车辆质心),在参考路径上向(称为前视距离)的距离匹配一个预瞄点,假设车辆后轮中心可以按照一定的转弯半径????行驶至该预瞄点,然后根据前视距离、转弯半径????、车辆坐标系下预瞄点的朝向角????之间的几何关系来计算前轮转角。如上图所示,在三角形OAC中,根据正弦定理可得:根据车辆的运动学方程,有:所以,前轮转角为:车辆原创 2021-04-18 10:13:44 · 14112 阅读 · 10 评论 -
PMSM滑模观测器无感控制
PMSM滑模观测器无位置传感器控制的基本框图如下所示,由于在计算反电势时使用了低通滤波,从而造成计算出来的反电势有一定的相位延迟,进而通过反正切计算出来的转子位置就有一定的误差,所以需要对转子位置进行补偿,理论上,补偿的角度与转子转速和开关频率有关。传统的滑模观测器中,由于开关函数是估计电流和实际电流偏差的切换开关,而实际系统又受到系统惯性、系统延迟等因素的影响,滑模运动并不会按照理想的滑模切换面运行,进而出现(高频)抖振问题。有文献通过仿真和对比,得出在减小抖振方面,饱和函数比传统的开关函数效果好原创 2021-02-20 17:33:22 · 4376 阅读 · 1 评论 -
“低频转矩补偿”Matlab仿真
永磁同步电机控制时,如果负载转矩出现周期性脉动,转速一般也会出现周期性的波动。比如单转子空调压缩机,其负载特性是:负载在一个机械周期内是变化的,即负载与机械角度存在一定的关系。利用Simulink对负载转矩脉动进行仿真,转速波动和三相输出电流的仿真波形分别如下图所示。通过“低频转矩补偿”算法(也叫“力矩补偿”),可以降低转矩脉动引起的转速波动,利用Simulink对该算法的仿真结果如下...原创 2019-05-17 17:05:31 · 3919 阅读 · 5 评论 -
永磁同步电机无感控制“开环切闭环”的几点疑问
这里所说的“开环”指的是“I/f”控制,闭环即“速度-电流双闭环”。很多论文中都提到了加权过渡的思路,比如参考论文中的描述如下图所示,使用角度信号加权的方式来实现开环到闭环的过渡。实验结果如下图中所示。问题来了,在实际应用过程中,过渡阶段速度环到底是开环还是闭环呢?(一)如果这段时间速度采用开环控制,那么下面问题如何解决?1-1)电流环的输入如何给定、还是取开环阶段的电...原创 2019-03-09 09:33:03 · 11923 阅读 · 7 评论 -
TI学习笔记之“Flying Start”
Flying start具备在非零转速下启动的能力,这种功能适用于洗衣机、风机、电动自行车、电动滑板车等应用。Flying start模式对于启动命令的响应是和电机转速(频率和相位)以及电压同步的,而后电机加速至目标转速,这将避免触发过流保护。无传感器flying start功能植入了一个“频率搜索算法”来寻找电机转速,“频率搜索算法”寻找与电机的激励电流相对应的电机电压。电机在旋转过程中...原创 2019-02-26 14:10:06 · 2456 阅读 · 4 评论 -
TI学习笔记之“振动补偿算法”
一些应用中,负载和机械角度有关,比如空调压缩机。典型压缩机应用的负载曲线如下图所示,不难发现,在一个机械周期内,负载和机械角度存在一定的关系,这种情况在转子式压缩机中尤为明显。为了实现对已知的负载进行补偿,TI创建了一个新的库来植入这种补偿算法。振动补偿模块的第一个输入是机械角度,该角度由电角度和极对数计算得出。机械角度不需要和电角度同步,换句话说,机械角度的0位置,不需要等于电角度的0位...原创 2019-02-13 13:35:06 · 4187 阅读 · 3 评论 -
软件设计中滞环比较的运用
软件代码设计时,有时需要使用滞环比较,先来看下(b)图,当电压超过100V时,电机最高转速限制到6000rpm,当电压不大于100V时,电机最高转速限制在4800rpm,这样一来,一旦电压在100V左右波动时,最高转速限制就会在4800rpm和6000rpm之间来回切换,造成系统的不稳定。再来看下(c)图,采用了滞环比较,当电压超过110V时,电机最高转速限制为6000rpm,此时,只有电压下...原创 2019-01-19 17:32:17 · 6001 阅读 · 2 评论 -
TI DSP芯片SCI模块的波特率自适应
以TMS320F2803x为例,其SCI Reference Guide (SPRUGH1C)对SCI模块的波特率自适应作了如下描述:1、置位SCIFFCT寄存器的CDC位,同时,向SCIFFCT寄存器的ABDCLR位写1来清除ABD位;2、初始化波特率寄存器为1或者低于500kbps的波特率上限;3、允许SCI以期望的波特率来接收来自主机的字符“A”或者“a”;4、如果第一个字符是“A”...原创 2019-01-02 17:59:51 · 2302 阅读 · 0 评论 -
TI FAST算法学习笔记之电机轻载启动
前两天用InstaSPIN-FOC的FAST算法搞了下某永磁同步电机的轻载启动,波形如下图所示。程序中使能了强制角功能,启动波形还算平滑,多次启动也未出现启动失败的情况。不大清楚目前有多少量产的产品中使用了该算法,在网上查找相关资料时,无意中发现大疆无人机的精灵3电调采用了TI的TMS320F28027F芯片,如下图所示(图片来源于网络),这款芯片就是带InstaSPIN-FOC的FAST...原创 2018-09-01 09:14:33 · 4894 阅读 · 0 评论 -
“高频注入”Matlab仿真
恰逢端午节小长假,在家抽空弄了下“高频注入”法永磁同步电机无位置传感器控制的Matlab仿真(脉振高频电压注入法,全部采用m文件,不使用simulink),仿真波形如下:为了更好地观察注入的高频信号对电机三相电流的影响,特意将电机三相电流局部放大,放大后的波形如下图所示,不难看出,注入脉振高频电压后,电机的三相电流存在高频分量。调整速度环的PI参数可以改善电机控制的效果,下图为另一组速度环PI参数...原创 2018-06-17 11:23:51 · 10087 阅读 · 14 评论 -
TI FAST算法学习笔记之“电机满载启动”
现在很多客户提出要求“零速闭环控制”,并且在启动阶段就能提供最大的输出电流,即满载闭环启动,我这边能想到的就是“高频注入”算法了,但是TI的FAST算法貌似能够满足这一要求,下面来学习一下。为了在静止状态满载启动电机,FAST估算器需要一个“初始旋转角”来允许电机存在一些反电势。通常,FAST估算器需要不到1个电周期就能锁定真实的角度。为了使能这个“初始旋转角”,需要使能“强制角(频率)”特性...原创 2018-04-05 11:14:38 · 10772 阅读 · 7 评论 -
利用Matlab中的fdatool设计滤波器
(一)设计一个低通滤波器打开matlab,键入fdatool后,会弹出该工具的对话框。然后按照下图设置相关参数,参数列表中的Fs应该是采样频率,Fc是截止频率,即幅频特性曲线-3dB对应的频率。点击“Design Filter”后,幅频特性曲线会被更新。然后切换到下面这个页面,点击“Realize Model”后,会进入simulink的页面。点击simulink页面中的模型,就可以看到对应的z变...原创 2018-04-14 11:40:44 · 37908 阅读 · 2 评论 -
TI FAST算法学习笔记之“低速高性能电机控制”
无位置传感器电机控制主要应用于绝大多数时间运行在中、高速的场合,这是因为大多数无位置电机控制技术都需要反电势信号,而反电势信号会有最低频率限制,太低的电机转速会影响到反电势信号的捕获,进而影响转子位置以及转速的估算精度,尽管FAST估算器比一般估算器的最低限制频率都要低,通常低于1Hz,但是它仍然有最低限制频率。为了能够在零速或者低速连续地估算转子角度,并使得低速和高速能够很好的切换,FAST估算...原创 2018-04-07 16:17:20 · 9664 阅读 · 3 评论 -
一维卡尔曼滤波器的Matlab仿真
介绍了一维卡尔曼滤波器的Matlab仿真。原创 2017-11-05 09:35:09 · 10661 阅读 · 1 评论 -
hex文件格式
介绍了hex文件的格式。原创 2017-07-28 20:23:47 · 1332 阅读 · 0 评论 -
棋盘(Checkerboard)算法
棋盘(Checkerboard)算法是一种传统的存储器测试方法,该方法简单、快速,但覆盖率低。原创 2017-07-22 16:22:35 · 12790 阅读 · 5 评论 -
March C算法
March C算法是目前应用最为广泛的MBIST(Memory Built-In-Self-Test,存储器内建自测试)算法。原创 2017-07-22 14:55:26 · 25849 阅读 · 13 评论