Jeffrey Cross
Jeffrey Cross

4 načina za kontrolu elektroničkih releja

Oduvijek sam bio fasciniran relejima, oni su tako apsolutni, tako binarni. U svakom slučaju, izgradio sam nekoliko projekata pomoću releja i mislio sam da ću podijeliti ono što sam naučio kako bi drugima olakšali korištenje releja u svojim projektima. Nisam stručnjak, ja sam samo koder koji se voli igrati s hardverom.

Uvod u releje

Releji su u osnovi prekidači, prekidači koje kontrolirate (uključite ili isključite) primjenom ili uklanjanjem određenog napona na relejni uređaj. Releji nisu potrebni za većinu projekata temeljenih na mikrokontroleru jer će vaša ploča mikrokontrolera (bilo Arduino ili cjeloviti računalni sustav poput Raspberry Pi) moći napajati vanjske uređaje izravno iz I / O portova. Gdje trebate releje je kada želite otvoriti / zatvoriti vanjski krug, ili gdje vaš krug treba kontrolirati veće napone nego što vaš sustav može pružiti.

Koristio sam relej u garažnim otvaračima za garažna vrata koji su upravljani mikrokontrolerima, jer mi je bio potreban moj projekt da oponaša guranje fizičkog gumba (gumb garažnih vrata na zidu) koji je zahtijevao mogućnosti prebacivanja, a ne mogućnost slanja izlaznog napona s ploče. Koristio sam relej u svom projektu svjetlosnog tajmera jer je projekt zahtijevao uključivanje i isključivanje kućne električne struje (110 V AC), što moja Raspberry Pi ne može učiniti izravno.

Postoje dvije uobičajene vrste releja: mehanički releji i poluvodički releji. Mehanički releji koriste elektromagnetsku zavojnicu i fizički prekidač; kada primijenite napon, prekidač se aktivira. Poluvodički releji daju isti rezultat, ali nemaju mehaničke komponente; umjesto toga, oni koriste elektroničke komponente za obavljanje istog posla. Kasnije ćemo u ovom članku početi govoriti o relejnim pločama ili modulima. Releji, općenito, rade kako sam ih opisao gore. Kada radite s komercijalno proizvedenim relejnim modulima, oni obično rade u dva različita načina, ovisno o načinu povezivanja s modulom. Podržani načini rada su normalno otvoreni i normalno zatvoreni.

Na slici 1 možete vidjeti prikaz releja u normalnom načinu rada (NO). U toj konfiguraciji, kada nema napona koji se primjenjuje na upravljački krug (relej na dijelu mirovanja slike), prekidni krug je isključen i struja ne može teći kroz spoj. Kada primijenite odgovarajući napon na upravljački krug, elektromagnetski svitak u releju aktivira i povlači prekidač zatvoren, omogućujući struju da teče kroz uključeni krug.

Slika 1 - Rad normalno otvorenog releja

U normalnom zatvorenom (NC) modu vrijedi suprotno (prikazano na slici 2). Kada je relej u mirovanju (bez napona primijenjenog na upravljački krug), prekidni krug je zatvoren i struja teče kroz uključeni krug. Kada aktivirate relej primjenom odgovarajućeg napona na upravljački krug, elektromagnetski svitak u releju aktivira i povlači prekidač otvoren, zaustavljajući bilo koju struju koja teče kroz uključeni krug. Ne znam kako to točno funkcionira unutar releja.

Slika 2 - Rad normalno zatvorenog releja

Releji su kao i ostali prekidači u kojima postoje različite konfiguracije. Dvije atribute konfiguracije sklopke za vožnju: Pole i Throw. Atribut pola opisuje koliko pojedinačnih krugova upravlja prekidač. Prekidač s jednim polom (SP) upravlja jednim strujnim krugom. Prekidač s dvostrukim polom (DP) upravlja dva odvojena kruga; u osnovi postoje dva međusobno povezana prekidača, od kojih je svaki spojen na vlastiti krug; kada uključite prekidač, oba kruga su istovremeno zahvaćena.

Atribut switch-a throw opisuje broj staza kola koje pruža prekidač. Pojedinačno bacanje (ST) ima samo jednu stazu. S prekidačem bačenim u jednom smjeru, struja teče kroz krug, a on je bačen na drugu stranu, krug je prekinut i nema struje. Prekidač s dvostrukim okretanjem (DT) nudi dva kola. Kada je prekidač bačen u jednom smjeru, struja teče kroz jednu od staza kola, a ona je bačena na drugu stranu, struja teče kroz drugi put strujnog kruga. DT prekidač također može imati središnje isključeno mjesto između dvije opcije staze kola.

