Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Conversione digitale analogica

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[21] Re: Conversione digitale analogica

Messaggioda Foto UtenteEcoTan » 4 dic 2015, 18:39

Volevi dire il contrario?
Si potrebbe dire che la tensione va a scatti (digit) mentre i tempi variano con continuità..
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5426
Iscritto il: 29 gen 2014, 8:54

0
voti

[22] Re: Conversione digitale analogica

Messaggioda Foto Utenteneofita » 4 dic 2015, 18:43

non ho pensato di chiamarlo come dite voi,inizierò a far accendere il led e poi vado avanti grazie a tutti
Avatar utente
Foto Utenteneofita
11 2
 
Messaggi: 44
Iscritto il: 6 nov 2015, 18:54

1
voti

[23] Re: Conversione digitale analogica

Messaggioda Foto UtenteIlGuru » 4 dic 2015, 18:47

Foto UtenteEcoTan forse ho capito cosa vuoi dire.
Il segnale PWM può essere o non essere digitale, dipende se viene generato quantizzando una tensione oppure no. Con un comparatore ed un'onda triangolare si ottiene un PWM analogico.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[24] Re: Conversione digitale analogica

Messaggioda Foto Utenteneofita » 4 dic 2015, 19:02

volevo dire che avendo un segnale onda quadra con periodo 20ms e con duty variabile tra 1 e 2 ms ampiezza 5 v volevo ricavare la componente continua variabile alla variazione del duty
Avatar utente
Foto Utenteneofita
11 2
 
Messaggi: 44
Iscritto il: 6 nov 2015, 18:54

0
voti

[25] Re: Conversione digitale analogica

Messaggioda Foto UtenteIlGuru » 4 dic 2015, 19:38

Quindi non è nemmeno necessario leggere il valore del duty cicle del segnale, ma basterebbe leggere l'ampiezza del periodo Ton del segnale. Questo semplifica un po' la procedura ed il metodo del modulo CCP resta valido.

Leggendo quel segnale con un PIC che lavora con una frequenza di clock a 20MHz, riesci a discriminare variazioni di Ton di:
\frac{4}{20 \times 10^6}=0.2 \mu s

Questo significa che tra i due impulsi di 1ms e 2ms potresti teoricamente rilevare
\frac{ (2-1)  \times 10^{-3} }{200  \times 10^{-9}} = 5000
Livelli distinti di durata di Ton

Adesso si tratta di convertire questo numero compreso tra 0 e 5000 in tensione.
Senza tirare in ballo di nuovo il modulo CCP che è impegnato a rilevare il tempo Ton, puoi usare questo numero in un contatore che va da 0 a 5000. Fino a che il contatore è < del numero letto imposti lo stato di un pin ad 1, altrimenti lo imposti a 0 e quello che ottieni in uscita dal pin è un valore PWM convertito in una modulazione da 0 a 100% di quello che avevi letto che aveva una modulazione da 10 a 20%.

Questo nuovo PWM, con un filtro passa basso, fornisce un valore da 0 alla tensione di alimentazione, con una quantizzazione a 5000 livelli.

Adesso, mettiamo che il PIC a fare un decremento, una comparazione e impostare lo stato del pin impieghi 10 cicli macchina, non lo so di preciso sto facendo un'ipotesi. Per contare da 0 a 5000 e generare un periodo del segnale PWM impiegherà 50000 cicli macchina che a 20MHz (e senza contare il tempo perso nella routine di interrupt) dura
50000 \times \frac{4}{20 \times 10^6}=10 ms
Che equivale ad una frequenza PWM di
\frac{1}{10 \times 10^3}=100 Hz

Se lo vuoi aumentare e non ti interezza una precisione di 5000 livelli, puoi dividere quel 5000 ed il contatore ad esempio per 20 e quindi ottenere una precisione di 250 livelli ed una frequenza PWM di 2KHz


Tutto questo, in via teorica, e se non ho insultato la matematica con qualche errore grossolano.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[26] Re: Conversione digitale analogica

Messaggioda Foto UtenteMarcoD » 4 dic 2015, 23:57

neofita ha scritto:...onda quadra con periodo 20ms e con duty variabile tra 1 e 2 ms ampiezza 5 v ...
non sarebbe meglio che il duty variasse fra 0 e 20 ms ossia fra 0 e 100 % ?
se varia a passi di 1 ms hai una risoluzione del 100/20 = 5 %.
Poi si chiama modulazione a larghezza di impulso (PWM).
Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
 
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[27] Re: Conversione digitale analogica

Messaggioda Foto UtenteEcoTan » 5 dic 2015, 0:55

Sarebbe meglio ma i radiocomandi hanno altre esigenze: il tempo che non viene utilizzato serve per immettere altri impulsi relativi ad altri canali.
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5426
Iscritto il: 29 gen 2014, 8:54

0
voti

[28] Re: Conversione digitale analogica

Messaggioda Foto Utenteneofita » 5 dic 2015, 10:19

ciao
quindi devo salvare i valori letti in una variabile e faccio agire un contatore,il nuovo PWM ottenuto serve ad avere una definizione migliore dei livelli del segnale.il filtro passa basso mi darà poi la tensione continua variabile.è giusto?
grazie
Avatar utente
Foto Utenteneofita
11 2
 
Messaggi: 44
Iscritto il: 6 nov 2015, 18:54

0
voti

[29] Re: Conversione digitale analogica

Messaggioda Foto UtenteIlGuru » 5 dic 2015, 11:45

Si, quando il periodo Ton del segnale che leggi varrà 1ms, il contatore si fermerà a 0, la PWM avrà un duty dello 0% e la tensione dopo il filtro sarà 0V
Con Ton 1,2 ms, contatore 1000, PWM 20% e tensione 1V
Con Ton 1,5 ms, contatore 2500, PWM 50% e tensione 2,5V
Ecc...
Con quel numero nel tuo progetto con il modellino puoi inventarti tutto quello che vuoi, far brillare di più o di meno i led, accenderne di più o di meno, accelerare o rallentare una certa sequenza ecc...
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti