.: News :: Downloads :: Trucchi :: Forum :: Elettronica :. 
 Home
 News
 Archivio Notizie
 Cerca
 Downloads
 Forums
 Gestione Account
 Glossario Info
 Passaparola
 Sondaggi
 Trucchi Giochi
 Trucchi Windows


Benvenuto, Anonimo
Tuo IP: 54.234.42.16
Nickname
Password
CodiceCodice di Sicurezza
Digita il codice di sicurezza:

 · Registrazione
 · Password persa?
Data/Ora Server
24-May-2013 19:39:31
(GMT +0200)

RSS Feeds












Misura accelerazione tramite PIC





Introduzione

Il progetto riprende la tesi da mè svolta presso la facoltà di Ingegneria di Reggio Calabria. Durante il periodo di tirocinio è stato progettato e realizzato un sistema a microcontrollore per il monitoraggio dell’accelerazione mediante accelerometri integrati.

L’accelerometro utilizzato per il progetto è il modello ADXL202 prodotto dalla Analog Devices che fa parte della famiglia di dispositivi MEMS (Micro Electro-Mechanic System) e capace di misurare accelerazioni in un range di ±2g. Questo dispositivo produce una uscita digitale sotto forma di segnale PWM, che viene acquisito ed elaborato da un microcontrollore per determinare l’accelerazione . Il sistema è stato poi interfacciato con un Personal Computer tramite l’interfaccia USB. A tale scopo è stato utilizzato un microcontrollore PIC16C745 prodotto dalla Microchip Technology Inc. che dispone di un apposito modulo hardware per la gestione della comunicazione USB.

Per la realizzazione e la programmazione del codice implementato sul microcontrollore si è utilizzato il software di sviluppo PCW realizzato dalla Custom Computer Services Inc.
Infine è stata realizzato un programma per sistema operativo Windows, dotato di una semplice interfaccia per leggere i dati provenienti dalla porta USB e riportare l’andamento grafico delle accelerazioni in tempo reale.



Realizzazione

L’intero sistema può essere realizzato con un costo estremamente contenuto, oltre al PIC e all’accelerometro sono necessari due condensatori ed una resistenza per l’ADXL202, e una resistenza e condensatore per il collegamento USB del PIC. Infine è necessario l’utilizzo di un quarzo per il segnale di clock, e di un integrato del tipo 7805 per poter alimentare il circuito attraverso una fonte di alimentazione esterna, quando l’applicazione lo richiede.

L'accelerometro è collegato al PIC tramite i pin CCP1/CCP2 in modo da sfruttare i due moduli CPP nella modalità Capture per la determinazione del duty cycle. Per settare il periodo T2 del segnale PWM in uscita dell'accelerometro, è stata utilizzata una resistenza da 1MOhm posta tra il pin T2 e massa. Ciò consente di avere un periodo di 8ms.

La banda è stata invece settata in modo da minimizzare il rumore di misura; infatti il rumore è proporzionale alla banda del sistema, che è dunque stata settata la minimo valore, pari a 10 Hz, tramite l'utilizzo di due capacità di valore pari a 0.47µF, poste su Xfilt e Yfilt.
Tale impostazione della banda è sufficiente per monitorare accelerazioni in applicazioni reali come il movimento umano o di un automobile.

Poiché il sensore è molto sensibile ai disturbi sull’alimentazione, è stato inserito un condensatore da 10 µF ed una resistenza da 100 Ohm tra i piedini di alimentazione del sensore, come suggerito dal datasheet del dispositivo. Ciò ha consentito di ridurre notevolmente il rumore di misura.

Schema completo:


Per connettere il PIC al circuito stampato sono stati utilizzati solo i collegamenti indispensabili, cercando così di ridurre la dimensione finale del PCB. Oltre all'alimentazione VDD (pin 20) e ai pin di massa (pin 8, 19), è stato collegato il pin del Master Clear (pin 1) a VDD tramite una resistenza. Ciò è necessario per garantire il funzionamento del PIC, se il pin MCLR viene posto a massa il dispositivo si resetta.

Infine l'accelerometro è stato collegato al PIC tramite i pin CCP1/CCP2 (pin 13 e 12), e la porta USB agli appositi pin D+ (16), D- (15) e Vusb (pin 14).
Per consentire all'host di rilevare la connessione di un dispositivo Low Speed, le specifiche USB richiedono di inserire una resistenza di valore di pull-up pari a 1.5KOhm tra D- e VUSB, mentre una capacità di 200 nF è richiesta per la stabilità del regolatore di tensione su VUSB. Attraverso VUSB viene fornita una tensione pari a 3.3v e una corrente sufficiente per connettere una sola resistenza di pull-up.

Nel circuito è inoltre presente un regolatore di tensione del tipo L7805 che consente di trasformare la tensione proveniente da una pila a 9 volt nei 5 volt necessari per il funzionamento del circuito. Se connesso alla porta USB il circuito comunque assorbe la potenza necessaria al funzionamento direttamente dal PC (circa 15 mA), si può così fare a meno di un alimentazione esterna.

Immagine PCB:



Programma per il PIC

Sono state realizzate tre diverse versioni del codice, che possono essere utilizzate per diversi scopi.
La prima versione riguarda la rilevazione delle accelerazioni in real time. In tal caso viene calcolato il duty cycle ed inviato attraverso il collegamento USB al PC, dove un’apposita applicazione consente di calcolare l’accelerazione e graficarne l’andamento lungo i due assi dell’accelerometro.
La seconda versione consente invece di memorizzare le 20 accelerazioni massime che si sono verificare in un arco di tempo pari a circa 18 ore. Tali valori possono poi essere mandati al PC per l’analisi dei dati.
Infine la terza versione consente di monitorare l’utilizzo di un autovettura durante l’arco di un mese. Vengono infatti memorizzati i giorni del mese in cui l’autovettura è stata utilizzata, e tali dati possono poi essere acquisiti tramite PC per analizzarli ed ottenere un grafico di utilizzo.


Programma per leggere le accelerazioni

Per monitorare i dati delle accelerazioni è stato sviluppato, tramite l’ambiente di programmazione Delphi 7, un apposito programma per sistemi operativi Windows.

Il programma permette di riceve i dati da tutte e tre le versioni del codice realizzate, tramite un’interfaccia molto semplice.
Non appena un qualunque dispositivo HID viene connesso al PC, il S.O. installa automaticamente i driver necessari al funzionamento, ed effettua l’enumerazione del dispositivo. Il programma consente di visualizzare tutte le periferiche HID connesse al sistema e le informazioni base su ogni dispositivo.



Alla pressione del pulsante Start inizia l’acquisizione dei dati attraverso la porta USB, viene calcolata l’accelerazione e riportata nel grafico in funzione del tempo.
La scala e i riferimenti del grafico possono essere variati lungo entrambi gli assi in modo simile ad un oscilloscopio.

Il bottone Download serve per ottenere i valori delle accelerazioni massime, o le statistiche memorizzate nel PIC nelle due versioni del codice discusse in precedenza.
E’ anche possibile monitorare la velocità (in km/h) e spostamento (in metri). Tale calcolo viene effettuato integrando numericamente l’accelerazione lungo l’asse di marcia (asse X).

Tramite alcune impostazioni è possibile settare il programma per effettuare i calcoli dell’accelerazione per due tipi di accelerometro: ADXL210 e ADXL202. I codici per i PIC riportati in allegato sono compatibili con entrambi gli accelerometri. Così utilizzando un sensore ADXL210, le cui caratteristiche sono in gran parte simili a quelle dell’ADXl202, sarà possibile misurare accelerazioni in un range di ±10g. E’ inoltre possibile scegliere una terza modalità “Auto” che consente di effettuare la calibrazione del sensore per determinare la variazione del duty cycle per g, secondo la procedura descritta nel paragrafo 4.4.

E’ inoltre possibile variare la modalità con cui riceve i dati dal PIC, a 8 o 16 bit. Questo è possibile solo per la prima applicazione messa a punto, ovvero quella per la rilevazione delle accelerazioni in continua.

E’ stato implementato anche un filtro numerico passa basso, la cui costante di tempo può essere variata a piacimento. Abilitando il filtro è possibile annullare quasi del tutto il rumore di misura, a spese però dell’introduzione di un piccolo ritardo nella rilevazione delle accelerazioni.

Infine è possibile salvare i dati ricevuti, i valori delle accelerazioni calcolate, e le statistiche di accelerazione, velocità e posizione in file di testo per poter così analizzare tali dati ad acquisizione completa.



Download

Programma per Windows
Firmware del PIC
Schematic (formato Eagle)









Copyright © by DemiSoft Tutti i diritti riservati.

Pubblicato su: 0000-00-00 (20716 letture)

[ Indietro ]

Anti-spam
:: Home :: RSS News :: Privacy :: Disclaimer :: Contatti :: Google Sitemap ::
Copyright by DemiSoft. Tutti i diritti riservati. Leggere attentamente il Disclaimer. Engine by PHP-Nuke
Generazione pagina: 0.96 Secondi