Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3682|回復: 6
打印 上一主題 下一主題

繼電器與程式搞不懂

[複製鏈接]
跳轉到指定樓層
1#
發表於 2015-6-11 01:42:41 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

想請教電路配法跟ARDUINO程式
這圖是老師給的手稿,因為夜校老師畫的有些模糊..所以我用小畫家整理了一下..
老師要我做一個遮雨棚,用一個單路跟一個雙路繼電器去控制馬達 有雨下降 沒有雨就上升
目前小弟的裝備(ARDUINO板+雨感測器+一路.二路光耦式繼電器+直流馬達+自製棚子+很多的線+車用電瓶一顆)

原先老師要我做半制動式,也就是下降靠ARDUINO控制,上升則用開關控制
可是...這次老師又改了題目,要我做ARDUINO全自動控制XD
原先的程式是有雨就下降,沒有雨我就用手動開關讓他上升
這程式我已是很勉強搞定...幾乎是越級打BOSS

但這次老師給的手稿由於相當模糊不清楚,所以看不懂搞不定啦><
用小畫家畫的還有一些配線是未配的 因為我也不清楚老師所畫的稿子有些線怎走
程式方面,我不懂得該如何去寫有雨上升 沒雨下降...(雨感測器 就我見解...屬於有雨有電過 沒雨沒電過)
既然沒雨沒電過,沒電過馬達怎麼動><"

圖是小弟我看著手稿畫的,老師的想法畫是對的,但今過小第二次催生後...若有不對的地方請怪小弟我
在此小弟想請問各位專家們 可否給小弟建議
該如何用一個一路跟一個兩路繼電器控制?
程式方面寫法又是如何?
2#
發表於 2015-6-11 23:44:40 | 只看該作者
本帖最後由 ates1687 於 2015-6-11 23:49 編輯

回復 1# ooppcur123


   
=_=我大概畫了一下示意圖,怪怪的地方倒是不少~

問題就在於馬達啟動那邊的繼電器不會動
(就是有動作之後還是一樣,你指是變成NCNO→NONC上下對掉),
Pin13那個根本就是多餘的(意義不明的繼電器= =)


還有既然是雨棚大電力一定少不了,

就算只是用伺服馬達純粹去展示雨棚功能,上面的電路就不會是那麼複雜

所以到底是要"功能"?還是真正的"模擬"雨棚?

我所謂的"功能"是指只要隨便拿一個紙板上升下降就OK

"模擬"的話要大電力的馬達,是接近雨棚的重量去做

所以這兩個圖會差很多就是了!

(註:有問題就用電腦拍照到小畫家圈起來,上傳之後再做討論)

接著樓下的請繼續討論

arduino.jpg (238.87 KB, 下載次數: 232)

示意圖

示意圖
3#
發表於 2015-6-12 23:54:21 | 只看該作者
你有加放大器嗎?
繼電器有的網站說ARDUINO不夠力會起不來,要加電晶體
你先測 繼電器 訊號端有沒有輸出吧.  COM 端為正  會不會有"答"的聲音


雨感測器
無雨時 繼電器(下降)啟動
有雨時 繼電器(上升)啟動
PS 因該一顆也可以 常閉 接下降  常開接 上升

你的PIN13是怕會燒掉用的嗎?
4#
 樓主| 發表於 2015-6-13 15:10:16 | 只看該作者
本帖最後由 ooppcur123 於 2015-6-13 15:14 編輯

回復 2# ates1687


    這是小弟買的雙路繼電器(有兩個)
我是要做"模擬"型的 (我朋子重量7.5kg
我用的是車窗馬達+車用電瓶
目前搞不懂線的接法跟程式該怎麼寫
我看我的繼電器跟你圖上的繼電器不同@@"
雨棚我已經做好了 用六P開關可以做正反轉上升跟下降
現在我要做的是感測自動上升下降
(感謝專家大大的回覆)︿︿?
5#
 樓主| 發表於 2015-6-13 15:12:55 | 只看該作者
回復 3# BlackJa


  我沒有放大器不過我有用arduino板子去推繼電器過 可以動!
一顆我沒試過
因為我連配線都一頭霧水了><

(感謝專家大大的回覆)^^"
6#
發表於 2015-6-13 16:34:48 | 只看該作者
本帖最後由 BlackJa 於 2015-6-13 16:42 編輯

我打的長篇不見了....
簡單的說 你那個繼電器已經有放大電路了。
VCC GNG 電源跟接地 IN1 IN2 可同時接 PIN 13

右邊的6個接頭,有討論區說 馬達接地不能接在一起會短路...可能跟型號有關
NC 1 馬達 上升
COM 1 上升的接地

OC 2 馬達 下降
COM 2 下降的接地


這樣你的 PIN13 輸出 0 就會下降 1會上升 缺點是會燒掉因為一直持續下降,要有判斷示.....

原本有3個接法但不見了 哭哭 ......
7#
 樓主| 發表於 2015-6-14 12:24:05 | 只看該作者
回復 6# BlackJa


int A0Pin=0;                     //雨滴感測器 A0腳位int D0Pin =2;                    //雨滴感測器 D0腳位
int ledPin=13;                   //定義LED腳位
int D0Status;                    //宣告雨滴感測器狀態暫存器
int val=0;                       //雨滴感測器的電壓參數
int D0_T=0;
int noD0_T=0;
boolean Enable = true;
boolean ledStatus = true;        //宣告LED狀態暫存器
void setup()
{
    pinMode(ledPin,OUTPUT);      //定義I/O腳位13為輸出
    pinMode(D0Pin,INPUT);        //
    Serial.begin(9600);           //設定鮑率為9600
}
void loop()
{
    //---------analog output---------
    val=analogRead(A0Pin);       //讀取ADC腳位變化
    Serial.println(val);          //顯示val值
    //---------digital output---------
    delay(1);    //delay 1ms
    D0Status = digitalRead(D0Pin);      //擷取D0Pin目前的狀態(HIGH或LOW)
    if(D0Status == LOW)
    {
      noD0_T = 0;                           //清除無雨滴感測計時器
      D0_T++;                               //計時雨滴感測計時器
      if((D0_T >= 10) && (Enable == true))  //若雨滴感測啟動的時間超過一個時間範圍並且土壤濕度感測判別感測功能被啟動時
      {
        Enable = false;                     //關閉雨滴感測功能
        digitalWrite(ledPin,HIGH);          //LED亮起,表雨水濕度超過範            
        D0_T = 0;
      }
    }
    else
    {
      if(D0_T > 0)                         //若雨滴感測器的數值大於0,表示剛有一定的濕度標準,但是一下子就乾了
      {
        if(++noD0_T >= 10)                 //若雨滴感測器的計時時間超過一個時間範圍則
        {
          digitalWrite(ledPin,LOW);   //LED熄滅,表濕度低於範圍            
          Enable = true;                   //啟動雨滴感測功能
          D0_T = 0;                        //清除雨滴感測計時器
          noD0_T = 0;                      //清除雨滴感測計時器
        }
      }
    }
}


不知到這組程式行不行改...
我試過接法了,我用電池跟超小馬達測試過 可以用
不過現在是卡到程式...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 13:07 , Processed in 0.254215 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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