Vai al contenuto
PLC Forum


Dimensionamento Ingresso A/d Pic E Calcoli


S.D.R.

Messaggi consigliati

Salve a tutti ;

Voglio utilizzare un ingresso A/D del Pic 16F876 per misurare una tensione continua che al massimo arriva a 15V .

Io ho dimensionato un partitore resistivo in modo tale da avere 5 volt in ingresso al Pic quando ho 15V prima del partitore ( resistenze usate 20K ,10K 1%) .

L' A/D lo impostato con risoluzione 8Bit quindi con 255 passi .

Quindi per visualizzare una tensione in decimale dovrei fare 255:15=17 quindi devo dire al Pic che divida il valore ottenuto dalla conversione per 17 .

Ma così vedo solo valori interi della tensione , e se voglio avere una risoluzione di 1/2 Volt o 1/10 di volt che calcoli devo far fare al pic ?

Modificato: da S.D.R.
Link al commento
Condividi su altri siti


Gianmario Pedrani

Devi dividere 15 / 255 = circa 0.06 poi quella costante la moltiplichi per il valore letto dal dac e ottieni i valore

ciaooooooooo

Modificato: da Gianmario Pedrani
Link al commento
Condividi su altri siti

Usa la proporzione

255/Vmax = ADx/Vx

dove ADx è il valore letto dal convertitore

Vx è la tensione incognita da misurare

Vmax è la massima tensione in ingresso a cui corrisponde AD = 255

Risolvi rispetto Vx = (ADx * Vmax) / 255

Fai prima la moltiplicazione e poi la divisione altrimenti ottieni sempre zero

Dimensiona le variabili correttamente (se parti da variabili a 8bit il risultato della molitplicazione è un valore a 16bit)

Vx dipende da come esprimi Vmax se dai Vmax in millivolt ottiene Vx in millivolt

Se ti basta un decimale Vmax = 150 (15.0V)

Link al commento
Condividi su altri siti

Se usi un compilatore "C" come, ad esempio, CCS è smeplicissimo: fai i conti con variabili real.

Se usi l'assembler la cosa micliore è eseguire una proporzione come suggerisce accacca. Io però ti suggerirei di configurare, comunque, l'A/D con conversione a 10 bit, 1023 conteggi.

Link al commento
Condividi su altri siti

Grazie a tutti ;

Comunque non vi avevo detto che uso Visual Parsic perchè comunque il mio era solo un problema di logica .

Allora ho fatto così:

DAC impostato 10 bit quindi 1023 passi , d iconseguenza tutti i blocchi di calcolo li ho impostati a 16 bit altrimenti mi dava errore alla compilazione con MPasm .

ADCX:4 --> *59 --> :10 --> :10 -->:10 --> al primo blocco display

. . . . . . . . . . . . . . . . . . . . . . . . \---------->al secondo blocco display per visualizzare i decimi di volt

E funziona che è una meraviglia , grazie davvero :)

Ora perfavore aiutatemi con l'altro problemino con i caratteri speciali che ho spiegato in un altro post .

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...