hu:arduino:relay_modul

Differences

This shows you the differences between two versions of the page.

hu:arduino:relay_modul [2020/04/15 08:54]
hu:arduino:relay_modul [2022/04/21 15:02] ()
 1:  1:
 +====== 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ó.
 +
 +<WRAP center round important 80%>
 +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,..).
 +</WRAP>
 + 
 +
 +==== 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:
 +
 +<code c>
 +// 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();
 +}
 +</code>
 + 
 +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]]