Stabilita ADC del PIC 16f876

Ciao a tutti ! Ho questo problema ho un PIC 16F876 e utilizzo un ingresso ADC collegato ad un potenziometro lineare da 1Kohm. Quando vado a leggere il valore su un display LCD 2x16 mi da "per esempio"

800 ma non in modo fisso sembra infatti oscillare tra 796 e 804 ... presumo ci siano problemi sulla linea di alimentazione però è strano perche ho utilizzato un 78L05 con i suo condensatori e "da tester" il valore di tensione è perfettamente 5 volt ... qualcuno ha idea di come posso risolvere questo problemino ?

Grazie a tutti !

Reply to
Geppo
Loading thread data ...

Geppo ha scritto:

Beh, tieni conto che se il riferimento ADC che usi è quello interno a 5 V, stai parlando di un'oscillazione di +/- 20 mV scarsi, quindi potrebbe starci benissimo che sia rumore introdotto da qualcosa. Non penso che sia dovuto all'alimentazione perchè se il potenziometro è collegato alla stessa alimentazione del pic una variazione dell'alimentazione del pot va di pari passo con una variazione del Vref dell'ADC, quindi il valore letto entro certi limiti non dovrebbe risentirne... Mi verrebbe da dire che sia rumore partendo dal potenziometro e andando verso il micro... prova a mettere un condensatore da 100 nF (eventualmente fai qualche prova con valori diversi per trovare un buon compromesso tra stabilità del valore letto e velocità di risposta alla rotazione del pot...) tra la presa centrale del pot e massa, dovrebbe migliorare... ciao

--
Paolo Squaratti 
"Colonnello, prova con questa...
...Indio, tu il gioco lo conosci..."
Se ho sbagliato non l'ho fatto apposta...
Reply to
Paolone

Ciao Paolone ho provato a fare come da te suggerito ma niente :-(. Approfondisco il discorso un secondo. Io utilizzo 4 porte ADC del pic 16F876 esattamente la AN0, AN1, AN2, AN3. Dalle porte AN0 e AN1 ho collegato 2 potenziomentri lineari da 1 Kohm, nelle porte AN2 e AN3 ricevo una tensione da due potenziometri all'interno di 2 rotori di antenna per poi effettare 2 comparazioni: ( 1 rotore ) AN0 e AN2 , ( 2 rotore ) AN1 e AN3. Successivamente se AN0 > AN2 o AN0 < AN2 sulle porte C del PIC mi comanda 2 rele che mi fanno girare il rotore a destra o sinistra fino a quando AN0 = AN2. Il problema di fondo è che tutti e 4 gli ingressi, anche senza potenziometri collegati oscillano da 000 a 005 quindi senza nessun carico. Spero di avere chiarito meglio il mio problema ... grazie !!!

"Paolone" ha scritto nel messaggio news:4a61bd62$0$6839$ snipped-for-privacy@news.tiscali.it...

Reply to
Geppo

Geppo ha scritto:

se non lavori a velocità "stratosferiche" fai una media di N campioni, per ipotesi N=64 ,per cui ti basta ruotare di 5 volte il registro per avere la media. inoltre puoi mettere un RC passa basso sull'ingresso AN del Pic. emi

Reply to
emilio

Geppo ha scritto:

Non hai risolto nulla nemmeno provando con valori tipo 220n ?

Ma hai controllato di aver configurato un conversion clock adeguato che garantisca i tempi di acquisizione minimi specificati nel datasheet? Tieni conto che per caricare il condensatore di sample and hold ci vuole un certo tempo, non vorrei che tu usassi una freq di conversione troppo elevata e sia risicato risicato con questo tempo. Per quanto riguarda l'impedenza d'ingresso mi pare che quella consigliata massima sia di

10k, quindi per quanto riguarda quella dovresti essere più che a posto...

Cmq, anche se non riguarda il problema in oggetto, stai occhio poi a fare il controllo in modo adeguato per evitare che il sistema di posizionamento nel suo complesso si metta ad oscillare... :)

--
Paolo Squaratti 
"Colonnello, prova con questa...
...Indio, tu il gioco lo conosci..."
Se ho sbagliato non l'ho fatto apposta...
Reply to
Paolone

Ciao a tutti! Ho risolto una buona parte del problema ... ho aumentato il valore del condensatore tra vcc e vss del pic e sembra essersi stabilizzato, ora è nato un secondo problemino :-( Ho configurato il registro ADCON1 in modo da avere tutte le porte A come input analogico pero dal pin AN2 non riesce a campionare niente, mentre dagli altri si. Guardando con il tester a circuito spento e senza alimentazione ho constatato che il pin AN2 è collegato a massa, quindi quando gli porto tensione avviene un piccolo cortocircuito. Esiste una spiegazione ?

Grazie ancora a tutti ! "emilio" ha scritto nel messaggio news:h3shvc$7o1$ snipped-for-privacy@tdi.cu.mi.it...

Reply to
Geppo

Se guardi la pagina 114 del datasheet, dove si dice come impostare il registro di controllo adc, vedi che i PCFG sono da impostare tutti a zero. Probabilmente hai messo PCFG2 a 1, impostando AN2 come digitale (e poi il tris è settato come uscita)

Ciao CG

Reply to
CG Audio Laboratories

Ciao CG il registro ADCON1 ho provato ad impostarlo sia 0x80 che come 0x82 quindi anche con i primi 4 bit a 0 oppure in modalità 0100 visto che ho un 16F876 e ho solo 5 ingressi ... potrebbe che si sia bruciato l'ingersso ? Se comunque collego il carico al la porta AN3 funziona benissimo ... bho !?!?! ciao! "CG Audio Laboratories" ha scritto nel messaggio news:4a643363$0$47544$ snipped-for-privacy@reader1.news.tin.it...

Reply to
Geppo

Prova ad usarlo con ADCON1 = 0x83

0100 su quei bit definisce AN2 come porta digitale

Può darsi che tu lo abbia rotto, ma a me non è mai capitato nonostante abbia violentati un sacco (anche se della serie PIC16 ne avrò usati 2 o 3 ad esagerare...e migliaia della serie PIC18)

Ciao CG

Reply to
CG Audio Laboratories

CG Audio Laboratories ha scritto:

Anche a me sembra strano aver danneggiato un'uscita... idem come sopra mi è capitato di trattarli veramente male, sia come I/O digitali e a volte anche come ingressi analogici, ma mai mi è capitato di romperli... Penso anche io un problema magari banale (ma che è difficile far saltare all'occhio) di configurazione... ciao

--
Paolo Squaratti 
"Colonnello, prova con questa...
...Indio, tu il gioco lo conosci..."
Se ho sbagliato non l'ho fatto apposta...
Reply to
Paolone

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.