TUTORIAL PIC 

 

PIC & C


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:

  •  il microcontroller PIC 18F2620

  • il modulo GSM Siemens TC35

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.


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 23/09/11.