Controllo a Distanza: Ricevitore UHF 8 Canali con Autoapprendimento

Ricevitore UHF ad autoapprendimento composto da una scheda radioricevente con decodifica Emylo e un modulo dotato di 8 relé operanti in modalità impulsiva o bistabile.

In molte delle applicazioni domotiche e in generale dove occorre esercitare un controllo a distanza via radio di molteplici apparati installati nello stesso luogo, i classici trasmettitori palmari mono e bicanale non sono particolarmente pratici, perché utilizzando i comuni radiocomandi (TX/RX) bisognerebbe installare più d’un ricevitore, con un evidente incremento dei costi, dell’ingombro e della complessità, giacché ciascuna unità ricevente ha parti ridondanti che potrebbero essere messe in comune: ad esempio il ricevitore RF.

Ecco perché sarebbe utile disporre di un sistema radiocomando unico e, in particolare, di un’unità ricevente che supporti tutti i canali occorrenti al sistema; un esempio è il ricevitore descritto in queste pagine, che consente la gestione a distanza, tramite link radio AM a 433,92 MHz, di 8 utilizzatori gestibili con il contatto pulito di un relé ciascuno.

Si tratta quindi di un sistema di radiocomando nel quale possiamo abbinare a una ricevente con otto uscite, un’unica trasmittente a otto canali, due da quattro, quattro bicanale oppure otto trasmettitori monocanale, ovvero combinazioni di essi, perché il bello del ricevitore è che apprende il codice a prescindere da quale sia la trasmittente da cui proviene.

Grazie a un’opportuna interfaccia a relé, il ricevitore può commutare utilizzatori sia funzionanti in bassa tensione continua, sia alla tensione di rete 230Vca, che assorbano fino a 10 ampere ciascuno.
La codifica utilizzata è la Emylo a 24 bit, quindi consente un massimo di 16.777.216 combinazioni per ciascun canale, a meno che non utilizziate dei TX pluricanale; infatti in questo caso le combinazioni vanno divise per il numero di canali complessivo, ma tale limite non deriva dal ricevitore (che, come vedremo, tratta individualmente ogni singolo codice, a prescindere dal tipo di trasmettitore che lo genera) quanto piuttosto dall’encoder del trasmettitore.

Per come funziona, il nostro ricevitore, rispetto a un dispositivo tradizionale, permette di sfruttare meglio la codifica: infatti la decodifica viene gestita da un microcontrollore e ciascun canale viene trattato indipendentemente dagli altri, vale a dire che il codice che il relativo TX trasmette è memorizzato distintamente.

Ecco quindi che potremmo abbinare otto trasmittenti monocanale, ognuna delle quali può essere impostata scegliendo tra 16.777.216 combinazioni! Questo è il principale vantaggio del nostro sistema, che permette di mantenere un’elevata sicurezza contro l’effrazione.

L’apprendimento si effettua singolarmente per ciascun canale, il che apre la strada a molte possibilità di utilizzo, in quanto possiamo abbinare a ciascun relé d’uscita un TX monocanale o un canale di un bicanale. Il firmware del microcontrollore che governa il ricevitore fa in modo che un telecomando non possa comandare più relè.

Ma lasciamo da parte questo ragionamento e andiamo subito a vedere di cosa si tratta, analizzando il sistema, che è composto da un’unità ricevente descritta in queste pagine e da una trasmittente palmare che si compera già fatta e che perciò esula da questa trattazione.

L’unità ricevente è a sua volta composta da un circuito stampato da autocostruire e del quale nei prossimi paragrafi descriviamo lo schema elettrico, oltre che da una scheda attuatrice di potenza a relé, che è un prodotto finito acquistabile da q2uesto sito con il codice 2846-RELAY8CH. Il circuito da autocostruire è il blocco radioricevente e di decodifica, nel quale abbiamo integrato anche lo stadio alimentatore per tutto l’insieme.

Schema elettrico del ricevitore radio 8 canali

Concentriamoci ora sul circuito, meglio descritto dallo schema elettrico che trovate in queste pagine, che si basa su un modulo ricevente ibrido come sezione RF e su un microcontrollore Microchip PIC16F876A-I/SP in funzione di decoder a standard Emylo e gestore dello stato di funzionamento delle uscite. Il tutto è completato da un regolatore di tensione che consente di ricavare i 5 volt per far funzionare la logica on board e la scheda relé esterna.

