Un corso di C - L' applicazione
Ma veniamo
all'applicazione che abbiamo voluto battezzare "PICcolino"
; "PIC" essendo basata sull'impiego di microcontroller PIC
e "colino" in quanto, almeno inizialmente, il seguire la
spiegazione potrà essere difficoltoso, partendo da zero, e potrete trovare
che le vostre conoscenze "fanno acqua"
acqua da tutte le parti.
Ma speriamo che il nostro "colino" sia in grado di filtrare
e trattenere quanto ci potrà servire non solo per questo progetto, ma per
potere poi avventurarsi autonomamente in altri.
E, se anche a
progetto ultimato rimarrà qualche buco, fatecelo sapere che con un po' di
pazienza cercheremo di turarlo...
Bene, ma cosa
ci facciamo con il nostro PICcolino ?
L'idea
originale e' stata quella di un semplice
telecontrollo GSM principalmente concepito per accendere a distanza una
caldaietta o una qualsiasi altra utenza elettrica o per controllare e
comandare un antifurto o applicazioni similari, il tutto basandosi su dei
semplici comandi impartiti via SMS da un qualsivoglia telefonino .
Il progetto
hardware del PICcolino e' descritto nella apposita sezione ed e'
liberamente realizzabile, copiabile
e modificabile per uso non commerciale.
Per facilitare
chi non volesse cimentarsi con l'autocostruzione ed il reperimento di tutti i
componenti necessari al progetto abbiamo realizzato un Kit comprensivo di
tutti i componenti elettronici, del
circuito stampato e del contenitore ottenibile in alternativa anche gia'
montato. Cio' consentira' di seguire i vari passi dello sviluppo ed alla fine
poter disporre di un sistema di telecontrollo funzionante al 100%.
E' tempo dunque di dedicarci ad
analizzare l'hardware del nostro PICcolino.
L' hardware del progetto
Il nostro PICcolino si basa su
due componenti fondamentali:
Un' altra manciata di componenti
elettronici ci permette di arrivare a questo schema:
Analizzandolo schema, se ne
scoprono le potenzialita' in grado di soddisfare pienamente le esigenze di un
telecontrollo ma anche come base per esperienze didattiche.
Innanzitutto il microcontroller:
la scelta di un PIC della famiglia enhanced è obbligatoria, perche'
dispone di un'ampia memoria Flash (18F2620 ne ha ben 64 KB), RAM (3968 B ) ed
EEPROM (1024 B).
Inoltre, la strutrtura degli enhanced, con il
loro particolare set di istruzioni estese, si presta ben più delle famiglie
baseline e mid-range al supporto della programmazione in C.
Questi aspetti sono particolarmente importanti, avendo deciso di
sviluppare il programma in C che risulta spesso particolarmente avido di
memoria. Dunque, pur potendo partire da processori più piccoli, non ha alcun
senso limitarsi le risorse in fase di sviluppo: meglio abbondare per non
vedersi poi impossibilitati ad inserire nuove funzionalita' nel
programma.
D'alta parte la differenza di costo tra un modello con poca memoria ed uno con
memoria estesa e' davvero poco significativo non vale davvero la pena
risparmiare pochi centesimi su questo aspetto.
Riguardo alle altre dotazioni
particolari del 18F2620, non vi sono particolari differenze tra questo ed
altri enhanced; e, in realtà,in quanto nel progetto non sono richieste
particolari funzioni al di fuori degli standard disponibili in quasi tutti i
PIC della serie 18.
In ogni caso e' sicuramente
utile, anzi direi indispensabile scaricare il datasheet del componente dal
sito della Microchip al seguente link
.
Come per tutta la documentazione
della Microchip si tratta di un documento in Inglese. Niente paura per chi non
conosce minimamente questa lingua, ogni funzione necessaria al progetto verra'
analizzata e spiegata in Italiano. In ogni caso anche se in Inglese il
datasheet ( foglio dati caratteristici ) risultera' piu' che utile per i suoi
disegni, tabelle, grafici ecc.
Inoltre, su questo sito, è in corso la pubblicazione di una analisi
dettagliata del foglio dati di un PIC18, che risulta molto utile come
chiave di lettura e confronto.
Si e' scelto un PIC
con contenitore dual in line a 28 pin per permetterne il montaggio su
circuito stampato tramite zoccolo anche a chi non dispone di capacita' ed
attrezzature per saldatura di componenti a montaggio superficiale. Questo
anche per non imporre l’acquisto pressoche’ obbligatorio di un Kit
premontato, nel caso avessimo optato per un dispositivo a montaggio
superficiale.
L'altro componente fondamentale
e' costituito dal modulo GSM Siemens TC35.
Si tratta di un modulo non piu'
giovanissimo, ma che, in quanto tale, puo' essere reperito sul mercato surplus
a costo molto contenuto. Il
modulo da noi usato presenta il vantaggio di essere gia' montato su di un
piccolo stampato assieme agli
adattatori di livello TTL ed al connettore per l' inserzione della scheda SIM,
indispensabile per abilitare la ricezione e trasmissione di SMS con il gestore
telefonico prescelto. Il modulino dispone di un collegamento a 14 pin che si
puo' facilmente inserire in un corrispondente connettore femmina posizionato
sulla scheda principale. Il modulo e' un vero e proprio modem autonomo che
dialoga con il mondo esterno attraverso un'interfaccia seriale mediante una
serie di comandi che sono approfonditamente descritti nel
manuale operatore.
Una rapida ricerca in Internet
vi consentira' di trovare ampia documentazione di questo modulo cosi
come fornitori asiatici disponibili a fornirne quantita' industriali a pochi
Euro.
link per scaricare datasheet:
http://www.datasheetarchive.com/Indexer/Datasheet-049/DSA0096488.html
Anche in questo caso il manuale
e' in Inglese e vale ovviamente lo stesso discorso di prima.
L’interconnessione tra modem
TC35 e micro controller PIC18F2620, come di puo’ notare dallo schema e’
stata realizzata con parecchi segnali, ben piu’ di quelli strettamente
necessari per realizzare un corretto dialogo tra i due dispositivi.
Questa scelta e’ stata dettata da due ragioni:
-
Inutile
lasciare inutilizzati dei segnali sul PIC liberamente disponibili
-
Possibilita’
futura di gestione approfondita del TC35 per applicazioni più ampie,
conservando lo stesso supporto hardware
Dei rimanenti pin di
ingresso-uscita del PIC si e’ deciso di destinarne:
- 2 per il comando di rele
- 2 per acquisizione di segnali
esterni tramite optoisolatori
- 3 per la programmazione /
debug tramite ICSP ( In Circuit Serial Programming )
- 3 per led di segnalazione
generiche
- 2 per ingressi selezionabili
mediante ponticello
- 1 per ingresso da pulsante su
stampato
- 2 ingressi per sensori di
temperatura
- 2 per eventuale quarzo
oscillatore
Poiche’ il sistema vuole
essere una buona base per uno sviluppo didattico del progetto abbiamo deciso
di “appesantire” il circuito con qualche elemento inutile allo stretto
fine dell’applicazione, ma certamente di grande aiuto alla comprensione ed
al debug del modulo TC35.
Per questo motivo e’ compreso
un circuito per la generazione del segnale di inizializzazione modem IGT che
puo’ essere inserito o meno tramite ponticello.
Inoltre i segnali seriali RS232 di TX ed RX tramite un sistema di
ponticelli possono essere convogliati verso un connettore esterno in modo che
il modem TC35 possa dialogare direttamente con la seriale di un PC, in modo
indipendente dal PIC, o, ancor piu’ proficuamente, si possa monitorare la
trasmissione o la ricezione durante il funzionamento del PIC disponendo
cosi’ di un potente mezzo di diagnosi.
Non abbiamo invece ritenuto
utile inserire l’adattatore di livello da TTL ad RS232 ( il tipico MAX232 )
direttamente sullo stampato per motivi di spazio. Ognuno potra’ auto
costruirsi un simile adattatore con gli schemi presentati nell' area PROGETTI
e comunque disponibili già pronti per chi non desidera saldare.
Completa il progetto una sezione di alimentazione
classica 12Vcc / 5 Vcc con il popolare ed economico 7805.
Il tutto viene
alimentato dall’esterno da un alimentatore 220Vac / 12Vcc da 200mA o piu’,
genere wall-plug, di cui certamente ogni buon
elettronico dispone in
abbondanza.
|