本帖最后由 Angus 于 2026-3-22 22:22 编辑
这个排烟机的代码:
M451_FOC_V26_IEC60730_Fan.zip
(476.14 KB, 下载次数: 344)
, 已含必须用汇编语言写的 60730 认证函数。
IPM 的 VFO 引脚内有个常温85K的热敏电阻, 外加30K上拉电阻 R301。
常温时热敏电阻值=85K, 引脚电压约 5V * 85/(85+30) =3.7V。
当 IPM 温度=85度时,热敏电阻约7.5K, 引脚电压 5*7.5/(7.5+30) =1V。
温度信号经 R222,C216(RC=20us)滤波后接 ADC——M451 的 PB6, 测量 IPM 的温度。
短路时 VFO 输出 40us 的0电平(低于 0.5V)。经 R302 和 C308 (RC=0.1us)消抖后接 M451 的模拟比较器输入端——第1脚 PB5,配置为电压低于 5v/6 =0.83V 时比较器输出低电平再经 R231,C221 (RC=1us)连到break 引脚——PD2,触发硬件短路保护中断 BRAKE0_IRQHandler() 。
IPM 驱动电压过低时 VFO 输出低电平,ADC 中断里若读到 PD2 连续多次低电平,就置位驱动电压过低标志 Stop_Runing |= Stop_15V_LOW; main()函数里解除短路保护。当然驱动电压低也不会转动。
运放把采样电阻上的电压信号放大了5倍。运放输入端 RC 滤波常数 0.6K * 0.22n = 0.132us,滤一下电流信号中的开关振荡,运放输出端的滤波常数再大一倍 0.51K*0.47n =0.24us。
|