Let's GO PIC!!! cap. 29 

Micro-GT 18 mini

Pinguino IDE compatibile   


Micro-GT 18 mini
Scarica il pacchetto contenete il bootloader e downloader USB pinguino.

E' arrivata l'evoluzione della Micro-GT mini, orientata agli estimatori del PIC18F2550, ottima per le applicazioni didattiche come per le istallazioni a bordo macchina di piccoli Robot.

Questa scheda è stata progettata in tecnologia ibrida SMD, ovvero mezza PTH e mezza SMD e costituisce l'ormai inevitabile salto di qualità per tutti quegli hobbisti o tecnici che fino ad oggi non hanno ancora avuto il coraggio di fare il passo.

Scopo del progetto.
Questa scheda elettronica non è da considerarsi destinata solo allo studio della programmazione dei microcontrollori della serie 18, ma anche come piccolo sistema di controllo da installare in maniera definitiva a bordo macchina.
La cosa è senz’altro possibile e anche consigliata dato il basso costo e la possibilità di montare solo le parti che sono realmente necessarie. A tal fine sono disponibili una moltitudine di minishield, anche riproducibili autonomamente, che normalizzano con optoisolamento ingressi e uscite. In una destinazione finale potremmo ad esempio usare solo la porta USB e quindi eliminare la porta com, il max232 e i 4 condensatori elettrolitici ad esso assegnati.  In alcuni casi non sarà necessaria neppure la porta USB, ad esempio nei casi in cui si vogliano fare dei controlli valvole in sequenza è sistemi temporizzati, potremmo quindi non montare il connettore ma anche il quarzo e i due ceramici dato che questa famiglia contiene un quarzo interno a ben 8Mhz.
Si può pensare all'utilizzo di questa scheda nella stessa maniera di come si usa un PLC, se consapevoli delle limitazioni rispetto a questo, ma sicuramente nel senso della possibilità di ricaricare un programma quando fosse necessario.
Il databook del chip 18F2550 garantisce centomila riscritture dell'area programma e ben un milione dell'area eeprom in cui possiamo memorizzare dei dati di processo.
Le versioni pre assemblate saranno il campo di battaglia per gli informatici a cui è andato un po in disgrazia il saldatore, e con la quale potranno sbizzarrirsi con le loro acrobazie algoritmiche, mentre per i laboratori scolastici elettronici è un ottimo esercizio di sicura utilità e convergente nel ramo delle automazioni.
Per quanto riguarda i minishield sono ovviamente compatibili quelli già presentati per la Micro-GT mini orientata ai PIC16, ad esempio il minishield power inverter, l'universal display ecc.
Per questa versione verranno presentati, in uno dei prossimi capitoli di Let's go PIC, il minishield a 6 ingressi optoisolati e minishield controllo relè,un RTC, un LCD intelligente, moduli radio, e tutti quelli che la fantasia potrà sfornare prossimamente.  
 
Specifiche tecniche
IL circuito presenta alcuni punti forza che si è deciso di inserire basandosi sull'esperienza maturata nel progetto Micro-GT mini, sviluppato per il PIC16F876A, che rimane comunque disponibile.
Le dimensioni sono state ulteriormente ridotte, come per una sorta di sfida, come si addice agli hobbisti che vogliono da se stessi qualcosa in più, è stato tracciato prima il contorno, detto piano GKO dei gerber, per una misura di esattamente 50mmX50mm, e poi ci si è imposto di farci stare dentro più opzioni circuitali che fosse possibile.
Ne è risultato un circuito estremamente compatto ma nel contempo non impossibile da assemblare anche con strumenti tradizionali.
I chip alloggiabili non sono solo il noto 18F2550, ma anche le versioni potenziate di questo, ad esempio il moderno 18F25K50 visibile nella foto sotto.
download databook PIC18F25K50
 
Vediamo nella prossima immagine la comparazione dei due modelli direttamente saldabili su questa scheda.
 
comparazione tra 18F25k50 il 18F25k22 e 18F2550
 
Scarica il databook del PIC18F2550.
 
Come possiamo vedere, a meno dell'estensione del PORTA e dei canali analogici i pin si trovano tutti nella stessa       posizione. In entrambi i modelli il pin 14 è impegnato, rubando la posizione 3 del PORT C alla capacità utile al sistema di generazione interno della tensione di riferimento per la porta USB. In questo pin collegheremo un condensatore al poliestere con capacità compresa tra 220nF e 470nF.
E' bene non lasciare flottante questo terminale.   Qualora il PIC fosse alimentato a 3,3V, come del resto si stanno orientando le odierne famiglie di PIC, la capacità VUSB rimane indispensabile benché con una funzione diversa e limitata a impedire le fluttuazione del riferimento di tensione.
Personalmente ho assemblato il prototipo visibile in questo articolo in circa un'ora e mezza usando il normale saldatore per PTH anche nella componentistica smd.
 
 
Saldatura SDM usando un normale saldatore per PTH.
 
Per una prima infarinatura su queste tecniche di assemblaggio e per conoscere i componenti, consiglio ai lettori di leggere il mio articolo "SMD no fear" pubblicato qui su grix e sulla community Micro-GT.
Vediamo nella successiva immagine un'ispezione alla lente di ingrandimento delle prime saldature eseguite sui pin del PIC e sul MAX232. Queste saldature sono in realtà le meno problematiche da eseguire.
 
 
ispezione delle saldature alla lente d ingrandimento.
 
Personalmente eseguo il controllo anche tramite un microscopio USB facilmente reperibile in qualsiasi negozio di PC ad un prezzo molto accessibile. Il mio è un "DigiMicro" da 200 ingrandimenti. Contiene una telecamera USB da 2.0 Mega pixel con profondità di colore 24bit RGB.  Una volta puntato a pochi millimetri dalla superficie del PCB esegue la riproduzione dell'immagine a schermo interno evidenziando qualsiasi difetto della saldatura.
In punta ha 4 diodi LED bianchi che illuminano perfettamente la parte sotto analisi. Dispone anche di un pulsante con cui scattare la foto del particolare sotto analisi.
Suggerisco a chiunque si voglia addentrare nell'avventura SMD di dotarsi di questo strumento utilissimo e dal costo davvero basso.
Il numero di Servomotori pilotabile direttamente onboard passa da 14 del primo modello a 8 per la necessità di lasciare spazio nel ridottissimo PCB  alle nuove funzionalità, ma nulla vieta di interfacciare ulteriori servomotori al connettore SV2, predisposto per il collegamento LCD, e quindi rinunciando a questa funzione. Nel caso di utilizzo di ogni pin disponibile per il controllo di servomotori va tenuto presente che solo i primi 6 troveranno alloggio con il loro connettore naturale come mostrato in una delle foto successive, mentre i rimanenti potranno essere inseriti con il cavetto BLU nello strip line onboard e i rimanenti due pin andranno interfacciati alla massa e all'alimentazione di potenza dei servo a cura di chi sviluppa il progetto. 



 
Micro-GT 18 mini schema elettrico.
 
Scarica la lista dei componenti -> Download part list della Micro-GT 18 mini 
 
Rispetto al precedente modello è presente una porta USB in grado di funzionare tramite le librerie distribuite dalla stessa Microchip. Questa porta è in grado di alimentare anche il circuito ma ovviamente non gli eventuali motori o carichi che posso comunque contare sul morsetto X2 a cui collegare, rispettando la polarità, l'alimentazione esterna.  
Spostando il jumper nella posizione 1-2 dello strip line SVR4 è possibile usare la tensione di alimentazione del PICKIT 3 invece che quella del regolatore di tensione interno.
Nel caso fossero collegati più servomotori è bene non lasciare il jumper in posizione 2-3 per non sovracaricare il regolatore, ma di collegare il pin 3 a un alimentatore esterno, con riferimento alla massa di X2-2.
Le resistenze R1,R2 e R3 sono preimpostate come pullup per gli ingressi RC0-RC1-RC2, qualora volessimo collgare tre pulsanti presenti a pannelllo frontale di qualche dispositivo , in maniera diretta.  Se volessimo usare questi pin come uscite è opportuno rimuovere quete resistenze. La presenza dei jumper JP2-JP3-JP4, già riferiti a massa, torneranno utili in molti casi sia per il collegamento come ingressi, in questo caso basta cortocircuitare i pin per fare giungere il segnale valido al PIC, che come uscite, collegando ad esempio una resistenza di limitazione da portare poi alla base del transistor o dell'optoisolatore esterno.
Osservando i connettori in alto a sinistra, ovvero quelli predisposti per i servomotori, ci rendiamo conto che grazie alla particolare disposizione di massa, vdd, segnale per servo, si possono facilmente destinare alla funzione di ingressi digitali a cui abbinare le resistenze di pullup o pulldown.
 
 
La fila centrale dei connettori per i servomotori viene collegata a Vdd chiudendo SVR4 tra il pin 2 e il pin 3, quindi la fila centrale di pin è la posizione ottimale per collegare le resistenza da 10k, mentre il secondo reoforo di chiude nella fila parallela, ovvero quella direttamente connessa al PORTB del PIC (qualora non siano in uso i pullup interni). Analogamente potremmo creare un connettore munito di pullup per i pin visibili in primo piano, ovvero per il PORTC.
Per il collegamento dei sei pulsanti al connettore in foto potremo semplicemente collegare un terminale ai singoli fili che vediamo uscire da sopra le resistenze e il secondo terminale di ritorno sulla fila di pin davanti alle resistenze dato che questa risulta connessa a massa. Useremo pulsanti normalmente aperti. 
 
 
 
Circuito stampato della Micro-GT 18 mini.
Il circuito stampato è stato realizzato con Eagle versione 6.3 e data la dimensione estremamente ridotta e alla presenza di soli due layers è possibile lo sviluppo usando solo la versione free.
Come possiamo vedere la maggior parte dei componente sono SMD del tipo 1206. Alcuni esemplari del prototipo sono stati assemblati in tecnologia 0402, ma solo a titolo di sfida personale e per vederne il risultato finale dal punto di vista estetico. Alla fine entrambi i due tipi di prototipo sono risultati ugualmente funzionanti.
 
Micro-GT 18 mini Layout componenti.
Download immagine sovrastante vettoriale a alta risoluzione.
 
Vediamo nella prossima immagine lo sbroglio del circuito, come è noto le piste rosse sono sul lato componenti, (top layer), e quelle blu sul lato saldature, (bottom layer). Lo chiameremo lato saldature anche se questo circuito predilige la tecnologia smd, ovvero i componenti sono saldati quasi tutti sul lato superiore. La presenza di alcuni componenti PTH, delle porte di comunicazione e dei connettori strip rende comunque corretta la nomenclatura.
 
  
Disegno Eagle completo.
 
Porta ICSP
La porta ICSP, in circuit serial programming, rende il dispositivo programmabile usando qualsiasi programmer che metta a disposizione questa modalità, ad esempio al Micro-GT IDE prima versione e seconda versione sviluppata da gennaio 2014 ma presentata sul sito www.grix.it a natale 2013, nel capitolo 31 del corso online Let's GO PIC!!!.
 
Ovviamente abbiamo completa compatibilità con i dispositivi ufficiali come il PICKIT 3 che infilato in questa porta permette la programmazione direttamente da MPLAB X.
 
 
Porta ICSP della Micro-GT 18 mini


Il pin numero 1, da fare coincidere con il triangolino stampato sul PICKIT 3, oppure con il filo marrone (Vpp) della porta icsp della Micro-GT IDE, è quello più a sinistra. in questo modo, infilando il PICKIT3, dovrete vedere le scritte della marca e modello, correttamente ovvero verso l'alto.

PICKIT 3 di Microchip

Il PICKIT 3 è un dispositivo USB e i suoi driver sono integrati nell'ambiente di sviluppo MPLAB X.  Per chi possiede il PICKIT 2 non ci saranno problemi, al fine di programmare questa scheda saranno assolutamente equivalenti.

Collegamento della Micro-GT al PICKIT 3

Ricordo inoltre che la versione 2014 della Micro-GT IDE, integra la sezione PICKIT 2, quindi possederne una permette il risparmio sull'acquisto di questo dispositivo.

Usando il connettore pentapolare della Micro-GT IDE si dovranno rispettare i seguenti colori:

Connessioni ICSP

Il cavo pentapolare, sul lato programmer, ha questo aspetto, di cui si raccomando di rispettare la sequenza dei colori. Suggerisco di fissare le saldature con un po’ di colla a caldo altrimenti il cavetto a causa della rigidità dei fili si romperà spesso.
 

Cavetto ICSP per la programmazione della Micro-GT 18 mini.

Nel lato programmer, potrà essere inserito nella maniera mostrata nella successiva immagine.

Uscita ICSP del programmer integrato nella prima versione di Micro-GT.

il cavetto ICSP della figura sovrastante entra nel connettore ICSP nel modo visibile nella foto sottostante. Il cavetto pentapolare può provenire anche da altre fonti ICSP in cui i colori sono comunque standardizzati. In questa foto notiamola presenza del condensatore al poliestere da 470nF di tipo standard perché all'atto del montaggio del prototipo non di disponeva a magazzino del corrispondente smd.  La funzionalità è la medesima e la saldatura non troppo difficoltosa.

Si noti che il pin 6 del connettore ICSP potrebbe risultare non connesso come nella foto. Questo è comunque corretto. 

 

innesto del connettore ICSP.

La programmazione tramite bootloader.

La modalità ICSP indicata sopra impone che il proprietario della scheda disponga anche di un altro dispositivo utile alla sua programmazione, il programmer.

Il costo del sistema aumenta notevolmente se ci si deve procurare anche questo dispositivo. Il costo diventa inaccettabile qualora si debba attrezzare un laboratorio multipostazione come ad esempio una scuola.  Esiste una maniera di caricare il file .hex sfruttando direttamente le porte native del PIC.

Il bootloader e' un particolare programma, che istallato una sola volta all'atto dell'assemblaggio della scheda, permetterà la riscrittura dell'area programma in maniera veloce e ripetitiva usando il solo cavo seriale o il cavo USB a seconda del bootloader impiegato.

Va tenuto presente che il bootloader sincronizza le sue azioni di scrittura seriale dei dati nell'area programma sul segnale di clock, quindi a diversi quarzi corrispondono diverse versioni di bootloader.

Il quarzo naturale per il bootloader rilasciato da Microchip, e operante sia per il PIC18F2550 a 28 pin (quello di questa scheda) che per il PIC18F4550, a 40 pin e' quello a 20 Mhz.

Chi per qualche ragione avesse montato nella scheda un quarzo da 4Mhz potrà utilizzare la seguente versione (sempre di provenienza internet).

Scarica il bootloader per 18F2550 abbinato a quarzo da 4Mhz -> download.

I bootloader di questo tipo, operanti anche su porta USB, funzionano in maniera un po’ diversa dai classici operativi sulla seriale, ad esempio quello normalmente impegnato nella Micro-GT mini con a bordo il PIC16F876a, e' infatti necessario istallare l'apposito downloader e agire sui pulsanti Boot e reset e non solo sul pulsante hardware di reset come fatto finora, inoltre il programma potrebbe non andare automaticamente in esecuzione ma richiedere una sorta di start da parte dell'utente che dovrà agire sul tasto di reset.

Si deve porre attenzione anche all'area di memoria in cui allocare il bootloader e al fatto che questo non venga sovrascritto dal programma utente. A tal fine Microchip mette a disposizione del "linker" ovvero strumenti in qualche maniera correlati alla compilazione, in grado di riservare le aree di memoria basse al bootloader. 

L'occupazione di memoria, nella parte bassa dell'area programma e' di 2Kbyte, ovvero dall'indirizzo 000H all'indirizzo 7FFH del pic di riferimento 18F2550 con cui si intende rilasciare, a chi fosse interessato, degli esemplari della Micro-GT 18 mini.

Sara' cura di chi sviluppa i programmi di non invadere questa area sovrascrivendo il bootloader.   Rimangono comunque liberi ben 30K di memoria sui 32k disponibili nei 18F2550.

Va ricordato che questo tipo di programmazione non imposta i fuses del PIC e quindi la cosa deve essere implementata in code, ma del resto questa e' la consuetudine per chi ha seguito il corso online "Let's GO PIC !!!" o letto l'omonimo libro.

Scarica il bootloader per 18F2550 con quarzo a 20Mhz -> download

scarica il bootloader per 18F2550 con quarzo a 8 Mhz -> download

A inizio pagina è presente il link alla pagina web dell'IDE PINGUINO a cui la scheda è compatibile. Tramite la suite di programmi downloader/bootloader testata e suggerita potrete programmare la Micro-GT 18 mini usando il bootloader USB.

Scarica il pacchetto contenete il bootloader e downloader USB pinguino.

Il downloader e' facilmente rintracciabile in internet, ma nel caso non riusciate a trovarlo contattatemi alla mail ad.noctis@gmail.com 

Porta seriale

