- 博客(172)
- 收藏
- 关注
原创 永磁同步电机控制中,滑模观测器是基于反电动势观测转子速度和角度的?扩展卡尔曼滤波观测器是基于什么观测的?扩展卡尔曼滤波观测器也是基于反电动势吗?
扩展卡尔曼滤波观测器在PMSM中是基于状态空间模型,主要依赖反电动势的模型,同时结合电机的其他模型参数(如定子电阻、电感),通过递推的卡尔曼滤波算法,实现对转子位置和速度的最优估计。滑模观测器在PMSM中是基于反电动势模型来观测转子速度和角度的,它通过构建状态空间模型,并设计切换函数,利用系统输入和输出来估计转子状态,对外界干扰具有较强的鲁棒性。反电动势与转子的速度和位置直接相关,因此,滑模观测器通过构建状态空间模型,并利用反电动势的关系,设计切换函数,实现对转子状态的估计。
2025-04-16 20:40:13
214
原创 永磁同步电机控制中的滑模观测器中,变结构函数sign(.)和sat(.)的区别是什么?
1 & \text{如果 } x > 0 \0 & \text{如果 } x = 0 \-1 & \text{如果 } x < 0。
2025-04-16 20:33:36
476
原创 单个霍尔传感器时,也存在上升沿和下降沿,为什么双边沿计数需要两个霍尔传感器呢?
双边沿计数需要两个霍尔传感器的原因在于,两个传感器能够提供独立的信号,通过同时检测两个传感器的上升沿和下降沿,可以提高位置和速度检测的精度和可靠性。我发现,双边沿计数不仅需要检测单个霍尔传感器的上升沿和下降沿,还需要检测另一路霍尔传感器的信号。但是,我仍然有些疑惑。我设计了一个简单的实验,使用单个霍尔传感器和两个霍尔传感器,分别进行双边沿计数,并比较两种方法的计数结果和系统性能。这让我意识到,虽然单个霍尔传感器可以提供上升沿和下降沿,但双边沿计数需要同时检测两个独立的信号,以确保准确的位置和速度信息。
2025-04-16 20:28:53
491
原创 IAR打包生成的hex和.a文件的区别
版本控制:在版本控制系统中,通常只提交源代码文件和项目配置文件,而生成的HEX和.a文件则作为构建产物,不纳入版本控制,以减少存储开销。在IAR项目中,.a文件包含了编译后的各个模块的目标代码,这些代码在链接阶段被整合,生成最终的可执行文件(如HEX文件)。HEX文件的烧录:在实际开发中,HEX文件是最终的产物,需要通过烧录工具将其写入目标设备的存储器中,如Flash存储器。主要用于项目内部的代码管理和复用,特别是在大型项目中,将功能模块打包成.a文件,便于后续的维护和更新。
2025-04-16 20:25:45
359
原创 半正定矩阵
半正定矩阵的奇异值就是其特征值的绝对值,由于特征值非负,奇异值就是特征值本身。这个分解提供了半正定矩阵的一种简洁的表示形式,也揭示了其特征值的重要性。一个对称矩阵是半正定的,当且仅当它的所有特征值都大于等于零。对于半正定矩阵,如果最小特征值为零,则条件数为无穷大,表示该矩阵是奇异的。如果一个对称矩阵的所有特征值都大于等于零,则该矩阵是半正定的。半正定矩阵与其特征值之间存在着深刻且紧密的联系,这种联系是理解和应用半正定矩阵的关键。如果一个对称矩阵的所有特征值都严格大于零,那么它不仅是半正定的,而且是正定的。
2025-02-07 14:25:22
651
转载 Frenet坐标系与Cartesian坐标系互转(一):公式推导
Frenet坐标系在无人驾驶领域被普遍使用,特别是在城市、高速等道路交通环境下无人驾驶的路径规划系统中。Frenet坐标系使用道路的中心线作为Base frame,使用参考线的切线向量和法线向量建立坐标系。相比笛卡尔坐标系,Frenet坐标系简化了路径规划问题。网上关于Frenet坐标系的博客或资料很多,此处不再赘述。本文先给出简单的转换公式推导过程,然后给出三对Frenet坐标系与Cartesian坐标系互转的python代码与使用示例方便自己查阅使用。详细推导参见博客。
2025-02-05 13:43:50
107
转载 IAR9.30以上版本安装、注册、新建工程和配置过程详细介绍
IAR 一般是指一款嵌入式软件的集成开发环境,类似于 MDK-Keil这款软件。IAR 对于不同的内核处理器,是对应不同的 IAR 软件的,IAR 到目前为止支持大部分的MCU,比如8051系列、ARM架构系列、MSP430系列、AVR系列等等这些常用的芯片架构。对于 ARM 架构的芯片,有对应的 IAR Embedded Workbench for ARM 软件平台,因为我主要是使用 ARM 架构芯片,下面安装、注册和使用都是基于这个版本进行介绍的。
2025-01-13 22:36:41
1563
1
转载 “深入解析脉冲宽度调制(PWM):理解频率、周期和占空比的作用“
例如,如果一个PWM信号的周期是10ms,而高电平的时间是8ms,那么低电平的时间就是2ms,总的占空比就是8ms/(8ms+2ms)=80%。例如,如果我们要调节一台电机的转速,我们可以通过改变PWM信号的占空比来改变电机的电压,从而改变电机的转速。的技术,通过在合适的信号频率下,改变占空比的方式,可以有效地控制输出的电压。无论是在LED灯的亮度控制,电机的转速控制,还是舵机的转角控制,PWM都有着广泛的应用。通过一个固定的频率,给舵机的控制信号提供不同的占空比,就可以控制舵机转到不同的角度。
2025-01-08 16:33:59
529
转载 【无刷电机学习】BLDC 基本驱动原理及FOC控制精讲(附DSP28335相关代码)
无刷直流电动机(BLDC,即Brushless DC Motor),也称为电子换向电动机,是一种没有电刷和换向器的电动机,根据转子永磁体位置调整定子电流以产生相应转矩。无刷电机系统的结构通常类似于永磁同步电机(PMSM,即Permanent Magnet Synchronous Motor)。
2024-12-26 16:12:45
1213
1
原创 有刷直流电机与无刷直流电机的区别
https://www.bilibili.com/video/BV1ig411S7gX/?spm_id_from=333.337.search-card.all.click&vd_source=ab8dc100a6c0631e9d476795bd6b8f8e
2024-12-26 16:06:28
149
转载 无刷电机篇(一)无刷直流电机(BLDC)介绍
直流无刷电机(BLDC)按照转子分布可分为内转子电机、外转子电机;对于电机的分类有很多,篇幅原因,这里不作过来描述,感兴趣的兄弟可自行了解。直流无刷电机(BLDC)的定子由硅钢片组成(如下图),定子绕组置于沿内部轴轴向开凿的槽中(涉及铁芯极数(槽数N)参数)。其因具有高输出功率、低电噪声、高可靠性、高动态响应、电磁干扰少、更好的转速-转矩等优点,而被广泛使用。由前盖、中盖、磁铁、硅钢片、漆包线、轴承、转轴以及后盖组成。无刷电机根据转子和定子的排位结构,可分为外转子电机和内转子电机两种(如下图)。
2024-12-26 15:21:57
2527
转载 无刷直流电机与永磁同步电机比较
表面来看,BLDC和PMSM的基本结构是相同的:1)它们的电动机都是永磁电动机,转子由永磁体组成基本结构,定子安放有多相交流绕组;在PMSM中,需要正弦波电流,电机工作时所有三相绕组同时导通, 需要连续的位置传感器, 最常见的是精度很高的编码器。无刷直流永磁电动机(BLDCM)适用于功率等级在300W以下的单一速度和稳定速度运行的场合,例如,计算机软盘驱动器(FDD)、硬盘驱动器(HDD)、视听设备的主轴(SPINDLE)驱动、激光打印机、电动自行车、汽车电机、叉车、升降机构、电动缝纫机、风机、泵等。
2024-12-26 13:57:17
391
转载 Autosar CAN开发11-1(CAN控制器相关参数,位时间、Tq、采样点等)
生活不易,猫咪叹气。好久没更新,距离上次更新已经是快半年前了。毕业到现在,已经在这家公司呆了快2年了。快的话一个月,慢的话两个月,马上就是提桶的日子了。说回我们的正题。平时在工作上,对于通信工程师外的人来说,使用CAN分析仪(如CANoe、Can卡、Canpro等)采报文、分析报文是一件极其日常的事情。对于他们来说,从一块单板上电到电脑看见单板发出的报文,这中间的操作实际并不多(用Canoe举个栗子):步骤1、把单板的CAN线跟Canoe连接好并接上终端电阻。
2024-12-23 17:33:23
113
转载 SVPWM控制技术+Matlab/Simulink仿真详解
本章节首先介绍SVPWM控制技术的原理,然后详细分析SVPWM控制算法的具体实现方式,并通过Matlab/Simulink对SVPWM控制算法进行仿真分析,最后通过永磁同步电机矢量控制的实例进行算法实现。本章节首先介绍了SVPWM控制技术的原理,然后详细分析了SVPWM控制算法的具体实现方式,并通过Matlab/Simulink对SVPWM控制算法进行了仿真分析,最后通过永磁同步电机矢量控制的实例进行了算法实现,为后续章节的分析奠定基础。allv100。
2024-12-22 20:55:24
1431
1
转载 SVPWM算法原理及详解
因此载波频率越大,转速越小,电压旋转平面越接近圆形,反之,越接近多边形。PMSM的转子是永磁铁,定子是绕组,我们用电路控制定子绕组产生旋转的磁场,里面的转子磁铁就会跟着转动,这个磁场的大小最好恒定,不然一会儿大一会儿小,转子受到的牵引力也就一会儿大一会儿小,影响运动。可以看出 A,B,C 之间共有八种组合,但由判断扇区的公式可知 A,B,C 不会同时为 1 或同时为 0,所以实际的组合是六种,A,B,C 组合取不同的值对应着不同的扇区,并且是一一对应的,因此完全可以由 A,B,C 的组合判断所在的扇区。
2024-12-22 20:53:46
2360
转载 十、SVPWM原理详解
通过调整占空比使等效电流近似为正弦波,这种PWM也就是SPWM。SPWM不依赖开关顺序,3相独立调制,类似开环控制,是没有反馈的,只管生成正弦波。1.SPWM调试方式在。
2024-12-22 20:51:00
418
转载 深入理解SVPWM及其程序设计实例
VectorPulse Width Modulation)是一种高效率的电压矢量调制技术,它在电机驱动和逆变器控制领域得到了广泛应用。与传统的正弦波脉宽调制(SPWM)相比,SVPWM可以更有效地利用直流母线电压,进而提高电机驱动的效率和性能。在空间矢量脉宽调制(SVPWM)中,矢量是一个表示电压或电流等物理量方向和大小的数学概念。在三相交流电系统中,一个矢量可以表示为三相电压的综合,其大小与方向对应于三相绕组上的电压状态。矢量可以进一步分为有效矢量、零矢量和中矢量。
2024-12-22 20:48:38
669
1
转载 【电机控制】PMSM无感FOC控制(一)FOC入门
前段时间做了一个永磁同步电机1.FOC控制算法、坐标变换2.PID控制器3.SVPWM4.过调制5.相电流检测及重构(单电阻、双电阻及三电阻采样)6.转子位置及速度提取(滑膜观测器、低通滤波器、锁相环)7.PMSM无感控制的启动计划写完上述内容后再开始写一些别的控制算法(MTPA、弱磁控制、电流前馈补偿、高频注入等)FOC 是一种电机控制技术,全称为 Field Oriented Control(磁场定向控制),也称作矢量控制。
2024-12-22 20:45:50
903
1
转载 报文是什么?如何形象的理解这个概念?
当你的设备(例如电脑或手机)想要与远程服务器通信时,数据被封装成一个个的报文,每个报文上面包含源地址和目标地址。在传输过程中,信件会被封装成一个个的邮包,每个邮包上面标有发送地址和接收地址。报文的设计和解析遵循特定的通信协议,这些协议规定了报文的结构、格式和如何处理其中的数据。不同的应用和协议可能会使用不同的报文格式和规则,但它们都共同构成了现代网络通信的基础。报文可以是不同协议层中的数据包,例如在HTTP协议中是HTTP报文,在TCP协议中是TCP报文段,在IP协议中是IP数据包等。
2024-12-19 17:05:16
268
转载 CAN报文解析—案例
CAN报文是指发送单元向接受单元传送数据的帧。我们通常所说的CAN报文是指在CAN线(内部CAN、整车CAN、充电CAN)上利用ECU和CAN卡接收到的十六进制报文。
2024-12-19 17:03:24
3042
2
转载 详解CAN总线:CAN总线报文格式—数据帧
上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。是通过以下5种类型的帧进行的:数据帧遥控帧错误帧过载帧帧间隔另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有 11 个位的标识符(Identifier: 以下简称 ID), 扩展格式有 29 个位的 ID。各种帧的用途如下表所示:关注公众号:美男子玩编程,优先推送最新技术博文~
2024-12-19 17:01:27
2464
转载 电路中的A与D
的学习中,经常碰到A与D(如AC,DC,A/D转换,D/A转换),到底那个是模拟,哪个是数字,我经常弄混,所以写这篇文章来加深记忆。有了这个解释就能很好地理解了。D:Digital 数字。A/D:模拟转换为数字。D/A:数字转换为模拟。
2024-12-19 09:42:10
31
转载 关于 Carsim/Trucksim <Send to Simulink>显示 MATLAB not found 的解决方法
一般而言,无论是Carsim还是Trucksim在首次与simulink建立联合仿真环境时,Carsim会直接搜索default MATLAB version,如下图所示。在MATLAB文件夹下新建一个项,命名为MATLAB的版本号,版本号查询如下图所示。这样就算完成了,接下来打开Carsim,看一下是否有刚刚添加的MATLAB版本。可以发现R20207b被添加进来了,至此,MATLAB被正确添加到路径中。文件夹中新建一个字符串值,双击后将MATLAB的。在注册表中添加上现在使用的MATLAB的。
2024-12-18 19:47:10
490
3
转载 【仿真】Carla之收集数据快速教程 (附完整代码)
看到仿真群对这类任务下(用carla收集数据收集什么数据,需要什么样的数据格式数据之间的时间戳一定要同步,这就意味着对carla的时间设置有一定的认知【仿真】Carla世界的时间 [2]收集数据时一般没啥意外的话 我们倾向于车自己自动跑,有时候可能会想着 不考虑红绿灯、速度快一点等等等。这意味着要对traffic manager有一定认知【仿真】Carla之Traffic Manager [3]怎样保证传感器之间的同步 → 同步模式设置。
2024-12-18 17:29:33
191
转载 CARLA 数据导出工具: 从CARLA驾驶模拟器生成训练数据
CARLA 数据导出工具是专为从CARLA模拟环境中高效生成多模态3D对象检测训练数据而设计的一个简单解决方案。这个GitHub仓库()提供了在论文《多模态3D目标检测从模拟预训练》中所使用的代码。它旨在简化自动驾驶研究中的数据准备流程,允许用户利用CARLA仿真平台生成符合KITTI数据格式的训练数据集。项目遵循MIT开源许可协议。
2024-12-18 17:27:05
200
转载 坐标系转换(仅作记载)
已知基坐标系XOY,把坐标系平移(a,b)得到一个新的坐标系X'O'Y',如果基坐标系中一点P(x,y),跟随坐标系一起平移,那么此时P点在基坐标系XOY中的坐标为(x+a,y+b)。假设已知基坐标系XOY中的一点P(x,y),坐标原点为O,绕点O旋转θ,可以求得点P在新坐标系X'OY'中。求解x'和y'的关键是坚持用已知的边做斜边来求解,结合上图利用三角。绕坐标原点逆时针旋转θ,上式θ值为正,顺时针旋转θ,上式θ值为负。那么点P在X'OY'中的坐标值为(x',y')。的坐标为(x+a,y+b)。
2024-12-17 17:26:41
46
转载 namespace介绍
2.7:无名命名空间,意味着命名空间中的标识符只能在本文件内访问,相当于给这个标识符加上了static,使得其可以作为内部连接。2.4:命名空间是开放的,即可以随时把新的成员加入已有的命名空间中(常用)4、单独 使用命名空间中的具体成员:using 命名空间名::成员名;3.5、不同命名空间中的 同名成员 使用的时候注意 二义性。2、使用命名空间的成员 最安全的方式 命名空间名::成员名。using直接使用 命名空间中的成员 会和 局部变量冲突。2.6:命名空间中的函数 可以在“命名空间”外 定义。
2024-12-17 13:38:47
171
转载 C++运算符优先级
有这个类一个对象的指针l_pthis,需要访问这个结构体(m_NotifyIconData)里面的成员(cbSize),代码肯定这样写:l_pthis->m_IconData.cbSize,大家有没有问题:要加一个小括号(l_pthis->m_IconData).cbSize表明先计算->运算符。表,2个运算符都处于一个优先级,而且是最高优先级,方向是从左向右。运算符)优先级仅次于-> . 结合选性从右向左。&(取地址运算符) *(,不用担心先对l_pthis取地址。假设有一个类,类里面又有一个。
2024-12-16 15:39:43
34
转载 【无标题】模型预测控制MPC详解(附带案例实现)
MPC(Model Predictive Control,模型预测控制)的基本思想是通过建立一个系统的动态模型,并在每一个控制时刻使用这个模型来预测系统未来的行为。基于这些预测,它可以生成一个优化控制序列,然后通过执行第一个控制动作来调整系统状态,接着在下一个时刻重新计算和执行。这个过程反复进行,以使系统能够在未来的一段时间内优化一个特定的性能指标。系统模型化:建立描述系统动态行为的数学模型,通常是差分方程或微分方程。预测:在当前时刻基于系统状态和控制输入,使用模型预测未来一段时间内的系统响应。优化。
2024-12-16 09:51:31
52
转载 MPC(模型预测控制)-Simulink仿真
小车的数学模型:iteminputsoutputsPlant Model(被控对象的数学模型)之后m个控制量之后p个时间步的预测输出优化器:iteminputsoutputs优化器(数学模型, 之后p个时间步的参考轨迹, 约束条件)之后m个控制量 优化器要考虑两点: ① 预测轨迹与参考轨迹偏差最小 ②控制量不突变CostFunction≐J∑i1p。
2024-12-16 09:48:38
1297
1
转载 C++中的继承与多态
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。// 姓名int_age =18。
2024-11-25 15:35:18
106
转载 【C++指南】C++中nullptr的深入解析
是C++11引入的一个重要特性,它提供了一种类型安全、明确且易于理解的空指针表示方式。明确表示一个指针不指向任何对象,这种明确的表示方式提高了代码的可读性和可维护性。初始化指针是一种常见的做法,它明确表示该指针不指向任何有效的内存地址。,作为一种新的空指针字面量,旨在提供一种类型安全的方式来表示空指针。,用于表示空指针,这一改进极大地提升了代码的类型安全性和可读性。提供了一种类型安全的方式来表示空指针,适用于任何指针类型。在C++编程中,处理指针是常见的任务之一。,这是一个特殊的类型,专门用于表示空指针。
2024-11-25 15:22:53
183
转载 c++11 unique_ptr 与 make_unique源码剖析
所谓智能指针,可以从字面上理解为“智能”的指针。具体来讲,智能指针和普通指针的用法是相似的,不同之处在于,智能指针可以在适当时机自动释放分配的内存。也就是说,使用智能指针可以很好地避免“忘记释放内存而导致内存泄漏”问题出现。由此可见,C++ 也逐渐开始支持垃圾回收机制了,尽管目前支持程度还有限。c++11 中发布了shared_ptrunique_ptrweak_ptr用以资源的管理,都是定义在memory 这个头文件中。
2024-11-25 15:17:23
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人