- 博客(116)
- 收藏
- 关注
原创 电机控制(五)-SVPWM调制与逆变器
FOC(磁场定向控制)通过坐标变换实现交流电机的高效控制。对于直流电机,电刷和换向器自动保持电枢与励磁磁场正交;而交流电机需通过Clarke变换将三相静止坐标系(A-B-C)降维为两相静止坐标系(α-β),消除耦合。进一步通过Park变换将α-β坐标系旋转至与转子同步的d-q旋转坐标系,使交变量转为直流量,实现转矩(iq)与励磁(id)的独立解耦控制。其中d轴对齐转子永磁体方向,q轴滞后90°,形成类似直流电机的控制结构,大幅简化调节复杂度。两阶段变换的核心是Clarke的3/2降维和Park的
2025-09-27 11:23:29
353
原创 电机控制(四)-级联PID控制器与参数整定(MATLAB&Simulink)
PID控制通过比例(P)、积分(I)、微分(D)三环节实现系统调节。比例项响应当前误差,积分项消除稳态误差,微分项预测误差变化。标准型PID将参数整合为增益Kp、积分时间Ti和微分时间Td,Matlab中的pidstd函数还增加了低通滤波处理高频噪声。仿真实验表明,单环PID能有效控制电机转速,但对高频噪声敏感。文中提供了Python实现的PID控制器案例,用于控制倒立摆系统,包含完整的仿真流程和可视化分析,展示了PID在连续控制任务中的应用效果。
2025-09-08 22:12:29
805
2
原创 电机控制(三)-电机控制方法基础
电机控制是自动化领域的核心技术,通过精确控制电机运动状态(位置、速度、加速度、转矩)驱动机械系统。其技术链条包括:目标指令→轨迹规划→控制算法→驱动执行→反馈修正。核心算法包括开环控制(如步进电机脉冲控制)和闭环控制(如PID、矢量控制FOC、直接转矩控制DTC)。其中,FOC通过坐标变换实现交流电机的解耦控制,DTC则直接调控转矩和磁链,响应更快。典型控制框架采用多环PID级联(电流环-速度环-位置环)配合SVPWM调制,实现高精度运动控制。该技术广泛应用于机器人、数控机床等领域。
2025-09-04 19:43:59
1046
原创 电机控制(二)-控制理论基础
经典控制理论&现代控制理论的鸟瞰,讲解经典控制理论中的常见工具如伯德图,奈奎斯特图,以及现代控制理论中的常见工具如:状态空间建模,李雅普诺夫稳定性分析,能控能观性分析,状态反馈控制
2025-09-02 22:36:11
1231
原创 电机控制(一)-电机分类
电机分类与比较 本文主要介绍了电机的分类以及不同类型电机的核心特点和区别。 主要电机类型 步进电机:开环控制,通过脉冲信号驱动,成本低但精度有限,存在失步风险,适用于简单定位场景。 伺服电机:闭环控制,包含电机、编码器和驱动器,动态响应快、精度高,适用于高精度运动控制。 直流无刷电机(BLDC):永磁转子,梯形波电流控制,适用于中高速应用。 永磁同步电机(PMSM):正弦波电流控制,效率高、动态性能好,适用于精密控制。 异步无刷感应电机:无永磁体,结构简单、成本低,适用于大功率工业应用。 核心区别 步进电机
2025-09-02 15:36:29
1004
原创 最优控制:从变分法到庞特里亚金原理
本文系统介绍了最优控制问题的分类与求解方法。最优控制问题根据系统建模可分为线性系统和非线性系统,根据约束类型可分为控制约束和状态约束。求解方法主要包括变分法和拉格朗日函数法。变分法适用于无约束问题,通过欧拉-拉格朗日方程寻求泛函极值;拉格朗日函数法则通过引入乘子将有约束问题转化为无约束优化,其KKT条件可求得候选极值点。这些方法为解决复杂最优控制问题提供了理论基础。
2025-05-29 21:33:19
1115
原创 线性代数&群论应用:正逆运动学 & 变换矩阵
刚体变换不止在机器人中有使用,在图形学中也有使用,图形学中通过旋转矩阵,平移矩阵,投影矩阵,将3D的mesh投影到2D的显示器区域中。这些变换背后的数学原理都是线性代数和群论。
2024-10-28 16:53:13
2595
1
原创 控制系统 & 状态观测问题 & Kalman卡尔曼(附MATLAB实现)
记录了状态观测问题的引入以及常见的解决方案,全维观测器以及卡尔曼观测器的原理以及matlab实现
2024-10-20 14:28:29
1104
3
原创 OpenGL(三)着色器语言GLSL
GLSL是一种着色器语言,需要有对应的图形API环境配合,可以使用OpenGL,也可以使用OpenGL ES,也可以使用WebGL。三者的关系可以简单理解为ES为GL的精简版,WebGL是ES的二次包装。如果我们打算从一个着色器向另一个着色器发送数据,我们必须在发送方着色器中声明一个输出,在接收方着色器中声明一个类似的输入。像cuda一样GLSL有几个数据并在一起的数据向量类型,例如vec4,包含4个float数据的向量。GLSL中内置的数据类型还有矩阵mat,但是矩阵只有浮点型的,而且是列优先排序。
2024-09-10 14:00:14
1283
原创 C++入门:C++工具链
编程语言分为编译型语言和解释型语言,二者的区别可以简单理解为,编译型语言是生成和运行的过程是分开的,解释型语言是合在一起的,一句一句运行。编译型需要编译器,解释型需要解释器,C++就是典型的编译型语言。Python是典型的翻译型语言。生成可执行文件的过程称为编译,因为编译和运行是分开的,所以可能存在编译的机器和运行的机器不是一个架构的情况,所以在编译型语言中可能存在交叉编译的情况,即编译机器和运行机器架构不一致。
2024-08-10 11:04:57
1007
原创 Modern C++ 智能指针
比如,指向某种资源的std::shared_ptr可能在一个线程执行析构(于是递减指向的对象的引用计数),在另一个不同的线程,std::shared_ptr指向相同的对象,但是执行的却是拷贝操作(因此递增了同一个引用计数)。因为只有一个智能指针指向对象,所以unique_ptr智能指针的赋值函数,拷贝构造函数,都被禁用了,构造函数添加了explicit关键字修饰,不能使用转换函数,即:不能隐式转换构造unique_ptr指针,总之,原始指针过于简陋,虽然强大,但是需要考虑的太多了,对菜鸡不友好。
2024-08-05 18:01:01
910
原创 Modern C++ 函数发展:从函数指针到匿名函数
函数作为最小的代码单元,在C++这个大杂烩中,可以跟很多特性结合,较为复杂,本文讲解C++中函数是如何一步步演变的。
2024-08-05 11:47:35
1252
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人