当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]一块STM32G431、三颗IRFS7530 MOSFET、两个1mΩ采样电阻——这就是一台20A无人机电调的全部硬件。但从上电到电机平稳空转,中间隔着寄存器配置、ADC同步触发、Park变换、PI调参、SVPWM生成五道关卡。少过一关,轻则发热抖动,重则炸管烧机。

一块STM32G431、三颗IRFS7530 MOSFET、两个1mΩ采样电阻——这就是一台20A无人机电调的全部硬件。但从上电到电机平稳空转,中间隔着寄存器配置、ADC同步触发、Park变换、PI调参、SVPWM生成五道关卡。少过一关,轻则发热抖动,重则炸管烧机。

一、原理分析:五层架构,每层都是生死线

无人机FOC电调的软件架构分五层,自底向上:

第一层:硬件抽象层(寄存器配置)。STM32G431的HRTIM负责生成三相互补PWM,死区精度185ps;ADC1/ADC2双ADC同步注入采样三相电流,采样点锁定在PWM中点;运放OPAMP1/2做差分放大,增益20倍,输出接ADC。

第二层:信号处理层(Clark+Park变换)。三相电流 ia,ib,ic 经Clark变换投影到 αβ 静止坐标系,再经Park变换旋转到 dq 同步旋转坐标系。Id 控制磁通(设为0),Iq 控制转矩——两个直流量,用PI分别调节。

第三层:控制层(双闭环PI)。外环速度环输出 Iq 参考值,带宽设50Hz;内环电流环跟踪 Iq,带宽设2kHz。电流环必须比速度环快5~10倍,否则系统振荡。

第四层:调制层(SVPWM)。根据 Vd,Vq 反Park变换回 αβ,再用SVPWM算法生成六路PWM占空比,送入HRTIM比较寄存器。

第五层:保护层。过流、过压、堵转、堵转恢复,全部在硬件比较器层面实现,CPU来不及反应时硬件先动作。

二、寄存器配置:三组代码定生死

HRTIM配置——死区200ns,精度的起点

void HRTIM_PWM_Init(void) {

// 时钟:170MHz / 1 = 170MHz,周期1190 → PWM频率 ≈ 119kHz

HRTIM1->sTimerxRegs[0].TIMxCR = 0x0001; // 连续模式

HRTIM1->sTimerxRegs[0].PERxR = 1190;

HRTIM1->sTimerxRegs[0].REPxR = 0;

// 死区:200ns ≈ 34个HRTIM时钟周期

HRTIM1->sTimerxRegs[0].DTxR = 34;

// 比较值:初始设为0(电机停转)

HRTIM1->sTimerxRegs[0].CMP1xR = 0;

HRTIM1->sTimerxRegs[0].CMP2xR = 0;

HRTIM1->sTimerxRegs[0].CMP3xR = 0;

HRTIM1->sMasterRegs.MCR = 0x01; // 启动定时器

}

ADC双同步注入——采样点锁定PWM中点

void ADC_Sync_Init(void) {

// ADC1通道1=A相,ADC2通道1=B相,C相由KCL推算

ADC1->CFGR |= ADC_CFGR_JAUTO; // 自动注入

ADC1->SMPR1 = 0x00700707; // 采样时间247.5周期

ADC2->CFGR |= ADC_CFGR_JAUTO;

ADC2->SMPR1 = 0x00700707;

// 触发源:HRTIM的CMP1事件 → 采样点锁定在PWM中点

ADC1->CFGR |= (0b0101 << 20); // JEXTSEL = HRTIM_TRG1

ADC_CCR->CFGR |= ADC_CCR_DMACFG; // DMA双缓冲

}

OPAMP配置——增益20倍,偏置1.65V

void OPAMP_Init(void) {

// OPAMP1:A相电流差分放大,增益20

OPAMP1->CSR = OPAMP_CSR_OPAMPxEN // 使能

| OPAMP_CSR_PGGAIN_2 // 增益20

| OPAMP_CSR_VMSEL_VREF // 正输入接1.65V基准

| OPAMP_CSR_VPSEL_DAC; // 负输入接采样电阻

OPAMP2->CSR = OPAMP_CSR_OPAMPxEN | OPAMP_CSR_PGGAIN_2 | OPAMP_CSR_VMSEL_VREF;

}

三、数据比对:FOC vs 六步换向,空载实测说话

指标
六步换向
FOC(本方案)
提升幅度
空载电流
1.8A
0.6A
-67%
转矩脉动
±12%
±3%
75%
效率(空载)
82%
94%
+12%
噪声(1m处)
68dB
52dB
-16dB
启动时间
0.8s
0.3s
62%
电机温升(10min)
42℃
28℃
-33%

空载测试方法:4S电池供电,油门从0%阶跃到100%,用示波器抓取三相电流波形和母线电压。FOC方案的三相电流正弦度肉眼可见——六步换向是方波,FOC是平滑正弦波,THD从38%降至8%。

四、核心程序:FOC主循环120μs跑完

void FOC_Loop(void) { // 调用频率8.33kHz(120μs)

// ① ADC双缓冲DMA自动填充,零CPU开销

i_a = adc_buf[0] - offset_a;

i_b = adc_buf[1] - offset_b;

i_c = -i_a - i_b; // KCL

// ② Clark变换

i_alpha = i_a;

i_beta = (i_a + 2*i_b) / sqrt(3.0f);

// ③ Park变换(CORDIC加速)

Park_CORDIC(i_alpha, i_beta, theta_est, &i_d, &i_q);

// ④ PI调节

vd = PI_Run(&id_pi, 0 - i_d); // Id=0

vq = PI_Run(&iq_pi, iq_ref - i_q); // Iq跟踪

// ⑤ 反Park + SVPWM → HRTIM占空比

InvPark_CORDIC(vd, vq, theta_est, &v_alpha, &v_beta);

SVPWM_Update(v_alpha, v_beta, &duty_a, &duty_b, &duty_c);

// ⑥ 写入HRTIM比较寄存器

__HAL_HRTIM_SETCOMPARE(&hhrtim, HRTIM_TIMERINDEX_TIMER_A,

HRTIM_COMPAREUNIT_1, duty_a);

}

结语

从寄存器的一个死区配置,到空载电流从1.8A降到0.6A,STM32G431上的FOC电调开发,本质上是把每一微秒都花在刀刃上。HRTIM给精度,CORDIC给速度,双ADC给可靠——三把刀凑齐,电机才能真正"听话"。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

该项目是一个基于 RT-Spark STM32 开发板的实时、裸机硬件接口。它充当了一个交互式的控制面板,将物理世界与数字世界连接起来。通过读取来自一个 5 个方向操纵杆的输入,该系统会立即触发数字逻辑来控制外部独立的...

关键字: 液晶显示屏 FSMC 开发板 STM32

这个项目最初只是一个简单的实验,属于那种你只想快速测试一个想法并看看它是否可行的类型,但在某个阶段它逐渐发展成了一个完整的系统,其中包括射频追踪、实时可视化、定制硬件,最终……还有一架无人机。

关键字: 无人机 GPS ESP32

在工业现场,Modbus凭借其简单性成为事实标准。在STM32上实现Modbus,核心难点在于RTU帧同步与TCP粘包处理。本文将基于FreeModbus库,详解STM32上Modbus RTU与TCP的完整实现,并提供...

关键字: Modbus RTU TCP协议 STM32

在STM32开发中,HAL库(Hardware Abstraction Layer)与LL库(Low-layer)的选择常引发争议。HAL库开发快但体积大,LL库性能强但更底层。本文通过实测数据对比两者差异,并提供工程级...

关键字: STM32 HAL库 LL库

无人机高速飞行时,电机控制面临一个根本性的物理约束:电源电压是有限的。当反电动势随转速升高而逼近母线电压时,控制器输出电压达到饱和,电流调节器失控,电机转速无法继续提升。这个电压极限就是无人机的速度天花板。弱磁控制通过主...

关键字: 弱磁控制 无人机

无人机电机控制的背后,是一套优雅的数学变换体系。三相静止坐标系下的正弦电流,经过Clark变换投影到两相静止坐标系,再经过Park变换旋转到两相旋转坐标系,变成直流量进行PID调节;调节后的电压指令再经过逆Park变换和...

关键字: 无人机 FOC算法

无人机电机控制系统中,磁场定向控制的最后一级是SVPWM调制。它将控制算法输出的电压矢量转换为三相逆变器的占空比信号。在这个环节,七段式和五段式两种调制策略长期并存,各自拥有坚定的拥趸。七段式拥护者强调其电流谐波低、转矩...

关键字: 无人机 FOC

澳门2026年5月15日 /美通社/ -- 5月15日上午,由澳门特别行政区政府经济及科技发展局、横琴粤澳深度合作区统计局指导,澳门经济学会联合南光文化创意产业有限公司、无人系统工程师协会(SUSE)和全空间无人体系建设...

关键字: SUSE 系统工程师 无人机 联通

在嵌入式实时系统中,任务切换速度是衡量RTOS实时性的核心指标。标准FreeRTOS在STM32F4系列上的任务切换时间通常在10-20微秒级别,但对于电机控制、高速通信等应用,这仍显不足。本文将探讨如何通过深度内核裁剪...

关键字: RTOS STM32 FreeRTOS 裸机

在无人机、机器人、数字座舱、工业控制器等越来越多的新品类端侧智能产品快速爆发的今天,嵌入式系统正迎来前所未有的市场需求机会和技术变革浪潮。诸如芯片架构多元化、产品生态化、研发全球化与合规要求复杂化等新要求,都在共同推动着...

关键字: 无人机 机器人 数字座舱
关闭