GT-PIC Lab

La piattaforma di sviluppo per le Micro-GT (new V1.2 portable beta version April5)

Il presente lavoro è una collaborazione tra Marco Gottardo e Marco Visentini che ne ha svolto lo sviluppo software.  Si tratta di un programma contenitore di software di terze parti o programmate ex-novo assolutamente gratuito e destinato a migliorare nelle successive versioni.

È stato sviluppato per gli Hardware delle famose schede Micro-GT ma potrà essere usato per qualsiasi progetto che contenga un PIC.

E’ assolutamente gratuito.  Si accettano proposte da parte degli utenti per integrare parti che potranno sviluppare e distribuire usando questa community

DOWNLOAD GT-Pic_Lab V1.2   (Portable Beta version April 21th 2017)

DOWNLOAD GT-Pic_Lab V1.1 (Stable tested version)

Descrizione funzionalità.

Il GT-Pic_Lab è un contenitori di applicativi, alcuni proprietari altri di terze parti, che permette di:

  1. Collegarsi via COM o via USB* alla scheda a microcontrollore PIC.
  2. Pilotare ben 14 servomotori collegati alla Micro-GT.
  3. Controllare lo Smart controller per applicazioni robotiche.
  4. Programmare e compilare i PIC usando il Ladder PIC, il linguaggio di programmazione di terze partistile PLC.
  5. Caricare il file .hex nel microcontrollore via bootloader.
  6. Mostrare gli schemi elettrici delle schede Micro-GT.
  7. Mettere a disposizione un archivio di file hex, (le librerie Micro-GT).
  8. Permettere agli utenti delle community di partecipare agganciando le proprie applicazioni sotto forma di DLL. (Questa sezione è in sviluppo).

Il software è sviluppato in Visual Studio 2010, in linguaggio C#, ed è in continua espansione.

E’ stato munito di un setup che permette la corretta istallazione praticamente in tutti i sistemi operativi. Personalmente lo ho istallato su XP, Win7, Win8 e 8.1 e perfino su Win10.  Delle prove di retrocompatibilità sono state fatte su windows 2000 e sono andate a buon fine. Sul mio notebook Mac si installa e gira correttamente. Un gruppo di amici , usando Wine, lo hanno istallato su Linux.

Importante: Per installarlo fate tasto destro sopra l’icona seguito da “esegui come amministratore” perché potrebbero verificarsi delle imprecisioni, ad esempio in chiusura dell’applicativo “GT-Downloader” potrebbe essere segnalato un errore dovuto all’impossibilità di accedere al file pic.ini la cosa si risolve se l’installazione è fatta come amministratore.

Se dovesse succedere che la sezione GT-Downloader una volta lanciata non si chiude procedete con la chiusura forzata da pannello di controllo, rimuovete il software e ripetete l’installazione, non con doppio click, ma con tasto destro -> esegui come amministratore.

Stiamo procedendo al debug per eliminare questo piccolo inconveniente. Sono comunque ben accetti i vostri suggerimenti ed eventauli soluzioni.

In questo momento stiamo lavorando per agganciare il compilatore XC8 in un ambinte del tutto analogo a MPlabX, così che l’utente abbia a disposizione un ambiente reale di lavoro identico a quello degli strumenti professionali.

L’obbiettivo è quello di creare la piattaforma didattica ideale per le scuole in modo da diffondere queste belle schede, semplici, efficaci, senza scorciatoie tecniche per chi deve imparare un mestiere, ma sopratutto italiane.

 

La piattaforma Software.
L’idea di base è nata a partire da questo semplice schizzo fatto con paint da MArco Gottardo.

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/progetto%20MG-Lab%20pagina%20iniziale.png

Layout dell’idea di iniziale della Piattaforma GT-Pic_Lab

L’idea iniziale è stata grosso modo rispettata, ma in itinere vi sono state molte variazioni dovute sia alla necessità che alle migliorie tecniche acquiste nonché dallo sviluppo di nuove schede, come la nuova Micro-GT mini 2, assolutamente rivoluzionaria rispetto alla precedente.
Il sistema è autonomo, quindi contiene anche i firmware ottimizzati per il funzionamento delle varie sezioni, e saranno accessibili da un apposito tasto. Anche le librerie Micro-GT sono state integrate fino alla versione attualmente online sulla community Micro-GT che potete vedere in questo link:  Micro-GT community Il linguaggio usato è hitech C16, ma sono facilmente convertibili in XC8. I sorgenti sono liberamente ridistribuibili.

 

Sono argomento dei corsi di programmazione dei Microcontrollori PIC che si possono seguire  a Padova, e si trovano descritti nel testo Let’s GO PIC del prof. che tra poco sarà disponibile in versione aggiornata e in Italiano.

I firmware e i sorgenti minimi necessari sono scaricabili dal tasto “DEMO Hex” presente nella stessa piattaforma e dono:

I file precompilati .hex dei sorgenti sovrastanti sono:

Altri firmware saranno aggiunti, per il momento stiamo caricando tutti i file delle librerie Micro-GT disponibili alla pagina:

Scarica le “Librerie Micro-GT” (valide per ogni scheda con PIC 876/877 e compatibili)

Scarica le librerie per PIC18F compatibili con le Micro-GT

L’attuale situazione mette disponibile un file di setup della dimensione inferiore ai 9 Mega byte benchè integri anche gli schemi elettrici delle schede.

Nell’immagine vediamo l’icona di lancio del Setup.

Attualmente non sono riuscito a risolvere un piccolo problema di accesso ai file, quindi per un corretto funzionamento di tutte le parti, con riferimento alla chiusura dell’applicativo di terze parti, lanciabile dal tasto della nostra piattaforma GT-Downloader, si dovrà procedere all’istallazione non facendo doppio click, ma con tasto destro -> esegui come amministratore.

Se dimenticate questo passaggio non succederà niente di grave nel senso che la piattaforma funzionerà ugualmente ma, una volta generato un file .hex, che dovrete caricare nel PIC, l’applicativo PIC downloader verrà lanciato correttamente, farà il suo dovere cercando un bootloader nel PIC, scaricherà il file hex nella scheda, ma quando vorrete chiuderlo vi segnalerà un errore di acceso al file PIC.ini

Da questa situazione se ne esce forzando la chiusura terminandola da pannello di controllo.

L’errore sparisce completamente installando come amministratori oppure con tasto destro->esegui come amministratore.

Se qualcuno conosce la soluzione mi farebbe un gran favore se me la segnalasse.

 

Il bootloader.

Il corretto bootloader per tutte le schede si trova nella sezione “DEMO hex” del software.

Il funzionamento per concetto deve svincolare dalla necessità di strumenti aggiuntivi quali il PICKIT o altre cose che per laboratori scolastici possono risultare costose.

I File hex devo essere caricabili in maniera diretta, quindi le schede Micro-GT solitamente sono consegnate con un bootloader precaricato.

Ricordo che attualmente la G-Tronic è una piccolissima realtà in cui ogni esemplare distribuito è assemblato e collaudato personalmente dal prof. Ad.noctis.

Questo lavoro vuole avere anche lo scopo di aiutarlo a diffondere i suoi prodotti, che io personalmente ho avuto modo di provare quando sono stato allievo ai suoi corsi.

Ho provato la Micro-GT mini 2 e ritengo che sia una scheda estremamente valida, piccola leggera e performante.

Il bootloader da usare, se deciderete di collegare una scheda fatta da voi, usando o meno gli schemi open hardware delle Micro-GT è scaricabile da questo link:   bootloader per GT-Pic_Lab

La configurazione da dare alla porta seriale è 38400bps.

Per la Micro-GT mini standard e la IDE primo modello bisognerà selezionare il corretto canale, ad esempio COM3, mentre per la Micro-GT mini 2 il riconoscimento della porta è automatico.

Come potrete notare avrete a disposizione la semplicità del caricamento fatto con la porta COM usando però la versatilità della porta USB.

 

Il file di setup.

Come mostrato sopra l’occupazione in memoria dell’installer è inferiore ai 9 mega byte e lo potete ottenere da questo link:   Scarica il file di setup-> GT-Pic_Lab V1.0  estrai il file che hai scaricato dal pacchetto zip, e lancialo facendo tasto destro -> esegui come amministratore.

Si susseguiranno le seguenti finestre.

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_1.png

 

è possibile selezionare lingue diverse ma noi confermeremo l’Italiano.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_2.png

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_3.png

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_4.png

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_5.png

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/setup_6.png

Viene lanciata la piattaforma, nella pagina principale mostra le schede che possiamo controllare, e dei tasti in cui abbiamo accesso alle utility fondamentali e la programmazione, per il momento in Ladder PIC e nella prossima versione anche in XC8.

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/piattaforma(2).png

 

Cliccando sulle immagini delle schede si aprono gli applicativi dedicati. Per il momento abbiamo il controllo dell’I/O digitale ovvero, grazie a una comunicazione bidirezionale, possiamo accendere e spegnere i LED collegati ai PIN del PORT B, per le versioni mini e lo Smart Controller, mentre abbiamo PORTB, PORTC, PORTD per la Micro-GT IDE.

In questa ultima mancheranno i pin RC6 e RC7 perchè impegnati nella comunicazione seriale.

Questa cosa, che può sembrale banale ci permette di usare la scheda in piccole applicazioni domotiche, e in motti aspetti ludici, ovvero nella costruzioni di automi e giocattoli.

Evitiamo l’uso in applicazioni industriali perché queste schede non sono nate per questo.

Clicchiamo sulla prima immagine in alto a sinistra. Si apre questa finestra.

A questo punto si presume che sul PIC 16F877A montato sullo zoccolo ZIF della Micro-GT IDE sia stato caricato il bootloader scaricato dal link postato sopra.

Per forza di cose lo si deve caricare tramite un programmer,  ma la versione IDE ne integra uno che risponde al software seriale PICPROG2009, quindi non dovrete fare nessun acquisto.

In genere tutti gli esemplari che vengono distribuiti sono inizialmente muniti di bootloader.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/IDE.png

 

Impostare da pannello di controllo la porta COM del PC desktop o del notebook, enulata tramite adattatore USB->RS232 alla velocità di 38400bps.

Verificare, sempre da pannello il numero assegnato.

Impostare nell’interfaccia il medesimo numero di porta e poi clicchiamo sui vari LED.

 

E’ possibile costruire il cavo usando solo tre fili come mostrato nella prossima immagine. In questo caso si rinuncia alla funzione programmer interno ma viene agevolato il caricamento tramite bootloader e il controllo in seriale dell’I/O.

 

 

Allo scopo di avere accesso diretto al PIC è bene aggiungere un ponticello sotto la scheda che garantirà il funzionamento anche nella modalità originale, ovvero con il programmer interno quando nel PIC non è già inserito un bootloader.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/Micro-GT_IDE_bridge.jpg

La Micro-GT mini.

Cliccando sull’immagine centrale si attiva il controllo della scheda Micro-GT mini in cui si presuppone sia stato caricato il bootloader. Si accede alla finestra mostrata sotto.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/mini.png

 

La funzionalità è la stessa della versione IDE, ovvero cliccando sui LED virtuali avrete il controllo dei LED in scheda e quindi state controllando lo stato logico dei pin del PORT B del microcontrollore 16F876A.

Il cavo da usarsi potrà avere questa semplice configurazione, valida per tutti i modelli tranne che per le schede IDE.

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/Micro-GT_mini_bootloader.png

 

Se il firmware non è presente, ma solo il bootloader è possibile caricarlo usando il tool accessibile dal tasto GT-Downloader, che lancia un applicativo l’applicazione in figura.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/GT-Downloader.png

 

Troveremo i file hex necessari nell’archivio integrato accessibile agendo sul tasto “Demo hex”.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/demo_hex.png

Oltre ai file con utilità di sistema, come il bootloader, qui troveremo degli esempi di programmazione utile per testare l’hardware e le connessioni, ad esempio un programma che lancia delle scritte in un display 2×16 configurato a 4bit, che può essere innestato in maniera inequivocabile nel connettore preposto della Micro-GT mini 2, ma che può essere soggetto ad errori di cablaggio nella versione Micro-GT 1, nello smart controller, nella IDE, e nelle vostre schede auto costruite. L’effetto luci supercar, di tipo bounced, viene eseguito sul PORT B è può essere caricato su tutti i modelli.

 

Il file “Firmware Micro-GT servo è nato per l’applicazione omonima e può essere caricato su ogni scheda. Si consiglia tuttavia l’utilizzo delle versioni mini e dello smart controller perchè munite di connettori dedicati.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/servo.png

 

Il software originale è stato sviluppato diversi anni fa dal prof. ad.noctis, in visual basic 6. Per poter essere integrato nella nuova piattaforma è stato necessario convertire il codice e successivamente ricompilarlo.

Ogni uno degli slider agisce su una variabile che può assumere i valori compresi da 1 a 255 associabili ai caratteri della tabella ASCII.

La stringa seriale.

La stringa inviata ha il formato consolidato ai corsi di Padova e spiegato nel testo Let’s GO PIC, costituita dalla stringa di caratteri:  @,C1,C2,C3,C4,n

La chiocciola apre la comunicazione.

Il carattere C1 rappresenta il canale da controllare e quindi lo specifico servo, ad esempio ‘A’ corrisponde a RB0.

Il carattere C2 contiene la posizione angolare che il servo deve raggiungere.

C3 e C4 sono ancora libere e predisposte per ulteriori espansioni.

n indica la fine stringa come avviene dando un invio (lo slah non viene visualizzato dall’editor di questo sito).

 

Questa particolare stringa di comunicazione è impiegata in tutti i software di comunicazione Micro-GT, anche in quelli di controllo dei LED come possiamo facilmente vedere analizzando i sorgenti disponibili.

 

La Micro-GT mini 2.

La vera novità di questa piattaforma è l’introduzione della scheda Micro-GT mini 2.

E’ una scheda molto elegante e funzionale. In soli 5x5cm, misura che dovrebbe essere il nuovo standard G-Tronic, integra tutte le funzioni della precedente aggiungendone di nuove.

La prima e più evidente cosa è che sparisce il cavo seriale con il relativo connettore e max232 per lasciare posto a un comodissimo cavo USB, più economico e versatile.

Viene comunque riconosciuto come porta COM e quindi il funzionamento e i software, compreso il bootloader del modello precedente continuano a operare nella medesima maniera.

Non c’è più bisogno dell’alimentatore perchè è alimentata dal cavo USB.

Controlla 8 servomotori con alimentazione separabile.

Può funzionare sia a 5V che a 3V3.

Dispone di alcuni ingressi già in pullup.

La tastiera a 16 pulsanti è direttamente interfacciabile su apposito connettore.

Il display 16×2 può essere inserito direttamente sul connettore che gli fornisce anche il contrasto e la retro illuminazione.

Tutti i pin sono disponibili su strip line, compresi i 5 canali analogici.

Il programma sviluppato è il controllo dell’I/O digitale come per le altre versioni, ma destinato ad ampliarsi.

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/mini2.png

 

Come vediamo dal layout si tratta di una scheda SMD dal montaggio non molto semplice per chi non ha molta dimestichezza con il saldatore, quindi il consiglio è di procurarsela già montata e collaudata.

Premendo sul pulsante “schema” si accede direttamente al disegno elettrico, utile in fase di interfacciamento con eventuali shield o dispositivi esterni.

Il riconoscimento della porta a cui siete collegati è automatico, grazie a un mio piccolo accorgimento software.

Se si scollega il cavo si perde l’allineamento, ma una volta ricollegato basterà agirà sul tasto “Riattivazione”.

 

Lo smart controller.

 

Questa scheda è nata per applicazioni di robotica semovente. L’interfaccia per il momento controlla l’I/O digitale ma dato che è deviabile verso il doppio ponte H a relè diventa possibile controllore la marcia e la curvatura destra o sinistra dell’automa.

 

http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/smart%20controller.png

La programmazione Ladder PIC.

 

Questa è un’applicazione di terze parti, di cui si può vedere la paternità intellettuale cliccando sul suo about e visitando il loro sito.

Il lavoro, lungo e faticoso, è stato l’integrazione sulla piattaforma dato che i sorgenti distribuiti sono in linguaggi diversi.

Per chi conosce la programmazione dei PLC questo tool è una vera manna.

Potrete creare i segmenti ladder che contengono timer, contatori, gestori della uart, generatori di PWM, conteggi veloci ecc, ed ottenere sia la simulazione real time che quella offline.

Una volta testato il software potrete compilarlo per ottenere il file hex fa inserire tramite il tasto di downloader nella scheda Micro-GT.

Esiste la possibilità di vedere anche il corrispondente ANSI C, generato automaticamente.

 

.http://www.grix.it/UserFiles/MARCO%20LOREO/Image/GT-Pic_Lab/Ladder-PIC.png

 

Sviluppi futuri.

 

Il software è in continua espansione e migliorerà per gradi.

Il prossimo step consiste nel dare la possibilità agli utenti di agganciare la propria applicazione predisponendo degli slot a cui collegare le proprie applicazioni.

Come lavori in corso c’è una customizzazione dell’ambiente eclipse per poter agganciare il compilatore ufficiale della MicroChip. L’obbiettivo è quello di avere disponibile sia il compilatore hitech che XC8.

Si presume di rilasciare una versione aggiornata a Dicembre.

Nella nuova versione sarà integrata anche la piattaforma GT-Bot che ad.noctis sta sviluppando e presentando presso gli open day di robotica che periodicamente si svolgono a Padova.