Ciao a tutti voi.
Ho un Arduino Uno, dal quale devo trasformare il segnale PWM in analogico 0V-5V
Voglio poter utilizzare un DAC per far questo.
Le domande sono le seguenti:
1) devo necessariamente utilizzare un DAC da 8bit o da 10bit? Non so se occorre fare riferimento ai bit del PWM di Arduino o se posso farne a meno.
2) se scelgo il DAC con 10bit, in uscita avrò 0-10 volt oppure 0-5 volt?
Sono un po confuso, spiegatemi voi
PWM, DAC(risoluzione) e Arduino
Moderatori: BrunoValente,
IsidoroKZ,
carloc,
g.schgor
0
voti
Le uscite PWM di arduino Uno e altri? sono a 8 bit ossia con 256 valori distinti (un numero da 0 a 255).
Una uscita a 10 bit ha 1024 valori distinti. Richiede un circuito integrato convertitore D/A apposito, magari da comandare serialmente con due uscite I2C di arduino.
Quando ti serve una tensione con una precisione ( risoluzione) migliore di 1 su 255 (circa 0,5 %) ?
Il valore della tensione massima 5 o 10 V è indipendente dalla risoluzione ( da una tensione 0-5 V puoi amplificarla per due ed ottenere 0-10 V, oppure dividerla per 10 con un partitore ed ottenere 0-0,5 V sempre con la stessa risoluzione)

Una uscita a 10 bit ha 1024 valori distinti. Richiede un circuito integrato convertitore D/A apposito, magari da comandare serialmente con due uscite I2C di arduino.
Quando ti serve una tensione con una precisione ( risoluzione) migliore di 1 su 255 (circa 0,5 %) ?
Il valore della tensione massima 5 o 10 V è indipendente dalla risoluzione ( da una tensione 0-5 V puoi amplificarla per due ed ottenere 0-10 V, oppure dividerla per 10 con un partitore ed ottenere 0-0,5 V sempre con la stessa risoluzione)

0
voti
Ciao MarcoD,
non ho ben chiare alcune cose:
1) se ad esempio Arduino ha una risoluzione da 8bit, io posso ugualmente utilizzare un DAC esterno da 10bit?
2) la risoluzione di Arduino dipende proprio dalla struttura dell'Atmega328P o dal codice al suo interno?
non ho ben chiare alcune cose:
1) se ad esempio Arduino ha una risoluzione da 8bit, io posso ugualmente utilizzare un DAC esterno da 10bit?
2) la risoluzione di Arduino dipende proprio dalla struttura dell'Atmega328P o dal codice al suo interno?
0
voti
) se ad esempio Arduino ha una risoluzione da 8bit, io posso ugualmente utilizzare un DAC esterno da 10bit?
Si (potresti anche adoperare un DAC da 16 bit) se il DAC esterno viene comandato serialmente; serialmente vuol dire che viene comandato con una successione temporale di 10 bit, uno alla volta, è lento ma preciso.
Se il programma o la libreria tira fuori per esempio un bit ogni 50 microsecondi, impiega 10 x 50 = 500 us = 0,5 ms.
Anche l'uscita PWM a 8 bit di arduino è seriale ed relativamente lenta, se ben ricordo impiega 1/400 Hz = 2,5 millisecondi ad aggiornarla.
2) la risoluzione di Arduino dipende proprio dalla struttura dell'Atmega328P o dal codice al suo interno? Da entrambe.
Arduino fa calcoli su byte ( 8 bit), numeri interi (16 bit), numeri lunghi (32 bit).
Si (potresti anche adoperare un DAC da 16 bit) se il DAC esterno viene comandato serialmente; serialmente vuol dire che viene comandato con una successione temporale di 10 bit, uno alla volta, è lento ma preciso.
Se il programma o la libreria tira fuori per esempio un bit ogni 50 microsecondi, impiega 10 x 50 = 500 us = 0,5 ms.
Anche l'uscita PWM a 8 bit di arduino è seriale ed relativamente lenta, se ben ricordo impiega 1/400 Hz = 2,5 millisecondi ad aggiornarla.
2) la risoluzione di Arduino dipende proprio dalla struttura dell'Atmega328P o dal codice al suo interno? Da entrambe.
Arduino fa calcoli su byte ( 8 bit), numeri interi (16 bit), numeri lunghi (32 bit).
7
voti
massimoxl ha scritto:... devo trasformare il segnale PWM in analogico 0V-5V
Voglio poter utilizzare un DAC per far questo.
Un dac e` un circuito che ha in ingresso un numero su n bit e da` in uscita una tensione (o una corrente).
Un segnale PWM invece e` un segnale a due livelli che trasporta una informazione analogica codificata dalla lunghezza dell'impulso.
Se vuoi trasformare un segnale PWM in un segnale analogico devi usare un filtro passa basso, qui e qui, oppure usare un circuito specializzato nella conversione dal PWM a tensione, qui.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
0
voti
Ciao a tutti voi.
Si sono d'accordo con Isidoro su cosa sia un DAC, mi spiace però che qualcuno la pensa in maniera differente e oltretutto è stato pure bloccato un mio thread creato ieri.
Qualcuno asseriva che il DAC non potesse fare al caso mio, invece non è assolutamente così.
Alla persona che ha scritto cio dico che: il DAC è un convertitore PWM → TENSIONE
Il DAC legge in ingresso una tensione in PWM (0 o 5 volt) ed in uscita si hanno valori di tensione che vanno da 0 a 5 volt.
Mi spiace che l' "amico" EDGAR che ha bloccato il mio thread non abbia dato neppure la possibilità di corregere determinate scorrettezze, oltretutto il mio thread di ieri aveva un titolo differente da questo e la mia richiesta era DIFFERENTE
https://www.electroyou.it/forum/viewtopic.php?t=84274
Si sono d'accordo con Isidoro su cosa sia un DAC, mi spiace però che qualcuno la pensa in maniera differente e oltretutto è stato pure bloccato un mio thread creato ieri.
Qualcuno asseriva che il DAC non potesse fare al caso mio, invece non è assolutamente così.
Alla persona che ha scritto cio dico che: il DAC è un convertitore PWM → TENSIONE
Il DAC legge in ingresso una tensione in PWM (0 o 5 volt) ed in uscita si hanno valori di tensione che vanno da 0 a 5 volt.
Mi spiace che l' "amico" EDGAR che ha bloccato il mio thread non abbia dato neppure la possibilità di corregere determinate scorrettezze, oltretutto il mio thread di ieri aveva un titolo differente da questo e la mia richiesta era DIFFERENTE
https://www.electroyou.it/forum/viewtopic.php?t=84274
Ultima modifica di
drGremi il 14 giu 2021, 21:16, modificato 2 volte in totale.
Motivazione: aggiunto un congiuntivo e fatte altre correzioni grammaticali (ma qualcosa di sicuro è sfuggita)

Motivazione: aggiunto un congiuntivo e fatte altre correzioni grammaticali (ma qualcosa di sicuro è sfuggita)
0
voti
Il thread sopra linkato aveva un titolo completamente differente da questo (Arduino Uno R3, Da PWM ad analogico con DAC), invece in questo qui la richiesta di aiuto è incentrata sulla differenza tra 8bit e 10bit.
Oltretutto nel mio nuovo post di ieri avevo chiesto un aiuto differente, cioè se da alcune info sul codice all'interno dell'Atmega328P, era possibile stabilire se devo usare un DAC a 8bit o 10bit (quindi NON la differenza tra 8bit e 10bit).
Detto questo dico molto sinceramente, come ho gia chiaramente scritto a Edgar in MP, che ogni tanto bisogna avere un po di pazienza prima di prendere decisioni affrettate fino al blocco di un post.
I moderatori dovrebbero "moderare" i post, il linguaggio di noi utenti iscritti... ma non di "bloccare" un post appena creato senza chiedere SPIAGAZIONI.
Avere almeno il buon senso di chiedere e vedere che strada prende il post, oltretutto io avevo scritto la richiesta di aiuto dove poi hanno risposto gentilmente alcune persone, ma non mi è stata data neppure la possibilità di chiarire che l'argomento in oggetto era completamente diverso e la richiesta d'aiuto era diversa.
Oltretutto nel mio nuovo post di ieri avevo chiesto un aiuto differente, cioè se da alcune info sul codice all'interno dell'Atmega328P, era possibile stabilire se devo usare un DAC a 8bit o 10bit (quindi NON la differenza tra 8bit e 10bit).
Detto questo dico molto sinceramente, come ho gia chiaramente scritto a Edgar in MP, che ogni tanto bisogna avere un po di pazienza prima di prendere decisioni affrettate fino al blocco di un post.
I moderatori dovrebbero "moderare" i post, il linguaggio di noi utenti iscritti... ma non di "bloccare" un post appena creato senza chiedere SPIAGAZIONI.
Avere almeno il buon senso di chiedere e vedere che strada prende il post, oltretutto io avevo scritto la richiesta di aiuto dove poi hanno risposto gentilmente alcune persone, ma non mi è stata data neppure la possibilità di chiarire che l'argomento in oggetto era completamente diverso e la richiesta d'aiuto era diversa.
1
voti
non è vero, la spiegazione è stata fornita da chi è intervenuto, suggerendoti di continuare pure sull'altro thread(cioè questo), in virtù del fatto che l'argomento appariva simile(sempre di Arduino, DAC e PWM ...).massimoxl ha scritto:(...) I moderatori dovrebbero "moderare" i post, il linguaggio di noi utenti iscritti... ma non di "bloccare" un post appena creato senza chiedere SPIAGAZIONI.
Avere almeno il buon senso di chiedere e vedere che strada prende il post, oltretutto io avevo scritto la richiesta di aiuto dove poi hanno risposto gentilmente alcune persone, ma non mi è stata data neppure la possibilità di chiarire che l'argomento in oggetto era completamente diverso e la richiesta d'aiuto era diversa.
Non hai perso nulla, è stato solo bloccato e chi ha partecipato può continuare a farlo anche in questo.
Buona permanenza.
Saluti
W - U.H.F.
-
WALTERmwp
27,8k 4 8 13 - G.Master EY
- Messaggi: 8357
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
0
voti
Walter perdonami ma io penso che
Differenza 8bit e 10bit
Arduino Uno R3, Da PWM ad analogico con DAC
Siano due argomenti differenti
Ora io non voglio polemizzare perché non ne ho né l'interesse né la piu minima intenzione.
Sto solo dicendo che secondo il mio modesto modo di pensare i due argomenti siano differenti e non mi sembrava necessario dover bloccare un post che come dici tu sia "simile" a questo e quindi non un CROSSPOSTING.
Comunque mi fermo qui, non voglio polemizzare, oltretutto qualcuno aveva pure scritto risposte ERRATE nel mio nuovo post di ieri, asserendo che il DAC non serva a trasformare un segnale PWM in analogico.
Buona domenica a tutti...
Differenza 8bit e 10bit
Arduino Uno R3, Da PWM ad analogico con DAC
Siano due argomenti differenti
Ora io non voglio polemizzare perché non ne ho né l'interesse né la piu minima intenzione.
Sto solo dicendo che secondo il mio modesto modo di pensare i due argomenti siano differenti e non mi sembrava necessario dover bloccare un post che come dici tu sia "simile" a questo e quindi non un CROSSPOSTING.
Comunque mi fermo qui, non voglio polemizzare, oltretutto qualcuno aveva pure scritto risposte ERRATE nel mio nuovo post di ieri, asserendo che il DAC non serva a trasformare un segnale PWM in analogico.
Buona domenica a tutti...
0
voti
Il titolo di per sé non è significativo, avevi scritto questo:
Non si fa polemica, a volte una spiegazione non è sufficiente e ne occorrono due.
Se vuoi ti modifico questo titolo.
Saluti
le analogie mi sembrano sufficienti per giustificare la scelta.massimoxl ha scritto:(...) Possiedo un Arduino Uno R3 con Atmega328P con al suo interno un codice. Devo convertire il segnale PWM in analogico (0-5 volt). Per fare questo, non voglio usare il filtro RC, ma preferisco un DAC integrato già pronto. La domanda è semplice: ho letto in un PDF che il codice all'interno del Atmega328P utilizza 10 bit [1024] (vedi immagine allegata), ma nel manuale del software che dialoga con il codice, ho letto che utilizza 8 bit [255] (vedi immagine allegata) (...)
Non si fa polemica, a volte una spiegazione non è sufficiente e ne occorrono due.
Se vuoi ti modifico questo titolo.
Saluti
W - U.H.F.
-
WALTERmwp
27,8k 4 8 13 - G.Master EY
- Messaggi: 8357
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
Chi c’è in linea
Visitano il forum: Google Adsense [Bot] e 59 ospiti