Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ingressi ADC nei PIC

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 31 ott 2011, 12:48

Ciao a tutti. Non intendendomi di microcontrollori e dovendone sceglierne uno per un progetto universitario, ho deciso di chiedere aiuto su questo forum. Nel mio progetto non devo in alcun modo programmare (grazie a Dio :D ) ma solo scegliere i componenti. Avendoli già scelti tutti, mi sono trovato ad avere il problema che i 3 che avrò in ingresso al PIC danno segnali analogici in uscita. Voglio evitare di usare dei convertitori ADC singoli e usare un PIC con ADC direttamente nei propri ingressi. Guardando questa pagina RS
http://it.rs-online.com/web/c/semicondu ... ntrollori/
trovo alla voce "ADC ON-CHIP" delle indicazioni tipo questa : 2(2-chx16-bit).
Cosa significa? Quali caratteristiche devo scegliere per avere un micro che mi gestisca contemporaneamente tre segnali analogici e li converta in digitale?(ogni ingresso analogico deve avere il suo corrispettivo digitale)
Vi ringrazio e chiedo scusa per la mia ignoranza.
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

0
voti

[2] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentec1b8 » 31 ott 2011, 15:11

Credo sia necessario avere qualche informazione in più.
Anzitutto dovresti chiarire quel "contemporaneamente" utilizzato per indicare il modo in cui debbano essere processati i 3 segnali in ingresso.
La magior parte dei micro utilizzano un unico ADC interno, a fronte di più ingressi possibili. Questo comporta si la possibilità di eseguire la conversione di più segnali analogici, ma la loro conversione non avviene nello stesso esatto istante.
Da chiarire anche quali siano i livelli minimo e massimo delle tensioni analogiche in ingresso al micro, per tutti e 3 i segnali, questo per poter stabilire se siano necessari micro con riferimenti esterni e di quali valori possibili, o se sia necessario "condizionare" il segnale prima di presentarlo al micro.
Inoltre di quanta precisione hai bisogno? di bastano 256 valore digitali diversi per coprire l'intera escursione dei valori analogici o ne servono di più?
infine, almeno per quanto mi viene in mente al momento, il segnale da campionare a quale velocità (frequenza) varia e di conseguenza di quale velocità di conversione hai bisogno?
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[3] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 31 ott 2011, 16:46

Innanzitutto grazie per la risposta
c1b8 ha scritto:Anzitutto dovresti chiarire quel "contemporaneamente" utilizzato per indicare il modo in cui debbano essere processati i 3 segnali in ingresso.
La magior parte dei micro utilizzano un unico ADC interno, a fronte di più ingressi possibili. Questo comporta si la possibilità di eseguire la conversione di più segnali analogici, ma la loro conversione non avviene nello stesso esatto istante.

Per contemporaneamente intendevo processare tutti e tre i segnali analogici nello stesso istante, ma da come ho capito non è possibile fare questo.
Da chiarire anche quali siano i livelli minimo e massimo delle tensioni analogiche in ingresso al micro, per tutti e 3 i segnali, questo per poter stabilire se siano necessari micro con riferimenti esterni e di quali valori possibili, o se sia necessario "condizionare" il segnale prima di presentarlo al micro.

Ti lascio i datasheet dei 3 componenti (due sono uguali)
http://docs-europe.electrocomponents.co ... b0b2f2.pdf
Questo primo link riguarda un finecorsa alimentabile con una tensione max di 5 V e minima di 3 V.

http://docs-europe.electrocomponents.co ... dc15b3.pdf
Questo è invece il link della periferica di input con cui andrò a dare i comandi al micro,la quale lavora a una tensione di 5 V.
Il mio dubbio era se questi fornissero un uscita digitale o analogica, ma penso che diano un uscita. Ditemi se sbaglio.
Inoltre di quanta precisione hai bisogno? di bastano 256 valore digitali diversi per coprire l'intera escursione dei valori analogici o ne servono di più?
infine, almeno per quanto mi viene in mente al momento, il segnale da campionare a quale velocità (frequenza) varia e di conseguenza di quale velocità di conversione hai bisogno?

Penso che 8 bit bastino, per la frequenza non è ho sinceramente idea.
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

0
voti

[4] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentec1b8 » 31 ott 2011, 17:23

Dai link che hai fornito, e dal fatto che intendi utilizzare gli switch come fine corsa, mi sembra di capire che i segnali che il micro andrà ad elaborare siano tutti digitali e non analogici.
Avrai quindi bisogno di un certo numero di input/output digitali.
Direi 2 input per gli switch più un certo numero di input/output per il tastierino, a seconda del tipo di tastierino che scegli. Per la tastiera con 16 tasti, essendo configurati a matrice, serviranno 4 pin di input e 4 di output.
Quindi per 2 switch e tastiera a 16 tasti ti serviranno 6 input e 4 output.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[5] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 31 ott 2011, 18:43

c1b8 ha scritto:Dai link che hai fornito, e dal fatto che intendi utilizzare gli switch come fine corsa, mi sembra di capire che i segnali che il micro andrà ad elaborare siano tutti digitali e non analogici.
Avrai quindi bisogno di un certo numero di input/output digitali.
Direi 2 input per gli switch più un certo numero di input/output per il tastierino, a seconda del tipo di tastierino che scegli. Per la tastiera con 16 tasti, essendo configurati a matrice, serviranno 4 pin di input e 4 di output.
Quindi per 2 switch e tastiera a 16 tasti ti serviranno 6 input e 4 output.

Ti ringrazio davvero di cuore...mi stai tirando fuori da un grosso pantano. Anch'io subito ho progettato il tutto considerando questi tre come digitali, poi però mi è salito il dubbio che fossero analogici. Come mai se i tasti sono 16 ho 4 input e 4 output?Io avrei detto 1 input per tasto ma non avrei considerato gli output. Idem per i finecorsa, avrei considerato un input a testa. Posso chiederti perché è come hai detto tu? Chiedo scusa ma non ho trattato mai i microcontrollori e purtroppo su internet non ho trovato nulla che fa al caso mio. :(
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

0
voti

[6] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentec1b8 » 31 ott 2011, 22:44

Gli ingressi necessari per trattare 2 switch sono 2: un ingresso per ogni switch.

Per la tastiera servono 4 input e 4 output perché i 16 tasti sono connessi a matrice, vedi lo schema seguente (scusate per la semplicità del disegno...)

Come vedi ci sono 4 righe e 4 colonne, i pulsanti della tastiera rappresentano gli incroci tra righe e colonne.
Le righe sono segnali di input per la tastiera (quindi output per il micro), le colonne viceversa sono degli output per la tastiera (quindi input per il micro).
Il micro sarà configurato per avere gli input con delle resistenze di pull-up, quindi salvo connessioni esterne a 0V (0 logico), ogni input sarà visto come connesso a 5V (1 logico).
Un tipico programma caricato su un micro eseguirebbe i seguenti passi per decidere quale tasto sia stato premuto:
- pone a 0V (0 logico) la riga 1 e ad 5V (1 logico) tutte le altre righe.
- legge le 4 colonne, se tutte le colonne sono a 1 logico significa che non è stato premuto alcun tasto
- se una o più colonne sono a 0 logico significa che il tasto in corrispondenza dell'incroco tra la riga 1 e la colonna che si trova 0 è stato premuto.
- pone a 0 la riga 2 e ad 1 tutte le altre righe.
- legge le 4 colonne, se tutte le colonne sono a 1 logico significa che non è stato premuto alcun tasto.
- se una o più colonne sono a 0 logico significa che il tasto in corrispondenza dell'incroco tra la riga 2 e la colonna che si trova 0 è stato premuto.
- precede in questo modo per tutte le righe.

Esempio:
- quando il programma pone a 0 la riga 1, trova tutte le colonne a 1 logico: i tasti da T1 a T4 non sono stati premuti
- quando il programma pone a 0 la riga 1, trova la colonna 2 a 0 logico: è stato premuto il tasto T2
- quando il programma pone a 0 la riga 2, trova la colonna 1 e la colonna 4 a 0 logico: sono stati premuti i tasto T5 e T8.

Come vedi con questo sistema bastano 4 input (colonne) e 4 output (righe) di un micro per gestire 16 tasti.
Non è necessario elaborare tutti i 16 tasti istantaneamente (servirebbero 16 input) perché si parla di tasti premuti da un utente, quindi a "bassa" velocità di variazione. Inoltre si dovranno realizzare dei controlli software di antirimbalzo che comunque rallenterebbero il sistema di lettura.

Spero di aver chiarito qualche dubbio e non averne creati ulteriori...
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[7] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 1 nov 2011, 16:58

c1b8 ha scritto:Spero di aver chiarito qualche dubbio e non averne creati ulteriori...

Mi hai chiarito tutto grazie! L'unico dubbio che rimane riguardo la situazione input output riguarda i driver dei due motori passo passo che andrò a comandare. Non avendo preveduto un controllo ad anello chiuso, controllo il motore contando gli impulsi a lui forniti. Il mio dubbio è quindi se per contare gli impulsi debba portare in ingresso al micro, in qualche modo, l'uscita dei driver. Io penso di no, cioè direi di dare ai driver il solo output del micro, e poi questi vadano a comandare i passo passo senza fornire alcun ingresso al micro. In poche parole direi che il micro conti gli impulsi direttamente dal programma dicendo : ai driver dico di fare compiere ai motori 400 passi, quindi il motore farà 400 passi. Spero di aver reso l'idea...
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

0
voti

[8] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentec1b8 » 1 nov 2011, 18:10

Se non hai previsto una retroazione per controllare l'effettivo spostamento (rotazione) dei motori, allora di ingressi per il micro non ne servono.
Come dici tu ti devi fidare della "bontà" del sistema a valle del micro: se il micro dice 400 passi allora il sistema esegue 400 passi.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[9] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 2 nov 2011, 11:28

c1b8 ha scritto:Se non hai previsto una retroazione per controllare l'effettivo spostamento (rotazione) dei motori, allora di ingressi per il micro non ne servono.
Come dici tu ti devi fidare della "bontà" del sistema a valle del micro: se il micro dice 400 passi allora il sistema esegue 400 passi.

Grazie mille c1b8 per la conferma. Sei stato sempre chiaro e gentile! Grande!
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

0
voti

[10] Re: Ingressi ADC nei PIC

Messaggioda Foto Utentecarloharris » 11 nov 2011, 11:25

c1b8 ha scritto:Se non hai previsto una retroazione per controllare l'effettivo spostamento (rotazione) dei motori, allora di ingressi per il micro non ne servono.

Mi sorge ora un dubbio. Come devo fare per collegare il micro al motore? Come avevamo detto in precedenza avremo 4 input e 4 output al micro per quanto riguarda la tastiera. Il mio dubbio è come fare i collegamenti con i driver dei 2 motori passo passo che dovrò controllare. Basta un unico collegamento tra micro e driver, per fornire il programma legato ad uno qualsiasi dei mie tasti? Inoltre devo alimentare due led, uno verde e uno rosso, i quali non funzionano mai contemporaneamente, dato che uno si accende dopo lo spegnimento dell'altro e viceversa. Che ingressi posso usare per collegare tutti e due i led? Il micro che uso è un PIC18LF1320-I/SS e qui c'è il suo datasheet http://docs-europe.electrocomponents.co ... cf235f.pdf
Come faccio a capire se una risoluzione a 8 bit basta?
Avatar utente
Foto Utentecarloharris
0 3
 
Messaggi: 24
Iscritto il: 20 lug 2011, 12:08

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti