In questo progetto interfacciamo un relè con il microcontrollore PIC PIC16F877A. Il relè è un dispositivo meccanico per controllare le apparecchiature ad alta tensione e corrente " ON " o " OFF " da livelli di tensione inferiori. Relè fornisce isolamento tra due livelli di tensione ed è generalmente usare per controllare gli apparecchi AC. Dai relè meccanici a quelli a stato solido, ci sono vari tipi di relè disponibili nell'elettronica. In questo progetto utilizzeremo il relè meccanico.
In questo progetto faremo le seguenti cose:
- Interfacciamo un interruttore per l'input dell'utente.
- Controlla una lampadina da 220 V CA con un relè da 5 V.
- Per controllare il relè useremo il transistor NPN BC547 e il transistor sarà controllato dal PIC16F877A. Un led segnalerà la condizione ON o OFF del relè.
Se non conosci PIC Microcontroller, inizia con Getting Started with PIC Microcontroller.
Componente richiesto:
- PIC16F877A
- Cristallo da 20 Mhz
- 2 pezzi 33pF ceramica
- 3 resistori 4.7k
- Resistenza da 1k
- 1 LED
- Transistor BC547
- Diodo 1N4007
- Relè cubico 5V
- Lampadina AC
- Breadboard
- Fili per il collegamento delle parti.
- Adattatore da 5 V o qualsiasi fonte di alimentazione da 5 V con capacità di corrente di almeno 200 mA.
Relè e suo funzionamento:
Il relè funziona come un interruttore tipico. I relè meccanici utilizzano un magnete temporaneo costituito da una bobina elettromagnetica. Quando forniamo corrente sufficiente attraverso questa bobina, si eccita e tira un braccio. A causa di ciò il circuito collegato attraverso il relè può essere chiuso o aperto. L'ingresso e l'uscita non hanno collegamenti elettrici e quindi isolano l' ingresso e l'uscita. Scopri di più sul relè e le sue costruzioni qui.
I relè possono essere trovati in diversi intervalli di tensione come 5 V, 6 V, 12 V, 18 V ecc. In questo progetto useremo relè 5 V poiché la nostra tensione di lavoro è di 5 Volt qui. Questo relè cubico 5V è in grado di interruttore 7A carico a 240VAC o 10A carico a 110VAC. Tuttavia, invece di questo enorme carico, useremo una lampadina da 220 V CA e la cambieremo utilizzando il relè.
Questo è il relè 5V che stiamo usando in questo progetto. La corrente nominale è chiaramente specificato per due livelli di tensione, 10A a 120VAC e 7A a 240VAC. Dobbiamo collegare il carico attraverso il relè a un valore inferiore a quello specificato.
Questo relè ha 5 pin. Se vediamo il pinout possiamo vedere-
La L1 e L2 è perno della bobina elettromagnetica interna. Dobbiamo controllare questi due perni per trasformare il relè ' ON ' o ' OFF '. I prossimi tre pin sono POLE, NO e NC. Il polo è collegato con la piastra metallica interna che cambia il suo collegamento all'accensione del relè. In condizioni normali, POLE è in cortocircuito con NC. NC sta per normalmente connesso. Quando il relè si accende, il polo cambia la sua posizione e si collega con l' NO. NO sta per Normally Open.
Nel nostro circuito, abbiamo effettuato la connessione del relè con transistor e diodo. Il relè con transistor e diodo è disponibile sul mercato come modulo relè, quindi quando si utilizza il modulo relè non è necessario collegare il suo circuito di pilotaggio (transistor e diodo).
Il relè è utilizzato in tutti i progetti di automazione domestica per controllare gli elettrodomestici AC.
Schema elettrico:
Di seguito è riportato il circuito completo per il collegamento del relè con il microcontrollore PIC:
Nello schema sopra viene utilizzato pic16F877A, dove sulla porta B sono collegati il LED e il transistor, che viene ulteriormente controllato utilizzando l' interruttore TAC su RBO. La R1 fornire corrente di polarizzazione al transistore. R2 è un resistore pull-down, utilizzato su un interruttore tattile. Fornirà 0 logico quando l'interruttore non è premuto. L' 1N4007 è un diodo a pinza, utilizzato per la bobina elettromagnetica del relè. Quando il relè si spegne, ci sono possibilità di picchi di alta tensionee il diodo lo sopprimerà. Il transistor è necessario per pilotare il relè in quanto richiede più di 50mA di corrente, che il microcontrollore non è in grado di fornire. Possiamo anche utilizzare ULN2003 al posto del transistor, è una scelta più saggia se per l'applicazione sono necessari più di due o tre relè, controllare il circuito del modulo relè. Il LED sulla porta RB2 notificherà "il relè è attivo ".
Il circuito finale sarà simile a questo-
Puoi imparare a controllare il relè con Arduino qui e, se sei davvero interessato al relè, controlla tutti i circuiti del relè qui.
Spiegazione del codice:
All'inizio del file main.c, abbiamo aggiunto le linee di configurazione per pic16F877A e abbiamo anche definito i nomi dei pin su PORTB.
Come sempre prima, dobbiamo impostare i bit di configurazione nel microcontrollore pic, definire alcune macro, incluse le librerie e la frequenza dei cristalli. Puoi controllare il codice per tutti quelli nel codice completo dato alla fine. Abbiamo creato RB0 come input. In questo pin l' interruttore è collegato.
#includere
Successivamente, abbiamo chiamato la funzione system_init () in cui abbiamo inizializzato la direzione dei pin e abbiamo anche configurato lo stato predefinito dei pin.
Nella funzione system_init () vedremo
void system_init (void) { TRISBbits.TRISB0 = 1; // Impostazione di Sw come input TRISBbits.TRISB1 = 0; // impostazione LED come uscita TRISBbits.TRISB2 = 0; // impostazione del pin del relè come LED di uscita = 0; RELÈ = 0; }
Nella funzione principale controlliamo costantemente la pressione dell'interruttore, se rileviamo la pressione dell'interruttore rilevando la logica alta su RB0; aspettiamo un po 'di tempo e vediamo se l'interruttore è ancora premuto o meno, se l'interruttore è ancora premuto, invertiremo lo stato dei pin RELAY e LED.
void main (void) { system_init (); // Il sistema si prepara mentre (1) { if (SW == 1) {// viene premuto l'interruttore __delay_ms (50); // ritardo antirimbalzo se (SW == 1) {// l'interruttore è ancora premuto LED =! LED; // invertendo lo stato del pin. RELAY =! RELAY; } } } ritorno; }
Di seguito sono riportati il codice completo e il video dimostrativo per questa interfaccia Relay.