核心内容摘要
论文写作“超进化”:书匠策AI如何重塑课程论文的创作宇宙
双极式控制直流pwm-m可逆调速系统建模与仿真 1整流器采用两相桥臂pwm驱动spwm 2采用双闭环控制转速外环ASR与电流内环ACR均采用pi控制 3可逆调速可实现正反转直流电机他励直流电机。
有参考资料先说核心武器两相桥臂整流器配SPWM。
这货的代码实现比硬件电路更带劲先看PWM中断服务函数void TIM1_UP_IRQHandler(void){ static uint16_t duty 500; //初始占空比50% static float theta 0; //相位累加器 //SPWM波形生成 float mod_signal arm_sin_f32(theta) *
9; //90%调制比 uint16_t cmp_val (uint16_t)(duty * (1 mod_signal)); TIM1-CCR1 cmp_val; //更新比较寄存器 TIM1-CCR2 PWM_PERIOD - cmp_val; theta
0628f; //50Hz基波1kHz载波时步进量 if(theta
28f) theta -
28f; TIM_ClearITPendingBit(TIM1, TIM_IT_Update); }这段代码的骚操作在于实时计算正弦调制波。
用armsinf32这个DSP库函数比查表法更省内存theta的自增量决定输出频率。
注意PWM死区得在硬件层面配置软件里直接怼互补对称波形就行。
双闭环控制才是重头戏。
ASR转速环和ACR电流环这对CP必须配合默契。
上Simulink模型的核心配置ASR pidtune(sys_speed,PID
; ASR.OutputLimits [-100, 100]; //限幅防积分饱和 ACR pidtune(sys_current,PI); ACR.Tf
001; //低通滤波防高频振荡这里有个坑爹细节转速环带宽得比电流环低一个量级。
实测中把ASR的积分时间调成ACR的
倍效果最稳。
调参时先怼电流环响应时间控制在10ms内再调转速环让超调不超过5%。
双极式控制直流pwm-m可逆调速系统建模与仿真 1整流器采用两相桥臂pwm驱动spwm 2采用双闭环控制转速外环ASR与电流内环ACR均采用pi控制 3可逆调速可实现正反转直流电机他励直流电机。
有参考资料正反转切换要玩得6得在H桥驱动上做手脚。
上示波器实测的PWM时序逻辑always(posedge clk) begin case(direction) 2b01: //正转 {A_H, A_L} {PWM_out, ~PWM_out}; 2b10: //反转 {A_H, A_L} {~PWM_out, PWM_out}; default: //刹车 {A_H, A_L} 2b00; endcase end注意这里必须保证同一桥臂的上下管信号严格互锁死区时间建议取载波周期的1/20。
电机反转时的电流冲击可以通过在ACR中设置双向限幅来抑制别让电流超过额定值
5倍。
仿真时遇到最魔幻的bug是电机堵转时转速环发疯。
解决办法是在ASR输出后加个陷波器def notch_filter(speed_error): global prev_error filtered
9*prev_error
1*speed_error prev_error filtered return filtered这个一阶低通滤波能把突变的转速误差滤平相当于给控制环踩了脚刹车。
实测下来系统反转时的过渡过程能从2秒缩短到
8秒而且没有明显超调。
玩转这套系统后你会发现电机控制就是个平衡艺术——整流器要足够浪控制环要足够稳。
最后甩个彩蛋在ACR前级加个负载观测器系统抗扰动性能直接起飞具体实现咱们下回分解。