学习无刷直流电机驱动硬件
根据稚晖君的【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 - 知乎文档来学习FOC
基础
左手定则
用于判断导线在磁场中受力的方向:伸开左手,使拇指与其他四指垂直且在一个平面内,让磁感线从手心流入,四指指向电流方向,大拇指指向的就是安培力方向(即导体受力方向)。
右手定则
伸开右手,使大拇指跟其余四个手指垂直并且都跟手掌在一个平面内,把右手放入磁场中,让磁感线垂直穿入手心,大拇指指向导体运动方向,则其余四指指向感生电动势的方向。也就是切割磁感线的导体会产生反电动势,实际上通过反电动势定位转子位置也是普通无感电调工作的基础原理之一

右手螺旋定则(即安培定则)
用于判断通电线圈判断极性:用右手握螺线管,让四指弯向螺线管中电流方向,大拇指所指的那端就是螺线管的N极。直线电流的磁场的话,大拇指指向电流方向,另外四指弯曲指的方向为磁感线的方向。
PWM脉冲宽度调制
本质是利用面积等效原理来改变波形的有效值。举个例子,一个电灯只有开和关两个状态,那么要怎么让它实现50%亮度的效果的呢?只需要让它在一半时间开,一半时间关,交替执行这两个动作只要频率足够高,在人眼(低通滤波器)看起来就是50%亮度的样子了。而其中高电平占一个开关周期的比例,就叫做占空比。利用PWM可以实现使用离散的开关量来模拟连续的电压值。
(重要参数:周期,频率、占空比)
无刷电机原理
考察下图情况中的直流电机基本模型,根据磁极异性相吸同性相斥的原理,中间永磁体在两侧电磁铁的作用下会被施加一个力矩并发生旋转,这就是电机驱动的基本原理

对于简化的无刷电机来说,以三相二极内转子电机(经典)为例,定子的三相绕组有星形联结方式和三角联结方式,而三相星形联结的二二导通方式最为常用,这里就用该模型来做个简单分析:

如上图所示,无刷电机三相的连接方式是每一相引出导线的一头,而另一头和其他相两两相连。这个情况下假如我们对A、B极分别施加正电压和负电压,那么由右手螺旋定则可以判断出线圈磁极的方向如下图:

这也是无刷电机和有刷电机最大的区别,即不像有刷电机的机械换向,无刷电机是通过电子换向来驱动转子不断地转动,电机的电压和KV值决定了电机转速,而电机的转速就决定了换向的频率。
关键:
至于什么时候怎么知道该换到哪个供电相?如何产生更平滑的换向电压?如何提高电源的利用效率?这些都是FOC控制方法要探讨和解决的问题。
地线的拓扑设计:
要精心设计地线拓扑结构,不同的信号对地线的结构有不同的要求。数字地与模拟地分开,若线路板上既有逻辑电路又有线性电路,应使它们尽量分开。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部分串联后再并联接地。对于电机控制系统,一定要尽量做到功率地与控制部分的地线分开,然后单点接地。
接地线应尽量加粗:
若接地线太细,接地电位将随电流的变化和信号频率的变化而变化,使噪声加大,严重时将引起自激。因此应尽量加粗接地线,使它能通过三倍于印制板上的允许电流。如有可能,接地线宽度应在2~3mm以上。
工作原理:
【3D动画演示】无刷电机工作原理_哔哩哔哩_bilibili

电机的额定电压一般等于供电Ud,一般会用Nmos管,避免同相导通。
简单的无刷直流电机换相根据永磁体的位置进行开关对应的MOS管,分为两两导通和三三导通,三三导通要注意切换上下管时要延时,避免同时导通发生短路

正弦波(正弦脉冲宽度调制SPWM)控制
对主控芯片要求高

FOC:磁场定向控制 SVPWM:空间矢量脉冲宽度调制
电机驱动板硬件:
三相逆变半桥驱动电路


R33 小阻值的采样电阻(采样电流)UVW三相 H上桥臂 L下桥臂
PWM1、2、3利用芯片高级定时器输出的互补PWM波,使用选择芯片要有3个高级定时器
R25、R28限流电阻,限制流到MOS管栅极的电流以及消除振铃(阻尼电阻);D10为MOS管关断时提供快速放电路径;
D8和C18确实共同组成了为半桥上臂供电的自举电路;当需要开启上桥臂Q5时,下桥臂Q6先关断,驱动器内部的浮动电路开始工作,它以VS脚为新的“地”参考点。此时,VS脚的电压会随着Q5的源极电压一起上升(目标是母线电压24V)。由于电容两端的电压不能突变,原本存储在C18上的电压(约14.3V)会叠加在VS的电压上。使得VB-VS大于Vgs on ,让mos管进入饱和、稳定导通。
上管Q5导通时,VG(即HO引脚电压)和VS的电压确实会“一起抬升”,并且它们之间的电压差(Vgs)始终保持在一个固定的值(约15V),这个电压差才是驱动MOS管的关键。mos管一定要有自举电路否则不能维持导通状态。
在下管导通期间,由于上管是关断的,24V电源与VS点是断开的。下管Q6的导通,将VS点(其电压可能是一个不确定值)迅速拉低到0V,而不是将一个存在的24V电压拉低。
电流采样电路

