019、位置传感器类型与原理
一次让我熬夜到凌晨三点的编码器故障
去年做伺服驱动器项目,电机在低速运行时突然出现剧烈抖动,电流波形像被狗啃过一样。示波器挂上编码器信号线,A相和B相的占空比明显不对称——一个高电平持续1.2μs,另一个只有0.8μs。查了半天,发现是编码器线缆屏蔽层在电机侧接地,而驱动器侧也接了地,形成了地环路。拆掉驱动器侧接地,波形恢复正常。
那次之后我养成了个习惯:拿到一个新电机,第一件事不是看扭矩参数,而是先搞清楚它屁股后面装的是什么传感器。
霍尔传感器:便宜但别指望它干精细活
霍尔传感器的工作原理其实挺简单——三个开关管相隔120度安装,转子磁极扫过时输出高低电平。三个信号组合起来,一个电周期内能分辨出6个扇区,每个扇区60度电角度。
代码里最容易翻车的地方是霍尔信号的边沿捕获。很多人喜欢用外部中断同时捕获三个霍尔信号,结果中断嵌套把自己搞死。
// 霍尔信号捕获——别用三个独立中断,会出大事// 正确做法:用定时器输入捕获模式,或者用IO中断+轮询voidHAL_GPIO_EXTI_Callback