三相交流电相互间相位相差120°那我们是否可以构建一个坐标系α-β使用它来表示三相交流电,一种方法是不断监测三个时变相电流并调制每个施加的 相电压 以实现正确的时变定子磁场方向, 4、FOC的分类 1有感FOC与无感FOC 在FOC算法中转子的磁场角必须是已知的以保持正交的定子和转子磁场, 直接采样桥臂输出电流软件上无需再进行电流重构计算采样值即真实输出电流使用方便简单高效较为稳定但成本过高,而电源隔离条件下其参考地GND不同所以无需考虑该问题, 此时需要对位置环做一点变化 4、SVPWM变换 前面有Park变换对应反Park变换但是没有反Clark变换取而代之的是SVPWM变换。
为什么成90度因为90度的时候力矩最大, 1单电阻采样 单电阻采样又称为母线电流采样一般将采样电阻串联在直流母线来进行采样受逆变桥开关状态影响其采样电流与相输出电流有差异且在特定占空比条件下难以获取输出电流故需在一个周期内至少采样2次并对采样电流重构补偿同时把握好采样时刻才能获取有效电流数据因而过程复杂难度过大不过由于成本低廉仅使用一个运放且不需要考虑高共模电压影响, 2、FOC矢量控制总体算法简述 输入位置信息两相采样电流值或3相电流、电机位置或者电机速度 输出三相PWM波 所需硬件ADC至少需要一到三个电流检测输入一个光电或磁编码器主控依据电压等级的不同有mosfet或者IGBT或者SiC功率模块组成的三个半桥 FOC算法在本质上就是一些线性代数中的矩阵变换我在这里讲述的是有传感器的FOC算法转子的位置信息是通过绝对式磁编码器反馈的直接是数字量。
这样做的问题在于并不能保证i_d为零i_q等于目标值因此电机并不能工作在效率最高的状态力矩控制也是不准确的 只是这样磁场矢量与的角度不是90度而是略小一点。
1电流环 最内环 2速度环 第二层 3位置环 最外层 4 位置控制时采用 位置环电流环 控制 在实际使用中由于编码器无法直接返回电机转速 往往计算一定时间内的编码值变化量来表示电机的转速即 平均速度 代表 瞬时速度 ,使用反Park变换和SVPWM变换可以把计算出来的数据转换成开环的旋转磁场,FOC的主要目标是 保持正交的定子和转子磁场以产生最大扭矩 。
无刷直流电机实质上为采用直流电源输入并用逆变器变为三相交流电源带位置反馈的永磁同步电机,因为电机三相电流遵循IaIbIc0故实际实现时只需采样任意两相电流即可获得完整三相输出电流, 由于这里的电压和电流的传递函数会发现这其实就是一个一阶惯性环节所以这里只需要PI控制即可, 如果没有电流环没有电流采样也可以工作电流采样的作用是获取做坐标变换后得到实际的id, 三相交流电通定子线圈定子线圈是静止的但线圈产生的磁场是与转子永磁体产生的磁场相互作用转子在转线圈产生的磁场也在同步转, 采样电阻串联在电机相线上检测的电流始终都是电机相电流因为电感中的电流不会突变所以无论PWM占空比的状态如何采样到的电流都是连续稳定的, Iq 1xPID 1xLPF 3FOC模式采集相电流控制Iq 和 Id转子中的磁力与永磁场精确偏移90度确保最大转矩 Iq 、Id2xPID 2xLPF 六、FOC控制算法调试 由于作者还没有做到FOC算法调试这个步骤后续调试算法时会具体补充这一部分大家可以参考参考链接 ,缺点就是硬件成本较高, 2、低端采样 分为单、双、三电阻采样易受公共地噪声影响, 1、Clark变换 三相交流电我们是否可以把它整成两相就好比我们看一个三维的问题我总是倾向于转化到二维去解决, 四、FOC原理 整体步骤 1、AD转换获取电流值Ia和Ib 2、通过Clark变换得到Iα和Iβ 3、获取电机角度通过Park变换得到Id和Iq 4、Id、Iq不能突变同时为减少干扰做平滑滤波 5、Id、Iq与设定值比较通过PID运算得到Vd 和Vq。
变换公式为 写成矩阵形式 我们一通操作将转子磁链进行了解耦分解为了转子旋转的 径向 和 切向 这两个方向的变量 其中 是我们需要的代表了期望的 力矩 输出 而 是我们不需要的我们希望尽可能把它控制为0 3、PID控制 将上一步得到的 两个值作为反馈控制的对象作为PID算法的输入, 最近为了精确控制电机旋转的角度、速度、力矩采用三相直流无刷电机控制采用FOC磁场定向控制算法在这里记录一下自己的学习过程, 我们先不考虑电流因为我们能直接控制的实际上只有ABC三相的电压怎么控制呢SVPWM, 在这里我就不详细说明SVPWM原理了写这篇文章目的是自己能徒手写出代码现在有现成的SVPWM模块可以把FOC的控制结果转换为定时器6个通道的占空比从而驱动三相逆变模块控制定子绕组产生旋转磁场拖动转子旋转,在实际操作过程中需要在下桥臂开关管开通时采样蓝色波形并在软件上对采样数据重构获取输出电流, 一个典型的永磁同步电机的3相绕组在空间120°电角度布置绕组里面分别通相位相差120°的三相交流电。
五、FOC算法的几种模式 1、扭矩模式 1电压模式不用采集相电流、硬件简单、程序简单, IaIbIc投影到该坐标系α-β则有 写成矩阵形式为 2、Park变换 虽然 坐标系下少了一维变量但是新的变量还是正弦非线性的接下来用Park变换将它们线性化。
iq如果不要电流环只有速度环反馈或者其实也可以达到还行的效果,这样的话可以对采样窗口小的一相电流进行重新计算这样得到的结果准确度是最高的 3、采样方式的选取 在电机控制中对电流采样的采样转换方式一般都是使用PWM触发ADC来转换 当PWM模块设置的触发点匹配之后触发信号就会给到ADC模块此时采样开关就会断开然后ADC模块开始转换转换完成即可得到对应的采样电流的电压信号的AD数值在程序中使用这个数值进行算法编写验证即可, 我们 通过电流反馈来控制电机电流扭矩 - 然后 通过控制扭矩来控制电机的转速 - 再 通过控制电机的转速控制电机位置 ,由于该位置采样所选器件需要承受母线电压在电源非隔离条件下运放的抗共模电压指标需要大于等于母线电压多数选母线电压的2倍否则无法正常工作, 电压采样把目标v_q直接经过和svpwm输出而不经过pid运算而v_d则直接赋予0确实可以达到还行的效果,为什么需要通相位相差120°的三相交流电为了产生一个幅值大小不变的圆形旋转磁动势, 从家电到汽车和重工业机器人——都采用 无刷直流(BLDC) 和交流电机因为它们能效高可定制性更广,如果小于90或者大于90实际上电机也能转只是达不到最大力矩而已,当电机转速比较高的时候这样的方式是可以的但是在位置控制模式的时候电机的转速会很慢这时候用平均测速法会存在非常大的误差转子不动或者动地很慢编码器就没有输出或者只输出1、2个脉冲, 2双电阻采样 通过采样逆变任意2个下桥臂电流来获取有效数据,这可通过编码器或旋转变压器的位置反馈来实现(有感FOC)也可通过反电动势/磁通观测器软件来测量相电流以估计转子角(无感FOC), 2直流模式采集相电流只控制 Iq 设置Vd0,经过这一步的变换我们会发现一个匀速旋转向量在这个坐标系下变成了一个定值, 3三电阻采样 如果我们使用的是三电阻方式采样的话选用的ADC模块必须至少要有三个通道同时采样的功能这样才能确保采样得到的三相相电流是同一时刻的电流此时才能保证IuIvIw0这个公式成立, 三、FOC中电流采样 参考链接 1、高端采样 又称内置电流采样是使用起来最简单但是最精准的技术, 3、为什么FOC不一定需要电流采样参考链接 FOC磁场定向控制。
在FOC控制中主要用到三个PID环从内环到外环依次是 电流环 、 速度环 、 位置环,我们通过控制这三相电压的大小就可以得到一个方向和幅值都可以控制的电压矢量,基本上60-120度都能转, 二、FOC基本概念 1、为什么是三相 无刷直流电机BLDCBrushless Direct Current Motor也被称为电子换向电机ECM或EC电机或同步直流电机是一种使用直流电DC的同步电机,。
这种方法的缺点是必须在下桥臂MOS打开时检测电流PWM频率通常为20k50khz这意味着低侧MOS的开关频率为每秒20k50k次因此PWM设置与ADC采集之间的同步非常重要,交流和BLDC电机在许多应用中都是首选因为它们的缺点很少如微控制器成本和复杂的控制算法,其原理在于调制电机三相的电压使电流产生的磁场矢量方向与定子磁铁励磁产生或永磁铁成90度, FOC是驱动电动马达的最有效方式之一。
