====== Relé-Modulok ======
{{ :hu:arduino:bmz_1.png?250|BMZ12TN Többcsatornás MOSFET IO-kártya}}
===== BMZxxTN Többcsatornás MOSFET IO-kártya =====
A kártya relék helyett MOSFET-ekkel végzi a kapcsolást, csatornánként opto-val izolált. A bemeneti oldal lehet 5/12/24 Voltos, a kimeneti oldal típusfüggő, 3.3/5/12/24 voltos lehet (a választott érték szerint kell rendelni). A csatornék száma is választható, 4/8/12/16 csatornás kivitelben (BMZ4TN, BMZ8TN, BMZ12TN, BMZ16TN) építik ezeket a modulokat. Az egység működhet NPN vagy PNP irányban is. A modul kinézete civilizált, szekrényben kalapsínre installálható. Én a banggood-ról rendeltem a modult, [[https://www.banggood.com/IO-Card-PLC-Signal-Amplifier-Board-PNP-to-NPN-Mutual-Input-Optocoupler-Isolation-Transistor-Output-Low-Level-Relay-Module-p-1545883.html|innen]].
==== Technikai adatok ====
* Tápfeszültség: DC3.3 .. 24V
* Üzemi áramfelvétel: 5 .. 10mA
* Kimenet: optoval leválasztott, izolált
* Maximális kimeneti áram: 6A
* Kimeneti oldali feszültség: DC5V .. DC24V (fix)
* Kapcsolási idő: legfeljebb 1 ms
* Maximális kapcsolási frekvencia: 2000 Hz
* Installáció: szabványos sín (kalapsín)
==== Bekötés ====
Az SS láb bekötéséval határozható meg, hogy a modul NPN vagy PNP irányban működik. Ha az SS lábra rákötjük a tápfeszültséget, ami lehet a konfigurációtól függően 5, 12 vagy 24 volt, akkor a modul PNP irányban fog működni:
|{{ :hu:arduino:bmz_pnp.png?400 |PNP bekötés}}|{{ :hu:arduino:bmz_npn.png?400 |NPN bekötés}}|
===== HK4100F relé =====
{{ :hu:arduino:hk4100f.png?400 |HK4100F relé}}
A kínai gyártmányú, nagyon gazdaságos HK4100F relécsalád az Arduinoknál -- mind direkt, mind kátryákon -- a leggyakrabban felbukkanó relétípus. Faék egyszerűségű, alapvelően megbízható, vezetékezése a fenti ábrán látható. Alapvetően 3 típusát gyártják, ezeknek a tekercsfeszülsége: 5V DC, 12V DC, 24V DC. Szekunderkörön mind AC, mind DC kapcsolására alkalmas.
**Technikai adatai:**
* Érintkező anyaga: Ezüst ötvözet
* Szekunderkör jellemzői: 3A 250V AC / 3A 30V DC
* Maximális kapcsolási feszültség: 300V AC / 60V DC
* Maximális kapcsolási áram: 3 A
* Maximális kapcsolási teljesítmény: 750 VA / 90 W
* Érintkező ellenállás: 100 mΩ (1A 6V DC)
* Impedancia: 120Ω +/- 10%
* Tekercsteljesítmény: 0.2W
* Névleges feszültség: DC 5V / DC 12V / DC 24V
* Működési hőmérséklet: -25 ℃ - 70 ℃
{{ :wiki:arduino:4_csatornas_rele_modul.png?200|4 csatornás relé modul}}
===== 4 csatornás "klasszikus" relévezérlés =====
A klasszikus relémodulok 1-2-4-8 csatornás kivitelben kaphatók az Arduinokhoz.
Csatornánként 15-20 mA szükséges a relék vezérléséhez. A relék optokkal vannak leválasztva a bemenetektől, és állapotukról LED visszajelzést is kapunk.
A kimeneti oldalon egyenáram esetén maximum 30V 10A, váltóáram esetén 250V 10A kapcsolható. A kimeneti oldalon NO és NC kimenet is található.
A modul alkalmazásával nekem vannak negatív tapasztalataim. Nagy terhelés esetén többször tapasztaltam, hogy nem azonnal, de egy idő után furcsa működést produkál az Arduino-val. Az egész kapcsolás elkezd ki-be kapcsolgatni, olyan másodperces ciklusban, és ebből a hibából csak teljes áramtalanítással lehet kivenni.
Ezt a problémát valószínűleg az Arduino pinjének a túlterhelése okozza, ami után a board resetelni próbál, de mivel a terhelés továbbra is fennáll, a felfutás után ismét leállást okoz. A fő probléma ezzel a jelenséggel az, hogy nem lehet tudni, hogy mikor fog bekövetkezni. Elkerüléséhez, megoldásához érdemes nem relés kapcsolást alkalmazni (pl. MOFSET, solid state,..).
==== JD jumper ====
A JD jumperen/csatlakozón keresztül megvalósítható a relémodul teljes elektromos szeparálása az Arduino-tól:
{{:wiki:arduino:rele_modul_jd_1.png?500|}}
Ha a jumper VCC állásban van, akkor a relé meghajtását az Arduino-tól kapott VCC végzi. Ha a JD-VCC állásba külső megtáplálást csatolunk, akkor a VCC teljesen le lesz választva a relétől. Ebben az esetben így érdemes a mudult az Aurdino-hoz csatolni:
{{:wiki:arduino:rele_modul_jd_2.png?500|}}
==== Relémodul példa ====
{{:wiki:arduino:rele_modul_pelda.png?400|Relémodul példa}} \\
kép forrása: [[https://randomnerdtutorials.com/guide-for-relay-module-with-arduino/|randomnerdtutorials.com]]
Ebben az összeállításban a PIR mozgásérzékelő egy 230V-os lámpát kapcsolgat 10 másodperces késleltetéssel. A JD jumper itt VCC állásban van, a relé a tápját az Arduino-tól kapja. A példaprogram:
// Relay pin is controlled with D8. The active wire is connected to Normally Closed and common
int relay = 8;
volatile byte relayState = LOW;
// PIR Motion Sensor is connected to D2.
int PIRInterrupt = 2;
// Timer Variables
long lastDebounceTime = 0;
long debounceDelay = 10000;
void setup() {
// Pin for relay module set as output
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);
// PIR motion sensor set as an input
pinMode(PIRInterrupt, INPUT);
// Triggers detectMotion function on rising mode to turn the relay on, if the condition is met
attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING);
// Serial communication for debugging purposes
Serial.begin(9600);
}
void loop() {
// If 10 seconds have passed, the relay is turned off
if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){
digitalWrite(relay, HIGH);
relayState = LOW;
Serial.println("OFF");
}
delay(50);
}
void detectMotion() {
Serial.println("Motion");
if(relayState == LOW){
digitalWrite(relay, LOW);
}
relayState = HIGH;
Serial.println("ON");
lastDebounceTime = millis();
}
Mondjuk ha már 230V-ot kapcsolgatunk, akkor lehet, hogy érdemes volna az optók előnyeit kihasználva az Arduino-t szeparálni a reléktől, az alábbi kiegészítéssel (lásd, a fenti JD jumperes pont):
{{:wiki:arduino:rele_modul_pelda_2.png?400|}} \\
kép forrása: [[http://howtomechatronics.com/tutorials/arduino/control-high-voltage-devices-arduino-relay-tutorial/|howtomechatronics.com]]