本站提供最佳传世 源码服务,欢迎转载和分享。

【云转码对接图床源码】【hashmap源码8】【原盘源码gotv】foc 算法 源码_foc算法源码

2024-12-23 23:00:02 来源:物流跟踪html源码 分类:探索

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

foc 算法 源码_foc算法源码

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

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

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

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

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

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

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

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

       程序结构的交响乐章

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

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

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

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

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

       速度闭环控制更是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左右。原盘源码gotv在该仿真中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.倍的linux malloc 源码频率,参考转速的设置以不会超过最大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算法,对电机控制有更深入的认识。

【本文网址:http://04.net.cn/html/2d306496933.html 欢迎转载】

copyright © 2016 powered by 皮皮网   sitemap