ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从零手搓FOC驱动板:硬件选型、电路设计与PCB布局实战

从零手搓FOC驱动板:硬件选型、电路设计与PCB布局实战 1. 为什么我要从零手搓一块FOC驱动板去年帮朋友调一台云台电机买了两块成品FOC驱动板一块上电就炸管另一块跑低速时电流采样噪声大得离谱转速一过两千转就失步。拆开看功率级走线细得像头发丝采样电阻的走线直接和MOSFET的开关节点平行走了三厘米。那一刻我就决定这东西必须自己画。FOC驱动板说白了就是一块能同时干三件事的板子把直流电变成三相可控电流、实时采集相电流和转子位置、跑得动坐标变换和PID的运算。它跟普通BLDC方波驱动最大的区别在于FOC要求电流波形是连续的正弦所以功率级、采样链路、控制时序三者必须严丝合缝地配合。任何一环拉胯表现就是转矩脉动、发热、噪声甚至直接炸管。这篇文章面向的是有基本模电数电基础、会用EDA画板子、但还没完整走过一遍FOC硬件全流程的人。我会把选型逻辑、每一级电路的取值计算、PCB布局的取舍、以及我实际踩过的坑全部摊开讲。你照着做至少能少烧三块板子。2. 整体架构与方案选型先想清楚再动手2.1 FOC驱动板的三大功能块拆解一块完整的FOC驱动板我习惯把它切成三块来看功率级三相全桥六个MOSFET或IPM模块负责把母线直流斩成三相PWM。这一块决定板子的电压电流上限和效率。采样与控制级相电流采样单电阻/双电阻/三电阻、母线电压采样、转子位置采集霍尔/编码器/磁编码器加上MCU跑FOC算法。电源级把输入直流常见12V、24V、48V降压出MCU用的3.3V、栅极驱动用的12V或15V有时还要一路隔离电源给高边驱动。这三块的关系是功率级决定采样方案采样方案决定MCU选型和运放选型电源级决定整板能不能稳定工作。很多人一上来就选MCU结果发现选的芯片ADC采样窗口对不上功率级的开关时序返工。2.2 母线电压与功率等级怎么定选型第一步不是选芯片是定母线电压和持续电流。这两个参数一确定后面所有器件都跟着走。我一般按这个逻辑推应用场景母线电压持续电流典型功率小型云台/机器人关节12V3-5A50W以内中功率云台/电动工具24V10-20A200-500W平衡车/大功率云台36-48V20-40A1kW左右轻型电动车48-72V30-60A2-3kW母线电压的选择有个经验在满足转速需求的前提下母线电压越低MOSFET的开关损耗和驱动难度越小但同样功率下电流越大走线和采样电阻的损耗越大。我做过一个24V/15A的云台板后来改成36V/10A同样的功率MOSFET温升从65度降到48度因为电流小了导通损耗按I²R降了一半多。持续电流的估算要留余量。电机铭牌上的额定电流是有效值FOC里相电流峰值是有效值的1.414倍再加上过载工况我一般按额定有效值的2倍来选功率器件。比如额定5A有效值的电机功率级按14A峰值设计。2.3 MCU选型STM32哪一款够用热词里STM32出现频率最高确实FOC驱动板用STM32是主流选择。但STM32型号太多选错了要么资源不够要么浪费。FOC对MCU的核心要求就三条高级定时器至少一个能输出三对互补PWM、带死区插入和刹车输入的定时器。STM32的TIM1、TIM8都满足。ADC采样速度FOC电流采样要在PWM中心对齐模式下在开关管全部导通或全部关断的窗口内完成采样。开关频率20kHz时一个周期50微秒中心对齐下有效采样窗口可能只有几微秒。ADC采样时间加转换时间必须塞进这个窗口。运算能力坐标变换、PID、SVPWM20kHz频率下Cortex-M3勉强M4带FPU舒服很多。我的选型建议入门/低成本STM32F103C8T6M3内核72MHz有TIM1和双ADC跑10kHz开关频率的FOC够用。缺点是没FPU三角函数用查表代码量大时吃力。主流推荐STM32F405RGT6或STM32G431CBU6。F405是M4带FPU168MHz资源充足G431是M4带FPU170MHz专门为电机控制优化内置运放和比较器省外围器件。高性能STM32F407或H7系列适合多电机、高开关频率场景。我自己的板子用的是G431因为它内置了三个运放可以直接做电流采样信号调理省掉外部运放芯片PCB面积小一圈。但要注意G431内置运放的带宽和失调电压要查手册确认不是所有场景都够用。2.4 栅极驱动方案集成还是分立栅极驱动是FOC驱动板里最容易出问题的部分。MOSFET的栅极是电容特性驱动电流不够开关就慢开关损耗大驱动电流太大又容易振荡。常见方案有三种集成三相栅极驱动IC如DRV8301、DRV8323、EG2133。优点是集成度高内置死区、过流保护、电荷泵外围简单。缺点是贵而且一旦烧了要整片换。半桥驱动IC加自举电路如IR2103、EG3012。每相用一个半桥驱动高边用自举电容供电。成本低灵活但自举电容取值和自举二极管选型要算清楚。隔离驱动如Si8233、UCC21520。适合高压或需要电气隔离的场景成本高但抗干扰能力强。我第一块板子用的是IR2103加自举结果高边驱动在低占空比时自举电容充不满高边MOSFET驱动电压掉到8V以下导通电阻飙升管子烫得能煎鸡蛋。后来换成EG2133集成驱动内置电荷泵低占空比也不掉压问题解决。注意自举电容的取值不是随便选0.1uF就行。自举电容太小高边驱动电荷不够太大充电时间长低频时可能充不满。一般按Qg的10-20倍选比如MOSFET栅极电荷Qg30nC自举电容选0.47uF到1uF。2.5 电流采样方案三电阻、双电阻还是单电阻电流采样是FOC的“眼睛”采不准算法再好也白搭。方案原理优点缺点适用场景三电阻每相下桥臂各串一个采样电阻每相电流独立采样算法简单低速性能好三个运放成本高PCB面积大高性能、低速要求高双电阻两个下桥臂串采样电阻两个运放成本适中需要重构第三相电流算法稍复杂主流方案单电阻母线负极串一个采样电阻一个运放成本最低采样窗口窄低速时采样困难算法复杂低成本、高速场景我推荐双电阻方案性价比最高。采样电阻的取值计算采样电阻上的电压要匹配运放的输入范围和ADC参考电压。假设运放增益为GADC参考3.3V最大相电流峰值Imax则Rshunt Vref / (G × Imax)比如Imax10AG10Vref3.3V则Rshunt 3.3 / (10 × 10) 0.033Ω。实际选0.033Ω或0.05Ω。采样电阻的功率也要算P Imax² × Rshunt 100 × 0.033 3.3W。这是峰值功率实际按有效值算但也要选至少2W的电阻否则持续大电流会烧。实操心得采样电阻一定要选低温度系数的比如合金电阻或康铜电阻温度系数50ppm/℃以内。普通厚膜电阻温度系数几百ppm电流一大阻值漂移采样就不准了。3. 核心电路设计与参数计算3.1 功率级MOSFET选型与损耗计算MOSFET选型看四个参数耐压Vds、导通电阻Rds(on)、栅极电荷Qg、热阻Rth。耐压母线电压48V考虑电机反电动势和开关尖峰Vds至少选100V。我一般按母线电压的2倍选48V母线选100V管子。导通电阻导通损耗Pcond I² × Rds(on) × D其中D是占空比。但FOC里电流是正弦实际导通损耗按有效值算Pcond Irms² × Rds(on)。比如Irms10ARds(on)5mΩ则Pcond 100 × 0.005 0.5W。六个管子总导通损耗3W。开关损耗Psw 0.5 × Vds × Id × (tr tf) × fsw。这个公式是估算实际要看栅极驱动电流和米勒平台。开关损耗和开关频率成正比所以开关频率不能盲目提高。我常用的MOSFET型号30V级AON6500Rds(on)2.5mΩ适合12V母线60V级NCE6005Rds(on)5mΩ适合24V母线100V级IRF540N太老推荐NCE0100或HY4008Rds(on)8mΩ左右注意MOSFET的Rds(on)随温度升高而增大100℃时大约是25℃时的1.5倍。计算损耗时要用热态Rds(on)否则实际温升会超出预期。3.2 栅极驱动电路自举电容与栅极电阻栅极驱动电路的核心是让MOSFET快速开关同时不振荡。栅极电阻Rg的选择Rg太小开关快但容易振荡EMI差Rg太大开关慢开关损耗大。一般选5Ω到22Ω。我通常先放10Ω实测开关波形如果振铃严重就加大如果开关太慢就减小。自举电路高边驱动需要自举电容和自举二极管。自举电容按Qg的10-20倍选自举二极管要选快恢复二极管反向恢复时间trr小于50ns否则高边开关时二极管反向恢复会导致自举电压跌落。自举电阻有时在自举二极管和自举电容之间串一个小电阻限制自举电容充电电流防止自举二极管过流。一般选2.2Ω到10Ω。3.3 电流采样运放电路差分放大与偏置双电阻采样需要两个差分放大电路把采样电阻上的小电压放大到ADC量程。运放选型要求带宽至少10倍于PWM频率20kHz PWM选200kHz以上带宽压摆率大于1V/us失调电压小于1mV否则小电流时误差大共模抑制比大于80dB我常用TI的INA240或INA241集成差分放大共模抑制比高专门为电机电流采样设计。如果成本敏感可以用普通运放搭差分电路但要仔细匹配电阻电阻误差0.1%以内否则共模抑制比上不去。偏置电路FOC需要采样正负电流但ADC只能采正电压所以要把采样信号偏置到Vref/2。用两个等值电阻分压Vref得到1.65V通过运放跟随器加到差分放大器的参考端。实操心得偏置电压的稳定性直接影响电流采样精度。分压电阻要用高精度电阻旁边并一个0.1uF电容滤波。如果偏置电压漂了电流零点就漂了FOC会输出直流分量电机发热。3.4 电源级设计Buck降压与LDOFOC驱动板的电源级要把母线电压降到MCU和栅极驱动需要的电压。栅极驱动12V如果母线是24V或48V需要Buck降到12V。用MP2359或MP1584外围简单效率高。MCU 3.3V从12V再用LDO降到3.3V如AMS1117-3.3。LDO噪声小适合给MCU和运放供电。隔离电源如果高边驱动需要隔离用B0505S等隔离模块。Buck电路的关键参数电感L (Vin - Vout) × D / (fsw × ΔIL)其中D Vout/VinΔIL是电感纹波电流一般取输出电流的30%。输出电容Cout ΔIL / (8 × fsw × ΔVout)ΔVout是输出纹波电压。比如24V降到12Vfsw500kHzIout0.5AΔIL0.15A则L (24-12) × 0.5 / (500k × 0.15) 80uH。实际选100uH。注意Buck电路的反馈电阻要算准否则输出电压不对。反馈电压一般是0.8V或0.6V查手册确认。反馈走线要远离电感和开关节点否则噪声耦合进去输出电压会抖。3.5 位置传感器接口霍尔、编码器与磁编码器FOC需要转子位置。常见三种霍尔传感器三个霍尔输出六步换向信号分辨率低但成本低适合方波驱动和低速FOC。增量式编码器A/B/Z三路分辨率高但需要正交解码STM32的定时器编码器模式可以直接读。磁编码器如AS5600、MT6701I2C或SPI输出绝对角度分辨率12位以上适合高精度FOC。我推荐磁编码器尤其是AS5600I2C接口12位分辨率价格便宜安装方便。但要注意磁编码器对磁场干扰敏感要远离功率级和电机线。接口电路霍尔和编码器需要上拉电阻和滤波电容。霍尔输出是开漏上拉4.7kΩ到3.3V并0.1uF电容滤波。编码器A/B信号加RC滤波截止频率1MHz左右。4. PCB布局与EMC实战4.1 功率级布局环路面积最小化功率级布局的核心原则开关电流环路面积最小。三相全桥的开关电流环路是母线电容正极 → 高边MOSFET → 电机相线 → 低边MOSFET → 采样电阻 → 母线电容负极。这个环路里电流变化率di/dt很大环路面积越大辐射EMI越强电压尖峰越高。布局要点母线电容紧贴MOSFET最好放在MOSFET正上方或背面高边和低边MOSFET尽量靠近减小中间走线长度采样电阻紧贴低边MOSFET源极相线输出从MOSFET中间引出不要绕远我第一块板子母线电容离MOSFET有2厘米结果开关尖峰比母线电压还高MOSFET耐压100V尖峰冲到120V管子击穿。后来把电容移到MOSFET旁边尖峰降到80V以下。4.2 采样电路布局Kelvin连接与地平面分割采样电阻的走线要用Kelvin连接即电压采样点直接从电阻焊盘引出不要和电流路径共用走线。否则走线电阻会叠加到采样电阻上采样值偏大。地平面处理功率地和信号地要分开最后单点连接。功率地是母线电容负极、MOSFET源极、采样电阻的电流路径信号地是MCU、运放、传感器的地。如果混在一起功率地的开关噪声会串到信号地ADC采样全是毛刺。我的做法功率地铺在底层信号地铺在顶层单点连接在母线电容负极附近运放和MCU的地通过过孔连接到信号地平面4.3 栅极驱动走线短而粗远离敏感信号栅极驱动走线要短、粗最好走成微带线或带状线减少电感。栅极走线电感会和MOSFET栅极电容形成LC振荡导致栅极电压振铃。走线要点栅极走线宽度至少0.5mm长度尽量短栅极电阻紧贴MOSFET栅极自举电容紧贴驱动IC栅极走线不要和电流采样走线平行避免耦合实操心得如果栅极振铃严重可以在栅极和源极之间并一个10kΩ电阻给栅极电容提供放电路径同时阻尼振荡。但电阻不能太小否则影响开关速度。4.4 EMC整改从源头抑制干扰FOC驱动板的EMI主要来自功率级的开关动作。整改思路减小环路面积前面说了这是最有效的增加RC吸收在MOSFET漏源之间并RC吸收R选10ΩC选1nF吸收开关尖峰共模电感在母线输入串共模电感抑制共模干扰屏蔽功率级加屏蔽罩但成本高我实测过母线电容紧贴MOSFET加RC吸收辐射EMI能降10dB以上。5. 常见问题与排查技巧实录5.1 上电炸管原因与预防炸管是FOC驱动板最常见的故障。原因通常有死区时间不够高边和低边同时导通母线直接短路。STM32的死区时间要按驱动IC和MOSFET的开关时间算一般500ns到1us。自举电容失效高边驱动电压不足MOSFET工作在线性区发热炸管。母线尖峰超耐压布局不好尖峰超过MOSFET耐压。预防措施上电前先用示波器看PWM波形确认死区时间先低压上电比如12V母线确认没问题再升压母线加TVS管钳位尖峰5.2 电流采样噪声大排查思路电流采样噪声大表现是FOC电流波形毛刺多电机发热低速时抖动。排查步骤示波器看运放输出确认噪声频率。如果是PWM频率是开关噪声耦合如果是随机噪声是运放本身或电源噪声。检查采样电阻走线是否Kelvin连接。检查运放电源是否干净加LC滤波。检查地平面是否分割正确。我遇到过一次采样噪声是PWM频率的后来发现是运放输入走线和栅极走线平行走了5mm耦合了开关噪声。把走线分开噪声消失。5.3 电机低速抖动FOC参数整定低速抖动通常是电流环PID参数不对或者位置传感器分辨率不够。电流环PID先调P再调I。P太大电流振荡P太小响应慢。I太大积分饱和I太小稳态误差大。位置传感器霍尔分辨率低低速时角度误差大FOC效果差。换磁编码器或编码器。我一般先用磁编码器调好FOC再换霍尔对比如果霍尔效果差太多说明霍尔分辨率不够。5.4 常见问题速查表现象可能原因排查方法解决措施上电炸管死区不够、自举失效、尖峰超压示波器看PWM和母线加死区、换自举电容、加TVS电流采样噪声大走线耦合、地分割不对、运放电源脏示波器看运放输出分开走线、重新分割地、加LC滤波电机低速抖动PID不对、位置分辨率低看电流波形和角度调PID、换编码器MOSFET发热开关损耗大、导通损耗大测栅极波形和电流调栅极电阻、换低Rds(on)管子MCU复位电源噪声、地弹看MCU电源加去耦电容、分割地最后分享一个小技巧调试FOC驱动板时先不接电机用三个功率电阻星形连接代替电机这样即使算法有问题也不会烧电机。等电流波形调好了再接电机。这个办法帮我省了好几台电机。这个板子后续还可以扩展加CAN或RS485通信做多板级联加温度传感器做过热保护加母线电压前馈提高动态响应。硬件的东西画一遍只是开始调通才是真本事。
返回列表