BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   aiuto analogica pic (https://www.baronerosso.it/forum/circuiti-elettronici/77248-aiuto-analogica-pic.html)

xfile69 16 gennaio 08 21:48

aiuto analogica pic
 
Vorrei prepararmi un controllo per verificare alcune tensioni a bordo del mio elicottero , tipo volt batteria ricevente o BEC , volt batteria di potenza , e magari ancora qualche temperatura .
Questo lo volevo fare con il PIC 12F675 che è piccolo e ha 4 ingressi analogici da 10 bit .
La domada è ..... qualcuno ha un esempio di configurazione del micro per leggere gli ingressi analogici ??? io ho cercato ma non trovo neanche una demo in ASM
grazie

MSchiepp 17 gennaio 08 09:50

Citazione:

Originalmente inviato da xfile69
io ho cercato ma non trovo neanche una demo in ASM
grazie

Sul datasheet della Microchip però trovi tutte le indicazioni per farlo, visto che sono solo 2 registri da settare...

Nell'ordine devi:

- Dichiarare come ingressi i pin che vuoi usare come ingressi analogici [reg. TRISIO]

- Settare il registro ANSEL:
bit 7: 0
bit 6-4: selezione del clock di conversione
bit 3-0: bit da usare come ingressi analogici

- Settare il registro ADCON0:
bit 7: allineamento del risultato 1:dx 0:sx
bit 6: riferimento 1: ext su VRef 0:int. VCC
bit 5,4:0
bit 1,0: 0

- Accendere il convertitore ADCON0, bit 0 =1

Per ogni conversione devi:

- Selezionare il canale da acquisire: ADCON0 bit 2-3

- Far partire la conversione ADCON0, bit1 = 1

- Aspettare che ADCON0, bit1 = 0

- Leggere il risultato Reg. ADRESH, ADRESL



Michele

xfile69 17 gennaio 08 21:08

ok , se riestco provo stasera o al massimo domani
per ora grazie mille

xfile69 18 gennaio 08 22:22

OK , sembra che leggere l'analogica e accendere un led se il valore è superiore a un numero finzioni.
ora mi rimane da capire come fare a avere il valore di soglia giusto ...
i registri sono 2 , byte basso e alto , ma nel PIC non posso gestire numeri + alti di 8 bit mentre il convertitore è a 10 .... come fai ??

MSchiepp 19 gennaio 08 00:48

Citazione:

Originalmente inviato da xfile69
ma nel PIC non posso gestire numeri + alti di 8 bit mentre il convertitore è a 10 .... come fai ??

Compari prima fra loro le due parti alte e, se sono uguali, compari anche la parte bassa, come faresti per un numero decimale di due cifre: prima guardi le decine e se sono diverse sai già quale è maggiore o minore; se sono uguali guardi anche la cifra delle unità.

Michele

xfile69 19 gennaio 08 01:17

scusa , ma io ho fatto alcune prove comparando solo il registro ADRESH con dei valori e ho ritrovato questo
50 scatta a circa 1 volt
150 , circa 2,77 volt
200 , circa 3,80 volt
quindi se leggo solo questo registro ho comunque la scala da 0 a 255 che corrisponde da 0 a 5 volt ma con una risoluzione minore , giusto ??

(grazie per la pazienza)

MSchiepp 19 gennaio 08 10:54

Citazione:

Originalmente inviato da xfile69
quindi se leggo solo questo registro ho comunque la scala da 0 a 255 che corrisponde da 0 a 5 volt ma con una risoluzione minore , giusto ??

Sì, se hai allineato il risultato a sinistra: in questo caso avrai 8 bit più significativi in ADRESH e i due meno significativi in ADRESL. Leggere solo la parte alta è come prendere tutto il risultato e dividerlo per 4!

Michele


Tutti gli orari sono GMT +2. Adesso sono le 23:40.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026
www.baronerosso.it - www.toymagazine.it