请问,我执行开始水泵或者风扇时候只是指示灯开启了,但是风扇等并没有工作。我代码里应该也写全了,但是还是不能实现。有没有大佬解答一下
“指示灯亮了就说明你的代码完全没问题,MCU的GPIO拉高了,ULN2003A也成功把引脚拉低了。别再改代码了,方向错了。 问题出在继电器或者功率部分的供电上。 按照你的排查顺序来:
- 先听声音:发指令时,继电器有没有‘吧嗒’的吸合声?如果没有,检查继电器的5V供电。
- 如果有吸合声:看你的原理图,接线端子(P1/P2)供电是由
5VR提供的。检查板子上是不是有5V和5VR的隔离跳线帽没有插? - 电流问题:你接了风扇和水泵,这俩都是感性负载,起步电流很大。如果你是直接插在电脑USB上供电,大概率电流不够,电压直接被拉低带不动电机。建议换个2A以上的独立电源试试。”
軟體 100% 沒問題。LED 燈跟 ULN2003A 輸出端的繼電器線圈是並聯的,所以只要燈有亮,就代表邏輯執行完全沒問題。你的問題在於實際負載的供電不足。那些小型潛水泵在啟動時會產生巨大的電流湧升。如果你是透過標準 USB 埠供電給整個板子,電壓會驟降導致馬達無法轉動,即使繼電器已經閉合也一樣。試著接一個獨立的 5V/2A 電源供應器到板子的主電源輸入端,並確認 5VR 電源軌確實有通電。
楼主这个问题我之前踩过一模一样的坑!指示灯亮就说明 MCU 的 GPIO 输出、ULN2003 驱动芯片这一路完全没问题,别再死磕代码了。按我这个顺序查,10 分钟就能定位:
- 先拿万用表量继电器线圈两端电压,吸合的时候应该有 4.8V 左右。如果电压不够,要么是 + 5V 电源带载能力差,要么是 ULN2003 焊虚了;
- 重点来了!你电路图里继电器触点用的是5VR 独立电源,不是主 + 5V!90% 的人都会忘接这个,我上次就是这里卡了一下午;
- 要是 5VR 有电,就把风扇直接怼 5V 电源上试,转就是继电器坏了,不转就是风扇本身或者接线接反了。先查 5VR,大概率就是它的问题!
好的谢谢
好的谢谢
好的谢了
指示 LED 開啟 = ULN2003 輸出為低電平 = 繼電器線圈通電。問題不在程式碼或 GPIO。 問題出在繼電器接點電路或負載電源供應。立即檢查:量測 5VR 電壓(繼電器接點電源)。這是此設計中最常見的故障點。
- 若無 5VR:將 5VR 連接到您的 5V 電源。
- 若有 5VR:直接以 5V 測試風扇/泵浦。若負載能正常運作,請更換繼電器。
找到问题了吗,是什么问题?