La porta seriale è il classico connettore CANNON-DB9 sub miniature (femmina). Ufficialmente il protocollo RS232 definisce il protocollo di interfacciamento tra un DTE (data terminal equipment) e un DCE (data communication equipment) tramite il quale avviene uno scambio di dati. I segnali essenziali sono i pin 3 e 2 rispettivamente TX e RX del lato DCE.

Va ricordato che secondo le regole impostate nelle telecomunicazioni il DTE è il terminale computer mentre il DCE rappresenta la periferica di comunicazione quale era il modem seriale o una periferica quale il mouse e in questo caso il sistema di controllo Micro-GT 18 mini.

Un cavo "modem" sarà disegnato in modo da soddisfare la connessione pin to pin tra DTE e DCE, mentre un cavo così detto Null Modem presenterà un incrocio delle connessioni ai pin 2 e 3 tra il lato DCE e DTE.  In questo secondo caso i segnali di consenso alla trasmissione e riconoscimento dell'avvenuta ricezione saranno cortocircuitati ai connettori dei rispettivi lati realizzando una sorta di inganno di "auto consenso all'invio" e "auto conferma della ricezione". Ne risulta che nella connessione null modem sono sufficienti tre conduttori, il due incrociato con il tre e il 5 al 5 per il riferimento alla massa mentre i segnali RTS e CTS cono cortocircuitati da entrambi i lati.

Analizzando lo schema si vede che dovremmo usare il protocollo a 5 fili, e quindi un cavo di tipo modem. In questo caso useremo il medesimo cavo che impieghiamo per la Micro-GT mini classica, ovvero quella che è stata presentata al capitolo 10 del corso online Let's GO PIC!!!.  

 

Traslatore di livello MAX232.

Per essere più concreti mostriamo l'immagine del connettore in cui si riportano i nomi dei segnali abbinati al numero del PIN.

Posizione dei segnali al connettore RS232.

Vediamo l'interno del circuito intergrato MAX232 per giustificare la modalità di connessione alla porta seriale per uscire dalla scheda e ai pin TX e RX per entrarci.

interno del max232, fonte databook Maxim.

Lo standerd seriale EIA RS232C è basato su segnali che viaggiano nei cavi in maniera bipolare, con un range di riconoscimento valido piuttosto ampio, tra i +/- 6V e +/-12V, (e anche leggermente fuori nell'intorno di questi valori). Sorge quindi il problema di interfacciare un ambiente unipolare come l'alimentazione del PIC (detto anche MCU = microcontroller unit) a tensione genericamente TTL, ma oggi sempre più spesso a 3,3V, con l'ambiente bipolare del cavo di trasmissione.

Supponiamo il chip MAX232 alimentato a Vcc=+5V (pin 16) rispetto alla sua massa (pin 15). La sezione interna, più in alto nello schema a blocchi, collegata ai pin 1-2-3 alimentata TTL al pin 16, esegue la duplicazione della tensione disponibile, tramite una sezione step up che necessita dei condensatori elettrolitici C1 e C3. Quest'ultimo, se non si ha disponibile lo schema interno, potrebbe sembrare collegato rovescio dato che il suo terminale negativo viene posto al pin 16 l'alimentazione positiva del chip. Bisogna invece considerare che internamente la tensione viene duplicata e quindi al pin 2 abbiamo una tensione di +10Volt che giustifica il tipo di polarizzazione di questo condensatore. In pratica sembra rovescio ma non lo è perché al suo polo positivo ha una tensione più alta che a quello negativo. Le due capacità C3 e C5 si trovano in serie e formano quindi una sorta di partitore capacitivo motivo per cui sono indicate della stessa capacità. Tuttavia, in molte applicazione si potrà trovate C5 ridotto anche fino a 100nF. Benché la cosa non sia del tutto corretta funzionerà ugualmente.

La seconda sezione interna, a cui sono collegati i condensatori C2 e C4, implementa tramite una soluzione circuitale nota come "pompa di carica" l'inversione della polarità in modo da ottenere i -12V (ma vanno bene anche -10V) previsti per lo standard EIA RS232E.

In alcune applicazioni, ad esempio nel creare il riferimento negativo necessario a alcuni display grafici LCD, potremmo sfruttare questa sezione. Attenzione però al fatto che la corrente necessaria è piuttosto limitata, inferiore a 20mA, quindi dovremo munire questo riferimento negativo di un bypass a transistor per fornire l'eventuale corrente necessaria.

 Collegamenti reali tra porta COM e MAX232.

Si vede nell'immagine che il secondo canale di comunicazione e' sconnesso dal lato interno ma collegato dal lato porta DB9. Questo e' per avvantaggiare future espansioni del protocollo ad esempio implementando un hand shake. Nella versione precedente sono state predisposte delle piazzole di collegamento eliminate in questa per questioni di spazio. Nel caso volessimo implementare questo protocollo dovremmo collegare manualmente il pin 10 e il 9 del MAX232 al dispositivo che lo richiede. E' comunque evidente che per il PIC ospitato nel PCB sarebbe inutile e questo trova giustificazione alla rimozione di quelle piazzole.  

 

Quando si decide che tipo di cavo seriale utilizzare dobbiamo porci una domanda: Vogliamo collegare tra loro due DTE oppure un DTE a un DCE?

I casi sono:

1) DTE ->DTE = usare un cavo null modem

2) DTE->DCE = usare un cavo modem.

Il nostro è il caso 2, quindi useremo il cavo utile per la Micro-GT mini presentato al capitolo 10 di "Let's GO PIC!!!".

Va detto che il tipo di porta installato sui dispositivi non è casuale ma sui DTE andrebbe montato il maschio e sul DCE la femmina. Il caso della Micro-GT è un pò anomalo dato che si è deciso di montarci la femmina anziché un maschio.

Chi volesse montare un maschio, perché lo disponibile a magazzino, dovrà fare attenzione alla numerazione perché risulterà invertita. Anche il cavo di collegamento risulterà anomalo avendo le femmine da entrambi i lati. Questo non significa che sia impossibile o errato montare un connettore maschio. 

      

 

Si faccia attenzione che montando questo connettore sullo stampato il pin 1 (in alto a sinistra) corrisponde alla massa dato che coincide con la posizione del pin 5 del connettore naturale, ovvero il Cannon DB9 femmina a saldare come quello visibile nelle foto procedenti.
Il connettore consigliato è il sottostante con la numerazione indicata.

 

Cannon subminiature DB9 femmina con pin 90 gradi a saldare.
 

 

Impostazione porta seriale per comunicazione.

Per eseguire questa impostazione cliccare su pannello di controllo->Sistema->Gestione dei dispositivi

Una volta entrati qui dentro, puntare alla porta COM a cui si intende collegare il cavo seriale e la Micro-GT 18 mini.

E' possibile comunicare con la Micro-GT anche tramite un adattore USB->RS232, ad esempio quando si usi un portatile sicuramento privo di una porta COM nativa.

Cavo seriale per Micro-GT 18 mini, funziona anche con adattore USB.

p.s. Questo cavo funzionera' anche con la Micro-GT mini e con la Micro-GT 2 IDE, mentre per ma Micro-GT IDE standard richiede lo spostamento di un conduttore. In questo ultimo caso si veda l'articolo Let's go PIC che presentava quella scheda.

Porta USB

Il PIC 18F2550 integra una periferica USB 2, in grado di funzionare alla piena velocità prevista da questo standard. Questo USB, o universal serial bus, è stato pensato per poter interconnetere periferiche ad una discreta velocità usando sempre lo stesso connettore a 4 terminali e consentendo le funzionalità plug and play.

Quando questo standard è stato pensato si è previsto un sitema ad albero con un gestore alla radice con una estensibilità tramite HUB fino a 127 dispositivi, compri i nodi rappresentati dagli hub e il gestore alla radice.

La lunghezza massima a cui collocare un dispositivo USB è di 5 metri, quindi meno della metà di un dispositivo seriale RS232. Oltre questa misura è necessario amplificare i segnali tramite hub alimentati, ma va comunque tenuto presente che lo standard consetirà al massimo la opresenza di 5 HUB in cascata.

L'ultima versione della USB è la 3, ma quella nel PIC in questione è la versione 2 che in modalità full speed arriva a trasferire 480 Mbit/s.  La versione 3 potrebbe raggiungere velocità di 4,8 giga bit al secondo, e lo vedremo nella prossime generazioni di PIC.

La piena velocita' della porta USB, denominata' "full-speed mode" si raggiunge solo se da qualche parte nella scheda e' presente una segnale di clock a 48Mhz, ma questo non deve essere necessariamente il quarzo dato che il microcontrollore dispone di un moltiplicatore interno spiegato nel databook alla voce PLL.

