Robofun 機器人論壇

標題: 使用二路繼電器,製作簡易電源變動治具,遇到問題 [打印本頁]

作者: SBQ    時間: 2018-5-4 14:06
標題: 使用二路繼電器,製作簡易電源變動治具,遇到問題
小弟想使用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);
}
另外附上一張簡易的電源變動示意圖,供參考。

謝謝

作者: 超新手    時間: 2018-5-4 14:31
這個程式很簡單, 應該不致於有問題
比較可能的是切換繼電器干擾到 Arduino, 或是硬體接線有問題

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




作者: SBQ    時間: 2018-5-4 15:06
超新手 發表於 2018-5-4 14:31
這個程式很簡單, 應該不致於有問題
比較可能的是切換繼電器干擾到 Arduino, 或是硬體接線有問題

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






歡迎光臨 Robofun 機器人論壇 (https://www.robofun.net/forum/) Powered by Discuz! X3.2