Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 31 marzo 13, 01:14   #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 in
uno 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
muvideo non è collegato   Rispondi citando
Vecchio 31 marzo 13, 04:52   #12 (permalink)  Top
User
 
L'avatar di bloodsun
 
Data registr.: 04-03-2009
Messaggi: 99
Citazione:
Originalmente inviato da muvideo Visualizza messaggio
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...
Ciao!
ok.. potrebbe essere una soluzione alternativa ed interessante. Ci voglio ragionare sopra.
Citazione:
Originalmente inviato da muvideo Visualizza messaggio
...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).
Ciao!
non ho capito però come sincronizzare più registri per usare una stessa linea e far capire al PIC quale registro sta mandando il segnale in un determinato momento.
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
bloodsun non è collegato   Rispondi citando
Vecchio 31 marzo 13, 18:09   #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
muvideo non è collegato   Rispondi citando
Vecchio 31 marzo 13, 20:21   #14 (permalink)  Top
User
 
L'avatar di bloodsun
 
Data registr.: 04-03-2009
Messaggi: 99
Citazione:
Originalmente inviato da muvideo Visualizza messaggio
Insomma un casino da spiegare, ma molto semplice da mettere
su. Compra un paio di 74HC165 e giocaci un po'.
Ciao!
Sai una cosa... credo che a spiegarlo avrei di sicuro fatto peggio.
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
bloodsun non è collegato   Rispondi citando
Vecchio 31 marzo 13, 20:45   #15 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da bloodsun Visualizza messaggio
Sai una cosa... credo che a spiegarlo avrei di sicuro fatto peggio.
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
Scusa ma mettere 4 pic sui sensori e sparare il tutto in i2c al pic principale non è fattibile ?
__________________
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
romoloman non è collegato   Rispondi citando
Vecchio 31 marzo 13, 21:12   #16 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
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)
ElNonino non è collegato   Rispondi citando
Vecchio 31 marzo 13, 21:16   #17 (permalink)  Top
User
 
L'avatar di bloodsun
 
Data registr.: 04-03-2009
Messaggi: 99
Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Scusa ma mettere 4 pic sui sensori e sparare il tutto in i2c al pic principale non è fattibile ?
Magari!! Il problema è lo spazio dei sensori che è lungo a dischezione ma piuttosto stretto.
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
bloodsun non è collegato   Rispondi citando
Vecchio 31 marzo 13, 21:31   #18 (permalink)  Top
User
 
L'avatar di bloodsun
 
Data registr.: 04-03-2009
Messaggi: 99
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
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.
si alla fine sono 4 sensori da 9 bit... sono una serie di sensori per correggere la posizione di un macchinario da parte di un operatore. niente da brevettare o altro. devo solo adattare l'hardwere al contenitore. Un progetto solo in digitale lo avevo già fatto con delle porte OR ed un solo PIC, ma risultava troppo grande. ho bisogno di suggerimenti per cambiare il circuito.
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
bloodsun non è collegato   Rispondi citando
Vecchio 31 marzo 13, 21:48   #19 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da bloodsun Visualizza messaggio
Magari!! Il problema è lo spazio dei sensori che è lungo a dischezione ma piuttosto stretto.
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
Assolutamente no...
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
romoloman non è collegato   Rispondi citando
Vecchio 31 marzo 13, 21:59   #20 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
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)
ElNonino non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


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



Tutti gli orari sono GMT +2. Adesso sono le 11:33.


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/2019 - K-Bits P.I. 09395831002