Scheda di controllo per relè a 9 canali

Molte situazioni richiedono spesso l'accensione o lo spegnimento di più dispositivi singoli da una postazione centrale come, ad esempio, una sala di controllo. L'installazione di un interruttore per ogni dispositivo in un punto centralizzato sembrerebbe una soluzione semplice ma non consentirebbe il controllo remoto o dal computer. Il circuito qui presentato aggiunge questa utile funzionalità.

Introduzione

I relè sono eccellenti dispositivi per l'automazione delle operazioni di commutazione. Controllati da una tensione esterna, possono commutare tutti i tipi di carichi come un interruttore meccanico. I relè sono facilmente controllabili con un microcontrollore e con l'aiuto dei transistor di pilotaggio. I microcontrollori sono programmabili e dispongono anche di connessione a Internet o alla rete.

Uno schema semplice

Lo schema del progetto è mostrato in Figura 1. Il microcontrollore è etichettato con IC2. Si tratta del modello PIC18F45K22, scelto principalmente per il numero impressionante di linee I/O (36), assieme al basso costo e al suo package di 40 pin.

Figura 1: grazie alla potenza e alla funzionalità dei moderni circuiti integrati, in particolare i microcontrollori, sono necessarie solo poche parti per creare un utile dispositivo

Figura 1: grazie alla potenza e alla funzionalità dei moderni circuiti integrati, in particolare i microcontrollori, sono necessarie solo poche parti per creare un utile dispositivo

Perché 9 canali?

La MCU controlla nove relè, un insolito numero nella nostra società guidata dalle potenze di 2. Il motivo è principalmente pratico. Come si può vedere dallo schema e dal layout del PCB, il modo in cui la MCU è collegata semplifica il routing del PCB. I relè e il display sono collegati su un lato della MCU, mentre la tastiera e l'interfaccia PC sono collegati dall'altro. Restano disponibili 9 porte di I/O. In questo modo il PCB può essere monofaccia; 9 relè possono essere controllati con i nove pulsanti disposti in una matrice quadrata 3 x 3. In questo modo la disposizione è esteticamente carina. I relè sono pilotati da transistor. Gli integrati driver per relè, come l'IC3, dispongono di otto transistor all'interno. Esso pilota 8 relè (Re1-Re8) e per il nono (Re9) si è aggiunto il transistor T2. Il diodo D3 protegge T2 eliminando la extra tensione prodotta dalla bobina di Re9 quando si spegne. IC3 include tali diodi per ogni uscita, ecco perché essi non sono visibili nello schema. I relè utilizzati qui sono specifici per la commutazione di carichi resistivi fino a 1200 watt CA (240 watt CC). Se si utilizza un carico non resistivo, come un motore, è meglio controllare i datasheet del relè per verificare la sua idoneità.

Il Display

Il dispositivo di visualizzazione LCD1 è di tipo alfanumerico standard, con 4 righe da 20 caratteri ciascuna (comunemente noto come "4x20"). Ha un LED di retroilluminazione incorporato. E' pilotato da T1 perché la MCU non può fornire la quantità richiesta di corrente. L'LCD è controllato in modalità di sola scrittura semplificata a 4 bit, che consente di risparmiare sui pin e sulle tracce del PCB. Come inconveniente, la MCU non ha modo di sapere se il display sta compiendo correttamente il proprio dovere. Tuttavia, se i comandi vengono inviati non troppo velocemente, si può stare tranquilli. Quando si accende la scheda per la prima volta, si deve regolare il contrasto LCD sul controllo P1. Se si dimentica di farlo, il testo sul display potrebbe essere invisibile.

Tastiera 3 x 3

Sono disponibili i pulsanti per controllare i relè singolarmente. Con gli interruttori disposti su una matrice 3 x 3, sono necessari solo sei fili per permettere il collegamento alla MCU. La rete RN1 fornisce i resistori di pull-up in modo che i livelli di falso logico siano ben definiti. Si noti che i pulsanti devono essere robusti con un ingombro, sul PCB, di 12 x 12 mm, facilmente utilizzabili.

Porta seriale USB

Poiché il circuito è realizzato utilizzando solo parti con tecnologia THT (Through-Hole Technology), si è utilizzato un modulo convertitore da USB a seriale, quale interfaccia di comunicazione. Questo evita di dover saldare minuscole parti in SMT. Il modulo USB è un cavallo di battaglia e ha dimostrato la sua utilità molte volte. Si ricordi che tale modulo ha un ponticello (JP1) per impostare il livello del segnale (5 V o 3.3 V). Ci si assicuri di cablarlo nella posizione "5 V" usando una goccia di stagno. Il diodo D2 impedisce il collegamento della linea a 5 V della porta USB all'alimentazione del circuito. Se si inverte la polarità il circuito sarà alimentato dalla USB.

Alimentazione elettrica

Siccome i relè sono di tipo a 12 volt, la tensione di ingresso, da collegare a K1, deve essere di 12 VDC. La corrente massima (con tutti i relè accesi, la retroilluminazione attiva e la MCU a pieno regime) è di circa 500 mA, il che significa che un alimentatore 12 V, 6 VA CA-CC dovrebbe essere sufficiente per alimentare la scheda. Poiché i relè dispongono di contatti normalmente aperti (NO) e normalmente chiusi (NC) (vedi Figura 2), i carichi solitamente attivi al 50% o più dovrebbero essere collegati ai contatti NC per risparmiare un pò di energia. IC1 riduce la tensione di ingresso da 12 V a 5 V. IC1 deve far fronte a una caduta di tensione di quasi 7 volt e per questo potrebbe riscaldarsi parecchio. Si consiglia, dunque, di applicare un dissipatore di calore. Infine LED1 è un indicatore di accensione.

Figura 2: ognuno dei nove relè ha un contatto normalmente aperto (NO) e un contatto normalmente chiuso (NC), accessibile tramite un terminale a 3 pin

Figura 2: ognuno dei nove relè ha un contatto normalmente aperto (NO) e un contatto normalmente chiuso (NC), accessibile tramite un terminale a 3 pin

Programmazione seriale in-circuit

Per ultimo, ma non meno importante, K2 serve per programmare il firmware della MCU. Questo connettore segue la piedinatura ICSP Microchip standard, pertanto il collegamento di un programmatore compatibile PIC (PICkit/ICD) dovrebbe funzionare.

Il Software

Un dispositivo semplice come la scheda relè presentata qui richiede un software leggero per farlo funzionare. Esso è stato scritto in linguaggio C e può essere compilato con MPLAB X (gratuito) di Microchip. Il trasferimento del codice ad altri compilatori non dovrebbe essere troppo complicato. La MCU funziona a 16 MHz con il suo oscillatore interno e questo spiega l'assenza di un cristallo di quarzo nello schema. Dopo l'inizializzazione dei relè (tutti disattivati) e del display, viene avviato il timer e attivata la porta seriale. Quindi il programma attende che accada qualcosa: la pressione di un tasto o un comando che arriva sulla porta seriale. Non appena si verifica l'evento, la MCU esegue immediatamente il comando. La scansione della tastiera funziona come segue: solo una riga alla volta è a livello logico basso (come mostrato nella Figura 1). La MCU legge il livello delle colonne e se una di esse è a livello logico basso viene intrapresa l'azione corrispondente. Ciò significa che quando la riga 1 si trova a un potenziale basso, saranno letti solo i tasti S1, S4 e S7. La riga 2 abilita i tasti S2, S5 e S8 e la riga 3 è per S3, S6 e S9.

$RLYxO[N|F] ... &

Si tratta della sintassi dei comandi della porta seriale che la MCU può gestire. Questo codice misterioso significa che un messaggio deve iniziare con il carattere "$" e terminare con un "&". La parte "RLYxO" nella sintassi indica il relè da gestire, dove "x" è un numero in un intervallo compreso da 1 a 9. Qui scopriamo ancora un altro vantaggio del non avere più di nove relè: la lunghezza della parte utile del messaggio è sempre la stessa. Lo stato d'inoltro è codificato come "N" (Attivo) o "F" (Disattivo). Esempi:

  • $RLY3ON& (attiva il relè #3);
  • $RLY7OF& (disattiva il relè #7);
  • $RLY4OFF& (disattiva il relè #4).

Si noti la superflua "F" nell'ultimo esempio. E' facoltativa e serve solo per rendere il comando visivamente più facile da capire. Il lavoro svolto dal relè viene verificato con un messaggio di stato (RELAYx COMMUTATO [ON|OFF]). Quando l'effettivo stato restituito non corrisponde allo stato richiesto, potrebbe esserci un problema da risolvere. Per richiedere gli stati di tutti i relè in un'unica soluzione, s'inoltri il ​​comando $STATE&.

Aiuto

Quando la MCU riceve il comando $H& invierà la schermata di aiuto con l'elenco di tutti i comandi disponibili.

Realizzazione

Costruire la scheda relè risulta molto semplice poiché vi è la presenza di poche parti. Non sono richieste particolari abilità nella saldatura. Si inizi a saldare i resistori e i diodi, continuando con i componenti ad alto profilo. Rispettare il verso di quelli polarizzati, come diodi e condensatori elettrolitici. Prima di collegare i circuiti integrati, connettere la tensione d'ingresso di 12 V e verificare con un voltmetro che la linea di alimentazione sia a 5 V. Scollegare, quindi, la tensione e montare i circuiti integrati rimanenti (rispettare il corretto orientamento). Collegare un programmatore ICSP compatibile e accendere la scheda. Adesso si è in grado di caricare il file HEX sulla MCU. Al termine, spegnere il circuito e montare il display LCD. Alla riaccensione compare un messaggio di benvenuto. Potrebbe essere necessario regolare P1 per cambiare il contrasto dell'unità di visualizzazione. La pressione dei pulsanti attiva o disattiva i relè corrispondenti. Collegare BoB1 sulla scheda e connetterlo a una porta USB libera sul PC. Dovrebbe rilevarla come una porta seriale. Lanciare un programma di emulazione terminale e configurare a 9600 baud, otto bit di dati, nessuna parità e un bit di stop (9600-n-8-1). Quando la scheda relè è alimentata, dovrebbe rispondere ai comandi digitati sul terminale. Se lo fa, la scheda è pronta a funzionare, viceversa occorre eseguire il debug. Buona commutazione a tutti.

Elenco componenti

  • Resistenze (default 5%, 0.25 W)
    • R1 = 330 ohm
    • R2, R7 = 4.7 kohm
    • R3, R4, R6 = 0 ohm
    • R5 = 4.7 kohm
    • RN1 = rete SIL 10 kohm da 8 vie
    • P1 = potenziometro 10 kohm
  • Condensatori
    • C1 = 220 uF, 50 V
    • C2, C3, C5, C6, C7, C8 = 100 nF
    • C4 = 100 uF, 50 V
  • Semiconduttori
    • D1, D3 = 1N4007
    • D2 = BAT43
    • IC1 = MC7805
    • IC2 = PIC18F45K22-E/P (programmato)
    • IC3 = ULN2803A
    • T1, T2 = BC547
    • LED1 = rosso 3 mm
  • Varie
    • K1 = Jack 1.95 mm
    • K2 = morsetto a 6 posti, passo 0.1"
    • K3-K11 = morsetti a 3 vie, passo 3.5 mm
    • LCD1 = display LCD, 4x20, 5 V retroilluminato
    • RE1-RE9 = Relé G5LE-12 VDC
    • S1-S9 = pulsanti tattili 12 mm B3F-4000
    • BoB1 = FT232R USB/Serial Bridge/BOB
    • DIP 40 contatti
    • DIP 18 contatti
    • HS1 = dissipatore per TO-220

Web Link

Articolo originale in inglese al link: 9-Channel Relay Control Board with PC Interface (130549)

 

 

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend