Stránka 1 z 1

Ovládání pojezdové brány

Napsal: 24 čer 2018, 19:13
od hausmannl
Dobrý den, měl bych dotaz. Potřebuji trochu poradit s ovládáním brány. Mám desku Arduino WeMos D1 ( viz zde : http://navody.arduino-shop.cz/navody-k-produktum/esp8266-vyvojova-deska-wemos-d1.html ). Mám H-můstek pro ovládání směru motoru (24VDC) z 2-kanálového relé. Jedno relé pro otevření a zavření spínám z aplikace BLYNK a druhé relé bych potřeboval, aby se při sepnutí koncového spínače přepnulo a bylo připraveno zavřít. V tom okamžiku kdy dám povel na zavření tak tam jsem se zaseknul, protože magnet mi rozpojí snímač a brána by se zastavila. Dá se to vyřešit třeba prodlevou v rozepnutí ? Nebo nějaký lepší nápad ? Děkuji za pomoc.

zde můj náčrt programu:

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int rele = D6;
int spinac = D4;
int stavSpinac = 0;


// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kod";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "nazevsite";
char pass[] = "heslo";

void setup()
{
// Debug console
Serial.begin(9600);

Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);

pinMode(rele, OUTPUT);
pinMode(spinac, INPUT);
}

void loop() {
Blynk.run();

stavSpinac = digitalRead(spinac);

if (stavSpinac == HIGH) {
// zapne rele
digitalWrite(rele, LOW);
}
else {
// vypne rele
digitalWrite(rele, HIGH);
}


}

Re: Ovládání pojezdové brány

Napsal: 25 čer 2018, 08:17
od petan
Z popisu přesně nechápu jak chceš aby relé spínalo - resp. nechápu jak brána funguje. H-můstek, relé, ... přihoď nějaký schéma.
Určitě by brána měla mít koncové spínače v obou polohách a nějakou laserovou zábranu aby to někoho nescvaklo.

Impulz od ovladače by pak jenom přepnul stav nějaké proměnné. Logika by pak zajistila, aby se dveře zavřely, nebo otevřely tak, aby byl splněný požadovaný stav. Samozřejmě je nutné hlídat ještě dobu dojetí (pro případ zaseknutí), otevření při přerušení laseru brány a opětovné zavření.

To co máš v proramu ty lze napsat na jeden řádek takto (viz kód níže). Zde se nic neukládá, takže výstup přímo odpovídá stavu na vstupu.

Kód: Vybrat vše

//výstup 'rele' je negovaný vstup 'spinac'
digitalWrite(rele, !digitalRead(spinac));

Re: Ovládání pojezdové brány

Napsal: 25 čer 2018, 09:16
od hausmannl
IMG_20180625_090603.jpg
Ahoj zde je náčrt jak si to představuji jen schématicky. Přesně jak popisuješ, zadám povel - impuls, jednotka zpracuje, vydá signál k sepnutí relé, brána jede. Mezi sloupky bude optočidlo, které by v případě sepnutí zastavilo bránu, počká zadaný čas a opět pojede. sepne koncový spínač a stojí. Jednotka čeká na další povel.

Re: Ovládání pojezdové brány

Napsal: 25 čer 2018, 14:26
od petan
Nějak nechápu funkci a zapojení bezpečnostního relé. Jestli je to kvůli odepínání motoru, nebylo by lepší ho připojit k napájení (24V) H-Můstku? A ne až za něj...