皮皮网

【td3572答案资源码】【javacrm源码】【福布斯源码】foc 算法 源码_foc算法源码

2024-12-23 02:08:01 来源:27930解析工具源码

1.峰岹FOC电机控制算法的算算法框架以及原理
2.永磁同步电机FOC算法仿真调试过程记录
3.无刷直流FOC中ABZ编码器校准(初始转子角的确定)
4.自制FOC驱动器深入浅出讲解FOC算法与SVPWM技术
5.电控入门之五(电机FOC,SVPWM过调制算法)
6.干货|开源MIT Min cheetah机械狗设计(十二)电机控制器FOC算法剖析

foc 算法 源码_foc算法源码

峰岹FOC电机控制算法的法源框架以及原理

       峰岹FOC电机控制算法:卓越的矢量控制艺术

       峰岹的电机控制算法,如同艺术家精准操控,源码通过变频器的算算法电压幅值和频率的魔法,实现电机性能的法源卓越演绎。其核心是源码td3572答案资源码将三相交流电流化为旋转舞台上的矢量,通过一系列精密步骤,算算法如:

电流的法源魔法转换:先通过Clark的魔术手法,将三相电流转化为静止坐标系中的源码电流,接着是算算法Park的华丽变身,将它们控制在理想轨道上。法源

矢量的源码精确掌控:通过精确测量的电流,PI控制器犹如指挥家,算算法计算出Vd和Vq这两个关键音符,法源引导电机的源码转矩和磁通走向。

位置的精准定位:利用Hall信号的线索,如同导航系统,捕捉转子的每一步移动,计算下一轮电压矢量,并逆向转换回实际交流信号。

SVPWM的调色板:通过SVPWM算法,这是一幅由电压构成的绚丽画卷,驱动三相逆变器,将控制指令转化为电机的动作。

       图1-1,这是一幅控制流程的精美蓝图,展示了每一步的精准协作。

       程序结构的交响乐章

       峰岹算法的程序设计,如同交响乐的指挥,实时、高效。在中断的乐章中,大循环和定时器0、1、4、5、6共同奏响:

大循环的主旋律:非中断时,它奏响电机状态控制和串口数据处理的和谐篇章,从初始化到预充电,再到顺逆风检测,每一步都精心编排。

定时器1的华丽变奏:二级优先级的定时器1,负责Hall位置检测和速度捕获,如同敏锐的乐手,捕捉电机的每一次细微变化。

精准的信号处理:转向判断、转速计算和角度增量,每一个音符都精确无误,确保电机的精准运动。

故障的预警与保护:如同安全警报,任何异常都立即触发保护机制,从通信故障到过热,每一种情况都得到及时响应,javacrm源码确保电机的稳定运行。

       速度闭环控制更是FOC算法的精华所在,Iq电流的内环控制与速度环的外环结合,实现电机速度的实时调整,如同精密的时钟,确保每分每秒的精准。

       峰岹FOC电机控制算法,就是这样一个将理论与实践完美融合的复杂而精致的系统,每一处细节都彰显出卓越的控制艺术和精准的工程实践。

