Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2164|回復: 3

使用二路繼電器,製作簡易電源變動治具,遇到問題

[複製鏈接]
SBQ 該用戶已被刪除
發表於 2018-5-4 14:06:19 | 顯示全部樓層 |閱讀模式
小弟想使用2路繼電器,做一個簡易的電源變動治具。
功能說明:啟動時Relay 1和Relay 2同時輸出12V,
Relay1輸出5秒後,降到0V,1秒後再上升至12V。
Relay2輸出5.5秒後,降到0V,0.5秒後再上升至12V。
三個循環後,Relay1、Relay2同時輸出12V,持續10秒
然後降到0V,3秒後再重新LOOP。

問題:在執行第一、二次的時候,都沒有問題,
但是LOOP第三次時,在Relay1、Relay2同時輸出12V,持續10秒這個階段會變成只持續約6秒
然後一些電源變動就會發生錯亂。

請教各位前輩,我的這個程式是不是有什麼錯誤,麻煩協助告知。

int relay1 = 8;
int relay2 = 9;
void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
}
void loop() {
  for (int i = 0; i < 3; i++) {
    digitalWrite(relay1, HIGH);digitalWrite(relay2, HIGH);
    delay(5000);
    digitalWrite(relay1, LOW);
    delay(1000);
    digitalWrite(relay2, HIGH);
    delay(500);
    digitalWrite(relay2, LOW);
    delay(500);
  }
  digitalWrite(relay1, HIGH);digitalWrite(relay2, HIGH);
  delay(10000);
  digitalWrite(relay1, LOW);digitalWrite(relay2, LOW);
  delay(3000);
}
另外附上一張簡易的電源變動示意圖,供參考。
電源變動.jpg
謝謝
發表於 2018-5-4 14:31:00 | 顯示全部樓層
這個程式很簡單, 應該不致於有問題
比較可能的是切換繼電器干擾到 Arduino, 或是硬體接線有問題

簡單的測試方法是
1) 用13 根腳 的LED 去取代其中一個繼電器
例如改成
int relay1 = 13;
看看少了一個繼電器輸出,  LED 的輸出是不是也和預期的一樣
2) 或是 把 8, 9 各用一個 LED 取代
藉由 LED 的輸出是不是也和預期的一樣
再慢慢把東西加回去



SBQ 該用戶已被刪除
 樓主| 發表於 2018-5-4 15:06:24 | 顯示全部樓層
超新手 發表於 2018-5-4 14:31
這個程式很簡單, 應該不致於有問題
比較可能的是切換繼電器干擾到 Arduino, 或是硬體接線有問題

感謝您的回覆,使用LED來試驗,確實可以達到預期的效果。
但我需要輸出12V,請問有什麼建議的方式嗎?
謝謝
發表於 2018-5-4 15:30:27 | 顯示全部樓層
不確定是什麼原因造成
基本上, 用 RELAY 去切 12v, 應該沒什麼問題
會不會是你直接去驅動 RELAY
而沒有用電晶體控制?
現在都有現成的relay模組可用
裡面還有光耦合, 可以一次解決所有問題

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-3-29 03:55 , Processed in 0.195436 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表