关于无刷电调BEMF的问题
本帖最后由 rabi 于 2024-6-14 15:03 编辑学了STC8H8K视频教学中梁工补充的PWM控制电机视频后,仿照梁工提供的电路图自己画了块PCB,成功实现了六拍的开环控制。
但在打算进一步完成BEMF过零检测时,发现经过分压后的ADC端的平均电压才约为比较器负输入端CMP-的十分之一,进而导致二者的差值不存在过零点。
即等同于上图梁工视频中的ADC10/9/8采集到的电压远小于CMP-处的电压。
请问为什么会出现这种状况?又该如何修复?谢谢!
补充说明
部分参数
- 主控STC8H1K08
- 电机输入电压为3V
- 单片机输入3.3V
- 每步间隔2ms
- PWM占空比100/255
- PWM频率约为43kHz
出问题的PCB原理图(各阻容的数值均与梁工提供的一致)
核心代码(主函数中初始化后直接进入该函数)
示波器波形(红色为ADC_U,黄色为CMP-,橙色为二者差值)
其他说明
- PCB上的元件均是由嘉立创SMT的,应该不存在焊接问题
- 示波器无源探头和示波器设置均为1x
- 电机是2204 1400kv的,在上述代码下可正常运转
按理不应该的。
CMP-是3个信号的中点,反电动势相对于CMP-是正负变化,不会一直低于或高于CMP-,所以请仔细检查电路是否有误。
我的图中是按最高供电24V设计的分压电阻网络,适用12~24V,如果你的供电电压低于12V或高于24V,请参考STC32G12K128的版本,使用驱动IC驱动MOSFET,并且修改分压电阻以适应你的电压。
页:
[1]