永磁同步电机FOC算法仿真调试过程记录

       本文通过SMULink搭建仿真模型,详细阐述了FOC算法的调试过程。由于缺乏实物设备,作者以仿真方式复习并分享FOC算法调试技巧,供有需要的学习者参考。

       1. 仿真模型说明

       仿真模型源自《现代永磁同步电机控制原理及MATLAB仿真》一书的随书仿真模型,对PMSM_PI模型进行了修改。

       1.1 电机参数配置

       1.2 仿真模型框图

       1.2.1 总体框图

       1.2.2 Clarke、invClarke、park、invpark模块

       1.2.3 SVPWM模块

       1.2.4 PID模块

       1.2.5 PWM调制模块

       1.2.6 逆变器模块

       1.2.8 PMSM模块

       1.3 模型差异说明

       1.3.1 实际物理模型与仿真步长差异:

       仿真采用离散时间仿真,步长为1e-6s,与实际物理模型存在差异。但控制器的步长与实际控制器步长保持一致。

       1.3.2 控制器输出的电压分辨率有限:

       PWM频率为K,仿真步长为1e-6(可理解为时钟为1M的PWM模块),电压分辨率只有1M/K/2=,即一个电压矢量最小分辨率为2/3*Udc/=4.V。实际分辨率不够,但为了仿真速度,牺牲电压精度。实际PWM模块时钟频率一般超过M,例如STMF1的TIM1时钟频率可达M,实际分辨率可达4./=0.V。

       1.3.3 电流采样时间差异

       实际物理模型中,一般在下管开通时采集流过采样电阻的电流,此时电流为平均采样电流。但在模型中采用实时采样电流,可能采集到尖峰电流,导致计算异常。

       1.3.4 角度传感器差异

       实际物理模型中,角度传感器一般为有限分辨率,例如线的光编,Pn=4,等效电角度分辨率为*4/(*4)=0.°。这个差异可以忽略,如果是hall做FOC控制,就不能忽略了。

       1.3.5 MOS管死区效应

       为了避免上下管直通,PWM发波时插入一段死区,保证上下管不会交叠。插入死区的时间长度根据开关管上升下降时间确定,一般量级在ns-ns左右。福布斯源码在该仿真中PWM脉宽时间长度为1/K=us,比例在0.1%~0.5%,仿真过程可以忽略。但如果开关频率继续提升或死区时间增加,会明显影响电流波形,引入EMC。

       1.3.6 计算精度差异

       仿真过程采用double类型,实际代码中一般采用single类型或bit定点数据。

       1.3.7 其他差异

       。。。。啥时候想到了在说吧,有经验的同学可以帮忙在评论区补充哈。我尽量更新上来。

       1.4 模型拓展说明

       1.5 建议事项

       检查模块实操过程中,一定要注意每个环节之间的量化关系,比如负载为N.m,那么Iq的大小应该为Iq=/Kt;转速为rpm,那么Vq或Vs的大小应该为Vq=/Ke(此处计算系数省略了)

       仿真模型将会更新在github上,我现在还没学会怎么用gitbub,有需要模型的可以私信我。

       2. 电压测试开环过程

       开环过程有两种形式:静止坐标系Valpha和Vbeta以及旋转坐标系Vdq。

       2.1 压开环测试目的:

       开环测试过程主要是验证每个环节的正确性,包括

       注意在调试实际电机和电路时,只需要关注软件模块以及SVPWM发波模块是否正常。

       2.2 检查项

       检查各模块之间的输入输出定量关系,波形之间的相位关系列表。

       2.3 预定位过程说明

       设置Vd=Vset时,当电流足够大时,转子的D轴将与alpha轴对齐,此时设置对应的传感器电角度为0。

       2.4 旋转坐标系Vdq验证过程

       输入为Vd、Vq,一个递增的角度。此处需要注意,设置Vq=0,Vd=Vset,此时才表示转子D轴与alpha轴对齐时,theta角度为零。

       可以观察设定角度与电机角度的关系,一般实际情况为电机实际的角度滞后电压矢量的角度,记为[公式],有效转矩为[公式]。

       3. 电流闭环调试

       3.1 基于整机模型的调试前准备

       step1:该过程需要在预定位完成之后,获得相对准确的电角度。

       step2:设置Iqref=0;Idref=Iset,给Id的原因是,Id增加电机不会转动,给Iq的话,电机会转动,若没有负载转矩卡住会导致电机疯狂加速。源码融合

       3.2 电流环参数设计

       参数设计参考文章:永磁同步电动机调速系统PI控制器参数整定方法_王莉娜.pdf

       3.2.1 电流环模型等效

       各模型的等效关系在论文中均有说明:

       转速和电流控制器均采用PI控制器:

       逆变器模型SVPWM

       开关死区延时

       电流采样滤波器(一般不会采用)

       速度滤波器模型

       3.2.2 参数设计准则

       注意,在考虑电机

       开环传递函数穿越频率限制:

       在论文中详细描述了电流环开环传递函数的设计[公式](单位rad/s)的设计范围:

       参数计算方法:

       方法1(一阶等效):

       在忽略SVPWM延迟、电流采样滤波器、开关死区与延时时,可简单将电流环等效为R-L系统加上PI控制器。此时为了保证电流环不会过冲,用PI控制器的零点与RL的极点进行对消处理。得到[公式],[公式]为待设计的电流环带宽

       在该方法中,[公式]的选取不能太高,否则其他假设将不成立。一个FOC控制周期的存延时为0.1ms(K),相位延迟为-0.[公式],取[公式]=rad/s时,相位滞后1rad=.3°,因此需要将滞后相位角控制在5°以内,故此方法[公式]。

       因此,可取[公式]=rad,Kp=L*[公式],Ki=R*[公式]。

       方法2(二阶等效):

       该方法保留SVPWM等效的一个环节,将其等效为一个1.5Tpwm的一阶惯性环节。仍然按照零极点对消方法,将系统等效为一个二阶环节,然后取最佳阻尼比0.,可计算得到[公式],其闭环带宽约等于开环带宽,电流环会存在超调现象。

       方法3(高阶调优):

       需要通过一些策略将电流环的带宽进行优化,尽可能逼近1/PWM频率的上限,目前我也不会。。。。

       可以参考以下链接:

       3.2.3 仿真结果对比

       方法1(一阶等效):

       Kp=5.,Ki=

       采用简化模型与PMSM模型对比Id=A阶跃对比

       方法2(二阶等效):

       3.3 控制器性能评估

       3.3.1 稳态性能

       3.3.2 动态性能

       3.3.3 电压谐波分析

       3.4 鲁棒性分析?

       想做但是现在还不会啊!有哪位大神可以帮忙介绍一下怎么做。。。。。。

       校正电流环带宽是否匹配,查看电压输出噪声是否能够接受,来调节电流环带宽。

       4. 转速闭环过程

       4.1 基于整机模型的调试前准备

       此过程需要准确的转速信息以及电角度信息

       设置Id=0,Iqref=速度环输出

       通过以下方式计算转速环参数

       校正转速环带宽是否匹配,查看电流输出噪声是否能够接受,来调节电流环带宽。

       校正采用什么方式?

       4.2 参数设计

       4.2.1 转速环模型等效

       4.2.2 参数设计准则

       4.2.3 仿真结果对比

       4.3 控制器性能评估

       4.3.1 稳态性能

       4.3.2 动态性能

       4.3.3 电流谐波分析

       4.3.4 抗扰动性分析

       4.4 鲁棒性分析

       方法1:速度参考设置为chrip信号,观测速度跟随参考转速下降到0.倍的cruartz源码频率,参考转速的设置以不会超过最大Iq电流限制为宜。

       方法2:观察以下3个上升时间是否满足电机