Il modulo radioricevente è un circuito integrato ibrido AC-RX2/CS prodotto dalla Aurel, dotato di front-end con impedenza d’antenna di 50 ohm, amplificatore d’ingresso e stadio di sintonia super-rigenerativo a basse emissioni spurie (-65 dB), contraddistinto da elevata sensibilità (-100 dBm) e discreta selettività (la banda passante a -3dB è di 2 MHz) assicurata da un filtro ceramico; all’interno di questo ibrido, a valle dello stadio di sintonia si trova il demodulatore d’ampiezza OOK (On Off Keying) che fornisce al pin 13 il segnale demodulato così com’è e al 14 il segnale demodulato ma squadrato da un comparatore basato sull’integrato LM358, che consente di ricostruire gli impulsi trasmessi dal TX palmare con i fronti di salita e discesa ben squadrati, come richiesto dal microcontrollore del circuito per assicurare un’efficace decodifica.

Il micro U2 riceve al pin 7 (I/O RA5 configurato come input privo di pull-up) il segnale fornito dal piedino 14 dell’ibrido U3 e lo decodifica grazie a un’apposita routine, la quale viene avviata dal main program quando, girando in loop, verifica una transizione di livello nel segnale in arrivo, ovvero il bit di start dell’invio dei dati.

Se il codice contenuto nella stringa ricevuta e demodulata dall’AC-RX2/CS non è tra quelli presenti nella memoria EEPROM dedicata, il firmware torna in ascolto sul piedino 7, mentre se figura tra quelli precedentemente memorizzati, il microcontrollore porta da 0 a 1 logico il livello dell’uscita corrispondente, tra quelle del registro RC, che il firmware dedica al controllo della scheda relé; per l’esattezza RC0 comanda il primo canale di tale scheda, RC1 il secondo e così via, fino ad RC7 che gestisce l’ottavo canale. I segnali di comando giungono alla scheda relé tramite il pin-strip CN1, ciascuna linea del quale fa capo a una linea IN corrispondente a un I/O del registro RC7.

Sullo stesso connettore, che peraltro serve a innestare la nostra scheda su quella a 8 relè, viaggia l’alimentazione per la stessa scheda a relé, ossia Vcc (+5V) e GND, ossia la massa comune, cui si connette anche il COM (linea comune) degli ingressi di comando.

Oltre a pilotare il relativo ingresso della scheda relé, i pin del registro RC accendono ciascuno un LED di segnalazione, che si illumina in corrispondenza del livello logico alto e la cui corrente viene limitata da un resistore postogli in serie; grazie all’oculata scelta del valore della resistenza, la corrente erogata a ciascuno dei LED non abbassa particolarmente il livello della tensione di uscita del microcontrollore e ciò assicura sempre il corretto comando dei relé.

Va notato che se, come accennato a inizio articolo, abbiniamo due uscite a un singolo TX monocanale o allo stesso codice di un pluricanale, alla ricezione del comando il firmware va a comandare l’uscita che viene per prima in ordine, così da evitare la duplicazione del comando.

Rimanendo sul microcontrollore, spostiamoci sul port B, i cui otto bit vengono utilizzati per acquisire lo stato logico dei dip-switch che serviranno in apprendimento a selezionare il canale cui associare il codice trasmesso e in funzionamento ordinario a stabilire se il relativo relé dovrà operare in modalità bistabile o monostabile (l’uscita sarà attiva fino a quando il pulsante del trasmettitore non viene rilasciato e comunque per un tempo minimo di 500mS).

Siccome il registro RB consente di attivare il pull-up interno per i suoi pin quando funzionano da input, lo abbiamo settato in modo da risparmiarci di dover connettere otto resistori esterni con pari funzione.

Procediamo l’analisi degli I/O con RA0 ed RA1, che il firmware inizializza come uscite per il comando dei LED di segnalazione da utilizzare, ad esempio, durante l’apprendimento dei codici e il cui funzionamento verrà spiegato tra breve. Abbiamo poi RA5, inizializzata come ingresso senza pull-up, che nel caso specifico serve a leggere lo stato del pulsante P1 che avvia l’autoapprendimento; il pull-up è assicurato dalla resistenza R1.

Il funzionamento del microcontrollore è scandito dal clock generato dall’oscillatore interno, sincronizzato mediante il quarzo collegato tra i pin OSC1 e OSC2 e i rispettivi condensatori ceramici (C5 e C6) connessi a massa; in questo caso, essendo il quarzo da 4 MHz, la frequenza di clock è di pari valore.

Per la programmazione in-circuit, al connettore ICSP portiamo il piedino 1 (MCLR) e la linea d’alimentazione +5V (più la massa), oltre ai pin condivisi PGD (comune a RB7) e PCG (comune a RB6).

Le 8 uscite possono funzionare sia in monostabile che bistabile, impostabili liberamente per ogni uscita.

Ad ogni singola uscita è abbinato un LED di stato da 3 mm (di colore giallo) il quale se sarà acceso indicherà l’uscita attivata (relè eccitato), mentre se risulterà spento indicherà che l’uscita corrispondente sarà a riposo.

Terminiamo il discorso sul microcontrollore precisando che il firmware, subito dopo l’inizializzazione degli I/O e prima ancora di porsi in ascolto sulla linea RA5 verifica lo stato dei dip-switch e quindi quello del pulsante P1: se quest’ultimo è premuto verifica che sia ad ON ed entra in apprendimento, altrimenti si porta nel normale funzionamento.

Concludiamo l’analisi del ricevitore del radiocomando con il blocco di alimentazione, che riceve 12V (meglio se stabilizzati) attraverso la morsettiera PWR e la passa, tramite il diodo di protezione (dall’inversione di polarità) D1 e il filtro capacitivo formato da C1 e C2, al regolatore integrato a tre terminali U1 (è il canonico 7805), il quale ricava 5 volt perfettamente stabilizzati con cui funzionano il microcontrollore, il modulo ibrido radioricevente e la scheda a relé collegata tramite il connettore CN1.

La linea dei 5V è accuratamente filtrata dagli elettrolitici C4 e C5 e dal multistrato C3, opportunamente distribuiti sul PCB.

La scheda a relé 8 canali

Come accennato, i relè non sono presenti a bordo scheda, ma abbinando la scheda RELAY8CH le 8 uscite diventano a relè. Nel caso di abbinamento delle due schede, quella a relè viene installata sotto a quella di nostra realizzazione sfruttando il connettore pin strip 10 vie, mentre le altre 2 vie rimanenti rimarranno libere.

La scheda a relé è il modulo 8 relè 5 Vdc 10A codice 2846-RELAY8CH. Si tratta di una scheda dotata di 8 relé che consente di attivare/disattivare il carico ad essi collegato, il quale può assorbire sino a 10 A e funzionare sia a 250 Vca che a 30 Vcc.

Per ciascun relé vengono portati alla morsettiera d’uscita tutti i contatti, ossia C, NC ed NO (comune, normalmente chiusi e normalmente aperti).

Gli ingressi della board sono tutti optoisolati (hanno in comune la linea COM, che colleghiamo alla massa della scheda del ricevitore) e per ciascuno è previsto a bordo un LED di stato; ogni relé si attiva quando l’input corrispondente è a livello logico alto, che nello specifico corrisponde a una tensione di valore compreso tra1,5 e 5 V, pertanto la board viene pilotata con livelli logici come quelli forniti dagli I/O del nostro microcontrollore (l’assorbimento su ciascuna linea d’ingresso è dell’ordine di qualche milliampere, giusto quel che occorre ad accendere il LED interno a ciascun optoisolatore) o da quelli di qualsiasi scheda Arduino.

Piano di montaggio

Elenco componenti

R1, R4: 4,7 kohm
R2, R3, R5, R6, R7, R8, R9, R10, R11, R12: 470 ohm
C1, C3: 100 nF ceramico
C2, C4: 470 µF 25 VL elettrolitico
C5, C6: 22 pF ceramico
C7: 220 µF 25 VL elettrolitico
D1: 1N4007
LD1: LED 3 mm rosso
LD2: LED 3 mm verde
LD3, LD4, LD5, LD6, LD7, LD8, LD9, LD10: LED 3 mm giallo
P1: Microswitch
Q1: Quarzo 4 MHz
U1: 7805
U2: PIC16F876A-I/SP (MF1424)
U3: AC-RX2/CS
DS1: Dip-Switch 8 vie
ANT, PWR: Morsetto 2 vie passo 5.08 mm
CN1: Strip femmina 10 vie
ICSP: Strip maschio 6 vie

Varie: 
- Vite 10 mm 3 MA
- Dado 3 MA
- Zoccolo 14+14
- Dissipatore TO220
- Distanziale metallico F/F 20 mm (4 pz.)
- Vite 8 mm 3 MA (8 pz.)
- Circuito stampato S1424 (140x55mm)

Realizzazione pratica

Una volta acquistato il kit potete iniziare il montaggio a cominciare da resistenze e diodi al silicio (D1) e LED (di cui va rispettata la polarità indicata nel piano di montaggio), procedendo con lo zoccolo per il microcontrollore, quindi con il dip-switch (da orientare con lo switch 1 rivolto allo zoccolo del PIC, fermo restando che nell’inserire lo zoccolo lo abbiate orientato correttamente), il pulsante e i condensatori (state attenti alla polarità degli elettrolitici); terminate con i transistor, il regolatore a tre terminali, il pin-strip CN1 (che va saldato dal lato componenti ma introdotto dal lato saldatore, giacché andrà introdotto nello strip femmina della scheda relé) e quello per l’ICSP, quindi le morsettiere.

Poi è la volta del modulo AC-RX che va inserito e saldato nelle rispettive piazzole, con il lato componenti rivolto all’interno dello stampato (non è comunque possibile montarlo al contrario, visto il layout del PCB e la disposizione dei rispettivi pin…) del quarzo per il microcontrollore (che non ha polarità) e del regolatore 7805 in contenitore TO-220, in cui piedini devono essere piegati ad angolo retto prima di introdurli nei rispettivi fori.

Il regolatore va appoggiato sulla base e all’interno di un dissipatore di calore in alluminio sagomato ad “U” tipo il classico ML26-TO220, avente resistenza termica di 18÷20 °C/W, poi avvitato con un bullone 3MA e un dado che sia passante dall’aletta metallica del 7805 al lato saldature del PCB, in modo da bloccare il componente.

Per agevolare lo smaltimento del calore sarà buona regola spalmare della pasta al silicone tra il 7805 e il dissipatore; fissato meccanicamente il gruppo U1-dissipatore, saldate i tre terminali alle rispettive piazzole.

Il microcontrollore PIC16F876-I/SP viene fornito nel kit già programmato, quindi va solamente inserito nel rispettivo zoccolo stando attenti a orientarlo come indicato nel rispettivo disegno di montaggio.

Una volta completata e programmata la scheda con ricevitore e decodifica dovete applicarla al modulo relé, al quale nel frattempo avrete avvitato una colonnina esagonale lunga 20 mm in ciascuno dei fori perimetrali di fissaggio, innestando il pin strip nello strip femmina della scheda relé; spingete le schede una contro l’altra e stringete la scheda ricevente-decodifica con delle viti 3MA da avvitare nelle colonnine esagonali applicate al PCB del modulo relé.

Notate che il circuito stampato della sezione ricevente e decodifica è stato volutamente disegnato con lo “scavo” per rendere accessibili le viti delle morsettiere del modulo relé (Fig. 2).

Fig. 2 Le due schede componenti il radiocomando si innestano mediante strip.

 

Avete così completato il vostro ricevitore a 8 canali, al quale ora mancheranno solo due cose: un’antenna, che potrà essere un semplice spezzone di filo in rame isolato (ma spelato nel punto di collegamento alla scheda) serrato nel morsetto della morsettiera ANT rivolto verso l’ibrido AC-RX2/CS, nonché un contenitore in plastica adatto ad ospitarlo, lavorato in modo da rendere accessibili le morsettiere del modulo relé e quella dell’alimentazione.

Se optate per lo spezzone di filo, dovrete sceglierlo di lunghezza pari a 17÷18 cm, che alla frequenza di lavoro del sistema corrispondono a 1/4 d’onda. Potete anche optare per un’antenna esterna, come ad esempio uno stilo o una ground-plane, sempre accordata sui 433,92 MHz (433÷434 MHz) da collegare mediante uno spezzone di cavo schermato coassiale tipo RG59 e comunque per UHF; in questo caso la maglia di schermo andrà collegata dal lato della scheda ricevente al morsetto di massa e il conduttore centrale al morsetto che sta vicino al modulo ibrido AC-RX.

Dal lato dell’antenna, nel caso del semplice stilo connettete quest’ultimo al conduttore centrale e isolate con della guaina termorestringente la maglia di schermo, dopo averla ripiegata all’indietro per evitarne il contatto con il conduttore centrale e lo stilo, mentre se avete una ground-plane connettete lo stilo come spiegato e la calza di schermo al piano di massa.

Per far funzionare l’insieme serve un alimentatore in grado di fornire una tensione continua, meglio se stabilizzata, di 12 V e una corrente di almeno 250 milliampere, che sono l’assorbimento massimo con tutti i relé eccitati e tutti i LED accesi.

Una volta completato il montaggio, il circuito è pronto per l’uso, ma naturalmente dev’essere abbinato ai trasmettitori, i quali, lo ricordiamo, sono i classici funzionanti in AM a 433,92 MHZ: per esempio i modelli EMYTX1, EMYTX2 e EMYTX4.

Vediamo dunque come si effettua l’abbinamento (autoapprendimento) dei codici e pertanto dei trasmettitori da usare insieme alla ricevente.

Fig. 1 Il nostro ricevitore è adatto ai trasmettitori con codifica Emylo

 

Memorizzazione del codice del trasmettitore

Prima di entrare nel dettaglio della procedura ricordiamo che la scheda non fa distinzione tra unità trasmittente e pulsanti, nel senso che in autoapprendimento memorizza il codice ricevuto nella posizione di memoria corrispondente al canale sul quale si sta effettuando l’apprendimento; questo significa che se si sta abbinando un TX bicanale, ciascuno dei due pulsanti verrà appreso per conto proprio.

Ciò detto vediamo come effettuare l’abbinamento: a scheda alimentata, portare ad ON il solo micro-interruttore (quello corrispondente all’uscita da abbinare) del dip-switch DS1, quindi premere e tenere premuto il pulsante P1 sulla scheda fin quando il LED rosso si accenderà fisso; a questo punto dovete premere il pulsante sulla trasmittente, stando a una distanza di almeno mezzo metro, per non saturare la sezione radioricevente.

Quando il LED rosso sulla scheda inizierà a lampeggiare, la memorizzazione sarà avvenuta correttamente, quindi si potrà rilasciare il pulsante sulla scheda e quello sul telecomando.

Ripetete questa procedura per tutte le uscite che desiderate utilizzare impostando il canale desiderato con DS1, ricordando che è possibile memorizzare un solo codice identificativo del pulsante per ciascuna uscita a relé e che non potrà essere abbinato lo stesso codice di pulsante o trasmettitore su più uscite.

Cancellazione codice

Togliere alimentazione alla scheda, quindi portare ad ON i microinterruttori del dip-switch corrispondenti all’uscita dove si desidera disattivare il radiocomando, quindi premere e mantenere premuto il pulsante sulla scheda P1 e fornire alimentazione. Il LED rosso si accenderà fisso per circa 1 secondo ad indicare che la procedura di rimozione abbinamento è in corso.

Quando il LED rosso si spegnerà, l’unità ricevente sarà pronta per riprendere il normale funzionamento, vale a dire per ricevere i comandi e attivare i relé di conseguenza. Notate che si potranno portare ad ON anche più microinterruttori.

Impostazione modalità relè

Ogni micro interruttore del dip-switch DS1 corrisponde alla rispettiva uscita sulla scheda, quindi il dip 1 corrisponderà all’uscita 1, il dip 2 all’uscita 2 e così di seguito; questo vale non solo nell’autoapprendimento dei codici dei radiocomandi o loro pulsanti che comanderanno le uscite, ma anche per l’impostazione della modalità di attivazione dei relé corrispondenti.

Dunque, in autoapprendimento lo stato di ciascun dip-switch indica al microcontrollore che quando viene premuto P1 deve memorizzare il codice corrispondente al relé dell’OUT1 della scheda relé, mentre nel normale funzionamento portando ad ON il microinterruttore si imposterà il funzionamento bistabile, mentre sarà monostabile se lasciato ad OFF.

La Tabella 1 chiarisce il funzionamento e il significato degli otto micro-interruttori del DS1 in base alla condizione di funzionamento.

La modalità dei relé di uscita può essere cambiata durante il funzionamento senza dover rimuovere e riapplicare l’alimentazione, come invece avviene per l’autoapprendimento.

            Tabella 1 Funzionamento dei dip-swicth.

 

Conclusioni

Il radiocomando descritto in queste pagine è un progetto modulare adatto quando occorra gestire vari utilizzatori con un’unica unità di controllo; presenta il vantaggio di poter essere abbinato anche a più trasmittenti con codici distinti, così da rendere, ad esempio, selettivo l’accesso a un passaggio con tornello o cancello motorizzato, ovvero il controllo di un certo utilizzatore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu