DAC ad 8dit con due PWM a 4bit - Si può fare?

Sezione dedicata all'elettronica in generale.
Rispondi
tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 10:53

In un attimo di calma da altri impegni mi è balenata una idea malsana in testa e mi piacerebbe condividerla con voi sul forum.

L'idea è questa:

Quando si usa una uscita PWM di un micro (es. Arduino) per simulare una uscita analogica, di solito si pone sull'uscita un filtro RC con una costante di tempo pari ad almeno 100 volte il periodo del PWM per avere un segnale abbastanza ripulito.
Tuttavia questo limita molto la risposta che si può avere. In generale essendo limitati dalla frequenza massima generabile che sarà ad esempio 16MHz/256=62.5KHz volendo una risoluzione di 8 Bit.
Se però ci si accontenta di 4 Bit la frequenza massima potrebbe essere anche di 16MHz/16=1MHz che sarebbe filtrabile con una rete RC avente una costante di tempo di 1/16.

Ora l'idea è quella di usare due uscite PWM a 1MHz per produrre due riferimenti analogici a 4Bit da sommare poi con un amplificatore sommatore a resistori pesati dove il secondo segnale contribuisca solo per 1/16 del totale a formare un singolo riferimento ad 8bit. Forse si potrebbe pure fare una cosa del genere senza OP-AMP:
Cattura.JPG


Cosa ne pensate? E' una idea strampalata o esistono applicazioni simili? Oppure dovendo usare integrati esterni (OP-AMP) è più conveniente usare una singola uscita ad 8bit seguita da un filtro attivo tipo MAX295/296 oppure ancora un DA esterno?
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
hellfire39
Senior
Senior
Messaggi: 1435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da hellfire39 » mercoledì 18 novembre 2020, 11:08

Di solito, quando serve (davvero) un DAC, si usa un micro con il DAC integrato, oppure un DAC esterno (con ingresso I2C, SPI, ...)
Anche senza uscire dal mondo arduino, c'è il nuovo arduino nano 33 iot che ha un DAC a 10 bit integrato.
https://store.arduino.cc/arduino-nano-33-iot

La soluzione che proponi, pur avendo un senso, è un po' come voler arare 100 ettari con la zappa. Se vuoi verificare se funziona, puoi utilizzare LtSpice per simulare il tuo circuito.
Io, comunque, almeno un opamp di buffer in uscita lo metterei.

tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 12:12

Grazie della risposta hellfire39.
No non devo fare nulla al momento. Era solo una pensata malsana, cui è seguita la curiosità di sapere se potesse funzionare, o se fosse già adottata da qualcuno. Ormai lo sapete che ogni tanto mi piace spararmi delle pippe mentali! Meglio l'elettronica che altre sostanze allucinogene!

tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 12:19

A proposito di micro a 32bit, ne approfitto per un'altra domanda se qualcuno mi sa rispondere.

Ieri sera sono finito sulla pagina delle schede Teensy ed in particolare ho visto che le Teensy 4.x hanno un clock a 600MHz. Ora le uscite PWM di queste schede possono effettivamente generare PWM con frequenze di questo ordine, oppure la max frequenza PWM è più bassa? Ho letto un po ma una informazione precisa non sono riuscito a trovarla. Dalle frequenze dichiarate sembrerebbe che ci sia un prescaler di minimo 1/16 tra la frequenza di clock e la frequenza impiegata dallo stadio PWM.
Ultima modifica di tecno67 il mercoledì 18 novembre 2020, 12:29, modificato 1 volta in totale.

Avatar utente
hellfire39
Senior
Senior
Messaggi: 1435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da hellfire39 » mercoledì 18 novembre 2020, 12:29

Questo è quello che trovo sul datasheet.
Non so come viene configurato di default dalle librerie TEENSYARDUINO.
Magari, appena ho tempo provo a vedere cosa viene fuori con l'oscilloscopio (ho una teensy 4.0 a casa).
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 12:40

Da questa tabella che ho trovato qui https://www.pjrc.com/teensy/td_pulse.html
Cattura.JPG
Sembrerebbe che la frequenza di ingresso dello stadio PWM sia sempre 1/4 della Frequenza di clock. Poi ovviamente la frequenza del PWM è 1/2^(Risoluzione_in_bit-1) volte questa frequenza mi sembra di intuire, ma non sono sicuro di aver interpretato correttamente.
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
hellfire39
Senior
Senior
Messaggi: 1435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da hellfire39 » mercoledì 18 novembre 2020, 14:30

Il capitolo dedicato al PWM del datasheet del micro utilizzato su Teensy è di più di cento pagine :oops:

Le librerie teensy/arduino, dovengo gestire la funzione di sistema analogWrite() ha dei valori preimpostati.
Un utilizzo più a basso livello, consente di modificare il comportamento predefinito, stando attenti a non "rompere" altre funzionalità di Arduino, ad es. la funzione delay().

Come tutti i PWM di tutti i micro, ci possono essere più sorgenti per il clock del PWM.
Cattura.PNG
Questa figura è presa dal datasheet che mostra la logica di selezione del clock. Le possibilità sono molte, compresa la possibilità di scalare la frequenza.

Di seguito allego la lista delle funzioni del pwm.
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 16:11

Quindi teoricamente (lavorandoci su) si potrebbe pure avere una analogWrite ad 8 bit che lavori a più di 2Mhz. Con un filtraggio semplice RC bello tosto, alla fine dovrebbe dare un segnale pulito anche a frequenze dell'ordine dei 50-100KHz.
Considerato che sono ben 20 i pin PWM sulla Teensy4.0 direi che è interessante.

tecno67
Member
Member
Messaggi: 345
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da tecno67 » mercoledì 18 novembre 2020, 16:16

Ops! l'ho postato due volte. Questo si può rimuovere.

Junior73
God
God
Messaggi: 3202
Iscritto il: lunedì 14 aprile 2014, 10:36
Località: Perugia

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da Junior73 » venerdì 20 novembre 2020, 12:11

Ragazzi se posto un argomento su grblhal e schede tipo Tensy4.0 o GrblCNC mi date una mano a capire come "muoversi" in quel mondo open in continuo fermento per il settore cnc. Mi piacerebbe entrare nell'argomento ma non è alla mia portata.

Saluti

Avatar utente
hellfire39
Senior
Senior
Messaggi: 1435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: DAC ad 8dit con due PWM a 4bit - Si può fare?

Messaggio da hellfire39 » venerdì 20 novembre 2020, 12:17

Chiedi pure, da me potrai ottenere solo risposte generiche perché non ho mai affrontato il mondo grbl in modo diretto.
Un paio di settimane fa avevo fatto qualche ricerca "parallela" per il mondo stampa 3d (Marlin su schede a 32 bit), ma nulla più

Rispondi

Torna a “Elettronica”