Non ci sono prodotti a carrello.
Utilizziamo la piattaforma basata sui sensori dellโAMS in abbinamento al Personal Computer e grazie a un software ad hoc tracciamo sullo schermo le curve di spettro frutto dellโanalisi eseguita.
Nellโanalisi dei materiali si utilizza da tempo la spettrometria, che รจ una tecnica di metrologia basata sul rilevamento dello spettro di una luce campione (ad ampia gamma di lunghezze dโonda) puntata contro la superficie da analizzare e da essa riflessa, almeno in parte; questa metodica permette quindi di riconoscere i materiali solidi o la composizione di una miscela liquida attraverso lโandamento della curva di risposta spettrale a una luce non coerente che le viene puntata contro e parzialmente riflessa.
La spettrometria viene utilizzata in tutti i laboratori di chimica e biologia e permette, ad esempio, di riconoscere un olio alimentare contraffatto oppure di distinguere un vino di qualitร da uno scadente, ma anche di condurre analisi cliniche di vario genere.
La spettrometria si basa sul fatto che quando la luce colpisce un oggetto che non la assorbe completamente (รจ il caso di quasi tutti i corpi) una parte di essa torna indietro: questo รจ un fenomeno ottico comunemente conosciuto come riflessione e se la porzione di luce riflessa colpisce il nostro occhio, vediamo quellโoggetto del colore corrispondente.
La sensazione di colore รจ dovuta al fatto che la luce riflessa รจ composta dalla sola porzione, della luce che lโinveste, corrispondente alle lunghezze dโonda non assorbite, quindi un corpo che vediamo verde alla luce del sole ci appare tale perchรฉ dello spettro della luce solare ha respinto solo la gamma intorno al verde, estesa intorno ai 560 nanometri.
Una cosa simile accade con i sensori di immagine e in generale con i fotosensori, i quali sono sensibili a determinate lunghezze dโonda e possono quindi essere stimolati dalla luce riflessa dai corpi.
Lo spettrometro su breakout board
Dopo questa premessa entriamo nel merito del progetto, che consiste nello sviluppare uno spettrometro da PC ottenuto connettendo alla porta USB (che ormai รจ uno standard per i Personal Computer e i dispositivi โmobileโ come i tablet e gli smartphone) mediante un adattatore seriale/USB la breakout board rilevatrice di spettro (il cui progetto รจ stato pubblicato in questo post) e utilizzando uno specifico software fornito dalla AMS, che รจ il produttore dei tre componenti sensori spettrali impiegati nella breakout board stessa.
Il software, installabile in ambiente Windows, va in esecuzione su una specifica piattaforma chiamata ActiveTcl scaricabile liberamente (in versione free) dal sito di riferimento www.activestate.org; quindi non potete eseguirlo come qualsiasi applicazione Windows, ma dovete installare il runtime. Ma questo, come vedremo piรน avanti, non รจ un problema, in quanto lโambiente di esecuzione รจ di libero utilizzo.
Ora facciamo una panoramica sul progetto, con un approfondimento sui componenti utilizzati.
Come funziona lo spettrometro da PC
Non stiamo qui a ripetere nel dettaglio il funzionamento della breakout board: per questo e per la realizzazione rimandiamo chi fosse interessato allโapprofondimento, allโarticolo โRealizza uno Spettrometro basato su Arduino per analizzare liquidi e materialiโ.
Ci limiteremo a un riepilogo delle caratteristiche dei tre sensori di spettro della luce con cui essa รจ equipaggiata; tali sensori sono prodotti dalla AMS e connessi nella configurazione suggerita dal produttore.
Ogni sensore di quelli utilizzati nel nostro progetto misura lโintensitร della luce in sei lunghezze dโonda (ogni lunghezza dโonda รจ quindi un canale) ben definite e siccome nel circuito i sensori utilizzati sono tre, contiamo su un totale di ben 18 canali: ce nโรจ abbastanza per coprire un ampio spettro di lunghezze dโonda e realizzare uno strumento utilizzabile in moltissime analisi.
Infatti, grazie allโintegrazione di tre sensori della AMS, si riesce a ricostruire lo spettro da circa i 350 nm (il violetto) fino ai 1.000 nm, quindi si copre lo spettro della luce visibile piรน parte del NIR (Near Infrared Range), vale a dire del cosiddetto โvicino infrarossoโ.
I tre sensori presenti nella breakout board appartengono alla famiglia AS7265X della AMS e sono siglati AS72651, AS72652 e AS72653; ciascuno รจ in grado di rilevare onde elettromagnetiche di sei lunghezze dโonda con un FWHM (Full Width at Half Maximum) di 20 nm, vale a dire che la larghezza di banda di ciascun canale considerata a un livello pari a metร dellโintensitร luminosa percepita nello stesso รจ pari a 20 nm.
I tre sensori montati nella breakout board sono stati pensati per lavorare coordinati da uno di essi, ossia dallโAS72651, il quale integra un microcontroller che permette la comunicazione con gli altri due attraverso unโinterfaccia smart.
Inoltre lโAS72651 si puรฒ interfacciare al computer mediante le linee dellโUART facente capo a RX (piedino 4) e TX (pin 5) oltre che le linee di reset RST (3) e INT (6); sul connettore della breakout board abbiamo anche lโalimentazione (che devโessere di 3,3V e la GND.
La Flash EPROM una AT25SF041 dellโAtmel, della capacitร di ben 4 Megabit, dual I/O, nella quale รจ caricato il nostro firmware Moonlight, scopo del quale รจ permettere al sensore che funzionerร da master di interrogare gli altri due e acquisire da essi i dati corrispondenti allโanalisi spettrale effettuata da ciascuno, per poi inviare allโesterno i dati di tutti e tre secondo la modalitร prescelta.
Lo stesso bus SPI dedicato alla lettura della Flash EPROM viene ripetuto sul connettore PRG della breakout board per la programmazione in-circuit.
I sensori di spettro AMS
Prima di entrare nel vivo dellโutilizzo dello spettrometro da Personal Computer, dedichiamo qualche paragrafo a un richiamo sui sensori di spettro prodotti dalla AMS, perchรฉ ci aiuterร a comprendere come sfruttare le informazioni rese disponibili dal software su Personal Computer e a capire il significato dei valori mostrati nelle varie schermate, cosรฌ da sfruttare a pieno le informazioni nelle proprie analisi.
Come accennato, i dispositivi AS72651, AS72652 e AS72653 sono degli spettrometri digitali a 6 canali ciascuno e la Tabella 1 elenca le caratteristiche dei sei canali spettrali per ciascuno dei sensori della triade AMS: per ciascun canale รจ indicata la lunghezza dโonda su cui รจ centrata la curva di sensibilitร .
Fig. 1 Curve di spettro dei 18 canali del sistema a tre sensori.
La Fig. 1 illustra le curve di risposta spettrale di tutti i canali di ciascun sensore e riepiloga il funzionamento del sistema Moonlight a tre sensori e 18 canali; nella figura vedete rappresentate in verde le curve relative allโAS72651, in rosso quelle riferite allโAS72652 e in azzurro quelle dellโAS72653, per un totale di 18 curve.
Per selezionare le varie lunghezze dโonda, nei sensori spettrali dellโAMS viene utilizzato il cosiddetto filtro gaussiano, che permette di estrarre dallo spettro della luce riflessa il 100% esattamente della lunghezza dโonda corrispondente al canale e una percentuale decrescente delle lunghezze dโonda attorno ad essa, costruendo una curva a campana, corrispondente, appunto, alla funzione gaussiana. Ciascuna delle curve riportate in Fig. 1 รจ una gaussiana.
La Fig. 2 mostra lo schema a blocchi interno dei sensori della famiglia AMS, nel quale distinguiamo il sensore dello spettro (che ne รจ il cuore) il circuito di comunicazione dati su IยฒC-Bus e quello di controllo dei LED utilizzati per generare la luce puntata contro gli elementi di cui analizzare lo spettro.
Il funzionamento dei sensori AMS รจ schematizzato dalla Fig. 3, che nello specifico riguarda quello dellโAS72651 che รจ il master della triade e che puรฒ interfacciarsi con un microprocessore attraverso il bus seriale (eventualmente convertibile in UART TTL) e con la memoria Flash dove viene conservato il firmware, attraverso il bus SPI a 4 fili dedicato.
La Fig. 4 propone uno schema a blocchi della breakout board con la connessione fra i tre sensori.
Ciascun dispositivo pilota, tramite la propria uscita DRV, un LED collegato al positivo di alimentazione attraverso un resistore di limitazione della corrente: detto LED viene acceso per proiettare la luce e subito dopo si attiva il sensore che rileva lo spettro della luce riflessa. Ogni LED รจ sincronizzato quindi con il rispettivo sensore.
Lโinterfacciamento della breakout board spettrometro con il PC
Per la comunicazione dati, nel sensore master AMS76251 possono essere implementate due differenti modalitร : tramite registri IยฒC-Bus oppure attraverso dei comandi AT (i comandi Hayes, se preferite…) passando da unโinterfaccia UART a livelli di tensione standard TTL 0/5V integrata nel sensore.
Chiaramente nel primo caso occorre interfacciare la triade di sensori con un dispositivo tipo un microprocessore o microcontrollore nel quale sia presente unโinterfaccia IยฒC-Bus a due fili (SCL e SDA) rispetto a massa, mentre nel secondo, ossia quello della comunicazione in modalitร UART, i due fili diventano TX ed RX e il colloquio puรฒ avvenire sia direttamente con un microcontrollore che disponga a bordo di un UART (Arduino rientra in questa categoria) sia con un Personal Computer, fermo restando che in questo caso serve un converter TTL/RS232 se si desidera lโinterfacciamento con una COM (che funziona con livelli ยฑ12V) o un piรน comune TTL/USB per i PC moderni, che non hanno piรน le porte RS232.
In entrambi i casi il controllo della triade di sensori e il colloquio su seriale avvengono tramite comandi AT, che rappresentano un semplice, quanto efficace, protocollo di comunicazione su seriale, che ci permette un rapido test della breakout board anche attraverso un emulatore di terminale per Windows, Linux o MacOS.
Per quanto riguarda la comunicazione con lโesterno, la selezione tra interfaccia IยฒC-Bus e UART si esegue con il piedino 8 (I2CE) e per lโesattezza, quando questโultimo รจ posto a zero logico si attiva il bus IยฒC, mentre se รจ a livello alto la comunicazione รจ in seriale TTL UART. Nella breakout board, il piedino 8 riceve il livello logico che imposta lโUART tramite il partitore resistivo composto da R6 ed R7, perciรฒ รจ impostata la modalitร UART, che รจ quella che ci interessa.
Le modalitร di comunicazione con il sensore spettro
Ora che abbiamo chiarito struttura e funzionamento della breakout board possiamo approfondire il discorso sulla comunicazione con il PC, che poi รจ ciรฒ su cui verte questo articolo: per dialogare con il PC sono possibili due soluzioni: la prima รจ appunto quella consistente nellโeseguire sul computer un programma di terminale (il classico Telnet o lโHyper Terminal di Windows) e impartire comandi Hayes, mentre la seconda consiste nellโutilizzare lโapposito software fornito dalla AMS e scaricabile dal sito Intermet dellโazienda.
Per quanto riguarda la prima opzione, ogni comando viene inviato sotto forma di stringa di caratteri, deve iniziare con โATโ e finire con i caratteri di Carriage Return (CR) e New Line (NL).
I principali comandi AT adottati nel nostro sistema spettrometro sono i seguenti.
1. AT: per verificare che la comunicazione stia funzionando; il sistema risponderร โOKโ.
2. ATDATA: ritorna la lista dei valori relativi ai 18 canali, ponendoli in ordine di sensore, vale a dire prima i sei del primo dispositivo, poi i sei del secondo e infine quelli del terzo.
3. ATXYZR: ritorna la lista dei valori relativi ai 18 canali, ordinandoli per lunghezza dโonda.
4. ATTEMP: restituisce le tre temperature di funzionamento dei rispettivi sensori, utili per effettuare eventuali correzioni.
5. ATVERSW: ritorna la versione del firmware installato nella Flash EPROM con cui si interfaccia il sensore che fa da master.
Lโalternativa รจ la gestione mediante lโapposito software dellโAMS, che in pratica provvede da sรฉ a interrogare la breakout board impartendo i comandi AT, in modo a noi trasparente. Questa soluzione รจ poi quella che descriveremo.
Connessione fisica al PC dei sensori di spettro
La breakout board puรฒ essere interfacciata a un PC mediante un converter TTL/USB come il modello USBTOUART che potete trovare qui a destra. Il converter TTL/seriale USBTOUART รจ simile al piรน noto FT782M (sempre della Futura Elettronica) ma ha il pregio che fornisce, sul suo connettore lato seriale, unโalimentazione a 3,3V invece che a 5V, quindi piรน adatta ad alimentare la breakout board spettrometro.
Questo piccolo convertitore da USB a UART รจ basato sul chip CH340 della WCH (invece che sullโFT232RL della FTDI) ed ha un connettore dโinterfaccia a 6 contatti che sono, nellโordine, DTR, RXD, TXD, VCC, CTS e GND.
Lโordine di disposizione dei contatti che ci interessano รจ analogo a quella dellโFT782M, con la differenza che saltiamo un contatto, ossia il CTS, dato che in questa applicazione non lo gestiamo. Una piccola parentesi su questo contatto: in realtร fa capo a un jumper a saldare su PCB che permette di connetterlo al CTS effettivamente oppure allโRTS, quando fosse necessario.
Lo schema di cablaggio รจ proposto nella pagina seguente. Il converter dispone di un mini-interruttore che permette di selezionare il funzionamento a 3,3 V o 5 V e tre LED di stato (alimentazione, TX, RX) e anchโesso, come lโFT782M, viene visto dal sistema operativo (gira sotto Windows 7, 8 e 10) come una COM virtuale, una volta installati i relativi driver. Siccome internamente al convertitore รจ previsto un regolatore di tensione, lโimpostazione del mini-interruttore si riflette anche sulla tensione di uscita, pertanto siccome ci serve alimentare la breakout board con 3,3 volt, spostiamo la levetta del mini-interruttore in posizione 3V3 e siamo a posto.
In alternativa allโUSBTOUART รจ comunque possibile interconnettere il PC alla breakout board tramite il tradizionale FT782M della Futura Elettronica basato sullโintegrato FT232 della FTDI., fermo restando che questo converter, per quanto idoneo sul piano dei livelli logici sui contatti TX ed RX (perciรฒ sulla seriale) fornisce 5 volt, mentre la scheda con i sensori AMS sarebbe opportuno che venisse alimentata con una tensione inferiore.
In questo caso la connessione al PC si esegue molto semplicemente connettendo la linea TX della breakout board alla RX dellโFT782M e la RX di questโultimo convertitore con la TX della breakout board. Collegate poi il contatto โ al GND della breakout board, ma non lโalimentazione, che in questo caso sarร separata.
LโFT782M รจ quindi una soluzione consigliata se, ad esempio, si vuole mantenere separata dal PC lโalimentazione della breakout board contenere i tre sensori spettrali: ad esempio perchรฉ si desidera fornire unโalimentazione piรน filtrata di quella offerta dal PC o magari, per limitare al massimo la presenza di disturbi e residui degli switching interni al computer, prelevare i 3,3V da un regolatore lineare, come ad esempio un LDO capace di erogare una corrente dโuscita adeguata.
Qualunque sia lโhardware che avete utilizzato per interconnettere il PC alla breakout board AMS, una volta stabilita la connessione bisogna installare i driver e a quel punto avete a disposizione la COM virtuale che servirร a far dialogare il software di gestione dellโAMS con la breakout board dello spettrometro attraverso il convertitore.
Il software AMS per la gestione dello spettrometro
Vediamo dunque questo programma, che potete scaricare nella sezione download di questo articolo (il file รจ ams_Spectral_Sensor_Dashboard.tcl) e che per lโesecuzione, essendo in formato .tcl, richiede un ambiente di runtime: nello specifico si utilizza ActiveTCL, scaricabile in versione free da www.activestate.com.
Una volta scaricato e installato lโambiente si puรฒ lanciare il file ams_Spectral_Sensor_Dashboard.tcl, che verrร quindi eseguito e mostrerร la schermata iniziale visualizzata nella Fig. 5. Tale schermata รจ la Dashboard del programma.
Notate che prima di lanciare lโesecuzione del software dovete aver connesso la breakout board al computer, altrimenti otterrete un messaggio di errore e il programma verrร chiuso.
Se invece avete giร collegato la scheda, apparirร una finestra di dialogo che proporrร lโimpostazione della COM affinchรฉ avvenga la connessione (Fig. 6); indicate la porta esatta e se non la ricordate, accedete a Pannello di controllo e nelle impostazioni di sistema e dellโhardware, verificate qual รจ la COM virtuale assegnata dal sistema operativo al converter TTL/USB.
Per selezionare la COM dovete cliccare, nel riquadro che elenca quelle trovate, sulla porta desiderata e poi fare clic sul pulsante Open. Cosรฌ accedete alla Dashboard. In questa troviamo quattro tab (schede) che danno accesso ciascuna a determinate funzioni; notate che la Dashboard รจ stata pensata per gestire un sistema di tre sensori, ossia la nostra breakout board.
Partiamo dalla tab 18 Channel Sensor che รจ suddivisa in due sezioni: la sezione Control & Status imposta i sensori per lโacquisizione dello spettro luminoso e quella sottostante riporta le letture.
Control & Status รจ ripartita nelle tre parti seguenti:
โข Update Mode, permette di decidere se i dati mostrati debbano essere acquisiti in tempo reale oppure one-shot; nel primo caso cliccate su Continuous ponendovi il segno di spunta e in ogni caso lโacquisizione si avvia con il pulsante Start e si arresta cliccando su Stop (รจ lo stesso pulsante solo che dopo il clic passa da Start a Stop) allorchรฉ avrete dati aggiornati continuamente. Nella casella Stop After potete scrivere dopo quanti campioni acquisiti interrompere lโacquisizione, cosรฌ da limitare il numero di campioni acquisiti e lโoccupazione di memoria che ne deriva. Se invece non spuntate Continuous otterrete dati sulla risposta dei tre sensori di spettro solamente quando cliccherete sul pulsante, che in questo caso assume il nome di Sample.
โข Status, riporta il numero di campionamenti effettuato dallโapertura della Dashboard.
โข LED Control (electronic shutter) permette di impostare la modalitร di accensione dei LED in base alle nostre esigenze, ovvero le correnti di lavoro di ciascuno, scegliendo tra i valori proposti nei singoli menu a tendina.
Ricordate che i tempi e le correnti di accensione dei LED determinano la qualitร del rilevamento, cosรฌ come la sincronizzazione tra i tempi di osservazione dello spettro riflesso da parte dei fotodiodi.
Per quanto riguarda i dati sullo spettro rilevato, saranno visualizzati nella sezione inferiore, distinti per sensore che li ha prodotti.
Sempre nella sezione inferiore, potete impostare la modalitร di visualizzazione delle informazioni sullo spettro di luce, scegliendo una tra le 5 opzioni proposte; piรน esattamente, accanto a Show avete le opzioni di visualizzazione Raw (che mostra i dati grezzi ottenuti dai tre sensori) e Calibrated Data (che visualizza i dati dei sensori, ma calibrati). Invece accanto a sorted by avete le tre opzioni seguenti:
โข Channel, che visualizza i dati divisi per canale del sensore corrispondente;
โข Wavelenght, che mostra le lunghezze dโonda invece dei valori numerici rilevati nei singoli canali);
โข as Spectrum, che probabilmente รจ la piรน immediata perchรฉ nella finestra del programma ci viene tracciato un grafico di spettro, facilmente leggibile (Fig. 7).
Come vedete, si ottiene proprio la curva dettagliata per ampiezza delle singole componenti spettrali e lunghezza dโonda, nel range misurabile; il valore numerico sullโasse delle ordinate รจ quello relativo alla capacitร di rilevamento e sensibilitร dei sensori AMS. Passiamo alla tab Logging & Control, nella quale appaiono alcune informazioni nella sezione Device, come ad esempio la versione firmware e hardware, la COM selezionata eccetera (Fig. 8).
Nella sezione Logging possiamo aprire un file di log giร creato e visualizzarne i valori memorizzati, mentre nella Sensor Control abbiamo due caselle:
โข Integration (ms) da dove impostare il tempo di osservazione dei sensori, ovvero per quanto tempo acquisire la luce riflessa dopo lโaccensione dei LED; questa funzione corrisponde al tempo di esposizione delle macchine fotografiche e va da sรฉ che piรน alto รจ il tempo, piรน luce viene rilevata e viceversa (un tempo lungo aumenta la sensibilitร del sistema e uno breve accelera il refresh delle analisi, ma lo fa a discapito della sensibilitร );
โข Gain, dalla quale impostare lโamplificazione del segnale fornito dai fotodiodi e quindi la sensibilitร dei sensori alla luce.
Lโultima scheda che vediamo รจ la tab Console, che ci mette a disposizione un vero e proprio terminale integrato (Fig. 9), nel caso vogliamo impartire direttamente comandi AT senza dover uscire o switchare su un altro programma. Da questo terminale possiamo inviare tutti i comandi standard e visualizzare la comunicazione con la breakout board.
Download
Software per la Breakout Spettrometro
1 file(s) 2.54 MB
Per il download di questo file รจ necessario essere registrati al sito
Conclusioni
Utilizzato in abbinamento a un sistema a microcontrollore oppure abbinato al Personal Computer tramite converter TTL/USB come descritto in queste pagine, lo spettrometro su breakout board si dimostra uno strumento affidabile e in grado di restituire analisi di spettro dei materiali sufficientemente valide, ad un costo irrisorio se paragonato a quello di uno spettrometro professionale da laboratorio di analisi.
Le grandi capacitร di elaborazione dei Personal Computer vi permettono, se siete in grado di scrivere software capaci di interrogare la breakout board per estrarne e interpretarne i dati di spettro, di realizzare applicazioni specifiche in grado, ad esempio, di eseguire azioni automatiche in base alle analisi spettrali effettuate, come attivate un servomeccanismo che rimuove un prodotto da un nastro trasportatore o generare un alert al riconoscimento di un prodotto alimentare adulterato.
Le possibilitร di impiego sono, come immaginerete, davvero tante…