Questa possibilita' rende compatibile la programmazione tramite bootloader con la piena velocita' di trasmissione USB, ma vi e' una leggera complicazione del firmware.

I livelli di tensione sono posti a 0 , +5V, ma va posta attenzione a quei PIC alimentati a 3,3V, e la corrente trasportabile verso la periferica alimentata tramite il connettore stesso è di mezzo ampere.

Le line dati sono indicate con D+ e D-.

La forma assimetrica del connettpre ne impedisce l'inserimento al contrario in modo che non si possano verificare dannose inversioni di polarità.

Pin Nome segnale Colore filo
1 VBUS ROSSO
2 D- BIANCO
3 D+ VERDE
4 GND NERO
 

piedinatura della porta USB e standard dei colori.

Per i connettori va detto che esistono due tipi, A e B, quello presente sui cavi, ad esempio del mouse, è il tipo A, mentre quello montato nella Micro-GT è la femmina del tipo B.

Vista frontale dei connettori USB maschi.

Troveremo praticamente sempre i connettori femmina sugli stampati e i maschi sui cavi, ed essendo la forma assiemtrica risulta impossibile l'inversione fortuita della polarita'.

Per questioni circuitali interne al PIC e' necessario limitare la corrente sulle linee dati con due resistenze che nel nostro caso vaolgono 27 Ohm.

 

Circuito per la comunicazione USB con 18F2550.

Il condensatore C4 e' di fondamentale importanza perche' permette al regolatore di tensione interno di dare il giusto riferimento per la periferica USB dato che questa funziona a 3,3V anche se normalmente manipolata a 5V.

La questione e' leggeremente piu' complessa e richiederebbe un po' di studio delle architetture interne di questa serie di microcontrollori, ma ho personalmente testato i valori 470nF e 220nF e sono risultati entrambi perfettamenti funzionanti.

La presenza di questa capacita' si potrebbe giustificare pensando che durante le commutazioni interne delle linee D+ e D- dell'USB.

Nella community Micro-GT, alla sezione "Librerie Micro-GT" e' stato inserito un programma demo, completo di pilotaggio del display LCD e della comunicazione USB.

Il programmma e' liberamente scaricabile e contiene moltissmi spunti software per iniziare i vostri progetti con il PIC 18F2550.

Questo sorgente e' scritto in Hitech C per PIC 18.

Il link diretto per il download e' questo: Scarica programma demo per Micro-GT 18 mini

Se vuoi partecipare alla community Micro-Gt presentando dei tuoi lavori visita il link sottostante. Qui potrai trovare una bozza di articolo, scritto in word, che potrai completare e spedire via posta per la pubblicazione.

http://www.gtronic.it/community/community.html

 Per alcuni approffondimenti in tema di comunicazione USB vi rimando al link della casa madre "MicroChip" da cui potrete scaricare i tools necessari, ad esempio il bootloader e esempi di programmazione.

http://www.microchip.com/pagehandler/en-us/technology/usb/home.html

 

Uscite servomotori

La scheda può controollare in maniera diretta 6 servomotori, un numero più che dimezzato rispetto alla versione precedente che ne pilotava ben 14, ma rimane comunque un numero di tutto rispetto. Va anche detto che questo numero è riferito ai soli servo motori che trovanno alloggio direttamente nel connettore e che nulla vieta di impiegare altri pin per estendere il controllo a molti altri. Nella foto vediamo il connettore dedicato alle uscite pseudo PWM da inviare ai servomotori.

Connettore per collegamento diretto di 6 servomotori.

Come abbiamo visto nel capitolo 14 del corso online "Let's GO PIC!!!" i servomotori sono, genericamente parlando, dei piccoli attuattori DC, fortemente impiegati nella robotica leggera e nel modellismo, costituiti nel caso più semplice da un sistema analogico di controllo in retroazione negativa. Tale sistema si compone di un piccolo attuattore DC, spesso a magnete permanente, controllato tramite un ponte H a cui perviene un segnale di inversione in caso che l'asse si spostasse oltre la tolleranza angolare consentita da un set point impostato. Tale setpoint è proporzionale ad uno stimolo monostabile, rinfrescato tipicamente con una frequenza di 50 - 60Hz, a seconda dei modelli, e di durata monostabile di solito compresa tra 1,5 ms e 2,5 ms. In funzione di questo stimolo rettangolare, rinfrescato ripetutamente, si ha la proporzione angolare. Il sistema di controllo, costituito da dal suddetto ponte H, da un insieme di comparatori, un potenziometro analogico che si muove solidale con l'asse grazie a una catena cinematica (ingranaggi) tarata sono chiusi all'interno delle scatoline nere che vediamo nelle foto anche in modalità stagna al fine di garantire il funzionamento anche in ambienti umidi o addirittura bagnati. Le tensioni di alimentazione delle scheda di controllo interna sono spesso 5V dc, ma si possono scostare leggermente, fino anche 9V, in funzione della marca e del modello del servomotore. Motivo in più per necessitare di un canale di alimentazione separata, oltre ovviamente, alle questioni di potenza assorbita specie in fase di movimento simultaneo.

Da quanto detto ne consegue che un servo motore generico da modellismo, come quelli in figura, necessita di tre terminali.  Il centrale è sempre l'alimentazione positiva, così che una eventuale inversione di inserimento non comporta inversione di polarità ma semplicemente il non funzionamento. Questo terminale è quasi sempre il rosso. Quello non collegato direttamente ai pin del PIC, è la massa, di colore nero, mentre il terzo,lato PIC, ovvero il lato visibile in figura, ha un colore spesso blu, ma qualche volta anche bianco o giallo, in dipendenza dello standard adottato dalla casa costruttrice. In questo terminale azzurro invieremo il nostro segnale monostabile ripetuto, ovvero il segnale pseudo PWM che posizionerà l'asse del servo connesso a quel canale all'angolo scelto.

 Micro-GT 18 mini collegata a 6 servomotori.

Nella foto è importante notare il cavo rosso che esce dal terminale 3 dello strip "SVR4_Supply". Il cavo rosso in quella posizione proviene da un'alimentazione robusta esterna a +5V, che bypassa il regolatore di tensione 78L05, che non è assolutamente in grado di mantenere regolata la tensione al PIC e energizzare nel contempo 6 attuatori che devono vincere una coppia resistente presente ai bracci meccanici.

Una seconda osservazione la facciamo sui servo stessi. Quelli di sinistra hanno gli ingranaggi in nylon quindi sono leggeri e silenziosi, ma soggetti a rapida usura, mentre quelli di destra hanno gli ingranaggi in metallo e risultano quindi più rumorosi e più pesanti, ma nel contempo sono più robusti (non si sgranano). Sarà l'applicazione che ci farà decidere quali impiegare.

Per approfondimenti sul tema consiglio di leggere il mio articolo, pubblicato su lulu e sul mio sito personale, "Open servo reverse engineering".

Software di programmazione.

Esistono varie maniere di programmare questa scheda ma si consiglia di usare gli strumenti ufficiali offerti dalla casa madre MicroChip.

L'IDE software sara' Mplab X, nella versione attualmente scaricabile e i compilatori potranno essere XC8 ,C18, hi-tech PICC18 ecc.

La versione "student" e' scaricabile dal sito della casa madre.

Gli insegnati delle scuole superiori, dei centri di formazione e dei corsi di formazione sono invitati a visitare questa pagina.

http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/

Il libro di testo consigliato per iniziare con MPLAB X, particolarmente indicato per le scuole, lo ho scritto e messo a disposizione su amazon all'indirizzo:

http://www.amazon.com/LETS-GO-PIC-Essentials-Micro-GT/dp/1492851523/ref=pd_sim_sbs_b_1?ie=UTF8&refRID=17VMYF6P3K8884A27KFK

Chi volesse i circuiti stampati, singolo esemplare o piccole forniture per le scuole e i laboratori di elettronica, o anche le schede montate e collaudate potrà contattarmi alla mail ad.noctis@gmail.com    benché il contenuto di questo articolo, schemi, disegni, software demo, ecc ecc  dovrebbe mettere chiunque in grado di autocostruirsi il proprio esemplare di Micro-GT 18 mini.

 

il contenuto di questo articolo, purché non alterato nella forma e nei contenuti, e' liberamente riproducibile.

 

Auguro a tutti buon divertimento.

Marco.


Questo progetto è ridistribuibile secondo i termini di licenzaCreative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia

 

  Pagina precedente