电压跟随器

电压跟随器输入端3.3V分出1.65V,然后输出1.65V到差分放大电路VREF。



电流是有正负方向的,所以把检查出的电流*电阻=电压抬高至直流单向的,方便给单片机检测。

采样电阻的电流利用运算放大器进行放大,输出连接到单片机的ADC引脚,单片机采集获取电流值,防止电流过流,如果电流超过单片机设定阈值,单片机控制电机停止。4
采样电阻和最大电流
通过精心选择采样电阻和运放增益,工程师可以确保在预期的最大电流范围内,运放输出电压的整个摆动区间(例如从0.3V到3.0V)都落在ADC的量程(0-3.3V)之内,从而既能充分利用ADC的分辨率,又不会因超量程而失真或损坏。
在电路设计中准确确定 采样电阻上流过的最大电流 是保证系统安全和精度的关键。以下是基于您提供的两张电路图(电流采样电路和IR2101驱动电路)的 专业级分析方法和设计流程:



母线电压检测电路

反电动势过零检测电路
三相电压采集电路


虚拟中性点提供共模参考,增强抗噪能力;利用分压原理,把大电压按比例的缩小到单片机ADC能识别的电压,单片机芯片能又可以按比例的还原电压大小数据。
电路工作原理分步解析:
第一步:分压与隔离
三相电压 U, V, W分别通过三个51kΩ的电阻(R41, R43, R44)进行限流和初步衰减。
第二步:生成虚拟中性点(MITTEL)
这是本电路最精妙的部分。另外三个51kΩ电阻(R29, R31, R34)也从U, V, W接入,它们的另一端连接在一起,形成一个虚拟中性点(MITTEL)。
这个点的电压是三相电压的平均值。在一个平衡的三相系统中,这个点相当于一个稳定的参考电位(约等于母线电压的一半 Vbus/2)(PWM调制(如SVPWM),三个相电压的占空比在不断变化,但它们的瞬时值的平均值会始终维持在 Vbus/2附近),为后面的差分测量提供了一个“干净”的基准,而不是使用噪声较大的电源地(GND)。 在由三相逆变桥产生的PWM电压中,在任何时刻,三个相电压的瞬时值之和都等于零(U + V + W = 0)。这是一个关键特性。因为三个相电压是互差120度的交流信号,它们的矢量和为零。
第三步:信号调理(滤波)
从分压点后,每相都通过一个2kΩ电阻(如R36)和100nF电容(如C31)到地,形成一个低通RC滤波器。
关键作用:电机相电压是高频PWM方波,充满了开关噪声。这个滤波器的任务是滤除高频噪声,只保留电压的基本波形成分,为ADC提供一个平滑、干净的模拟信号,防止采样失真。
第四步:输出采样信号
抑制共模噪声:电机驱动产生的巨大开关噪声,会同时、同相位的耦合到U, V, W三相上。由于电路对称,这些噪声也会同时、同相位的出现在 NULL_A和 MITTEL点上。根据差分测量的原理:
V_adc = (NULL_A + 噪声) - (MITTEL + 噪声) = NULL_A - MITTEL
提取有用信号:我们真正关心的信号是相电压相对于系统中点的波动(例如,反电动势的过零点)。NULL_A - MITTEL这个差分值,正好反映了这个波动。
当A相电压 高于 平均值时,NULL_A - MITTEL > 0,ADC读到一个正电压。
当A相电压 等于 平均值时,NULL_A - MITTEL = 0,ADC读到0V。
当A相电压 低于 平均值时,NULL_A - MITTEL < 0,ADC读到一个负电压。
这对于无传感器FOC至关重要,因为检测反电动势过零点(即相电压穿过中性点电压的时刻)是估算转子位置的关键。
关键结论:反电动势过零点的时刻,与转子到达一个特定位置是严格对应的(通常,过零点发生在转子磁极与定子绕组轴线相差30度电角度的位置)。
为什么检测“过零点”如此重要?
这是实现无传感器电机控制(无论是六步方波驱动还是FOC中的初始启动和低速域控制)的基石。
对于简易的六步方波驱动:控制器直接根据检测到的过零点信号来决策,在下一个时刻应该给哪两相导通电流,从而产生持续的旋转力矩。
对于先进的FOC控制:在电机启动和低速运行时,反电动势很弱,难以检测,FOC会采用其他方法(如高频注入)来估算位置。但当电机进入中高速后,反电动势过零点信息可以作为FOC算法中位置观测器的一个非常重要的校正信号,帮助算法更精确地锁定转子位置,实现高效、平稳的扭矩控制。是实现无传感器电机控制,从而精准获知转子位置、实现换向和闭环控制的关键信息。
最终,调理后的三相电压信号 NULL_A, NULL_B, NULL_C被输出到MCU的ADC引脚。MCU通过测量这些信号与MITTEL点或另一参考点的电压,就能精确地知道各相的瞬时电压。
第二种方法,利用比较器,利用普通IO口,节省下3个ADC口
利用两个LM193比较器输出有无过零信号,也是利用中性点了祛除共模干扰。

霍尔传感器获取转子位置,角度,转速

编码器获取转子位置,角度,转速

主控芯片选型与外围电路




