CITAZIONE (ElettroshockNow, 20/05/2015 18:25:02 )
Quote:
Grazie ...,ma
Hai cmq capito il contrario
:lol:


CITAZIONE (farstar1965, 20/05/2015 18:25:02 )
Quote:Genero per es. l'istante 3 del pwm poi leggo la semionda ma questa lettura si trova tra l'istante 3 e il 4 poi genero l'istante 4.
Quindi cosa modifico (in base alla lettura)il valore relativo all'istante 4 o quello relativo al 3 al prossimo passaggio .
Perche non posso modificare il valore pwm in base alla misura di un valore che non sto ancora generando.
Bravo Marco, vedo che stai iniziando ad entrare dentro le problematiche che stiamo affrontando.
Vediamo di provare a capire cosa dobbiamo fare:
Ipotizziamo che all'istante 3 settiamo un PWM in uscita al valore 37 e lanciamo la lettura dell'ADC.
All'istante 4 dovremmo settare il PWM al valore 45, ma a questo punto abbiamo il valore letto dall'ADC che supponiamo essere 28. Cosa facciamo ?
Proviamo a calcolare di quanto avremmo dovuto incrementare il valore 37 per ottenere (anzichè il valore 28) il valore corretto:
(37 / 28 * 100) - 100 = 32,1428%
(infatti facendo 28 + 32,1428% di 28 = ~37)Quindi, anzichè settare il nuovo PWM a 45 lo possiamo settare a:
45 * 32,1428% di 45 = 59,46426 =
59In pratica prediciamo l'errore che si verificherà sulla base dell'errore appena letto !!!
Questa è una semplice idea può essere migliorata o si può utilizzare un approccio totalmente diverso, tuttavia c'è una cosa importante su cui bisogna riflettere: bisogna ragionare sull'errore riscontrato per correggere l'uscita ancor prima di settarla.
Tutto chiaro ? Tutto semplice ?