配STM32全系列F1/F4/G4/H7等支持有感/无感FOC一、核心选型指南先选对硬件再动手参数选型建议适用场景MCUSTM32F303/G474带内置运放/PGA最佳、F103/F407F303/G4适合高压伺服F103/F407适合低压低成本场景功率器件MOS管/IGBT/专用驱动芯片DRV83xx/STSPIN系列低压小功率选DRV8313高压大功率选IPM模块电流采样方案三电阻/单电阻见下方双模式对比三电阻 vs 单电阻 核心对比维度三电阻采样单电阻采样采样电阻数量3个1个额外硬件要求3路运放/ADC通道1路高带宽运放/差分放大器采样窗口限制无有最小采样脉宽要求需规避非观测区采样精度最高中等依赖电流重构算法硬件成本高低省2个采样电阻2路运放适用场景伺服、高精度控制风机、水泵、小家电等成本敏感场景二、硬件设计核心规范避坑必看1. 通用设计规范电源分层功率地、数字地、模拟地单点接地避免开关噪声干扰采样PWM输出线与电流采样线严禁交叉布线采样线走差分对称走线采样电阻两端必须采用开尔文走线直接从电阻焊盘引出到ADC引脚消除PCB铜箔压降影响功率器件预留至少2~3倍电流余量避免过载炸机2. 三电阻采样专属硬件采样电阻选5~20mΩ后端接同相比例运放电路放大后接入STM32 ADC通道增益根据ADC量程调整一般放大20~50倍每路采样电路并联RC滤波电路滤除PWM高频噪声3. 单电阻采样专属硬件采样电阻选10~50mΩ后端接高带宽差分放大器如INA240共模抑制比≥80dB抑制功率回路共模噪声运放输出端并联RC滤波ADC采样通道配置为定时器PWM周期中段触发确保采样点在稳定区间调整T_RISE电流振荡稳定时间为2~3μs平衡采样精度和母线利用率三、CubeMX/MC Workbench配置步骤1. 基础外设配置高级定时器TIM1/TIM8中央对齐模式3开启互补PWM输出、死区控制CCR比较值触发ADC采样ADC配置为定时器触发采样开启DMA传输采样通道对应电流采样引脚GPIO配置PWM输出、故障保护、编码器/霍尔接口有感方案2. 电流采样模式专属配置三电阻采样配置无需额外复杂配置直接在MC Workbench中选择三电阻模式采样通道对应U/V/W三相电流即可单电阻采样配置配置定时器通道5/6上升沿触发TRGO2信号用于ADC采样触发配置定时器通道4比较值为最小采样脉宽HTMIN死区时间T_RISEADC采样时间在代码中根据SVPWM扇区动态计算PWM占空比避让非观测区四、核心代码逻辑1. 三电阻采样代码最简单// 根据SVPWM扇区选择不受窗口限制的两相电流采样voidThreeResistor_CurrentSample(void){switch(current_sector){case1:case6:// 采样Ib、IcIa -(IbIc)Ia-(ADC_GetValue(CH2)ADC_GetValue(CH3));IbADC_GetValue(CH2);IcADC_GetValue(CH3);break;case2:case3:// 采样Ia、IcIb -(IaIc)IaADC_GetValue(CH1);Ib-(ADC_GetValue(CH1)ADC_GetValue(CH3));IcADC_GetValue(CH3);break;case4:case5:// 采样Ia、IbIc -(IaIb)IaADC_GetValue(CH1);IbADC_GetValue(CH2);Ic-(ADC_GetValue(CH1)ADC_GetValue(CH2));break;}}2. 单电阻采样代码电流重构核心// 单PWM周期两次采样重构三相电流voidSingleResistor_CurrentReconstruct(void){staticuint8_tsample_phase0;if(sample_phase0){// 第一次采样获取第一相电流I1ADC_GetValue(BUS_CURRENT_CH);}elseif(sample_phase1){// 第二次采样获取第二相电流第三相通过KCL计算I2ADC_GetValue(BUS_CURRENT_CH);I3-(I1I2);}sample_phase(sample_phase1)%3;}3. FOC核心算法框架电机参数初始化 → 状态机切换预定位→强拖加速→切入闭环→ Clarke/Park变换 → PI电流环控制 → 反Park变换 → SVPWM调制 → ADC电流采样参考代码 STM32驱动三相电机包括三电阻、单电阻反馈foc算法www.youwenfan.com/contentcst/182266.html五、调试避坑指南先调三电阻再切单电阻先在硬件三电阻模式下完成电机参数辨识、启动参数调试确认电机正常运行后再切换单电阻模式降低调试难度采样波形验证用示波器抓取采样波形确保电流波形正弦且无杂波若波形畸变需调整运放增益或采样点位置启动参数调试无感启动重点调整强拖加速度阈值、切入闭环速度阈值避免启动抖动或反转保护配置开启过流、过压、欠压、堵转保护避免炸机