4、霍尔信号采集:硬件电路设计、上拉电阻、滤波电容、信号调理
好,咱们接着聊霍尔传感器。上一章讲了霍尔元件怎么装、怎么对位置,这一章咱们得真刀真枪地干硬件了。
霍尔传感器输出的是什么?说白了,就是一个开关信号。转子磁极转过来,它就拉低;转过去,它就释放。但问题来了——这个信号直接给单片机,能行吗?
我告诉你,不行。至少,不能直接这么干。
为什么?因为霍尔传感器的输出是开漏(Open-Drain)结构。它只能拉低,不能主动拉高。你不给它加个上拉电阻,它输出高电平的时候就是悬空的,电平不确定。单片机读到的是什么?鬼知道。
4.1 上拉电阻:选多大?
上拉电阻的取值,我见过很多新手在这上面翻车。选太大了,信号上升沿慢得像蜗牛;选太小了,功耗又高得离谱。
我个人习惯,对于5V系统,霍尔信号的上拉电阻取4.7kΩ~10kΩ。3.3V系统可以适当小一点,2.2kΩ~4.7kΩ。
为什么是这个范围?你想想看,霍尔传感器的输出级是一个NPN三极管或者MOS管,它拉低的时候,导通电阻大概几十欧姆。上拉电阻如果太小,比如1kΩ,那拉低的时候电流就是5V/1kΩ=5mA。三个霍尔加起来15mA,虽然不算大,但能省则省嘛。
反过来,上拉电阻太大,比如100kΩ,那信号上升沿就慢了。因为霍尔输出端对地有寄生电容,加上PCB走线的分布电容,RC时间常数一算,上升沿可能拖到几微秒。对于低速电机可能无所谓,但高速电机——比如几万转的——霍尔信号频率可能到几kHz甚至十几kHz,上升沿太慢会导致过零检测不准。
4.2 滤波电容:要不要加?
这个问题,我直接说结论:要加,但别乱加。
霍尔信号从电机内部出来,经过长长的线束,再到控制板。电机运行的时候,PWM开关噪声、电机绕组的反电动势、甚至机械振动,都会在霍尔线上感应出毛刺。
不加滤波电容?那单片机的中断脚可能被毛刺触发好几次,换相逻辑直接乱掉。
但电容加太大也不行。我见过有人每个霍尔信号对地并一个100nF的电容,结果信号上升沿变得圆滚滚的,过零检测点都偏移了。
我的建议是:
- 对地并联10nF~47nF的陶瓷电容,放在靠近单片机引脚的位置
- 如果线特别长(超过50cm),可以在电机端也加一个10nF
- 千万不要用100nF以上的电容,除非你的电机转速很低
4.3 信号调理:把信号整得漂漂亮亮
上拉电阻和滤波电容搞定了,信号就能直接进单片机了吗?
嗯,大部分情况下可以。但有些场景,你得加一级信号调理电路。
什么时候需要?
- 长线传输:霍尔信号线超过1米,容易受干扰
- 高噪声环境:比如大功率电机驱动器旁边
- 电平不匹配:霍尔供电是12V,单片机是3.3V
最简单的调理电路,就是加一个施密特触发器。比如74HC14,一个芯片里有6个反相施密特触发器,正好处理三个霍尔信号。
施密特触发器有什么好处?它有滞回特性。输入电压上升和下降的阈值不一样,这样就能把信号上的小毛刺过滤掉,输出一个干净利落的方波。
我做过一个项目,电机和控制器距离2米,霍尔线走的是排线,旁边就是三相动力线。不加施密特触发器的时候,电机一启动,霍尔信号就乱跳。加了74HC14之后,波形干净得像教科书一样。
霍尔信号 → 10nF电容对地 → 4.7kΩ上拉到VCC → 74HC14输入端 → 74HC14输出端 → 单片机GPIO
4.4 电平转换:3.3V vs 5V vs 12V
霍尔传感器的工作电压范围很宽,从3.3V到24V都能工作。但单片机IO口电压是固定的。
如果霍尔供电是5V,单片机也是5V,那直接连就行。但现在的单片机很多是3.3V的,霍尔用5V供电,输出高电平是5V,直接进3.3V的IO口可能会烧。
怎么办?
我常用的方法有几种:
| 方法 | 优点 | 缺点 |
|---|---|---|
| 电阻分压 | 成本低,简单 | 信号边沿变慢,功耗稍大 |
| 电平转换芯片 | 信号完整,速度快 | 多一个芯片,占PCB面积 |
| 霍尔直接3.3V供电 | 最简单,无转换 | 有些霍尔在3.3V下性能下降 |
我个人最推荐的是霍尔直接3.3V供电。现在很多霍尔传感器,比如常用的AH3503、SS41F,在3.3V下工作完全没问题。这样信号电平直接匹配,省事。
如果必须用5V供电,那就用两个电阻分压:一个10kΩ串联,一个20kΩ对地。5V分压后得到3.33V,刚好在3.3V单片机可接受范围内。
4.5 实际电路设计要点
好了,理论讲完了,咱们说说实际画PCB的时候要注意什么。
- 霍尔信号线尽量短:从电机接口到单片机,走线越短越好。实在绕不开,就包地处理。
- 远离动力线:霍尔信号线不要和三相电机线平行走,尤其是长距离。交叉走线可以,但不要平行。
- 每个霍尔信号独立滤波:不要三个霍尔共用一个滤波电容,每个信号单独加。
- 上拉电阻靠近单片机:上拉电阻放在单片机引脚附近,这样信号在到达单片机之前就被拉高了,抗干扰能力更强。
- 预留测试点:每个霍尔信号都留一个测试点或者过孔,方便示波器调试。我吃过亏,板子做好了,想测波形没地方下手。
嗯,这一章内容不少。霍尔信号采集看似简单,但细节决定成败。你想想看,一个毛刺就能让换相逻辑乱掉,电机嗡嗡响就是不转。所以,硬件上多花点心思,后面软件调试就省心多了。
下一章咱们讲霍尔信号的软件处理——怎么去抖、怎么判断换相时机。到时候见。