Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

I2C Bus Extender

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto Utentecarloc, Foto UtenteIsidoroKZ

0
voti

[61] Re: I2C Bus Extender

Messaggioda Foto Utentestefanopc » 30 lug 2024, 0:41

theking0 ha scritto:Il senso di rotazione viene determinato in base all'andamento delle due fasi A e B dell'encoder:

Si sono d'accordo ma non tutti gli encoder sonorealizzati per ottenere questa funzionalità :mrgreen:

Le equilibratrici per le ruote dei veicoli sono a mio parere un esempio collaudato nel tempo di funzionalita che si potrebbe emulare.
https://m.youtube.com/watch?v=un5EaeiUGso
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
10,9k 5 9 13
Master EY
Master EY
 
Messaggi: 4448
Iscritto il: 4 ago 2020, 9:11

0
voti

[62] Re: I2C Bus Extender

Messaggioda Foto Utentetheking0 » 30 lug 2024, 19:39

Foto Utenteboiler, come buffer di acquisizione ci sono andato vicino ? :

Avatar utente
Foto Utentetheking0
842 1 5 11
Master
Master
 
Messaggi: 324
Iscritto il: 11 feb 2012, 22:37

1
voti

[63] Re: I2C Bus Extender

Messaggioda Foto Utenteboiler » 31 lug 2024, 11:15

Sì, vicino, ma manca ancora qualcosa ;-)

L'accelerometro esce con una tensione di riposo tipica di 1.65 V (1.5V con un'alimentazione di 3V, ma noi abbiamo 3.3V).
Questa tensione viene dimezzata sulle resistenze da 50 ohm che terminano la linea, abbiamo quindi 0.825 V in ingresso all'opamp. Se l'amplificazione è 10, come nel tuo caso, la tensione in uscita dovrebbe essere 8.25 V, cosa ovviamente impossibile con un'alimentazione a 3.3V.

Se usi una configurazione invertente hai piú controllo sugli offset DC:


Ho dimensionato i componenti in modo da essere piú o meno dalle parti che ti servono. Verifica però in base alle tue condizioni d'utilizzo (e anche considerando i parametri worst-case dell'accelerometro, non solo quelli tipici) e adatta il circuito.

La resistenza da circa 50 ohm serve a terminare la linea. Il valore preciso si può calcolare dopo aver deciso il valore dei resistori del circuito di feedback.

Questo circuito inverte il segnale, ma è una cosa che puoi facilmente correggere in software.

Boiler
Avatar utente
Foto Utenteboiler
23,9k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 4983
Iscritto il: 9 nov 2011, 12:27

0
voti

[64] Re: I2C Bus Extender

Messaggioda Foto Utentetheking0 » 31 lug 2024, 13:12

Foto Utenteboiler , grazie, sempre molto esplicativo.

E se predisponessi dei trimmer per tarare il tutto ? Cosa ne pensi ?
Almeno mi tengo del margine operativo, altrimenti dovrei cambiare i resistori con package non comodissimo (0402) nel caso ci sia bisogno di compensazioni.
Avatar utente
Foto Utentetheking0
842 1 5 11
Master
Master
 
Messaggi: 324
Iscritto il: 11 feb 2012, 22:37

0
voti

[65] Re: I2C Bus Extender

Messaggioda Foto Utenteboiler » 31 lug 2024, 13:44

Abbiamo ottimizzato il resto del circuito per avere una buona risposta in frequenza. I trimmer diverrebbero il collo di bottiglia, eviterei se possibile.

Cerca di calcolare quale range ti serve e dimensionare i resistori di conseguenza.
Poi puoi prevederli in 1206, che si saldano veramente facilmente anche a mano.

Oppure implementi un paio di valori e li colleghi con il tipo di solder-blob-jumper che hai già usato.

Boiler
Avatar utente
Foto Utenteboiler
23,9k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 4983
Iscritto il: 9 nov 2011, 12:27

0
voti

[66] Re: I2C Bus Extender

Messaggioda Foto Utentetheking0 » 31 lug 2024, 17:57

Mi immaginavo che i trimmer non erano l'ideale.
Purtroppo devo fare qualche prova in campo per sapere quale larghezza di banda scegliere.

boiler ha scritto:...
Oppure implementi un paio di valori e li colleghi con il tipo di solder-blob-jumper che hai già usato.
...


e se predispongo per gli stessi step che ho usato sulla scheda sensore: 10, 50, 100, 200, usando quei solder jumper ?
nel caso come verrebbero dimensionati i resistori ? potresti spiegarmi come calcolarli usando la configurazione del'opamp che hai disegnato ?
Avatar utente
Foto Utentetheking0
842 1 5 11
Master
Master
 
Messaggi: 324
Iscritto il: 11 feb 2012, 22:37

0
voti

[67] Re: I2C Bus Extender

Messaggioda Foto Utentestefanopc » 31 lug 2024, 18:02

Forse il trimmer sull'ingresso non invertente lo si potrebbe anche mettere.
In ogni caso sul PCB si può prevedere entrambe le soluzioni.
Una volta trovato il giusto compromesso si può volendo rimuovere il trimmer e piazzare le 1206
Sulla regolazione del guadagno basta evitare la saturazione e visto che dopo c'è un ADC di solito si possono sempre fare aggiustamenti via sw.
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
10,9k 5 9 13
Master EY
Master EY
 
Messaggi: 4448
Iscritto il: 4 ago 2020, 9:11

0
voti

[68] Re: I2C Bus Extender

Messaggioda Foto Utentetheking0 » 31 lug 2024, 23:08

Con la speranza di non dire boiate io l'avrei pensata cosi:

Poi la R da 50 ohm la metto in 1206 e la posso cambiare se serve.
Voi che dite ?
Avatar utente
Foto Utentetheking0
842 1 5 11
Master
Master
 
Messaggi: 324
Iscritto il: 11 feb 2012, 22:37

0
voti

[69] Re: I2C Bus Extender

Messaggioda Foto Utenteboiler » 1 ago 2024, 12:32

Dal datasheet dell'ADXL325:

Zero bias level (ratiometric): 1.3/1.5/1.7 V (min/typ/max) @ 3V
Sensitivity (ratiometric): 156/174/192 mV/g @ 3V
Measurement range: ±5/±6/- g

Visto che lo alimentiamo a 3.3 V, i valori ratiometrici si modificano come segue:
Zero bias level (ratiometric): 1.43/1.65/1.87 V @ 3.3V
Sensitivity (ratiometric): 171.6/191.4/211.2 mV/g @ 3.3V

Il valore minimo che possiamo aspettarci è quindi quello con
- bias minimo
- sensibilità massima
- a -6g
-->V_{min} =  1.43 \mathrm{V} - 211.2 \mathrm{mV/g} \cdot 6 \mathrm{g} = 163 mV

Il valore massimo che invece possiamo aspettarci è quello con
- bias massimo
- sensibilità massima
- a +6g
-->V_{min} =  1.87 \mathrm{V} + 211.2 \mathrm{mV/g} \cdot 6 \mathrm{g} = 3.137 \mathrm{mV}

L'ingresso dell'ADC mappa tensioni da 0 a 3300 mV su 12 bit.

Se portassimo queste tensioni in uscita direttamente all'ADC perderemmo un po' di risoluzione perché sprechiamo 163 mV in basso e altrettanti in alto.
In queste condizioni abbiamo un valore dell'LSB di V_{LSB} = \frac {3300 \mathrm{mV}}{4096} = 0.8 \mathrm{mV}

Se confrontiamo questo valore con la sensibilità dell'accelerometro vediamo che corrisponde a 0.0047 g (usando la sensibilità minima).
È tanto? È poco? È sufficiente? Non lo so, l'applicazione la conosci tu e sei tu che puoi fare una stima della risoluzione che ti serve.

Per ottenere questo risultato ci serve guadagno unitario, dobbiamo però considerare che le resistenze da 50 ohm formano un partitore che dimezza la tensione in ingresso all'opamp, il quale va quindi configurato per lavorare con un guadagno di 2.

Se invece vogliamo una risoluzione maggiore dobbiamo amplificare, ma il margine che ci resta prima di toccare i limiti di 0 V in basso e 3.3 V in alto è pochissimo. Si dovrebbe quindi pensare di limitare il campo di misura, accettando per esempio solo valori tra -3 e +3 g si può raddoppiare la risoluzione.

Attenzione, ogni amplificazione aumenta anche la quantità di rumore sul segnale, anche se non credo che in questo caso sia un grosso problema e l'op-amp che abbiamo scelto è abbastanza silenzioso.

I condensatori che hai messo sul feedback servirebbero proprio a ridurre il rumore (e la banda!) se ci fosse un problema, ma i loro valori sono elevatissimi! Lì ci va 1 nF a stare larghi! Secondo me non ti serve: la banda la limiti già in sorgente e non credo che tu abbia grossi problemi di rumore.

Boiler
Avatar utente
Foto Utenteboiler
23,9k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 4983
Iscritto il: 9 nov 2011, 12:27

0
voti

[70] Re: I2C Bus Extender

Messaggioda Foto Utentetheking0 » 1 ago 2024, 14:05

Ho fatto un po' di valutazioni e ho deciso che per il mio scopo difficilmente supererò i ±3g, quindi ho pensato di cambiar in corso d'opera usando l' ADXL335 che ha più sensibilità di misura. Inoltre ho limitato la scelta della larghezza di banda a 50Hz e 100Hz, moto probabile che sarà la 50Hz quella che userò.
Ho rivisto poi la scheda del sensore con le scelte fatte e ho fatto anche un cambiamento sul connettore, il DB9 non mi piaceva molto per il fatto che occupava moto posto sulla scheda, ho deciso di mettere un connettore IPEX e predisporre due piazzole per l'alimentazione, quindi ora ho sue possibilità:
1) entro direttamente con il piccolo coassiale e l'alimentazione inguainati insieme e li fermo con un pressacavo, quindi il coassiale finisce direttamente sul suo IPEX.
2) uso un connettore IPEX a SMA per il segnale e un M8 per l'alimentazione.
SCH2.JPG

pcb top.JPG

3d.JPG

In questo modo ho i vantaggi di aver ridotto le dimensioni del PCB e di par viaggiare il segnale su connettori a impedenza controllata.
La pista che porta all'IPEX e cortissima e di dimensioni 2.2mm, la scheda la farò produrre con spessore 1.2mm .

Ora con questi parametri ben definiti mi concentro sulla acquisizione, tenendo conto che le sole sue larghezze di banda utilizzabili sono 50Hz e 100Hz.
Avatar utente
Foto Utentetheking0
842 1 5 11
Master
Master
 
Messaggi: 324
Iscritto il: 11 feb 2012, 22:37

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 96 ospiti