Vai al contenuto
PLC Forum


Leggere accuratamente un segnale analogico con PIC


Neway

Messaggi consigliati

Salve a tutti, vorrei lavorare con un pic ed un accelerometro con uscita lineare, e sono cosciente che l'accuratezza della misurazione è influenzata tantissimo dai 5V che alimentano sia il pic che l'accelerometro. Il circuito sarà alimentato con una batteria da 12V.

Vorrei consigli su come ottenere questi 5V stabili ed essere sicuro che nel tempo non si degradi la regolazione.

Grazie

Adriano

Link al commento
Condividi su altri siti


Per ottere 5v stabili, indipendentemente dal carico e dalla tensione di batteria basta un buon regolatore integrato come lo LM7805.

Per aumentare la precisione e stabilità della misura dell'A/D converter puoi usare un ingresso analogico come riferimento di tensione (ogni modello di PIC che dispone di A/D dispone anche di una porta che può essere adibita a questo uso).Il riferimento lo generi con un dispositivo ad alta stabilità. Se visiti il sito di National, Maxim, LTe altri ne trovi parecchi con le relativa AN.

Link al commento
Condividi su altri siti

Ok, grazie.

Altra cosa: fare un sistema di correzione via software del genere è una buona soluzione? Tipo questo tizio che ha usato come regolatore di tensione uno zener, ma cosciente della tolleranza del diodo ha predisposto una correzione via software.

Il circuito è un monitor per batterie aeromodellistiche

l'indirizzo internet è questo

http://www.baronerosso.net/Articolo140-page1.html

Riporto un pezzo dell'articolo che spiega come funziona la stabilizzazione della tensione e la taratura software.

Perché e come funziona la taratura

Anche se il circuito è molto semplice, le tolleranze dei componenti pesano molto sull'affidabilità dell'allarme e del riconoscimento del numero di celle. Come detto sopra, le tabelle sono state ricavate campionando alcuni zener dello stesso modello, ma di partite anche diverse, per determinare la curva caratteristica e quindi calcolare i valori delle tabelle. Seppure, la curva segua all'incirca lo stesso andamento, anche fra due diodi della stessa partita, capita che qualche curva presenti un offset elevato. Per esempio, mettiamo caso che con 10mA, su un diodo si rilevino 2,65V, mentre per la stessa corrente, e nonostante la stessa forma di curva caratteristica, il secondo diodo limita a 2,55.

Tali valori sono comunque compresi nelle tolleranze del componente. Ma una differenza di 100mV su 2,65V, equivale ad una differenza di alimentazione e quindi di misurazioni da parte del PIC di oltre il 3,7%. Se oltre a questo si aggiungono le tolleranza degli altri componenti, nei peggiori dei casi, si possono ottenere errori del 8-10%

Il 10%, è un po' troppo, anche perché con il 10% di tolleranza, diventa impossibile capire con affidabilità se si lavora con 2 celle belle cariche o con 3 scariche!!!

Per questo sono stato costretto ad adottare le seguenti precauzioni:

* le resistenze R5 ed R6, con tolleranze di massimo 1% (che vuol dire nel peggiore dei casi +1% una, -1% l'altra, = 2%)

* tabelle personalizzabili

Per attuare la seconda precauzione in realtà sono state previste ben 4 tabelle, 2 sulla Flash del PIC (quindi non modificabile) e 2 in EEProm.

All‘accensione e dopo il lungo lampeggio iniziale del Led, il Pic controlla la tabella delle tensioni per l'autodetect presente in EEProm. Se la tabella è vuota significa che è la "prima accensione assoluta". In questo caso, il led lampeggia ciclicamente per 3 volte consecutive, segnalando la mancata programmazione ed attende che venga fatta. Quando viene dato il consenso alla taratura, il Led smette di lampeggiare e viene considerata la tabella per il detect presente nella Flash (che è la tabella ricavata sperimentalmente), In base al valore di alimentazione rilevato, viene effettuata una correzione matematica dei valori della tabella e i nuovi valori vengono salvati in EEProm. Fatte queste operazioni, con la stessa "proporzione" viene modificata la tabella contenente i valori di riferimento per l'allarme di batteria scarica e anche questa salvata in EEProm.

Quando anche queste operazioni sono concluse, il sistema entra volutamente in blocco ed accende il Led in modo permanente, segnalando che la taratura è stata eseguita.

Succede quindi che, nel funzionamento normale, le tabelle utili sono quelle memorizzate in EEProm e non quelle di "default" nella Flash, anche se è possibile che coincidano.

In questo modo, si riesce sempre ad ottenere una precisione migliore del 3% nel peggiore dei casi, cosa diversamente impossibile se non utilizzando costosi ed ingombranti regolatori a bassa tensione ( da 2V,), Low Drop di precisione.

Link al commento
Condividi su altri siti

Ci sono dei "voltage reference" della National, ma anche di altri, che pur trattandoli come zenere hanno precisioni e stabilità di gran lunga superiori, con costi <1€-2€. Le precisioni sono sicuramente migliori del 3%, anche perchè la tensione d'uscita è aggiustabile; la stabilitò è sicuramente maggiore di almeno un ordine rispetto ad uno zener compensato in temperatura.

Io ne ho usati per generare la corrente di alimentazione di ponti di misura. Mai avuto problemi e, soprattutto, non necessitano di compensazioni Hw e Sw, che sono sempre un poco aleatorie.

Questo come riferimento di tensione per l'A/D converter, mentre per alimentare il PIC è sufficiente la stabilità e precisione di unLM1805, anzi ne avanza.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...