![]() |
a應該是傳感器采集的水位數據,當第一個循環為假就退出來了啊,大于上限就斷開繼電器,保持繼電器斷開到水位到下限再閉合繼電器 |
程序問題,不是電問題 執行完第一個do while接著 relay=0; 再執行第二個do while,接著 relay=1. 主循環不停的 0,1,把這兩句去掉 |
三極管換成PNP的,代碼改成低電平輸出繼電器吸和就可以了 |
單片機端口輸出電流不足,把P37設置為推挽模式。 |
電路沒問題,是程序有問題。通過判斷a的值控制繼電器的通斷,用if語句就可以了,不要用do……while循環。 |
我只知道電路沒有問題,我是搞硬件的,電路OK,IO只要設置成為推挽模式,肯定能行。 |
像控制繼電器可以使用nmos來驅動,直接用三極管,中間可以加一個電流型的達林頓管,增強帶載能力 |
xiaobendan001 發表于 2024-4-18 12:35 感謝!我試試。 |
gsr64 發表于 2024-4-18 15:09 感謝!我試試 |
P3.7接一個10K的上拉電阻就可以了。 |
新型單片機就設置為推挽模式,老型號就增加一個上拉電阻 |
單片機輸出電流遠小于輸入電流,建議使用UN2008增加輸出電流! |
lkc8210 發表于 2024-4-18 09:17 感謝我試試 |
devcang 發表于 2024-4-18 10:31 測的只有0.14V但是那個狀態確實應該輸出高電平的。我實在想不出來哪里出來問題 |
jhczy 發表于 2024-4-18 08:52 感謝,我試試 |
LHWCCJ 發表于 2024-4-18 08:49 5V的這個沒問題 |
動作時,b的電壓多少。。。。 |
![]() |
繼電器輸出接線錯誤。 請仔細檢查。 |
R14改成1k,R19去掉 |
是不是繼電器電壓用錯了 |
代碼邏輯有問題,a的來源也有問題,先解決代碼問題吧 |
Hephaestus 發表于 2024-4-17 19:43 大哥已經測的4.7V左右 |
dyx811 發表于 2024-4-17 21:12 en本人初學這些還學的很差,我只知道傳感器實時采集的,可以顯示實時水位數據 |
Hephaestus 發表于 2024-4-17 19:43 en你好我菜雞一枚。這個測倆端壓降有啥用呢。 |
cy009 發表于 2024-4-17 20:09 a是傳感器采集的水位數據,當yi第一個循環為假就退出來了啊,就大于上限斷開繼電器,然后一直保持繼電器斷開到水位到下限再閉合繼電器 |
大IGBT 發表于 2024-4-17 19:54 本人初學菜雞,采用的51單片機,P3口是帶有上拉電阻的吧,驅動三極管開關電路理論上應該沒問題吧。然后程序里面也是高電平閉合,低電平斷開,程序里的開就是斷開,注釋沒好。然后您說的后面這我已經換了一個1k的電阻接IO口,也試過了,但是還是不行。我也用萬用表測試過,處于第一個循環中,應當繼電器閉合,但是繼電器依舊處于處于開路狀態。同時我用相同的電路,但是這次采用一個按鍵接1k的電阻到vcc繼電器又能工作。這就讓我很迷惑。 |
程序里面的“a”變量是多久采集一次? |
a是什么變量? 有a>,有a<, 那么a=呢?做什么? |
再補充一個問題 3,基極電阻太大三極管有可能臨界導通或工作在放大區,如果單片機是弱上拉再加上上拉電阻就更不可靠了。 |
兩個問題:1,用的什么單片機,P37是否具有推完輸出功能 2,電路圖中高電平吸合,程序中是低電平吸合。 |
先測Q2的b極和c極電壓。 |