U ovom ćemo projektu povezati relej s PIC mikrokontrolerom PIC16F877A. Relej je mehanički uređaj za upravljanje visokonaponskim, visokonaponskim uređajima ' ON ' ili ' OFF ' od nižih naponskih razina. Relej osigurava izolaciju između dvije naponske razine i obično se koristi za upravljanje AC uređajima. Od mehaničkih do čvrstih releja, u elektronici su dostupni različiti tipovi releja. U ovom projektu koristit ćemo mehanički relej.
U ovom projektu učinit ćemo sljedeće stvari-
- Uključit ćemo prekidač za unos od korisnika.
- Upravljajte 220V AC žaruljom pomoću 5V releja.
- Za upravljanje relejem koristit ćemo BC547 NPN tranzistor, a tranzistor će se kontrolirati s PIC16F877A. LED će obavijestiti o uključivanju i isključivanju releja.
Ako ste novi u PIC mikrokontroleru, krenite s Početkom s PIC mikrokontrolerom.
Potrebna komponenta:
- PIC16F877A
- Kristal od 20 MHz
- 2 kom 33pF keramike
- 3 kom 4.7k otpornici
- 1k otpornik
- 1 LED
- BC547 Tranzistor
- 1N4007 Dioda
- 5V kubični relej
- AC žarulja
- Breadboard
- Žice za spajanje dijelova.
- 5V adapter ili bilo koji 5V izvor napajanja s trenutnim mogućnostima od najmanje 200mA.
Relej i njegov rad:
Relej radi isto kao i tipični prekidač. Mehanički releji koriste privremeni magnet izrađen od elektromagnetske zavojnice. Kad pružimo dovoljno struje preko ove zavojnice, ona se aktivira i povlači ruku. Zbog toga krug povezan preko releja može biti zatvoren ili otvoren. Ulaz i izlaz nemaju nikakve električne veze i time izoliraju ulaz i izlaz. Ovdje saznajte više o releju i njegovoj konstrukciji.
Releji se mogu naći u različitim rasponima napona poput 5V, 6V, 12V, 18V itd. U ovom projektu koristit ćemo 5V relej jer je naš radni napon ovdje 5 V. Ovaj kubični relej od 5 V može prebaciti opterećenje od 7A na 240VAC ili 10A na 110VAC. Međutim, umjesto tog ogromnog opterećenja, upotrijebit ćemo žarulju od 220 VAC i prebaciti je pomoću releja.
Ovo je relej od 5 V koji koristimo u ovom projektu. Trenutna vrijednost je jasno navedena za dvije naponske razine, 10A pri 120VAC i 7A pri 240VAC. Moramo spojiti opterećenje preko releja manje od navedene vrijednosti.

Ovaj relej ima 5 pinova. Ako vidimo pinout možemo vidjeti-

L1 i L2 je interni elektromagnetskih zavojnica pin. Moramo kontrolirati ove dvije igle za okretanje relej „ ON ” ili „ OFF ”. Sljedeće tri iglice su POLE, NO i NC. Stup je povezan s unutarnjom metalnom pločom koja mijenja svoj spoj kad se relej uključi. U normalnom stanju, POLE je kratko spojen s NC. NC znači normalno spojen. Kad se relej uključi, stup mijenja svoj položaj i postaje povezan s NO. NO označava Normally Open.
U našem smo krugu uspostavili relejnu vezu s tranzistorom i diodom. Relej s tranzistorom i diodom dostupan je na tržištu kao relejni modul, tako da kada koristite relejni modul ne trebate spajati njegov upravljački krug (tranzistor i dioda).

Relej se koristi u svim projektima kućne automatizacije za upravljanje AC kućanskim uređajima.
Kružni dijagram:
Kompletni krug za spajanje releja s PIC mikrokontrolerom dat je u nastavku:

U gore shematski pic16F877A koristi, gdje se na port B LED i tranzistor spojen, što je dodatno upravljati pomoću prekidača TAC na RBO. R1 osigurati pristranosti struje do tranzistora. R2 je padajući otpor, koji se koristi preko taktilnog prekidača. Pružit će logiku 0 kada prekidač nije pritisnut. 1N4007 je spona dioda koji se koristi za relej je elektromagnetskih zavojnica. Kada se relej isključi, postoje šanse za visokonaponske skokovea dioda će ga suzbiti. Tranzistor je potreban za pogon releja, jer mu je potrebno više od 50 mA struje, koju mikrokontroler nije u mogućnosti pružiti. Umjesto tranzistora možemo koristiti i ULN2003, pametniji je izbor ako je za primjenu potrebno više od dva ili tri releja, provjerite sklop modula releja. LED preko luke RB2 će obavijestiti „ relej je uključen ”.
Završni krug izgledat će ovako-

Upravljanje relejem s Arduinom možete naučiti ovdje, a ako ste stvarno zainteresirani za relej, provjerite ovdje sve krugove releja.
Objašnjenje koda:
Na početku main.c datoteke, dodao smo konfiguracije linije za pic16F877A i definirana imena pin preko PORTB.
Kao i uvijek prvo, moramo postaviti konfiguracijske bitove u mikrokontroleru pic, definirati neke makronaredbe, uključujući knjižnice i frekvenciju kristala. Možete provjeriti kôd za sve one u kompletnom kodu navedenom na kraju. Napravili smo RB0 kao ulaz. U ovaj je pin priključen prekidač.
#include
Nakon toga pozvali smo funkciju system_init () gdje smo inicijalizirali smjer pina, a također smo konfigurirali zadano stanje pinova.
U funkciji system_init () vidjet ćemo
void system_init (void) { TRISBbits.TRISB0 = 1; // Postavljanje Sw-a kao ulaznog TRISBbits.TRISB1 = 0; // postavljanje LED-a kao izlaza TRISBbits.TRISB2 = 0; // postavljanje pin releja kao izlazne LED = 0; RELEJ = 0; }
U glavnoj funkciji neprestano provjeravamo presovanje prekidača, ako otkrijemo presovanje prekidača osjetom logike visoko na RB0; čekamo neko vrijeme i vidimo je li prekidač i dalje pritisnut ili ne, ako je prekidač i dalje pritisnut, invertirat ćemo stanje RELEJA i LED pina.
void glavna (void) { system_init (); // Sustav se priprema dok je (1) { if (SW == 1) {// prekidač pritisnut __delay_ms (50); // odgađanje prijenosa ako je (SW == 1) {// prekidač i dalje pritisnut LED =! LED; // invertiranje statusa pin-a. RELEJ =! RELEJ; } } } povratak; }
Kompletni kôd i demo videozapisi za ovaj relejni interfejs dati su u nastavku.
