PIAS Eval Kit

Benvenuti a un nuovo appuntamento con la Rubrica Firmware Reload di Elettronica Open Source. In questa Rubrica del blog EOS abbiamo raccolto gli articoli tecnici della vecchia rivista cartacea Firmware, che contengono argomenti e temi passati ancora di interesse per Professionisti, Makers, Hobbisti e Appassionati di elettronica. Presentiamo in questo articolo una demo board di produzione MAXIM pensata per acquisizione di dati, facilmente configurabile in una infinità di applicazioni grazie all’impiego del bus di espansione PMOD.

Introduzione

PIAS evaluation kit è una board di valutazione che implementa tutte le funzioni necessarie a realizzare un sistema di acquisizione dati industriale, portatile. Il kit risulta modulare ed espandibile, ci sono quindi molte possibilità di configurazione e personalizzazione che gli consentono di andare molto al di là della semplice misura di temperatura (applicazione nativa della demo). La scheda di valutazione EVK è composta dai seguenti blocchi:

  • Unità di elaborazione (MCU) ed EEPROM
  • Display LCD e Pulsanti di navigazione
  • Front end analogico
  • Alimentatore e controllo retroilluminazione
  • LCD
  • Carica batteria USB
  • Interfaccia USB
  • Sensore presenza cavo USB
  • Connettori di espansione

UNITÀ DI ELABORAZIONE ED EEPROM

Questa sezione con i suoi componenti rappresenta il cuore della board di valutazione. Il microprocessore è un 16 bit, MAXQ2010 (prodotto dalla medesima) che tra l’altro nasce con la possibilità di gestire direttamente un display LCD. Il MAXQ2010 dialoga con il front end analogico (AFE) per raccogliere i dati delle misure, dialoga con l’interfaccia USB per il collegamento al PC, e con tutte le altre periferiche residenti a bordo scheda o eventualmente al suo esterno, raggiungibili tramite le porte di espansione. I dati che riguardano l’applicazione vengono memorizzati in un dispositivo EEPROM che può essere indirizzato sia mediante I2CBus (default) sia attraverso la modalità SPI.

Figura 1: EVKIT schema a blocchi.

Figura 1: EVKIT schema a blocchi

MODULO DISPLAY LCD E PULSANTI DI NAVIGAZIONE

La scheda madre ha tre pulsanti di navigazione che consentono all’utente di configurare, controllare, avviare e/o fermare la sessione di misure. I collegamenti elettrici relativi a questi pulsanti assieme alle linee di alimentazione, ai segnali di comando del display LCD, quelli di retroilluminazione, etc. sono presenti sul connettore di espansione del modulo display. Il display previsto è di tipo alfanumerico. Questo modulo è stato progettato per funzionare con una singola tensione di 2.7 Volt. Con lo scopo di contenere i consumi in stand by, il modulo LCD viene alimentato soltanto se è presente la tensione di backlight. I tre pulsanti di configurazione presenti sulla main board sono riportati anche sul circuito del display LCD, rendendo così possibile configurare e controllare le funzioni direttamente da questo modulo.

Figura 2: I pulsanti di configurazione sulla scheda madre.

Figura 2: I pulsanti di configurazione sulla scheda madre

 

Figura 3: vista del modulo display

Figura 3: Vista del modulo display

 

Figura 4: modulo front end analogico

Figura 4: Modulo front end analogico

 

Figura 5: modulo doppio carica batteria USB

Figura 5: Modulo doppio carica batteria USB

FUNZIONE DEI PULSANTI SW2 START/STOP ACQUISIZIONE E SALVATAGGIO DEI DATI

Quando la scheda è in modalità di acquisizione, premendo il tasto SW2 si determina il salvataggio dei dati in memoria EEPROM. Sul display compare la scritta: “SAVING ACQUISITION“ intermittente ogni tre secondi. Il processo di acquisizione e salvataggio può essere fermato premendo una seconda volta questo tasto.

SW3 ACCENSIONE DEL DISPLAY

Questo pulsante provoca l’accensione del display e l’avviamento della misura di temperatura.

SW4 SPEGNIMENTO DEL DISPLAY

Questo tasto provoca lo spegnimento del display.

MODULO AFE ANALOG FRONT END

Il circuito front end analogico è basato sull’utilizzo del MAX1358B, è stato progettato per essere compatibile con i moduli PMOD e si può anche avere separato dalla scheda madre. Per semplicità di produzione il modulo AFE è legato alla main board che lo ospita, ma si può facilmente staccare da questa tagliando in tre punti il PCB con una tronchesina. Il modulo AFE ha un proprio connettore, il ciclo di misure si avvia inserendo questo connettore nella strip di simulazione sulla main board.

MODULO ALIMENTATORE E CONTROLLO RETROILLUMINAZIONE LCD

La scheda di valutazione può essere alimentata con una batteria ricaricabile (3.7 V Litio) oppure con una batteria primaria (1 o 2 celle alcaline da 1.5 Volt oppure una Litio da 3 V). In caso di alimentazione da batteria primaria la sua tensione viene elevata a 3.3 Volt da un circuito convertitore step-up tipo MAX1676. Le possibili sorgenti di alimentazione, batterie, USB, vengono messe in OR tramite diodi e successivamente regolate a 2.7 Volt grazie ad un regolatore LDO tipo MAX 8512. La tensione così ottenuta viene finalmente utilizzata per alimentare tutte le sezioni digitali ed analogiche della scheda, compresi i moduli AFE ed i connettori di espansione per eventuali periferiche esterne. Un circuito MAX8647 genera la tensione di retroilluminazione del display LCD e per l’alimentazione del buzzer.

MODULO CARICA BATTERIA USB

Quando si utilizza una batteria ricaricabile per alimentare la scheda, questa può essere ricaricata tramite la USB utilizzando uno dei due circuiti caricabatterie disponibili. Uno è realizzato con il MAX8606 con funzionamento di tipo lineare, l’altro è realizzato con il MAX8903 ed è di tipo switching. Entrambi i circuiti risiedono a bordo di un modulo aggiuntivo fornito con il KIT. Uno solo dei due moduli può essere inserito per volta. Il modulo lineare viene inserito nella strip che lo ospita con i componenti rivolti verso l’alto, coerentemente con i componenti della board. Il modulo switching invece deve essere inserito capovolto.

La corrente di carica è regolata a 100 mA per ottimizzare le condizioni di impiego della batteria a bordo scheda, di capacità 110 mA/h; il setting della corrente viene fatto tramite i pin 9 e 10 (rispettivamente EN1 ed EN2) mettendoli nello stato low per il carica batteria lineare, ed invece ponendo R12 a 10 kohm se si vuole utilizzare la versione caricabatteria switching. Volendo si può utilizzare una qualsiasi batteria ricaricabile seguendo le istruzioni seguenti: Disconnettere il jumper JP5; Connettere su J14 la batteria esterna (2 fili senza termistore) oppure su J11 (se la batteria prevede il termistore); Disconnettere il jumper JP9 in questo secondo caso. Selezionare per EN1 (pin 9) del MAX8606 a livello high, rimuovere R158 ed installare R36. Modificare R3 o alternativamente R12 per ottenere la corrente di carica desiderata.

Da notare che il MAX8606 può essere utilizzato fino ad una corrente massima di 500-1000 mA, ma questo non è compatibile con la corrente prelevabile dalla USB che notoriamente non deve superare i 500 mA. Per il corretto dimensionamento di R3 utilizzare la seguente formula R3 = 8000 x 2.1V/(IBAT+ISYS). Nel caso di caricabatteria switching modificare R12 secondo la seguente formula: R12= (1200V/ICHGMAX)-1K. Un’altra prestazione disponibile è quella dello stato di carica della batteria ”fuel gauge” MAX17048. Ma questa funzione è disponibile solo utilizzando la batteria a bordo scheda ed è trimmato per quella determinata batteria.

Figura 6: modulo caricabatteria switching inserito capovolto.

Figura 6: Modulo caricabatteria switching inserito capovolto

 

Figura 7: modulo caricabatteria lineare inserito dritto Figura _schermata del diagramma a blocchi.

Figura 7: Modulo caricabatteria lineare inserito dritto

INTERFACCIA USB

Questo stadio è basato sull’utilizzo del MAX3420. Il microprocessore dialoga con questo componente attraverso la porta SPI e lo configura come HID verso il PC. Per risparmiare corrente questo stadio non viene alimentato quando non è collegato il cavo USB. Risulta quindi necessario sapere quando siamo collegati al PC.

Figura 8: grafico delle temperature acquisite.

Figura 8: Grafico delle temperature acquisite

PRESENZA CAVO USB

Basato sull’integrato MAX14612 questo circuito “saggia” il valore di capacità sulla linea USB e rileva il collegamento alla porta del PC che ha un peso diverso dal cavetto lasciato inserito nel connettore passivamente. Ovviamente, questa sezione per poter monitorare continuamente lo stato della linea deve rimanere sempre alimentata, tuttavia, il suo consumo è molto basso e quindi non incide significativamente sulla durata della batteria.

CONNETTORI DI ESPANSIONE

Due connettori di espansione “general purpose” con modalità PMOD sono disponibili sulla board. Uno dei due è a fila singola, l’altro a fila doppia. Questi connettori sono compatibili con tutti i moduli commerciali con interfaccia PMOD. Un ulteriore connettore a 50 poli doppia fila è disponibile sulla scheda e serve per interfacciare un eventuale display LCD di tipo custom. Nella configurazione base la scheda prevede la gestione del display con cui viene fornito il kit. Se si vuole utilizzare un proprio display il firmware deve essere scritto a cura dell’utente.

IL FIRMWARE

Il firmware della scheda è stato scritto in linguaggio C in ambiente IAR, per ogni componente utilizzato sulla board è disponibile un driver dedicato riconoscibile dal nome commerciale che compare nel file include, ad esempio: MAX17048_I2C. h. Troviamo quindi il driver per il display LCD (LCD. h). I driver a basso livello per la comunicazione con la porta USB risiedono in vari files: HID_MAX3420E. h, USB_Drivers. h, USB_Enum_Data. h. All’accensione della board, il display mostra subito la release firmware, quindi viene rappresentato lo stato di carica della batteria in formato percentuale e dopo alcuni istanti i dati di temperatura rilevati dalle due sonde A/B.

APPLICAZIONE SOFTWARE PER IL PC

Una applicazione scritta in Visual Basic che implementa una interfaccia grafica per l’utente (GUI) consente subito di collegare la scheda al PC ed iniziare a lavorare. Una prima schermata con il diagramma a blocchi consente di accedere al datasheet in formato PDF di ciascun componente della scheda cliccando sugli elementi del disegno. La sessione di acquisizione della temperatura viene rappresentata da una schermata dedicata nella quale è possibile vedere il grafico nel formato cartesiano con l’andamento della temperatura per ciascuna delle 2 sonde in funzione del tempo, ed il valore attuale. Una schermata è dedicata allo stato di carica della batteria MAX17048, un’altra al sensore di presenza cavo USB MAX14612, questa volta in maniera interattiva l’utente ha la possibilità di leggere e modificarne i parametri di lavoro. Infine, grazie a questa applicazione è possibile salvare nel PC il file con i log dei dati catturati nella EEPROM a bordo scheda per editarli e confrontarli con un programma tipo Excel. Il nome del file name. txt viene salvato in una apposita directory “aquisitions” creata dall’applicazione in fase di installazione.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend