✨ 长期致力于音圈电机、数学模型、不对称级联H桥、开关线性混合功率放大器、超精密定位研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1考虑迟滞和电涡流阻尼的非线性音圈电机数学模型构建针对传统线性模型无法表征高频运动下迟滞特性的问题提出了基于改进Preisach模型与电涡流阻尼项的组合数学模型。通过扫描实验频率范围0.1-100Hz行程±10mm获取迟滞环数据采用自适应粒子群算法辨识Preisach分布函数的权重参数将迟滞误差从0.8%降低到0.12%。同时测量定子材料为硅钢片和叠片铁氧体两种情况下的自由振荡衰减曲线辨识出空气阻尼系数c_a0.023 N·s/m和电涡流阻尼系数c_e0.047 N·s/m硅钢片与0.008 N·s/m铁氧体。将机械谐振频率测试结果一阶谐振峰在187Hz用于设计二阶陷波器传递函数为(s^22*0.25*187s187^2)/(s^22*0.7*187s187^2)有效抑制了谐振峰约18dB。2不对称级联H桥七电平与线性放大器串联的混合拓扑设计提出一种新型开关线性混合功率放大器开关级采用不对称级联H桥拓扑由两个独立直流电源48V和24V和四个功率MOSFET组成通过多频率载波PWM调制高频三角波25kHz与低频三角波1kHz叠加生成七电平输出电压-72V,-48V,-24V,0,24V,48V,72V。为解决电流倒灌问题在每相桥臂串联快速恢复二极管并设计逻辑互锁电路。开关级输出经LCCR低通滤波器L15μHC1220μFC247μFR2.2Ω后电压总谐波失真THD在250Hz基频下为2.4%电流纹波峰值1.2mA。线性级采用基于OPA549的高带宽线性放大器通过双PI控制器比例系数Kp10.8Ki1120Kp21.2Ki2200补偿开关级输出电压误差使得最终输出电流精度达到±0.05%。3自适应自抗扰与改进复合非线性反馈的双模控制策略针对轨迹跟踪和点对点定位两种工况设计切换控制框架。跟踪模态采用五阶S型曲线作为位置指令设计三阶自抗扰控制器扩张状态观测器带宽设为200rad/s状态误差反馈增益根据带宽参数化法计算。在幅值5mm、频率5Hz的正弦跟踪实验中自抗扰控制的最大跟踪误差为0.83μm比PID减小46%。定位模态采用带积分器的改进复合非线性反馈控制构建了状态依赖的Lyapunov函数设计非线性反馈律并引入扩张状态观测器估计未知扰动。在±2mm阶跃定位测试中改进CNF实现了0.4μm稳态精度且无超调调节时间0.12s而传统PID超调4.2%、调节时间0.28s。双模切换通过判断位置指令的微分绝对值大于5mm/s时启用跟踪模态否则切换至定位模态平滑过渡采用Sigmoid加权融合。import numpy as np import control as ct from scipy.signal import freqz, lfilter def preisach_density(x, y, alpha0.5): return alpha * np.exp(-alpha*(x**2 y**2)) def compute_hysteresis(input_signal, thresholdsnp.linspace(-10,10,50)): output np.zeros_like(input_signal) mem np.zeros(len(thresholds)) for i, u in enumerate(input_signal): for j, t in enumerate(thresholds): if u t: mem[j] 1 elif u -t: mem[j] -1 output[i] np.sum(mem * preisach_density(thresholds, thresholds)) return output def design_notch_filter(f0187, zeta10.25, zeta20.7): b [1, 2*zeta1*f0, f0**2] a [1, 2*zeta2*f0, f0**2] return b, a def adrc_position_control(y_ref, y_meas, dt, w0200, wc50): # 简化ADRC算法 b0 1.2 z1, z2, z3 0, 0, 0 u_out 0 for i in range(len(y_ref)): e z1 - y_meas[i] fe e fe1 e z1 dt*(z2 - 3*w0*e) z2 dt*(z3 - 3*w0**2*fe b0*u_out) z3 dt*(-w0**3*fe1) e1 y_ref[i] - z1 u0 wc**2 * e1 - 2*wc*z2 u_out (u0 - z3) / b0 return u_out def composite_nonlinear_feedback(error, d_error, k1100, k20.5, sat_lim0.1): rho np.exp(-0.5 * error**2) u_nl k1 * error k2 * d_error * rho return np.clip(u_nl, -sat_lim, sat_lim) class MixedPowerAmplifier: def __init__(self, dc_voltages[48,24]): self.dc dc_voltages self.filter_coeff ([0.002, 0.005, 0.002], [1, -1.5, 0.55]) def pwm_modulation(self, ref_voltage): # 不对称级联H桥电平选择 levels sorted([-sum(self.dc), -self.dc[1], 0, self.dc[1], sum(self.dc)]) idx np.argmin(np.abs(np.array(levels) - ref_voltage)) return levels[idx], idx def lccr_filter(self, v_sw): v_lin lfilter(self.filter_coeff[0], self.filter_coeff[1], v_sw) return v_lin