Lettura analogica 16F628

Ho un micro senza ADC integrato (ma con un comparatore) e voglio leggere la posizione di un trimmer. Ho pensato di usare il comparatore con il riferimento interno, che però ha solo 16 tensioni possibili: un po poche.

L'altra idea è quella di usare il timmer in una rete RC e leggere il perido dell'oscillazione con il comparatore e un timer, ma non sono capace nè di mettere giù uno schema ne di dimensionare i componenti. Qualcuno mi da una mano?

Olivier

Reply to
Olivier
Loading thread data ...

Olivier ha scritto:

rido

di

una mano?

Un'altra possibilit=E0 classica =E8 quella di collegare la resistenza variabile in parallelo ad un condensatore di capacit=E0 nota collegato fra massa ed il piedino di una porta di un PIC. Via software, configuri il piedino come un'uscita e la metti a livello logico alto. Il condensatore si carica. Commutando il piedino (sempre via software) come un ingresso, ha un'impedenza piuttosto elevata ed il condensatore si scaricher=E0 prevalentemente sul potenziometro. Il tempo di scarica =E8 proporzionale al valore della resistenza e quindi ti dar=E0 l'indicazione della posizione del potenziometro. In altre parole, basta che misuri via software il tempo che ci vorr=E0 a questo piedino per ripassare al livello logico zero, usando magari il timer del PIC.

Reply to
Darwin

Ma il trimmer cosa deve fare? È per caso qualche tipo di taratura? In tal caso potresti usare 2 pulsanti (+ e -) e salvare il dato in E2PROM... Oppure potresti inventarti qualcosa con il modulo PWM. Del tipo colleghi all'uscita PWM un filtro RC e lo metti in ingresso al comparatore e sull'altro ingresso del compatatore ci metti il trimmer. Poi generi una rampa col PWM e vedi quando il comparatore scatta. Ma prendi tutto con le molle, non ho mai fatto niente del genere!

Ciao, Pasu

Reply to
Pasu

Olivier ha scritto:

Haem...Sì, in effetti come dici tu è molto più semplice. Ciao! Pasu

Reply to
Pasu

E' una soluzione a cui ho pensato, ma un filtro capace di filtrare un segnale PWM (immagina valori con duty piccolissimi) sarebbe troppo "lento" per questa applicazione. Inoltre sto già usando il PWM per un'altra cosa.

Olivier

Reply to
Olivier

Fondamentalmente voglio controllare il duty cycle di un segnale PWM con una manopola, l'adc serve a leggere la manopola. Ho bisogno di un PIC che abbia sia l'oscillatore interno che l'ADC che un output PWM. Ho per le mani un 16F88 ma non riesco a programmarlo, per cui o mi invento l'adc o mi invento il PWM. L'ADC esterno mi sembra una follia. Un'altro integrato, 3/4 porte utilizzate, un bel pezzo di firmware da scrivere per leggere una manopola! Scherziamo? =)

Olivier

Reply to
Olivier

variabile in parallelo ad un condensatore di capacità nota collegato fra massa ed il piedino di una porta di un PIC. Via software, configuri il piedino come un'uscita e la metti a livello logico alto. Il condensatore si carica. Commutando il piedino (sempre via software) come un ingresso, ha un'impedenza piuttosto elevata ed il condensatore si scaricherà prevalentemente sul potenziometro. Il tempo di scarica è proporzionale al valore della resistenza e quindi ti darà l'indicazione della posizione del potenziometro. In altre parole, basta che misuri via software il tempo che ci vorrà a questo piedino per ripassare al livello logico zero, usando magari il timer del PIC.

Domani ci penso un po su. Ho trovato anche questo:

formatting link

ma non riesco a capire bene come funziona, e se e come posso adattarlo per leggere un trimmer.

Olivier

Reply to
Olivier

Non capisco cosa intendi per "lento". Tutto dipende da come dimensioni la rete RC, ma anche se smanetti come un forsennato su quel povero trimmer non puoi ottenere più di un paio di Hertz, contro le decine di kHz del PWM... Il valore del duty cycle non ha importanza, quello che importa è la frequenza di lavoro. Comunque, se già devi usare il modulo PWM, tutto a monte. L'idea di Darwin mi sembra ottima.

Pasu

Reply to
Pasu

Pasu ha scritto:

Grazie dei complimenti, ma non =E8 mia. E' una soluzione piuttosto classica. Mi sembra di aver sentito parlare per la prima volta di questo genere di trucchi leggendo una rivista che spiegava come funzionasse l'ingresso per i paddle di un Vic 20 (mi pare che anche sull'Apple ][ vi fosse lo stesso trucco).

Reply to
Darwin

un

Cavolo sono nella tua stessa situazione, con esigenze molto simili. Che problema hai nel programmare il PIC 'F88?

Reply to
_siro_

Pasu ha scritto:

Ehm sì, lo so che non è tua...Era giusto per dare un riferimento!

Ho letto anche io tempo fa alcuni di questi trucchi "da PIC" (in realtà roba riciclata da altri mondi, come dici tu) ma sai, se non li usi ti dimentichi. Mi era rimasto impresso soltanto il barbatrucco per accendere 6 led (indipendentemente!) con 3 uscite e senza elettronica aggiuntiva Comunque... Complimenti :)

Pasu

Reply to
Pasu

Uso un clone del PROPICII e ICprog e ottengo errori nella verifica. Probabilmente riesco con l'ICSP, ma non ho provato.

Olivier

Reply to
Olivier

Il giorno Tue, 9 Jan 2007 00:59:44 +0100, "Olivier" ha scritto:

Ho anch'io un clone del propic2, che ho personalizzato un po'. Prima usavo icprog e avevo problemi con alcun pic; a volte mi dava errore se usavo winamp in contemporanea (un po' di musica in sottofondo è piacevole ma evidentemente icprog ha gusti molto diversi). Da quando ho modificato la sezione di alimentazione e sono passato a winpic800 problemi non ne ho avuti più, almeno fino ad oggi...

Reply to
Luigi C.

Guarda se questo ti aiuta:

formatting link
Io uso un PIC-PG2C settato come JDM delay 10 e funziona benissimo!

Ciao

Reply to
_siro_

Anch'io ho modificato la sezione di alimentazione (ho tirato un po su la Vpp), e ho messo anche un paio di jumpers per programmare il 16F628 e il 16F876, che vogliono qualche pin a GND. Con IC prog non ho mai avuto problemi. Comunque c'è un'altra ragione per cui non uso il 16F88: non è supportato dal mio compilatore C.

Olivier

Reply to
Olivier

E' proprio quello che ho realizzato!

Olivier

Reply to
Olivier

Il giorno Thu, 11 Jan 2007 13:10:34 +0100, "Olivier" ha scritto:

Ho risolto quel problema spostando sullo zif i collegamenti per i pic a 18 pin di una posizione verso il basso.

Reply to
Luigi C.

Il giorno Thu, 11 Jan 2007 22:00:40 GMT, Luigi C. ha scritto:

e

Dimenticavo: ho aggiunto anche qualche resistore da 1 k verso gnd in punti strategici del zif.

Reply to
Luigi C.

Olivier ha scritto:

mano?

Ho letto tutta la dicussione e credo alla fine si stia parlando di Convertitore a Rampa.

Carichi il condensatore (un buon condensatore NP0) e lo scarichi tramite il trimmer leggendo il valore TEMPO invece che TENSIONE

Cerca Convertitore a Rampa oppure vai al link per avere schema e firmware (RESKEY)

formatting link

Emanuele

--
*** YOUR ELECTRONICS OPEN SOURCE ***

http://dev.emcelettronica.com;---------------------------------------------------------
Progetti Completi (Full Projects):

[IperKEY-ResKEY] Chiave elettronica a microcontrollore
(Microcontroller Electronics Key and key reader)
//TAGS:Pic, Eeprom, ADconverter, I2C

[IperCODE] Ricevitore RADIOCOMANDI e decodifiche
(Remote Control Receiver and decoder)
//TAGS:Pic, Radio control, routines, rolling code, UART, CCP1, LCD

[GSM] Risorse e firmware per GM862 TELIT
(GSM resource and firmware example for GM862 TELIT)
//TAGS: Pic, GSM, TELIT, GM862, Mobile Control, routines, level shifter
Reply to
Emanuele

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.