| | #11 (permalink) Top |
| User Data registr.: 09-09-2012 Residenza: Tra Torino e Battipaglia
Messaggi: 195
|
Ciao, dico la mia sperando di essere utile... bloodsun prima di tutto non ho capito bene l'applicazione e il problema che stai cercando di risolvere. Per leggere un numero arbitrario di ingressi digitali, oltre ai multiplexer che ti ha suggerito Romoloman, si possono usare anche i registri, ad esempio i 74HC165 o 74HC597, non costano niente, ciascuno carica 8 ingressi in parallelo, che poi vengono letti dal micro su una unica linea seriale sincrona. Si possono concatenare per caricare quanti ingressi si vogliono, e leggerli sempre su una unica linea seriale (3 pin) l'unico limite è la frequenza del segnale di clock, che determina quanto tempo ci metti per leggere tutti gli ingressi. Il PIC che stai usando dovrebbe avere gia hardware dedicato allo scopo (USART). La soluzione analogica che suggerivi (l'ho capito leggendo ElNonino, che ha un ottimo intuito ) e' un DAC, che trasforma un segnale digitale inuno analogico, il problema di questo sistema è che soffre molto di disturbi, rumore, e altre cose come derive termiche delle resistenze. Il risultato è che è che ad ogni canale che aggiungi la "precisione" del sistema deve raddoppiare, capisci che oltre i 6 o 7 ingressi comincia a diventare un lavoro inutilmente complesso. Guardati ad es. i dac R-2R su google. Ciao!
__________________ Fabio |
| | |
| | #12 (permalink) Top | ||
| User Data registr.: 04-03-2009
Messaggi: 99
| Citazione:
Citazione:
Se non ho capito male, il 74HC prende un numero di 8 bit e lo trasforma in un dato binario (interpretabile come un numero di 1 byte che viene trasmesso su una seriale, ed il PIC andrà a concatenare i valori per ricavare l'intera sequenza di segnali e ricavare il numero di byte che la rappresenta. Ripongo la precedente domanda... come faccio a distinguere da quale registro sta arrivando il dato per fare la concatenazione in modo corretto??? Ho sbirciato il datasheet del 74HC165, ma lo devo studiare con calma per capire effettivamente come utilizzarlo. Se per lo meno mi spieghi il concetto di funzionamento innerente a questa discussione te ne sarei molto grato. Detto questo non voglio chiudere la porta in faccia alla soluzione multiplexer, ma non saprei da dove prenderlo in mano... La questione analogico l'avevo intrapresa per ovviare a carenze della mia conoscenza di elettronica. Mastico... ma mooolto lentamente. ![]() Grazie ancora, e buona Pasqua a tutti | ||
| | |
| | #13 (permalink) Top |
| User Data registr.: 09-09-2012 Residenza: Tra Torino e Battipaglia
Messaggi: 195
|
Ciao, i registri a scorrimento (google -> shift register) sono semplici da capire. E' una memoria (in questo caso da 1byte, 8bit, detto anche registro) il cui contenuto può "scivolare" ad ogni impulso di clock. Ha una porta di ingresso e una di uscita e un metodo per caricare e/o scaricare il contenuto del registro in maniera parallela. Dalle porte di ingresso/uscita i bit entrano/escono in maniera seriale, cioè uno dopo l'altro, uno per ogni impulso del clock. Il 74HC165: quando il pin 1 viene portato a livello logico 0, copia lo stato dei pin D0,D1,D2,ecc nel registro interno: se D0 è a 5V allora il primo bit sarà 1 ecc. Ad ogni impulso di clock sul pin 2 il contenuto del registro scivola di un bit: il bit 0 va al bit 1 , l'1 va al 2 ecc. Il bit 7 (che era stato caricato dal pin D7) esce dal pin 9 che è l'uscita seriale. Inoltre il bit 0 assume lo stato del pin 10 che è l'ingresso seriale del registro. E così per ogni impulso di clock. Quindi per leggere 8 ingressi la sequenza è: impulso basso sul pin 1, carica lo stato degli ingressi. 8 impulsi di clock sul pin 2, ad ogni impulso lettura del pin 9. Concatenare due registri: semplice, connetti il pin 9 del primo registro al pin 10 del secondo registro, il pin 9 del secondo registro al micro. I pin 1 (load) dei due registri vanno connessi assieme e pilotati dal micro, idem per i pin 2 (clock). Sequenza: impulso basso sui pin 1 di entrambi i registri: carica i 16 ingressi. 16 impulsi di clock sui pin2 dei registri, il pin 9 del secondo registro caccia i bit uno per uno ad ogni impulso di clock. Dopo i primi 8 clock, il micro avrà letto lo stato del secondo registro, mentre lo stato del primo sarà stato spostato dal primo registro (uscendo dal pin 9) nel secondo (entrando dal pin 10), quindi gli altri 8 clock leggeranno lo stato del primo registro. Insomma un casino da spiegare, ma molto semplice da mettere su. Compra un paio di 74HC165 e giocaci un po'. Ciao!
__________________ Fabio |
| | |
| | #14 (permalink) Top | |
| User Data registr.: 04-03-2009
Messaggi: 99
| Citazione:
Leggendo il datasheet avevo intuito che il piedino 10 aveva la funzione di bypass e che l'unione dei byte l'evrebbero fatta loro, ma non avevo ancora capito il principio di funzionamento interno. hai chiarito il tutto. Grazie. ![]() Prima di comprarli però meglio che capisco come piazzarli fisicamente sulla scheda e la disponibilità di spazio... forse riesco a ridurre di parecchio il circuito se la mezza idea che m'è venuta in mente va in porto. Ora come ora l'unico dubbio è se per 4 sensori (x 9 bit) mi convenga usare 5 registri e fare una stringa da 5 byte e poi interpretare il tutto via softwere oppure se devo/posso fare in altro modo, visto che a memoria il pic ha si e no una sola porta USART. Tu suggerisci qualcosa di alternativo?? Ciao | |
| | |
| | #15 (permalink) Top | |
| Adv Moderator Data registr.: 15-08-2007 Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
| Citazione:
__________________ Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo Grazie "TRANQUILLO" FAI 15766 | |
| | |
| | #16 (permalink) Top |
| User |
Io ci capisco sempre meno del tuo problema, allora devi leggere 4 sensori con risoluzione di 9bit ? Senza svelare il tuo 'brevetto' ci dici che sensori sono ? Se vuoi una mano mi pare che persone disposte a dartele qui ce ne sono più di una; ma senza avere dati precisi per me è impossibile. P.S. per il multiplexer guardati il datasheet del CD4051, poi ne riparliamo.
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) |
| | |
| | #17 (permalink) Top | |
| User Data registr.: 04-03-2009
Messaggi: 99
| Citazione:
Far passare le piste in mezzo ai sensori diventa difficoltoso e sono arrivato già al limite, ed aggiungere componenti lo ritengo impossibile per lo sviluppo della basetta. Comunque volevo farti notare che i registri fanno già quel che suggerisci tu. In pratica faresti fare al softwere del pic quello che fa l'hardwere dei registri, aggiungendoci componenti necessari al funzionamento del PIC come il quarzo e condensatori e necessità di programmarli. Ciao | |
| | |
| | #18 (permalink) Top | |
| User Data registr.: 04-03-2009
Messaggi: 99
| Citazione:
Non ci sono tante altre informazioni da dare... alimentazione 0-5 volendo anche una linea da 12, 9 bit dai sensori x 4 e la necessità di portare al pic questi segnali limitando fortemente il numero di cavi necessari all'operazione. Se vogliamo aggiungere, i sensori possono avere anche cavo separato, oppure messo in serie l'uno all'altro... a mia discrezione (Avevo cercato di semplificare la vita a voi che mi date utili consigli) grazie della disponibilità ![]() p.s. darò un'occhio al CD4051, anche se l'idea dell'analogico comincio a metterla in panchina per il momento | |
| | |
| | #19 (permalink) Top | |
| Adv Moderator Data registr.: 15-08-2007 Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
| Citazione:
Evidentemente non conosci il bus I2C... Il sistema con i sensori equipaggiati di pic diventerebbe molto più scalabile... se ci riesci a mettere un cd4051 ci metti anche un pic o un AVR, inoltre in questi casi non hai bisogno del quarzo, l'oscillatore interno basta ed avanza...
__________________ Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo Grazie "TRANQUILLO" FAI 15766 | |
| | |
| | #20 (permalink) Top |
| User |
Allora vediamo di restringere le variabili, i 9bit che escono dal singolo sensore sono seriali, paralleli o codificati in qualche modo; per intenderci ci sono sensori di posizione a fotocellula, magnetici, ottici a laser etc etc etc con uscite codificate, oppure sensori 'barbari' tipo gli indicatori di direzione vento realizzati con 8 reed se hai 9 interruttori con contatto 'pulito' la soluzione R-2R potrebbe essere percorribile ti servirebbero solo 4 ingressi A/D sul PIC (uno per sensore) un solo filo di segnale dal sensore oltre al GND comune ed ai 12V. Anche se l'ambiente industriale è intrinsecamente rumoroso si possono trasmettere segnali analogici a discrete distanze senza troppi problemi; un punto importante è anche conoscere la velocità di risposta necessaria, filtrare e pulire un segnale analogico comporta una latenza in taluni casi non accettabile (es. sistemi di sicurezza od emergenza). Se lato sensore non rappresentasse un problema implementare un semplice circuito si potrebbe pensare di trasmettere il segnale o in corrente 4..20mA o con un pwm, anche la trasmissione seriale proposta da romoloman (leggermente più complessa) è percorribile usando una sola linea 485 per tutti i sensori (sconsiglio la I2C su distanze superiori ad 1m ed in ambiente industriale); che PIC usi per controllare il tutto ?.
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) |
| | |
![]() |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| Italiano da interpretare | Ehstìkatzi | Modellismo società e istituzioni | 58 | 10 luglio 07 08:50 |
| interpretare disegno | stefano007 | Aeromodellismo Progettazione e Costruzione | 4 | 05 giugno 07 20:32 |
| Motocalc , interpretare i risultati | Alpino | Aeromodellismo Volo Elettrico | 0 | 25 febbraio 07 19:34 |
| Interpretare una polare... | fra79 | Aeromodellismo Progettazione e Costruzione | 19 | 23 ottobre 06 21:32 |
| Interpretare Le Polari | MaVe | Aeromodellismo Progettazione e Costruzione | 3 | 30 marzo 06 19:57 |