无刷直流FOC中ABZ编码器校准(初始转子角的确定)

       FOC中的电机转子位置角通过编码器推算,编码器读数(如)对应电机电角度(0-2π),通过倍频编码器,获得精确电机转子位置。安装误差会导致电机零位与编码器零位不一致,影响FOC算法的准确性。对于新电机,需测量安装偏差,通过程序补偿确保电机正常运行。

       ABZ编码器电机校准流程:开环拖动电机至A相,清零编码器读数,复位Eqep模块;开环至到位,清零指令,手动转动电机,编码器读数锁存安装偏差,补偿至程序。

       校准代码解读:放开“CalibrateFlag = 1”,程序进入校准流程,避免执行其他流程;手转电机至零位,编码器读数锁存至CalibrateAngle,补偿至程序。

       FOC控制方案包含两路无刷、一路有刷、一路PWM舵机控制,电角度差自学习,支持多种控制模式,如力位混合控制、PWM泄放电阻、双路定时器硬件刹车等。该方案支持USB、CAN、UART等通信接口,包含完整的源代码和硬件组件。

       方案包括双路霍尔FOC、双路无感FOC、双路增量式ABZ编码器FOC等源码,以及硬件类组件,如主控板、驱动板、电源板、有刷电机驱动板、舵机降压板和磁编码器板等。提供一对一代码答疑、远程调试协助、经验分享和非公开资料分享等指导服务。

       增值项包括APP远程4G调试和控制电机方案、基于CAN的多电机控制方案以及拉群学习讨论,共享资料。

自制FOC驱动器深入浅出讲解FOC算法与SVPWM技术

       深度解析打造专属的FOC驱动器:无刷电机控制的艺术

       在机器人项目中,高性能的无刷电机设计是关键,而FOC算法与SVPWM技术更是实现高效控制的灵魂。下面,让我们一起深入了解,从基础原理到实际应用,一步步揭示FOC驱动器的魅力。

       0. 引言

       为了满足项目对电机性能的高要求,低KV值的无刷电机成为理想选择。我计划摒弃减速器,直接驱动扭矩电机,这就意味着驱动器的设计至关重要。作为一个非专业背景的DIYer,我将分享自己在学习FOC过程中的心得,带你探索这个精密控制领域的奥秘。

       0.1 FOC简述

       FOC(Field-Oriented Control)即磁场定向控制,是一种矢量控制方法,适用于BLDC和PMSM电机。它通过精确控制磁场,确保电机转矩稳定、噪声低,动态响应快速。在无刷电机控制中,FOC就像精密的画笔,实现无与伦比的控制精度。

       0.2 FOC与普通电调的对比

       FOC优势:低速控制能力强,电机换向平滑,能量回收刹车,力矩、速度和位置的多闭环控制,噪音低。

       电调优势:兼容性强,算法简单,成本较低。

       虽然FOC的控制性能更优,但电调在成本和简单性上仍占优。选择FOC,我们追求的是卓越的性能与控制精度。

       1. 电机原理与控制基础

       左手定则、右手定则和右手螺旋定则,构成了理解电机工作的基础。

       PWM技术利用面积等效原理,模拟连续电压,实现电机的精细控制。

       无刷电机原理揭示了磁场与转子相互作用,以及电调与FOC在换向方式上的差异。

       1.3 BLDC与PMSM的区别

       BLDC和PMSM的区别在于反电动势波形和控制方法。BLDC有明显的抖动,而PMSM通过SVPWM技术实现平滑控制。

       1.4 驱动电路实现

       无刷电机驱动电路依赖于三相逆变电路,半桥MOS电路是核心组件。通过控制MOS管开关状态,达到电流在电机中的精确流动。

       2. FOC控制原理详解

       FOC控制流程包括电流采样、Park变换、Clark变换、PID控制和SVPWM技术。

       Clark和Park变换是关键步骤,前者将非线性波形简化,后者随转子旋转,使控制更线性。

       PID控制器确保电流、速度和位置的闭环控制,形成精密的力矩控制。

       SVPWM技术则是将虚拟空间电压矢量与实际电机控制结合,实现任意方向的力矩控制。

       3. FOC的实际应用

       FOC技术在机器人领域广泛应用,如MIT Mini Cheetah的四足机器人和力回馈设备,如罗技的力回馈方向盘,提供了卓越的力控体验。

       结语

       通过一系列的数学和物理转换,FOC将复杂的问题简化,实现电机的精细控制。我的个人项目也在进行中,一个小型而强大的FOC驱动器即将诞生,敬请期待后续分享。

电控入门之五(电机FOC,SVPWM过调制算法)

       前言部分,我们先快速跳过,直接进入正题。

       过调制,这个在电机控制中常常让人头疼的概念,实则并非难以理解。首先,我们需要从物理角度理解过调制的原理。过调制发生在当电压参考信号(Vref)的幅度过大,以至于无法完全覆盖六边形正弦波调制的内切圆时。Vref在旋转过程中,会从一个完整的圆形路径变为一个不完整的圆形或直线路径,这取决于Vref的大小和PWM周期内的电压矢量分配时间。这种现象的根源在于,两个非零电压矢量在一个PWM周期内作用时间之和不能超过PWM周期的长度,超出部分无法形成完整的圆形路径。

       过调制的目的是为了确保,即使在Vref过大的情况下,电机控制信号也能保持在六边形内切圆内,从而实现平稳旋转。在实际应用中,过调制算法会自动调整Vref的幅度,使其轨迹始终位于六边形内。

       从结果角度来看,过调制的核心在于限制PHA、PHB、PHC这三种控制信号的值,确保它们不超过单片机寄存器的可用范围。这通常通过将Vref的值等比例缩小到最大加和为来实现,确保单片机的三个定时器通道始终能够正常工作。

       然而,仅仅等比例缩小Vref不足以实现理想的过调制。我们需要进一步调整算法,使其能够根据Vref的增加,动态地改变过调制的程度,使合成的Vref在正六边形内的运动速度发生变化,最终实现六步换向。这一目标的实现,可以通过在Vref超过一定阈值(如非零基础矢量的1.倍)时,设计Vref在非零基础电压矢量上停留时间的增加,以适应更大的Vref值。

       修正后的算法,通过调整P1和P2的值,使得过调制更加精确地控制Vref在六边形内的运动轨迹。这一过程涉及到Vref旋转速度的保持与Vref在正多边形内运动速度的变化,最终目标是在Vref足够大时,实现电机控制信号的六步换向。

       总结来说,过调制并非复杂的概念,而是电机控制中一种确保电压参考信号始终在合理范围内的机制。通过物理分析、结果分析和目标导向分析,我们可以更好地理解过调制的原理和实现方法,从而在实际应用中有效地利用这一技术。

干货|开源MIT Min cheetah机械狗设计(十二)电机控制器FOC算法剖析

       电机控制器FOC算法详解

       在开源MIT Min cheetah机械狗设计系列的第十二部分,我们将深入探讨电机控制器的固件源码。核心部分包括四个关键环节:

编码器数据处理:滤波和偏差消除,确保编码器数据的准确性和稳定性。

FOC算法:焦点(FOC)算法用于精确控制电机,通过Park和Clark变换,结合PID控制,实现高效、精确的电机驱动。

PID控制算法:基于位置和速度指令,进行实时电流调整。

系统通信:电机控制器接收和上传状态,与SPIne固件通过特定命令和反馈进行交互。

       电机控制涉及逆变器、无刷电机、磁编码器等组件,核心算法通过将期望速度和转矩转换成电机能理解的控制信号,确保机械狗按照预期运行。

       编码器校准涉及相序判断和零位对齐,通过校正消除误差,确保位置信息的精确。编码器值误差消除则是通过滤波和线性化,将机械误差转换为可管理的电气误差。

       FOC算法部分,包括两相电流采样、DQ0变换、反变换,以及PID控制器的应用,保证了电机在各种条件下的稳定性能。整个控制流程在定时器驱动下运行,体现出了精细的算法设计与调试的重要性。

       后续章节将转向UPboard运动算法程序的解析,这个部分包含动力学模型、步态规划等复杂内容,将逐步揭示机械狗动力系统背后的精密构造。

FOC控制库MCSDK5.4.4梳理(1)——SVPWM

       本文将深入探讨FOC控制库MCSDK5.4.4中的关键步骤——SVPWM,即空间矢量脉宽调制。从理论到代码实践,我们将逐步揭示如何通过PWMC_SetPhaseVoltage函数将目标电压Uout转化为实际的PWM占空比。虽然网络上多是SVPWM原理的理论讲解,但实际代码应用的讲解并不多见。本文将结合实际代码,结合个人理解,帮助你理解SVPWM算法的工作原理。

       空间矢量合成与区域划分

       如图所示,UVW三相电压以红色、绿色和蓝色表示,合成矢量为黑色。电机的三相电压在空间上相隔度。通过建立αOβ坐标系,可以解析三相电流的关系,进而推导出电压分解的表达式,得出相电压与母线电压的关系。

       六个扇区划分与PWM计算

       将电压分解为六个扇区,每个区域对应不同的PWM占空比计算。例如,当wY和wZ为负值时,目标矢量位于扇区5。通过计算空间矢量作用时间,理解SVPWM波形的7段式结构,如第6扇区的0-4-5-7-5-4-0模式。

       合成不失真条件

       为了保证不失真,合成的电压不能超过2*Udc/3与Udc/sqrt(3)之间的限制。当合成电压达到最大值时,需要确保Uref等于Udc/sqrt(3),这是SVPWM算法设计的关键点。

       代码实现与总结

       通过上述分析,我们可以理解SVPWM的完整过程,从理论到实际代码的转换。FOC库中的定时器中心对齐模式对计算占空比至关重要。理解算法背后的原理,不仅限于使用,还能帮助我们灵活地解决产品问题。希望本文能对研究SVPWM原理的读者有所帮助。进一步的代码研究可参考链接:FOC5.4源代码

FOC(电机矢量控制)的“大地图”(算法架构)

       一套专注于永磁同步电机(PMSM)和BLDC电机矢量控制的软件教程旨在帮助初学者深入了解FOC算法。教程不仅介绍了理论知识,还提供了一个模块化设计的驱控板方案,支持ABZ编码器、BLDC方波、霍尔FOC和无感FOC控制,适合不同电机类型和传感器配置。其核心目标是通过详细解释,让学习者形成类似游戏“大地图”的全局理解,提升电机控制技能,避免陷入大量无效学习资料的困扰。

       软件功能上,它通过RS与上位机通信,实时接收指令并反馈状态。设计上注重安全性,如指令限幅和异常值滤波。软件架构包括系统初始化、参数设置、定时器管理、串口通讯、信号采集处理和控制模块。其中,定时器定时器模块用以控制流程,与上位机交互则通过串口通讯,采集的信号则用于闭环调节,确保电机稳定运行。

       硬件部分,方案包括主控板、驱动板、电源板、编码器板等,以及一套详细的接口设计,确保了对多种电机控制功能的全面支持,如速度、位置、电流控制,以及多种通信接口的集成。教程还提供了丰富的代码资源,包括双路霍尔、无感和绝对编码器FOC的源码,以及与上位机的通信代码,使得学习者能直接参与到实际的控制实现中。

       教程不仅提供代码,还包含一对一指导、远程调试和经验分享,旨在确保学习者不仅掌握理论,还能实操应用。通过全面的教程和丰富的资源,学习者可以快速掌握FOC算法,对电机控制有更深入的认识。