SERIE 10F2XX
RADIOCOMANDO
PER COMANDO ILLUMINAZIONE E ALTRO...
Progetto pubblicato sulla rivista Fare Elettronica |
IL PROGETTO |
Sovente capita di cambiare la disposizione dei mobili di
una stanza e trovarsi in difficoltà con la disposizione delle
luci e relativi punti di accensione. Il presente circuito può
risolvere alcuni di questi problemi.
Presentazione
Come succede in tutte le famiglie del mondo, arriva il momento che la gentile consorte decide di rinnovare il mobilio di casa. Ciò che crea scompiglio in famiglia oltre alla necessità di reperire i soldi per lacquisto di nuovi arredi è la disposizione degli stessi che, con la scusa di cambiare aria, non coincidono con i vecchi. A questo punto sorgono i problemi, nel senso che il vecchio impianto elettrico non è più disposto in modo da gestire in maniera efficiente e pratica laccensione delle luci e la soluzione che per prima viene in mente, riguarda il rifacimento o la modifica dello stesso con tutto il caos che comporta. Immaginando nuove tracce nei muri, calcinacci e polvere, diversi week-end sprecati con martello e cazzuola, siamo subito corso ai ripari studiando soluzioni alternative. Sono queste le premesse che ci hanno spinto a realizzare il radiocomando che vi presentiamo in queste pagine.
Schema elettrico |
Considerando lo scopo finale del dispositivo, non
abbiamo cercato di sviluppare un sistema ultrasicuro ma ci siamo
ispirati più alla semplicità e alle dimensioni che devono
risultare le più ridotte possibili nonché alleconomicità
dellintero sistema. Come risultato finale, abbiamo a
disposizione un trasmettitore tanto piccolo da essere inserito
allinterno di un tappo della serie IDEA della
ditta VIMAR. Unico problema è la necessità di disporre nelle
vicinanze di una fonte di alimentazione a 230 V, come una presa
di corrente. Nulla vieta di alimentare il circuito modificato,
vedremo più avanti come, con un adeguato pacco di batterie da
nascondere allinterno della scatola dove sarà presente il
pulsante di accensione.
Non pensate di trovarvi tra le mani un circuito semplice
ma poco affidabile, durante le nostre avventure sopra citate, ne
abbiamo piazzati due e funzionano egregiamente da più di due
anni.
Vediamo lo schema elettrico del trasmettitore.
Allo scopo di contenere i costi e nello stesso tempo
ottenere un circuito finale tanto piccolo da trovare posto
all'interno di un tappo della serie IDEA, abbiamo
preferito fare uso di un microcontrollore della Microchip in
formato SMD e la scelta è caduta su un micro della famiglia
PIC10, precisamente il PIC10F220, serie dotata di scarse
caratteristiche tecniche, ma sufficienti a soddisfare le
aspettative finali. Esternamente si presente in un contenitore
SOT-23 ed è dotato di soli sei piedini, due sono destinati
all'alimentazione, il pin 6 può essere usato solo con ingresso,
i restanti tre piedini indifferentemente come ingresso o uscita.
Internamente contiene un oscillatore a 4 o 8 MHz. Un timer a 8
bit completo di prescaler e un ADC sempre a 8 bit completano le
risorse a disposizione dellutilizzatore. La memoria
programma, di tipo FLASH, è ridotta a 256 Byte mentre l'area di
memoria RAM è limitata a 16 Byte. Sicuramente qualche Byte di
EEPROM per memorizzare in maniera definitiva qualche dato sarebbe
stato vantaggioso, nel nostro caso avremmo potuto memorizzare
l'indirizzo del trasmettitore, siamo comunque riusciti a
canalizzare il sistema utilizzando dei ponticelli. Il costo al
dettaglio di un micro della famiglia PIC10 si aggira intorno ai
50 centesimi IVA compresa.
La pressione del pulsante dell'impianto di
illuminazione, vedi pulsante VIMAR di figura 1,
invia 230V ai capi di X1. La semionda negativa viene bloccata da
D1 che permette il passaggio solo di quella positiva, il
condensatore C1 limita la tensione ad un valore accettabile dal
circuito ed è stabilizzata dallo zener DZ1 al valore di 4,7V. La
resistenza R1 limita la corrente iniziale che può assumere
valori importanti a seconda della posizione della sinusoide al
momento iniziale di alimentazione del circuito considerando il
condensatore completamente scarico. La R2 scarica il condensatore
C1 quando il circuito non è alimentato, evitando shock elettrici
da contatto visto che C1 assumere un potenziale prossimo a quello
della rete elettrica. Il C2 da 100 µF filtra in maniera adeguata
la tensione di 4,7V.
A questo punto il PIC, correttamente alimentato, va a
leggere lo stato dei piedini 1, 3 e 6, parametrizzati come
ingressi, i quali indicano l'indirizzo del trasmettitore e
costruisce una stringa per inviarla al modulo trasmettitore M1
tramite il pin 4, parametrizzato come uscita. In particolare il
piedini collegati a J1, con la tecnica del peso binario, vanno a
formare l'indirizzo del trasmettitore e solo il ricevitore che
avrà la stesso indirizzo cambierà lo stato della propria
uscita. In questo modo riusciamo a fare coesistere fino ad otto
trasmettitori diversi all'interno della stessa casa, anche se,
come vedremo dallo schema elettrico del ricevitore, potremmo
gestire non più di cinque indirizzi diversi. L'associazione
jumper/indirizzo, risulta evidente dallo schema elettrico.
Lo schema elettrico del ricevitore risulta leggermente
più complesso perché sono maggiori le funzioni da gestire.
Contrariamente al trasmettitore, che viene alimentato
per il tempo necessario all'invio di una stringa, il ricevitore
deve essere sempre pronto alla ricezione di un comando da parte
del trasmettitore. Conviene investire in maniera appropriata allo
stadio di alimentazione per aumentarne l'affidabilità
complessiva. Allo scopo si è utilizzato un classico
trasformatore che riduce la tensione, una volta raddrizzata da D1
e filtrata da C1, idonea ad alimentare il relè KA1. L'integrato
regolatore U2 con il contributo di C2 riduce ulteriormente la
tensione ai classici 5V.
Lo schema elettrico del ricevitore è visibile in figura 2. Il micro utilizzato dal ricevitore è lo stesso del trasmettitore. Al fine di renderlo il più possibile universale, è stato aggiunto il jumper J2 per mezzo del quale possiamo decidere se l'uscita attua un comportamento bistabile o temporizzato. Nel primo caso il relè KA1 viene eccitato alla pressione del pulsante del trasmettitore e resta in tale stato fin tanto che non arriva un secondo comando da parte del trasmettitore. Nell'uscita di tipo temporizzato, al comando il KA1 chiude il proprio contatto per circa due secondi, dopo di che ritorna allo stato di riposo. Nel normale utilizzo di comando luci, tale jumper andrà lasciato aperto per ottenere il funzionamento di tipo bistabile dell'uscita. Come avrete notato non è stata usata alcuna resistenza di pull-up in quanto viene sfruttata quella interna al micro, semplificando ulteriormente il circuito.
La gestione del relè è affidata al GP2 tramite il transistor Q1 che agisce da amplificatore di corrente.
Il modulo ricevitore M1 è di tipo superreattivo il quale garantisce una discreta sensibilità ad un costo decisamente abbordabile, ideale per applicazioni economiche di questo tipo. L'uscita del modulo è collegata al GP3 del micro, che può funzionare esclusivamente come ingresso.
La gestione dell'indirizzo con un unico piedino a disposizione può sembrare ostica. La soluzione adottata è presente anche in qualche datasheet di Microchip, un partitore resistito associato al ADC del PIC. Dallo schema elettrico del ricevitore notiamo la presenza di R1, R2 e R3 collegate a J1. La combinazione dei jumper di J1 viene tradotta dal micro in una tensione e dal programma in un indirizzo. Nello schema elettrico sono presenti le varie combinazioni per ottenere l'indirizzo che va da 1 a 5.
Ogni ricevitore viene controllato esclusivamente dal
trasmettitore che possiede lo stesso indirizzo. Ovviamente più
trasmettitore possono avere lo stesso indirizzo, controllando di
fatto lo stesso ricevitore.
Firmware |
Durante la descrizione dello schema elettrico, abbiamo fatto notare quanto siano limitate le risorse del micro utilizzato. In particolare la scarsa memoria a disposizione, ci obbliga a scartare linguaggi ad alto livello indirizzandoci alla programmazione tramite l'assembler.
Il firmware del trasmettitore (Tx_IDEA.asm) è piuttosto semplice. Una volta alimentato, il PIC esegue la giusta parametrizzazione dei vari registri (start), quindi legge lo stato degli ingressi collegati a J1 per determinare l'indirizzo del trasmettitore (_main) e invia la stringa completa al modulo M1 per la trasmissione nelletere (_Tx).
Finche il trasmettitore è alimentato, il PIC invia continuamente la stringa intervallata da una pausa per consentire al condensatore C2 di caricarsi.
Il protocollo di trasmissione adottato è molto semplice ed è composto da:
1 bit di start
1 Byte con codice fisso (0x35)
1 Byte contenente l'indirizzo del trasmettitore e lo stesso complementato.
Da notare che l'accoppiata PIC trasmettitore e PIC
ricevitore non fanno uso di alcun tipo di oscillatore quarzato.
Per ovviare al problema ogni bit è stato diviso in tre parti. In
questo modo il micro del ricevitore riesce a sincronizzarsi su
ogni singolo bit, ricostruendo in maniera ottimale la stringa
inviata dal trasmettitore nonostante possono esserci differenze
sulla frequenza di clock tra i due micro.
Ovviamente il ricevitore viene gestito da un programma (Rx_IDEA.asm) leggermente più complesso. Dopo la giusta parametrizzazione dei registri (start), il programma impone al PIC di testare continuamente il GP3 e verificare se è presente una richiesta da parte del trasmettitore (main). Se ciò è verificato, il micro salta alla routine _Rx, quindi controlla l'integrità del pacchetto confrontando il proprio indirizzo che deve essere uguale a quello trasmesso (_main_ctr, _ADC). Nel caso il tutto coincida viene attivata l'uscita nel modo stabilito dal jumper J2. Un efficace sistema antiripetizione impedisce al relè di cambiare stato ad ogni stringa inviata. Ciò è necessario per evitare funzionamenti indesiderati nel caso si insista in prolungare pressioni sul pulsante del trasmettitore.
Montaggio |
Nonostante il trasmettitore presenti un numero esiguo di componenti particolare attenzione va posta nel montaggio del PIC. A tal fine consigliamo caldamente di costruire fedelmente il circuito stampato proposto in figura 3. Da notare che il PIC presenta un contenitore di tipo SMD pertanto va montato dal lato rame. Anche la disposizione del componente è decisamente importante, un piccolo bollino identifica il piedino 1. Le dimissioni estremamente ridotte impongono un minimo di attrezzatura durante la fase di saldatura, in particolare il saldatore deve avere la punta molto fine ed è necessario disporre di una lente da tavolo o del tipo da indossare sul capo che permetta di avere le mani libere.
Una volta in possesso del circuito stampato inciso e
forato, la prima operazione da compiere è proprio la saldatura
del micro. Prima di procedere è consigliabile prestagnare con un
leggero strato di stagno le sei piazzole su cui andrà saldato il
PIC. Piazzate il componente con il pin 1 collegato alla piazzola
2 di J1 e procedete alla saldatura di un unico pin. Verificate se
la posizione è corretta e tutti i piedini combaciano con le
relative piazzole di rame. Procedete con la saldatura dei
restanti piedini e nel caso abbondiate con lo stagno o creiate
dei corto circuiti, risolvette il tutto con della treccia di rame
dissaldante. Quanto descritto per il trasmettitore vale anche per
il ricevitore, prendetemi tutto il tempo necessario durante la
saldatura perché si tratta di un'operazione delicata che
determinerà in maniera predominante il successo del progetto.
Una volta terminata la saldatura del PIC, completate il montaggio, illustrato dalla figura 4, con i restanti componenti. Se non avete a disposizione una presa a 230V e quindi optate per l'alimentazione a batterie (figura 5), dovette montare solamente la morsettiera X1, i jumper J1 e il modulo M1 che va montato con il lato componenti rivolto all'interno del CS. Un piccolo ponticello e il condensatore C2 da 0,1µF, il cui valore non è determinante, completerà l'intero circuito. Sono sufficienti tre batterie formato mini stilo collegate in serie per alimentare, per diversi anni, il trasmettitore. Infatti l'esiguo consumo, in aggiunta al fatto che lo stesso viene alimentato esclusivamente nel momento che invia il comando, assicurano una durata lunghissima al pacco batterie, soprattutto se di tipo alcaline, le quali presentano, tra le varie caratteristiche, un'autoscarica molto bassa.
Analogamente anche per il ricevitore è stato approntato
un circuito stampato estremamente compatto (figura 6).
Tutti i componenti trovano posto in una scheda che misura appena
50 x 43 mm. Anche in questo caso la prima operazione da compiere,
una volta in possesso del CS inciso e forato, è quella di
saldare il micro dal lato rame. Il pin 1 del PIC è collegato
alla piazzola 2 di J2.
Continuate con il montaggio dei componenti radenti alla superficie, quindi tutti gli altri lasciando per ultimo il trasformatore T1 e non montate assolutamente il modulo ricevitore M1, altrimenti non riuscirete a programmare il PIC. La figura 7 illustra la corretta disposizione dei componenti.
Nota importante per il trasformatore T1, il modello utilizzato presenta una potenza di 1,5 VA con l'uscita di 19 V, idoneo a pilotare un relè da 24 V. Se nel cassetto avete un trasformatore di analoga potenza ma da 9/10 V e un relè da 12 V, non esitate a montarli al posto di quelli proposti, il tutto funzionerà comunque.
Collaudo |
Prima di collaudare le due schede, è necessario
caricare il Firmware all'interno di ogni PIC. Essendo questi
ultimi in formato SMD, non è possibile montarli su uno zoccolo e
procedere al caricamento del programma per mezzo di un
programmatore da banco, ma è necessario effettuare dei
collegamenti direttamente al circuito stampato e, per mezzo di
questi, collegare il programmatore. In particolare nella schedina
del trasmettitore vanno collegati i terminali provenienti dal
programmatore con questo ordine:
CLK al pin 1 di J1
DATA al pin 2 di J1
Vpp al pin 3 di J1
GND indifferentemente ai pins
4, 5 o 6 di J1
Vcc (5V) al punto in
comune tra C1, C2, R1 e DZ1.
Se è il micro è stato montato in maniera corretta il
programmatore deve riconoscerlo immediatamente, quindi procedete
al caricamento del file (Tx_IDEA.HEX) che potete scaricare
dal sito della rivista.
Analogamente, il PIC del ricevitore va programmato con
lo stesso criterio, i collegamenti da effettuare sono:
CLK indifferentemente ai
pins 5, 6, 7 o 8 di J1
DATA al pin 2 di J2
Vpp al pin 14 di M1
GND al pin 4 di J1 o pin 1 di
J2
Vcc (5V) al pin 1 di J1.
Anche in questo caso il programmatore deve riconoscere
immediatamente il PIC eventualmente dopo avere selezionato la
famiglia PIC10F2xxx se questo non lo fa in maniera automatica.
Il file da caricare in questo caso è Rx_IDEA.HEX.
Se il programmatore segnala il corretto caricamento del Firmware
e se lo stesso riesce a leggere in maniera corretta il PIC
saldato sulla scheda del ricevitore, potete procedere al
montaggio del modulo ricevitore M1. Da notare che il modulo va
montato con il lato componenti rivolto verso J1 e J2.
Grazie all'utilizzo dei moduli non è necessario nessun
tipo di taratura, possiamo quindi procedere immediatamente al
collaudo finale.
Il ricevitore va collegato ad una presa di corrente per
mezzo di un cordone di alimentazione da connettere ai morsetti di
X1, mentre il trasmettitore va collegato come da schema a seconda
della versione che avete montato. Se disponete della versione
completa funzionante a 230V, è importante che l'indirizzo del
trasmettitore vende impostato prima di alimentarlo, per ovi
motivi di sicurezza. Impostate lo stesso indirizzo del ricevitore
e provate a premere il pulsante del trasmettitore. Il relè del
ricevitore deve reagire ad ogni pressione del pulsante.
Provate a cambiare l'indirizzo del ricevitore e agite
ancora sul pulsante del trasmettitore. In questo caso il
ricevitore deve ignorare il comando del trasmettitore e il relè
non deve reagire in alcun modo.
A questo punto potete alloggiare le due schede in
appositi contenitori o semplicemente all'interno di una scatola
di derivazione.
Nel caso ci siano problemi di portata, è possibile
ottimizzare l'accoppiata trasmettitore-ricevitore dotando
ciascuno di uno spezzone di filo rigorosamente isolato, da
saldare nelle apposite piazzole con la funzione di antenna. Alla
frequenza di 433 MHz ogni spezzone di filo deve essere lungo 17
cm.
Conclusioni |
Il progetto è nato per soddisfare uno scopo ben preciso, nulla vieta però un utilizzo diverso. Il fatto stesso che sia possibile controllare l'uscita da bistabile a temporizzata, il costo estremamente basso e le dimensioni contenute lo rendono ideale per le più svariate applicazioni.
LISTA COMPONENTI TRASMETTITORER1 100 ohms 1/2W (solo per versione 230V) R2 da 100 Kohms a 1 Mohms (solo per versione 230V) C1 0,22 µF 400 V (solo per versione 230V) C2 100 µF 16V (versione 230V) 0,1 µF 16V (versione batterie) D1 1N4007 (solo per versione 230V) DZ1 4,7 V 1/2W zener (solo per versione 230V) U1 PIC10F220 M1 RT5 (Telecontrolli) o TX4MSIL (Aurel) X1 Morsettiera 2 poli J1 Strip doppio 3 +3 poli passo 2,54mm |
LISTA COMPONENTI RICEVITORER1, R2, R3, R4 10 Kohms 1/8W C1 100 µF 40 V C2 100 µF 16V D1 1N4007 D2 1N4148 U1 PIC10F220 U2 78L05 Q1 BC547 M1 RX BC-NBK (Aurel) KA1 Relè 24V T1 Trasformatore 230/15 1,5VA X1, X2 Morsettiere 2 poli J1 Strip doppio 4 +4 poli passo 2,54mm J2 Strip 2 poli passo 2,54mm |
Puoi scaricare il pacchetto completo dal sito di Fare Elettronica
Il pacchetto non è più raggiungibile dal sito della rivista: scaricalo QUI.