Radiocomando intelligente 4/4

radiocomando dynacoder rolling code

Per evitare problemi derivanti, ad esempio, dall’attivazione involontaria del TX a distanza maggiore di quella coperta dall’RX, un buon sistema Rolling-Code deve ammettere uno scarto tra il numero espresso dall’ultimo codice ricevuto e quello portato dal successivo; altrimenti se avete montato il radiocomando sul cancello di casa, siete stati al mare e vostro figlio per gioco ha premuto 10 volte il tasto del TX, al ritorno rimarrete fuori.

Se però il sistema si ferma a 3 ed accetta uno scarto di venti numeri successivi (ad esempio tutti quelli da 3 a 43) è ovvio che se non premete a vuoto il pulsante del TX per più di altrettante volte, la trasmissione verrà comunque accettata dal ricevitore, il quale, se è ben fatto, deve rimettersi in passo: cioè se riceve il codice equivalente a 21 deve ridisporsi a 21 ed attendere che il prossimo codice sia quello corrispondente a 23. In tal modo può accettare una successiva perdita del sincronismo fino, ancora, a 20 numeri. Nel nostro sistema la tolleranza ammessa è di 256 passi, il che significa che il decoder accetta una trasmissione purché l’encoder mandi un codice che rientra nei 256 successivi all’ultimo inviato e decodificato. Capito il meccanismo?

Radiocomando intelligente – Il Collaudo

Finito il montaggio dei componenti potete realizzare l’antenna del ricevitore: allo scopo è sufficiente tagliare uno spezzone di filo di rame rigido lungo 17 centimetri e saldarlo al punto d’antenna (pin 2 dell’ibrido). Per le connessioni con alimentazione e uscite potete montare sullo stampato dei morsetti a passo 5 millimetri. Completato il montaggio del ricevitore occorre verificare che tutto funzioni, ma più di questo bisogna procedere con l’autoapprendimento dei codici di uno o due trasmettitori.

La prima cosa da fare è alimentare il ricevitore: allo scopo occorre un alimentatore capace di fornire 10÷12 volt in corrente continua; prima di dare alimentazione al ricevitore consigliamo di mettere le pile nel trasmettitore e chiuderlo (a meno che non l’abbiate già fatto); in tal modo l’eventuale trasmissione accidentale dovuta all’involontaria pressione dei pulsanti non può attivare il ricevitore. Fatto ciò chiudete il dip S1 (mettendo così a massa il pin 16 dell’ibrido) e accertatevi che S2 sia aperto. Date quindi alimentazione al ricevitore.

Appena alimentato, il circuito deve rispondere facendo lampeggiare per qualche istante (due o tre secondi) il LED DL3; questa è la segnalazione che il modulo ibrido è disposto in modalità di apprendimento codici. Durante questa fase, il microcontrollore cancella eventuali codici preesistenti nella EEPROM; la cancellazione può essere arrestata solo aprendo prontamente S1. Quando DL3 si spegne il modulo è pronto a caricare i codici fissi dei 2 TX abilitati. Da questo momento ogni trasmissione operata da un TX Dynacoder determina la memorizzazione del suo codice base in memoria non volatile.

Notate che la programmazione avviene solo se si introducono in sequenza i codici dei due TX che si vuol abilitare; non importa se in realtà si memorizzano codici uguali: se avete un solo trasmettitore dovete trasmettere due volte, mentre avendone due dovete trasmettere una volta con uno e la volta dopo con l’altro. Dunque, per memorizzare il codice numero 1 (primo TX riconoscibile) si deve premere un qualunque pulsante del trasmettitore che si vuol configurare; il pulsante va lasciato solo dopo che il LED sul TX si è spento. Durante la ricezione del codice il LED DL3 si illumina, indicando che il µC sta scrivendo il codice fisso del TX nella memoria EEPROM.

Si illumina e rimane acceso anche il LED corrispondente al canale attivato sul TX. Quando si spegne il DL3 la memorizzazione è terminata, almeno per il primo codice. Occorre quindi inviare il secondo codice, ovvero quello dell’altro TX da abilitare; avendo un solo TX dovete ripetere l’operazione appena fatta, mentre dovendo attivarne un altro dovete premere uno dei suoi pulsanti. Al solito deve accendersi il DL3, che deve spegnersi dopo qualche istante indicando l’avvenuta memorizzazione del secondo codice. Anche in questo caso si deve rilasciare il pulsante del trasmettitore solo dopo che si è spento il LED rosso.

Terminata la programmazione si deve togliere tensione al circuito, attendere una decina di secondi (i condensatori si devono scaricare…) quindi aprire S1. Alla successiva accensione il ricevitore è pronto al normale funzionamento: verificatelo premendo i pulsanti di attivazione dei trasmettitori. Notate che, anche se non l’abbiamo detto, le operazioni di memorizzazione dei codici base dei TX vanno eseguite trasmettendo entro la distanza limite coperta dal sistema; altrimenti non si avvia la sequenza, situazione evidenziata dalla mancata accensione del DL3. In pratica la trasmissione va effettuata nelle immediate vicinanze (uno, due metri…) dell’RX.

Come testare il sistema dynacoder

Ogni modulo RX Dynacoder offre la funzione di test dei TX che permette di controllare il funzionamento di qualunque trasmettitore: pigiando il pulsante di qualsiasi TX Dynacoder si attiva la relativa uscita dell’RX con la conseguente accensione del LED di canale. Ovviamente i relè di uscita non si attivano finché il modulo Dynacoder non riconosce come valido il codice ricevuto, ovvero fino a quando l’uscita Vt (valid trasmission) non cambia stato.

L’AUTOSINCRONIZZAZIONE

Come tutti i sistemi Rolling-Code (caratterizzati da una parte variabile del codice), il nostro ha un sincronismo tra il codice inviato dal trasmettitore e quello accettabile dal ricevitore. Quest’ultimo può tollerare un codice che corrisponda ad uno tra i 256 seguenti l’ultimo identificato come valido; chiaramente ciò vale per entrambi i trasmettitori, ovvero per entrambe le trasmissioni con codice fisso abilitato. Qualora il TX trasmetta per più di 256 volte senza essere “ascoltato” dall’RX o venga azzerato per effetto della sostituzione della pila, si perde il sincronismo, e non è più possibile la sincronizzazione automatica (autosincronizzazione) da parte del decoder: perciò, pur avendo un codice fisso valido per l’RX, il TX non viene riconosciuto dal decoder dell’RX stesso. Per poterlo riconoscere occorre risincronizzarlo, cioè costringere il decoder a leggere la trasmissione del TX, quindi a rimettersi in passo.

La sincronizzazione in questione è possibile ponendo a livello alto il piedino 14 del modulo ricevitore (a livello basso si abilita la sincronizzazione automatica) cosa che nel nostro circuito viene fatta dal temporizzatore facente capo a T1. Per avviare la sincronizzazione forzata occorre chiudere S2; in tal caso al pin 14 dell’U1 giunge un impulso a livello alto che dura circa 20 secondi; entro tale tempo occorre trasmettere con il TX che ha perso il sincronismo. La trasmissione va effettuata tenendo premuto il pulsante finché non si spegne il LED sul TX o comunque per un paio di secondi. Appena risincronizzato, il modulo accende per un paio di secondi il LED connesso al pin 17 (LED rosso; questo si accende per lo stesso tempo anche in caso di risincronizzazione automatica); spento il LED si può aprire S2.

Il circuito riprenderà il normale funzionamento. Notate che la sincronizzazione forzata è possibile solamente per i trasmettitori il cui codice fisso è uno dei due memorizzati nell’ibrido Dynacoder; infatti in tale fase avviene l’aggancio della sequenza di variazione dei 32 bit variabili ma non viene appreso alcun codice fisso. Se sono andati fuori sincronismo due trasmettitori occorre svolgere la sincronizzazione forzata per entrambi, separatamente. La temporizzazione della sincronizzazione manuale consente di rientrare al funzionamento normale anche se si dimentica chiuso S2.

Il kit è disponibile da Futura Elettronica

Leave a Reply