Differences
This shows you the differences between two versions of the page.
hu:arduino:relay_modul [2020/04/15 08:38] |
hu:arduino:relay_modul [2022/04/21 15:02] () |
||
---|---|---|---|
1: | 1: | ||
+ | ====== Relé-Modulok ====== | ||
+ | |||
+ | {{ : | ||
+ | ===== BMZxxTN Többcsatornás MOSFET IO-kártya | ||
+ | A kártya relék helyett MOSFET-ekkel végzi a kapcsolást, | ||
+ | |||
+ | ==== Technikai adatok ==== | ||
+ | * Tápfeszültség: | ||
+ | * Üzemi áramfelvétel: | ||
+ | * Kimenet: optoval leválasztott, | ||
+ | * Maximális kimeneti áram: 6A | ||
+ | * Kimeneti oldali feszültség: | ||
+ | * Kapcsolási idő: legfeljebb 1 ms | ||
+ | * Maximális kapcsolási frekvencia: 2000 Hz | ||
+ | * Installáció: | ||
+ | |||
+ | ==== 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, | ||
+ | |||
+ | |{{ : | ||
+ | |||
+ | ===== HK4100F relé ===== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | A kínai gyártmányú, | ||
+ | |||
+ | **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: | ||
+ | * Maximális kapcsolási áram: 3 A | ||
+ | * Maximális kapcsolási teljesítmény: | ||
+ | * Érintkező ellenállás: | ||
+ | * Impedancia: 120Ω +/- 10% | ||
+ | * Tekercsteljesítmény: | ||
+ | * Névleges feszültség: | ||
+ | * Működési hőmérséklet: | ||
+ | |||
+ | {{ : | ||
+ | ===== 4 csatorná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, | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== JD jumper ==== | ||
+ | |||
+ | A JD jumperen/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Relémodul példa ==== | ||
+ | |||
+ | {{: | ||
+ | kép forrása: [[https:// | ||
+ | |||
+ | 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, | ||
+ | digitalWrite(relay, | ||
+ | // PIR motion sensor set as an input | ||
+ | pinMode(PIRInterrupt, | ||
+ | // Triggers detectMotion function on rising mode to turn the relay on, if the condition is met | ||
+ | attachInterrupt(digitalPinToInterrupt(PIRInterrupt), | ||
+ | // 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, | ||
+ | relayState = LOW; | ||
+ | Serial.println(" | ||
+ | } | ||
+ | delay(50); | ||
+ | } | ||
+ | |||
+ | void detectMotion() { | ||
+ | Serial.println(" | ||
+ | if(relayState == LOW){ | ||
+ | digitalWrite(relay, | ||
+ | } | ||
+ | relayState = HIGH; | ||
+ | Serial.println(" | ||
+ | lastDebounceTime = millis(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Mondjuk ha már 230V-ot kapcsolgatunk, | ||
+ | |||
+ | {{: | ||
+ | kép forrása: [[http:// | ||