• Non ci sono risultati.

5 Programmazione, realizzazione e test di collaudo

N/A
N/A
Protected

Academic year: 2021

Condividi "5 Programmazione, realizzazione e test di collaudo"

Copied!
9
0
0

Testo completo

(1)

5 Programmazione, realizzazione e test di collaudo

5.1 Programmazione del microcontrollore

Una volta eseguito il debug del firmware con il simulatore, si è passati alla programmazione fisica del microcontrollore.

5.1.1 Utilizzo della scheda di sviluppo STK500

Le prime programmazioni per attestare la veridicità dei risultati del simulatore sono state effettuate senza aver istallato sul microcontrollore un boot loader. Per questo motivo abbiamo avuto bisogno della scheda di sviluppo STK 500.

L’AVR STK5003 è una scheda di sviluppo per microcontrollori AVR di Atmel. E’ pensata per dare al progettista sia la possibilità di testare facilmente gli schemi circuitali progettati sia quella di sperimentare la funzionalità di un codice in fase di sviluppo. La scheda può essere alimentata con una tensione continua compresa tra 10 V e 15 V, possiede un interfaccia RS232 per collegamento al PC per operazioni di programmazione e controllo,

(2)

dispone di zoccoletti in cui inserire dispositivi AVR a 8, 20, 28 o 40 pin. Permette la possibilità di varie tipologie di programmazione tra cui una seriale High-voltage, Serial In-System Programming (ISP). A bordo della scheda, per facilitare l’eventuale debug, troviamo 8 pulsanti e 8 LED accessibili tramite opportune porte a dieci pin. La scheda mette inoltre a disposizione tutti i pin delle porte del microcontrollore montato attraverso dei comodi connettori esterni; inoltre dispone di una memoria flash di 2 Mbit per l’immagazzinamento di dati non-volatili.

Grazie alle due porte RS232, è stato possibile collegare direttamente la scheda di sviluppo al PC e procedere alla programmazione del microcontrollore tramite la funzione AVRProgr presente nell’AVR Studio.

Figura 5.2: Connessione della STK500 con il PC

Mediante questa modalità, il programma riconosce automaticamente il tipo di scheda di sviluppo utilizzata e propone all’utente i vari setting. Tramite la pressione di un semplice tasto è possibile caricare il firmware selezionato all’interno del microcontrollore ed è inoltre possibile programmare i fuse bit oppure eseguire operazioni di lettura/scrittura in EEPROM.

Mediante l’STK500 è stato anche possibile caricare il boot loader nel microcontrollore in modo da renderlo aggiornabile in-site.

(3)

5.1.2 Utilizzo del boot loader e del software Megaload

Una volta caricato nella memoria FLASH del microcontrollore il boot loader, è stato possibile separarsi dalla scheda STK500 per proseguire una programmazione stand-alone con l’aiuto del programma Megaload.

Il Megaload (di MicroSyl) è un programma che permette la programmazione tramite boot loader per tutti i processori Atmel ATMega che supportano tale funzione. Il programma permette di caricare il firmware nella memoria flash del microcontrollore senza usufruire di una scheda di sviluppo. Una volta caricato il boot loader (presente nel pacchetto del programma e personalizzabile secondo le funzioni volute e il tipo di microcontrollore) nella memoria flash per mezzo di una scheda di sviluppo, è possibile eseguire l’aggiornamento del firmware direttamente collegando il microcontrollore alla porta COM del PC (utilizzando un opportuno traslatore di livello). Il programma permette di scegliere sia la porta che la velocità di comunicazione, di caricare opportuni file in EEPROM ed eventualmente di programmare i lock-bits. Il funzionamento è veramente semplice ed immediato: una volta eseguiti i collegamenti e scelti i file da inserire nella flash, basta resettare il microcontrollore e la programmazione ha inizio, salvo concludersi in pochissimo tempo.

Essendo il microcontrollore un dispositivo funzionante con livelli TTL, è stato necessario inserire un traslatore di livello per interfacciarsi correttamente con la porta COM del PC.

5.2 Realizzazione del prototipo

Per effettuare la realizzazione pratica del prototipo, siamo partiti col disegnare il circuito schematico con il software Orcad Capture. Successivamente siamo passati all’utilizzo di

Orcad Layout col quale è possibile passare dal circuito a componenti disegnato con Capture, al layout specificando il footprint (ovvero le misure del package dei componenti)

di ciascun elemento presente nel nostro schema. Alcuni elementi erano già presenti nelle librerie del programma, mentre per altri è stato necessario disegnare il footprint, prendendo le misure sul componente mediante l’utilizzo di un calibro.

(4)

A questo punto è iniziato lo sbroglio dei collegamenti seguendo alcune direttive tra cui:

Realizzazione del circuito su una sola faccia.

Corretto posizionamento dei quattro LED, uno per ogni lato della scheda.

Posizionamento del connettore radio e dell’interruttore ON/OFF vicino al bordo.

Iniziare lo sbroglio partendo da alimentazione e massa.

Dimensionare opportunamente le piste in base alla potenza che devono dissipare.

Seguendo queste direttive siamo arrivati ad un circuito realizzabile su una faccia con l’aggiunta di un ponte. Per minimizzare ulteriormente la basetta, abbiamo pensato di mettere due batterie per ogni lato.

Figura 5.2: Layout del prototipo realizzato

Con un photoplotter abbiamo creato il master col quale abbiamo impressionato una basetta tramite raggi UV. Successivamente abbiamo sottoposto la basetta all’attacco acido per togliere il rame in eccesso. Infine abbiamo saldato i componenti ottenendo il risultato esposto nella foto sotto.

(5)

Figura 5.3: Vista dall'alto del prototipo realizzato

5.3 Test di collaudo

Dopo aver realizzato fisicamente il nostro dispositivo, siamo passati alle verifiche pratiche, effettuando dei test con l’ausilio dell’oscilloscopio e di qualche elettrodomestico comune.

5.3.1 Realizzazione di una interfaccia utente virtuale tramite LabVIEW

Per effettuare il testing del dispositivo, ci siamo serviti di una interfaccia utente virtuale in quanto quella reale non era momentaneamente disponibile.

Per la realizzazione di questa interfaccia è stato utilizzato il software LabVIEW della

National Instruments.

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) è un ambiente di sviluppo per applicazioni principalmente orientate all’acquisizione di dati, alla gestione di strumentazione elettronica e all’analisi ed elaborazione dei segnali. Fornisce un ambiente di programmazione di tipo grafico ad oggetti che consente di realizzare programmi in forma di diagrammi a blocchi. LabVIEW mette inoltre a disposizione del programmatore una

(6)

serie di librerie di funzioni che possono essere richiamate ed utilizzate all’interno dei programmi: le librerie comprendono funzioni di uso comune (funzioni aritmetiche e statistiche, funzioni la manipolazione di stringhe, …) ed inoltre funzioni specializzate per l’acquisizione e l’elaborazione dei segnali, il controllo di strumentazione numerica via interfaccia IEEE-488 o VXI., la trasmissione di dati mediante l’uso di porte seriali oppure mediante il protocollo di comunicazione TCP/IP. E’ possibile inoltre definire nuove funzioni ed arricchire le librerie in dotazione.

L’ambiente di sviluppo consente di costruire programmi i quali prendono il nome di strumenti virtuali (Virtual Instrument, VI). Un Virtual Instrument permette l’interazione tra calcolatore e strumentazione fornendo contemporaneamente all’utente un opportuno pannello frontale grafico per il dialogo con il VI stesso. In questo modo l’utente interagisce con un nuovo dispositivo, costituito da calcolatore, interfacce, strumenti e programma il quale presenta una realtà diversa dai singoli oggetti fisici che compongono il sistema stesso. Con questo potente strumento abbiamo creato un VI in grado di gestire la comunicazione con il nostro gateway attraverso una delle porte seriali del PC. Successivamente è stato collegato il radiomodem (tramite un opportuno convertitore di livello) in modo da simulare correttamente l’invio di comandi da parte dell’interfaccia utente.

(7)

Come si vede dalla figura sopra, l’interfaccia si presenta divisa in tre parti principali. La colonna a sinistra permette l’impostazione dei vari parametri della porta RS232 e la porta COM alla quale è connesso il modulo radio. La finestra in alto permette l’invio dei dati al gateway. Il messaggio viene mandato in accordo al codice di comunicazione e può essere scritto sia in caratteri che in esadecimale. Infine troviamo la finestra di visualizzazione dei dati ricevuti. Come sappiamo, il gateway invia il carattere ‘O’ in caso di funzionamento regolare, e il carattere ‘E’ in caso di malfunzionamento. In questa finestra possiamo leggere il byte ricevuto a cui è stato associato anche un LED per migliorare la visibilità all’utente.

5.3.2 Confronto dei segnali inviati

La prima parte del collaudo si è rivolta prevalentemente sul confronto tra i segnali inviati da un telecomando universale e i segnali inviati dal nostro dispositivo. Per visualizzare i segnali infrarossi ci siamo serviti di un oscilloscopio e del circuito ricevente utilizzato nel capitolo 2. Dopo aver programmato sia il telecomando universale che il nostro dispositivo su un particolare modello di elettrodomestico, abbiamo confrontato sull’oscilloscopio i segnali relativi alla pressione di un determinato tasto ottenendo degli ottimi risultati.

Figura 5.5: Confronto di segnali con codifica Philips

Nella figura 5.5 possiamo vedere il confronto tra il segnale inviato dal nostro dispositivo (in bianco) e dal telecomando universale (in blu) dopo averli programmati sul protocollo

(8)

Philips. Possiamo notare come i due segnali risultino uguali sia nella durata del singolo bit che in quella totale. Ciò ci permette di supporre ragionevolmente il corretto funzionamento del gateway verso i dispositivi con codifica Philips.

Lo stesso ottimo risultato lo abbiamo ottenuto inviando un segnale con codifica Sony.

Figura 5.6: Confronto sulla codifica Sony

Purtroppo non è stato possibile verificare fisicamente il corretto funzionamento del gateway su dispositivi comandati attraverso queste codifiche in quanto non disponibili al momento della stesura di questa tesi.

5.3.3 Capacità di comandare dispositivi fisici

Il collaudo del gateway si è concluso con la prova pratica di comando in cui il gateway, dopo essere opportunamente programmato, doveva essere in grado di indirizzare opportunamente alcuni elettrodomestici disponibili presso la mia abitazione.

I risultati sono stati buoni in quanto il gateway comanda perfettamente il videoregistratore (un Panasonic), il lettore CD Pioneer e il tape Aiwa.

Purtroppo non sono stato in grado di testarlo sulla TV (un JVC piuttosto datato) in quanto i codici relativi non erano presenti nel database LIRC e il programma Winlirc non è stato in grado di imparare dal telecomando.

(9)

Grazie a queste prove sono anche riuscito a testare la portata del dispositivo che è risultata di circa 2-3 metri anche in presenza di ostacoli.

5.3.4 Nota sulla tolleranza dei ricevitori

È stato interessante notare come i ricevitori di alcuni dispositivi abbiano una certa flessibilità sui codici. Infatti prendendo come esempio il lettore CD Pioneer PD-7100, abbiamo ricavato le seguenti figure da un’analisi attraverso l’oscilloscopio confrontando i segnali inviati dal telecomando originale, da uno universale e dal nostro gateway.

Figura 5.7: Confronto tra tre segnali inviati da fonti diverse per lo stesso dispositivo

La figura mostra chiaramente l’uguaglianza dei segnali inviati dal nostro dispositivo (in basso) e dal telecomando originale (al centro) e la diversità di questi ultimi con il telecomando universale (in alto). Questo ci permette di supporre una certa tolleranza dei ricevitori nei confronti dei codici inviati.

Figura

Figura 5.2: Connessione della STK500 con il PC
Figura 5.2: Layout del prototipo realizzato
Figura 5.3: Vista dall'alto del prototipo realizzato
Figura 5.4:  Illustrazione della VI dell'interfaccia utente
+4

Riferimenti

Documenti correlati

- conferma della teoria che i cloroplasti possono essersi originati da cellule viventi all’interno delle cellule di altri organismi (teoria. simbiontica di

Come detto, da questo file dipende la configurazione relativa al test da effettuare, ecco che allora sarà da questo file che l’applicazione leggerà i valori da impostare relativi ai

When exiting firms are exempt, firing costs lower firm value, thereby promoting exit of low-productivity firms, strengthening selection, and increasing growth relative to

Nella parte introduttiva vengono descritti i principi della prospettiva di investimento sociale e i programmi politici che propongono di implementare azioni

Il capitolo Neiye 内业 (quarto secolo a.e.v.) del Guanzi 管子 è una raccolta di versi sulla natura del dao e sui metodi di coltivazione interiore che collega le pratiche

Esplorare il ruolo della memoria nel presente a partire dalle sfide attuali a livello personale e sociale, mettere a fuoco il rapporto imprescindibile tra presente e memoria

In generale, da un punto di vista personale, la parola memoria evoca quanto le esperienze del passato hanno sviluppato conoscenze, abilità, competenze, sistemi di relazioni, stati

Il trattamento delle acque reflue può avvalersi a livello tecnologico di di- verse soluzioni con il fine di purifi- care miscele a base acquosa conte- nenti sostanze organiche, sali