Dakle, kada gledate releje, vidjet ćete ih opisane kao nešto poput SPST-a, SPDT-a, DPST-a, DPDT-a itd. Koje bi imalo smisla sada nakon čitanja prethodnih odlomaka.

Kod rada s relejima, svaki model releja se razlikuje na nekoliko načina; najvažnije razlike su u naponskim i strujnim vrijednostima releja. Postoje dva seta brojeva na koje morate obratiti posebnu pozornost, inače ćete oštetiti relejni krug i možda pustiti dim iz releja ili neke druge komponente. Prvi je nazivni napon i struja za upravljački krug, a oni su obično dani kao rasponi. Ovi brojevi govore vam koji su napon i pripadajuća struja potrebni za aktiviranje releja. Drugi skup važnih brojeva govori koliko napona i struje može podnijeti prekidački dio releja.

Dopustite mi da vam pokažem primjer; Slika 3 prikazuje svojstva proizvoda za slučajni relej s DigiKey web stranice. Vrijednosti svitaka istaknute na slici opisuju koliko struja troši relej i maksimalni napon koji možete koristiti s relejem. U ovom slučaju, to je relej od 3 V, tako da morate biti sigurni da vaš projekt može isporučiti 3 Volta za pokretanje releja, inače neće raditi.

Drugi niz brojeva istaknutih na slici govori vam više o tome kako raditi s relejem. Preklopni napon govori koliko volta možete prebaciti s ovim relejem. U tom slučaju, možete spojiti strujni krug prekidača s strujnim krugom do 250 Volti izmjenične struje (AC) ili 220 V istosmjerne struje (DC). Posljednje dvije vrijednosti određuju da će se relej uključiti kada se na relej primijeni 2,24 volta DC. Ako je relej uključen, isključit će se kada primijenjeni napon padne ispod 0,3 V DC.

Slika 3 - Atributi releja

S ovim kratkim uvodom s puta, počnimo razgovarati o tome kako koristiti releje u vašim projektima.

Releji s tvrdim ožičenjem

Releji dolaze u nekoliko faktora. U osnovi, relej će biti pravokutni blok s najmanje 4 izložena električna priključka.

Dva konektora su za kontrolni krug, i pričekajte ... preostala dva priključka su za uključeni krug. Lako, zar ne? Ne baš. Ako niste inženjer elektrotehnike (poput mene, ja nisam ništa slično), možda mislite da možete spojiti relej u svoj krug i svi ste spremni. Nažalost, kao i kod većine elektroničkih komponenti, ništa nije tako jednostavno.

Ako spojite relej u strujni krug kao što sam gore opisao, primjenom napona, primjerice, iz uređaja Raspberry Pi ili Arduino (možete koristiti bilo koji izvor napona) preko upravljačkog kruga trebate pokrenuti relej. Međutim, očigledno neće raditi pouzdano, postoje zaključci i druga pitanja koja mogu utjecati na rad releja. Zbog toga, morate dodati neke dodatne komponente u krug kako bi ga raditi. Otkrio sam ovo kao što sam radio s mojim prvi relej i pronašao hrpu stack overflow posts sugerirajući različite načine to učiniti. Tamo je Napraviti: članak o časopisu s dijagramom sklopa.

Obično bih shvatio sve ovo i pisao o tome ovdje za vas, ali postoji lakši način za dodavanje releja vašim projektima, zapravo na nekoliko načina, koje ću vam pokazati u sljedećim odjeljcima. Također ću vam pokazati kako pokrenuti relej iz koda vašeg projekta u sljedećem odjeljku.

Relejni moduli

Umjesto kupnje releja i povezivanja s tranzistorima, diodama i otpornicima, mnogi proizvođači proizvode ploče relejnih modula koje uključuju sve što vam je potrebno. Možete vidjeti primjer jednog na slici 4; ove module možete kupiti s 1 do 8 ili više priključenih releja. Slika 5 prikazuje generički 4-relejni modul.

Napomena: većina relejnih modula koje sam vidjela ne uključuju nikakvu dokumentaciju pa ćete morati sami utvrditi svoj modul.

Relejne veze

Jedan relejni modul tipično izlaže 6 električnih priključaka; tri priključka za upravljački krug i tri za sklopni krug. Također mogu sadržavati nekoliko blokova skakača poput onog koji sam ovdje prikazao. U većini jednostavnih relejnih krugova obično ćete koristiti samo pet veza, objasnit ću vam zašto.

Na lijevoj strani slike nalaze se upravljački ulazi. Kao što možete vidjeti na slici, oni su označeni na sljedeći način: • VCC • IN1 • GND

U vašim krugovima spojit ćete ulazni napon prema zahtjevima releja (za Arduino ili Raspberry Pi projekte, što je obično 3 ili 5 volti ovisno o mikrokontroleru) na VCC ulaz. To je relej koji diktira što bi taj napon trebao biti, a ne vaš mikrokontroler. Većina modernih Arduino uređaja osigurava 3V, a Raspberry Pi 3V ili 5V; svakako odaberite relejni modul koji će raditi s ovim naponima. Većina ovakvih relejnih modula dizajnirana je za rad s Arduino-om ili Pi-om, tako da bi trebali biti u redu. Također ćete spojiti GND ulaz na priključak za uzemljenje vašeg mikrokontrolera.

Konačno, spojite IN1 pin na jedan od izlaznih pinova na vašem mikrokontroleru. Izlazni napon na ovom pinu je ono što aktivira relej. Poželjna je uporaba analognog izlaza, ali budući da Raspberry Pi ne pruža analogne izlaze, možete koristiti i digitalni izlaz.

Na strani modula s uključenim krugom, vidjet ćete tri uključene točke povezivanja označene dijagramom prikazanim dolje (oznake NO, Common i NC su moje).

Slika 6 - Legenda relejnih veza

Na slici je prikazana konfiguracija komutirane veze za relej u mirovanju. Za ovaj modul, preklopna veza se izvodi između prvog i drugog konektora ili drugog i trećeg konektora. Kada aktivirate relej (primjenom odgovarajućeg napona preko upravljačkog kruga), zajednički priključak se prebacuje na drugu stranu. Kada spojite krug na NO (normalno otvoren) i zajednički konektor, strujni krug ostaje otvoren dok se ne priključi odgovarajući napon na priključak IN1 na upravljačkom krugu. Priključak NO / Common se zatvara kada se na IN1 uključi napon. Kada spojite krug na NC (normalno zatvoren) i zajednički konektor, ostaje zatvoren sve dok se ne priključi odgovarajući napon na IN1 konektor na upravljačkom krugu. NC / zajednička veza se otvara kada se na IN1 uključi napon.

Za većinu krugova samo trebate prebaciti jedan skup žica, tako da ćete prebaciti ili NC ili NO veze. Za neke konfiguracije trebat će vam dva stanja za svoj krug; u ovom slučaju upotrebljavat ćete i NO i NC veze za svoj krug. Prema zadanim postavkama, jedna veza će uvijek biti povezana i prebacit će se kada primijenite napon na IN1.

Na slici 7 prikazan je relejni modul koji je spojen na akciju, primijetite tri kontrolna priključka (na desnoj strani slike) s prekidačkim priključcima na NO / Common konektorima. Žute žice u donjem lijevom kutu slike su za uključenu vezu.

Slika 7 - Relejni modul koji se koristi

Za multi-relejne module, hardver je gotovo isti, samo jednom ponavlja za svaki relej na ploči. I dalje ćete morati povezati naponske i zemaljske veze, ali umjesto jednog In1 kontrolnog ulaza, imat ćete jedan za svaki relej. Dakle, gledajući sliku 5, vidjet ćete VCC i GND pinove u donjem desnom kutu slike, ali i višestruke ulaze, IN1, IN2, IN3 i IN4 za ovu 4 relejnu ploču. Povezat ćete svaki IN # s odvojenim izlaznim pinom na uređaju Arduino ili Raspberry Pi. Uključena strana modula ima iste NO / Common / NC konektore koje ste vidjeli u pojedinačnom relejnom modulu, samo ih ovdje ima 4 kompleta, jedan za svaki relej.

Pokretanje releja

Sjećaš se skakača koje sam ranije spomenuo? Moguće je da će vaš relejni modul imati nekoliko kratkospojnika na njemu. Ako je tako, jedan od kratkospojnika će vjerojatno kontrolirati da li se relej aktivira pomoću visokog napona ili niskog napona. Položaj tog skakača će diktirati kako ćete pokrenuti relej u kodu vašeg projekta. Dopustite da vam dam neke primjere.

Na Arduino uređaju, s IN1 priključkom releja spojenim na analogni izlaz A1, možete pokrenuti relej s jednom linijom koda. Ako je relejni modul konfiguriran tako da koristi visoki napon za pokretanje releja, tada ćete koristiti sljedeći kod za uključivanje releja:

analogWrite (A1, 255);

Ovo postavlja analogni izlaz pin-a A1 na najviši napon (vjerojatno 3V za Arduino). Da biste ga isključili, jednostavno isključite izlazni napon pomoću sljedećeg retka koda:

analogWrite (A1, 0);

Ovo postavlja izlaz A1 na nulu.

Ako je relejni modul konfiguriran za korištenje niskog napona za pokretanje releja, onda biste jednostavno okrenuli primjere pomoću sljedećeg koda za uključivanje releja:

analogWrite (A1, 0);

i sljedeći kôd za isključivanje releja:

analogWrite (A1, 255);

Raspberry Pi ne izlaže analogne izlaze, tako da ćete ga morati malo prevariti. Pi ne podržava digitalni izlaz pomoću PWM (Pulse Width Modulation) koji je u osnovi izlazni napon koji se ponavlja. Rezultat toga je da izgleda kao konstantan izlazni napon spojenog uređaja. Koristeći Python na Pi, kod za prebacivanje releja svake sekunde izgleda ovako:

od gpiozero uvoz LED iz vremena spavanja spavanja # relej je spojen na GPIO pin 18 na Raspberry Pi # zamijeniti 18 ispod s bilo kojim pin je prikladan za vaš # hardverski relej = LED (18) # sljedeće je beskonačna petlja u Python, pokreće se dok ne # ubijete aplikaciju dok je True: # uključite relej na relay.on () # pričekajte drugi san (1) # uključite relej off relay.off () # pričekajte još jedan drugi san (1)

U ovom primjeru, kod koristi GPIO Zero, vrlo sposobnu knjižnicu za Pi koja vam omogućuje jednostavno upravljanje većinom svega što je povezano s Piovim GPIO portovima. Evo, koristim LED biblioteku modula da oponašam izlazni napon potreban za moju aplikaciju. U ovom slučaju, relej je spojen na Pi-ov GPIO 18-pin. GPIO Zero uključuje i druge vrste izlaza koje možete koristiti i za ovo.

Evo ga, brz i jednostavan način povezivanja releja s vašim IoT projektima. Ali pričekajte, postoje još lakše opcije za vaše projekte, provjerite ih u sljedećem odjeljku.

Dodatna ploča mikrokontrolera (štitovi, HAT, itd.)

Kako biste još lakše dodali releje u projekte mikrokontrolera, nekoliko proizvođača proizvodi dodatne ploče za popularne platforme mikrokontrolera. Ove ploče se slažu izravno na mikrokontroler pomoću GPIO porta (Raspberry Pi) ili pinova u zaglavlju većinu ostalih ploča. Čini se kao da postoje relejni moduli za bilo koju vrstu mikrokontrolera ili jednobrodnog računala (SBC).

Adafruit Feather

Za jedan od mojih projekata koristio sam mikrokontroler Adafruit Feather; pero je Arduino kompatibilan paket mikrokontrolerskih ploča koje dijele dosljedan oblik i ulazni / izlazni izgled. Za ovaj određeni projekt koristio sam Adafruit Feather M0 WiFi, mikrokontroler s Wi-Fi vezom koji podržava Arduino, Adalogger FeatherWing, dodatak za sat u stvarnom vremenu za Feather i Adafruit Power Relay FeatherWing. Relay FeatherWing dao moj projekt jednostavan za korištenje relejni modul sam mogao samo slap na mikrokontroler i doći na posao. Na sljedećoj slici možete vidjeti tri ploče, s njihovim pinovima i utičnicama.

Slika 8 - Adafruit Feather ploča i pribor

Da biste ih koristili, složite daske jedna na drugu, kao što je prikazano na sljedećoj slici. Spojit ćete svoj uključeni krug na plave priključke na desnoj strani slike. Kao i kod drugih releja, upotrijebit ćete dva za NC ili NO vezu, ili sve tri ako želite prebaciti relej na dva načina kako je opisano u prethodnom odjeljku.

Slika 9 - Stog modula za perje, uključujući i relejni modul na vrhu

Relejni modul je ožičen na više izlaznih priključaka na Feather Board-u, ali da biste ga koristili, isječete metalni jastučić na poleđini ploče za izlazni pin koji želite koristiti (na temelju kojeg druge igle koriste drugi Dodirne ploče s perjem).

Slika 10 - Opcije za odabir ulaza releja napajanja Adafruit Feather

Da biste pokrenuli relej u aplikaciji Feather, upotrijebili biste nešto poput sljedećeg:

// Analogni pin relej je spojen na const int outputPin = SELECTED_FEATHER_PIN; // Na primjer, ako je relej povezan s analognim izlazom A1, vi biste // koristili sljedeće: // const int outputPin = A1; void setRelay (status bool) {// Postavite relej na određeni status (on = true / off = false) Serial.print ("Relej:"); if (status) {Serial.println ("ON"); analogWrite (outputPin, MAXOUTPUT); } drugo {Serial.println ("OFF"); analogWrite (outputPin, MINOUTPUT); } // Pohranimo status koji smo postavili, tako da će toggleRelay moći // točno uključiti relej kasnije relayStatus = status; }

U ovom primjeru ono što prikazujem je konstantna definicija (opisujući na koji je analogni izlazni pin spojen relej) i funkciju koja se zove setRelay koji aktivira relej.

Konstanta outputPin samo vam daje jednostavan način konfiguriranja koda za vašu određenu hardversku konfiguraciju. Umjesto da tražimo sve dijelove koda koji pokreću relej, postavljamo pin relejnog izlaza u ovu konstantu i bilo koji dio aplikacije koji ga želi koristiti može se samo pozivati ​​na konstantu. Ovim pristupom, ako kasnije promijenite relejni pin, morate ga samo promijeniti na jednom mjestu, a kada se napravi promjena, svi različiti dijelovi koda koji se odnose na konstantu bit će automatski ažurirani.

setRelay funkcija daje aplikaciji brz i jednostavan način uključivanja ili isključivanja releja. Umjesto da napravite zasebnu funkciju da je uključite, a drugu da je isključite, jednostavno sam upotrijebio jednu funkciju i proslijedio da li želim uključiti ili isključiti relej kao Boolean varijablu proslijeđenu funkciji. Da ti pokažem.

Da biste uključili relej, bilo koji dio aplikacije može jednostavno izvršiti sljedeći kôd:

setRelay (pravi);

U ovom primjeru pravi parametar koji je proslijeđen funkciji je vrijednost Boolean True koja označava On.

Da biste isključili relej, izvršili biste sljedeći kôd:

setRelay (lažne);

Funkcija koristi varijablu zvanu relayStatus da biste pratili je li relej uključen ili isključen, omogućujući pozivanje zasebne funkcije toggleRelay za promjenu statusa releja (isključivanje ili isključivanje releja ako je uključen). Taj je kod posebno jednostavan, sve što je nazvao setRelay upotrebom suprotnog trenutnog statusa releja:

void toggleRelay () {// Preusmjerava relej od uključivanja do isključivanja ili isključivanja na setRelay (! relayStatus); }

! relayStatus u kodu se prevodi u NOT relayStatus, pa ako relayStatus je pravi, onda lažan je proslijeđen setRelay, Ako relayStatus je lažan, onda pravi je proslijeđen setRelay.

Tessel 2

Tessel 2 ima relejni modul, prikazan na slici 11. Koristio sam ga da napravim jednostavan kontroler garažnih vrata pomoću jednostavne web aplikacije koja se nalazi na kontroleru; cijeli projekt možete pronaći na Githubu.

Slika 11 - Tessel 2 ploča i relejni modul

Tessel ploča pokreće JavaScript, tako da je lako pisati zadatak poslužitelja temeljen na JavaScriptu koji se izvodi na ploči i koristiti stolni ili mobilni web-preglednik za interakciju s pločom. Za ovaj projekt, web poslužitelj je domaćin jednostavne web stranice koja sadrži gumb za otvaranje garažnih vrata. Na ploči, kod koji pokreće garažna vrata je toggleRelay dolje navedena funkcija:

function toggleRelay (RELAY_PORT) {// Prebacuje određeni relej, zadržavajući ga na RELAY_DELAY milisekundi // prvo uključite LED diodu tessel.led [ACTIVITY_LED] .on (); // sljedeći, relej na relej.turnOn (RELAY_PORT, relayResult); // spavati 500 milisekundi (pola sekunde) spavati (500). then (() => {// Zatim isključiti relej relay.turnOff (RELAY_PORT, relayResult); // i isključiti LED aktivnosti tessel.led [ACTIVITY_LED] .off ();}); }

Kao što možete vidjeti na slici 11, relejni modul ima dva releja, tako da kada zovete toggleRelay, morate mu reći koji je relej povezan s gumbom garažnih vrata prolaskom a 1 ili 2 na funkciju preko RELAY_PORT promjenjiva. Funkcija uključuje indikatorsko svjetlo, aktivira relej, čeka pola sekunde, zatim isključuje relej i LED indikator.

Foton čestica

Jedna tvrtka koja proizvodi relejne module za razne mikrokontrolere ili SBC je nacionalni kontrolni uređaj. Regulator garažnih vrata koji sam zapravo koristio izgrađen je pomoću fotona čestica i jedne relejne ploče za fotona. Možete čitati o cjelokupnom projektu u Githubu.

Za ovu ploču, prikazanu na slici 12, foton se postavlja u utičnicu na desnoj strani ploče (kao što je prikazano na slici). Kada uključite napajanje relejne ploče, ona također napaja mikrokontroler.

Slika 12 - ControlEverything 1-kanalni kontroler releja za foton čestica

Fotonska "platforma" je kul u tome što možete izvršiti kod na ploči daljinski, putem besplatne usluge u oblaku. Ploča je uglavnom kompatibilna s Arduino mikrokontrolerom, pa kodirate vašu aplikaciju pomoću C.

Kod za pokretanje relej bi trebao izgledati slično onome što sam već pokazao, u primjeru Photon primjer prikazan u nastavku, ja definirati neke konstante reći aplikacija koja pin relej je spojen i koji pin indikator svjetlo je spojen na ( ugrađena u Foton). Aplikacija poziva pushbutton funkcija za aktiviranje releja; funkcija uključuje indikatorsko svjetlo, aktivira relej, čeka pola sekunde, zatim isključuje relej i LED indikator.

// Spojite relej na Digital 0 int relayPin = D0; // Spojite LED za aktivnost na Digital 1 int activityLED = D1; // ================================================ ================= // Ova funkcija gura gumb garažnih vrata (kroz relej, / naravno) // ============ ================================================== === int pushButton (String param) {Serial.println ("pushButton funkcija zove."); // Uključite LED za aktivnost, tako da možemo reći da radi digitalWrite (activityLED, HIGH); // Uključivanje releja na digitalWrite (relayPin, HIGH); // Pričekajte pola sekunde (ili koliko god dugo trebamo odrediti) kašnjenje (500); // Isključuje relej digitalWrite (relayPin, LOW); // Isključite LED s aktivnostima iz digitalnog pisanja (aktivnostLED, LOW); / / moramo nešto vratiti, tako da se vrati nula (-1 znači neuspjeh) return 0; }

Raspberry Pi

Čak sam pronašao nekoliko relejnih modula za Raspberry Pi. Prvi s kojim sam radio bio je Seeed Studio Raspberry Pi Relay Board v1.0. Isprobajte i ove savjete kako koristiti ploču u vašim projektima. Ploča ima 4 releja i postavlja se izravno na vrh Raspberry Pi-a kao što je prikazano na slici 13. t

Slika 13 - Vidjeti Studio Raspberry Pi Relay Board v1.0

Korištenje ploče u vašim projektima je jednostavno. Ljudi u Seeed Studiou kreirali su primjerak Python aplikacije koja vam omogućuje interakciju s pločom (isključivanje releja upisivanjem naredbi u prozor terminala), dodao sam određenu funkcionalnost kodu i objavio ga kao Python modul na https: //github.com/johnwargo/Seeed-Studio-Relay-Board. Da biste koristili modul, kopirajte biblioteku u mapu projekta i dodajte sljedeći redak na početak vaše Python aplikacije:

iz relay_lib_seeed import *

Na tom mjestu možete uključiti relej pomoću sljedećeg koda:

relay_on (int_value)

gdje se int_value odnosi na relejni broj (1 do 4). Da biste uključili relej # 2, upotrijebite sljedeće:

relay_on (2)

Da biste isključili relej, upotrijebite:

relay_off (int_value)

Možete i uključiti relej pomoću:

relay_toggle_port (int_value)

Prilično jednostavno, zar ne? Ako želite jednostavnu aplikaciju koju možete koristiti za igranje s pločom, provjerite moj projekt na Githubu.

Druga opcija relejne ploče je ModMyPi PiOT relejna ploča; možete pronaći dokumentaciju o Githubu. Kao i Seeed Studio ploča, PiOT ploča se montira na vrh Raspberry Pi, ali s ovim modulom možete slagati više ploča jedna iznad druge kako biste isporučili 8, 12 ili više releja za vaš projekt. Možete vidjeti primjer ploče prikazane na slici 14. t

Slika 14 - ModMyPi PiOT ploča

Kul značajka PiOT ploče je da možete uključiti releje pomoću tipki montiranih na ploči, po jedan za svaki relej. To vam omogućuje da vidite kako ploča radi, pa čak i testirati hardver vašeg projekta prije nego što napišete bilo koji kôd. Također ćete koristiti ove gumbe za konfiguriranje Raspberry Pi GPIO pinova koje koristi ploča, nešto što bih radije radila preko jumpers ili DIP prekidača.

Ploča je dizajnirana za modele Raspberry Pi u punoj veličini kao i za Pi Zero. Nažalost, montažne rupe na ploči su pogodne samo za montažu na Pi Zero. Za montažu Pi Zero, ploča ima 4 rupe za montažu, tako da s pravim odmakom i vijcima možete montirati PiOT ploču čvrsto na vrh Pi Zero. Za veće modele Pi, zbog nekog bizarnog razloga, ModMyPi ljudi samo otkrivaju dvije rupe za montažu koje se slažu s Pi, tako da ga možete montirati, ali otkrio sam da je za moju implementaciju bilo nestabilno i skratilo relejne veze kad god se ploča pomiče ( lako se radi jer nije čvrsto postavljen).

Da bi vam pomogao u korištenju ploče u vašim projektima, stvorio sam Python knjižnicu na https://github.com/johnwargo/pi-relay-controller-modmypi/blob/master/relay_lib_modmypi.py. Da biste koristili biblioteku, kopirajte knjižnicu u mapu projekta i dodajte sljedeći redak koda u svoj Python projekt:

iz relay_lib_modmypi import *

Zatim ćete morati konfigurirati aplikaciju za konfiguraciju svoje ploče.U inicijalizacijskom kodu aplikacije dodajte sljedeće retke:

# Ažurirajte sljedeći popis / torke s brojevima portova dodijeljenim vašoj relejnoj ploči PORTS = (7, 8, 10, 11) NUM_RELAY_PORTS = 4 # inicijalizira relejnu biblioteku s konfiguracijom porta sustava ako je init_relay (PORTS): # uključi sve isključuje, pa počinjemo s čistom pločom. relay_all_off () else: print ("pogreška konfiguracije porta") # izlaz iz aplikacije sys.exit (0)

U LUKE varijablu, trebat ćete popuniti popis brojeva porta za prijenos koji ste konfigurirali pomoću gumba na ploči. Postavi NUM_RELAY_PORTS varijabla na 4, 8, 12 itd., ovisno o tome koliko ste ploča slagali zajedno. Na tom mjestu možete uključiti relej pomoću sljedećeg koda:

relay_on (int_value)

gdje int_value odnosi se na broj releja (1 do 4). Da biste uključili relej # 2, upotrijebite sljedeće:

relay_on (2)

Da biste isključili relej, upotrijebite:

relay_off (int_value)

Možete i uključiti relej pomoću:

relay_toggle_port (int_value)

Prilično jednostavno, zar ne? Ako želite jednostavnu aplikaciju koju možete koristiti za igranje s pločom, provjerite moj projekt.

PowerSwitch rep

Za moje projekte otvaranja garažnih vrata, koristio sam samo relej za "guranje" gumba, tako da je relej samo uključio krug niskog napona. Za neke projekte želite koristiti mikrokontroler za prebacivanje viših napona, kao što je 110V (Sjeverna Amerika) ili 220V (gotovo svugdje drugdje) pokretanje rasvjete u kući ili drugih komercijalnih uređaja. Možete mijenjati te naponske razine s rješenjima koja sam prikazao, jer mnogi releji podržavaju prebacivanje širokog raspona napona (na primjer, releji prikazani na slikama 5 i 6 će se prebaciti na 250V AC ili 30V DC), ali Imate posla s višim naponima koji mogu biti smrtonosni za rad i dramatično promijeniti rješenje ožičenja koje ćete koristiti u svom projektu.

Za scenarije prebacivanja visokog napona, postoji jednostavno rješenje koje možete iskoristiti za izoliranje od mnogih sigurnosnih problema koji dolaze s većim naponom. Rješenje se naziva PowerSwitch rep, a primjer projekta koji sam izradio koristeći jedan prikazan je na slici 15. PowerSwitch rep (PT) je crna kutija s naponskim kabelom koji prolazi kroz njega.

Slika 15 - PowerSwitch rep projekt

PT je u osnovi kutija koja sadrži relej s uključenom vezom preko jednog od vodiča u utikaču za izmjeničnu struju. Kada primijenite određeni napon (normalno između 3V i 5V) na ulazne priključke na PT-u (prikazan s dvije crvene žice povezane na slici), relej se aktivira i izmjenična struja prolazi kroz kabel za napajanje. PT je normalno ožičen za NE rad, ali ga obično možete konfigurirati i za NC operacije.

Za ovaj konkretni projekt, koristio sam Adafruit Feather s modulom satova u stvarnom vremenu (RTC) za pogon PT releja, omogućujući mi da prebacim kontrolu na svjetlosnu stegu koristeći logiku kodiranu u aplikaciji Feather. Potpuni izvorni kod projekta možete pronaći ovdje.

Sa stajališta kodiranja, već ste vidjeli kod koji trebate kontrolirati relej, to je u odjeljku Adafruit Feather prikazanom ranije u dokumentu.

Provjera rada releja

Kao što sam radio s mnogim od tih relej-based projekata, našao sam se redovito ožičenje se jednostavan LED krug, tako da sam mogao brzo i jednostavno vidjeti da li moj projekt kod radio ispravno. Većina releja daje zvučni klik kada se pokrene, a većina relejnih modula ima LED žicu u svakom relejnom krugu, tako da možete odmah vidjeti je li relej uključen ili isključen. Međutim, nije uvijek lako čuti klik ili jasno vidjeti svjetlo indikatora. Također, s 4-relejnim modulima, indikatorske LED diode modula ponekad se grupiraju, tako da je teško odrediti koji je LED za koji relej.

U svom dućanu radim puno drva, a kako sam stekao iskustvo, brzo sam saznao da uspješni kreatori koriste jigove kako bi im dosljedno ponavljali zadatke ili čak izvršavali pojedinačne, ali komplicirane zadatke točno. Za moj rad s relejima, stvorio sam testnu šablonu koju sam mogao povezati sa svakim svojim projektom dok sam radio na njima i lakše odredio stanje releja mog projekta. Uređaj je u osnovi niz LED dioda spojenih na izvor napajanja (3V DC koji se napajaju s dvije AA baterije), pri čemu je svaka LED dioda izložena kroz dva otvorena voda. Kada trebam testirati relejni krug, žicu LED-a dovodi do NC veze na jednom od releja (ponavljajući po potrebi ovisno o tome koliko releja koristim), stavite nekoliko baterija u držač baterija i pokrenite testiranje moj kod. Kada se relej aktivira, LED svijetli ili se zatamni ovisno o statusu releja.

Sljedeća slika prikazuje shemu ožičenja za jig.

Slika 16 - Kontrolna šema za ispitivanje releja

Za moju provedbu ovoga, koristio sam Adafruit Perma-Proto Half-size Breadboard kao što je bio prave veličine i dopustio mi je da lako sastavim krug. Svitci crne i crvene žice prikazani spojeni na donji desni ugao šablona nalaze se u slučaju da moram koristiti 3V napajanje (dvije AA baterije) za neki drugi aspekt projekta.

Zaključak

Nadam se da sam vam dao dovoljno pregleda releja i njihove praktične primjene (pomoću relejnih modula, dodatnih ploča i, naravno, koda) da ćete ih moći uspješno dodati u svoje projekte. Kada radite s relejima, budite sigurni da je vaš relej ocijenjen i za napon i za struju korištenu u vašem projektu; ne biste željeli ispustiti dim iz releja iz nepažnje. Kad smo već kod nepažnje, pri radu s izmjeničnim strujnim krugovima ili visokonaponskim jednosmjernim strujnim krugovima budite posebno oprezni jer pogreška može biti smrtonosna ili barem bolna.

Udio

Ostavite Komentar