Campionamento ADC e routine di retroazione corrente
Moderatore: Junior Admin
- Raban
- AMMINISTRATORE
- Messaggi: 3559
- Iscritto il: sab ott 25, 2008 14:27
- Località: Serenissima Repubblica Veneta
Campionamento ADC e routine di retroazione corrente
Sto giocando con i canali ADC del pic 18f4431 per mettere a punto la routine di retroazione e correzione corrente .
Per ora per fare delle prove sto utilizzando un petenzionetro per variare la tensione sulla porta adc
acquisire i valori e poi effettuare i vari calcoli di retroazione .
Non so se qualcuno mi puo' aiutare , ma ho un po' di difficolta' nello scegliere il PARAMETRO TAD .
Quanto deve durare il tempo di campionamento ?
Tutto il resto viene poi di conseguenza .
I primi test per ora non sono soddisfacenti , l'inseguimento del duty cycle rispetto al canale adc
funziona pero' la routine di campionamento, conversione e correzione duty cycle dura la bellezza
di 3 millisecondi , che mi pare un'enormita' .
Con McMax si pensava di campionare il segnale ad ogni periodo del pwm sul primario , quindi a 40 kilo Hz
Io con la mia routine sono a 330 HZ , siamo 2 ordini di grandezza distanti ...
C'e' da dire che la routine di correzione pwm e' abbastanza corposa perche' prevede la correzione di un pwm alla volta e quindi ad ogni ciclo c'e' da verificare quale dei due pwm sia da correggere
e cio' dipende anche dal verso della correzione :
- se devo diminuire devo diminuire il maggiore dei due
- se devo aumentare devo aumentare il minore dei due
Per ora per fare delle prove sto utilizzando un petenzionetro per variare la tensione sulla porta adc
acquisire i valori e poi effettuare i vari calcoli di retroazione .
Non so se qualcuno mi puo' aiutare , ma ho un po' di difficolta' nello scegliere il PARAMETRO TAD .
Quanto deve durare il tempo di campionamento ?
Tutto il resto viene poi di conseguenza .
I primi test per ora non sono soddisfacenti , l'inseguimento del duty cycle rispetto al canale adc
funziona pero' la routine di campionamento, conversione e correzione duty cycle dura la bellezza
di 3 millisecondi , che mi pare un'enormita' .
Con McMax si pensava di campionare il segnale ad ogni periodo del pwm sul primario , quindi a 40 kilo Hz
Io con la mia routine sono a 330 HZ , siamo 2 ordini di grandezza distanti ...
C'e' da dire che la routine di correzione pwm e' abbastanza corposa perche' prevede la correzione di un pwm alla volta e quindi ad ogni ciclo c'e' da verificare quale dei due pwm sia da correggere
e cio' dipende anche dal verso della correzione :
- se devo diminuire devo diminuire il maggiore dei due
- se devo aumentare devo aumentare il minore dei due
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga
- V8 Power
l'esperienza non si compra ma si paga
- Raban
- AMMINISTRATORE
- Messaggi: 3559
- Iscritto il: sab ott 25, 2008 14:27
- Località: Serenissima Repubblica Veneta
Re: Campionamento ADC e routine di retroazione corrente
rettifico . avevo un delay che mi falsava la routine , ora sono intorno ai 10 khz tra campionamento conversione e retroazione ...
speriamo basti , meglio non si puo' fare ...
speriamo basti , meglio non si puo' fare ...
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga
- V8 Power
l'esperienza non si compra ma si paga
- Bit79
- TORNITORE E FRESATORE
- Messaggi: 1534
- Iscritto il: sab set 13, 2008 15:29
- Località: Fornaci di Barga (LU)
Re: Campionamento ADC e routine di retroazione corrente
10 Khz per fare cosa?
A 40 Mhz di clock sono 1000 cicli di istruzione, e se l'adc lo gestisci in interrupt non ti porta nemmeno via tanto tempo.
Io ho fatto calcoli a queste frequenze (in realtà sono intorno a 15 Khz), ma su 4 canali contemporaneamente...
A 40 Mhz di clock sono 1000 cicli di istruzione, e se l'adc lo gestisci in interrupt non ti porta nemmeno via tanto tempo.
Io ho fatto calcoli a queste frequenze (in realtà sono intorno a 15 Khz), ma su 4 canali contemporaneamente...
Non accontentarti mai, scegli gli strumenti giusti, usali bene, non accettare compromessi, pretendi il successo. Poi ricomincia da capo.
Nel mondo esistono 10 tipi di persone:
-chi conosce il codice binario
-chi non conosce il codice binario
Nel mondo esistono 10 tipi di persone:
-chi conosce il codice binario
-chi non conosce il codice binario
- Raban
- AMMINISTRATORE
- Messaggi: 3559
- Iscritto il: sab ott 25, 2008 14:27
- Località: Serenissima Repubblica Veneta
Re: Campionamento ADC e routine di retroazione corrente
Infatti , quasi sicuramente hai ragione tu , devo provare a gestirlo da interrupt e vedere come si comporta .
McMax suggeriva di usare il buffer fifo e fare la media di 2 o 4 campionamenti
prima di fare la correzione , non capisco pero' come accedere ai risultati una volta che sono nel buffer .
P.S. ho messo in moto il dspic33, cavoli nelle opzioni pwm ha pure l'opzione
push-pull che e' proprio quello che serve a noi , per non parlare dell'adc , 2 mega sample/secondo per ciascuna delle due SAR...
In compenso ha tanti di quei registri da impostare che fa paura ....
McMax suggeriva di usare il buffer fifo e fare la media di 2 o 4 campionamenti
prima di fare la correzione , non capisco pero' come accedere ai risultati una volta che sono nel buffer .
P.S. ho messo in moto il dspic33, cavoli nelle opzioni pwm ha pure l'opzione
push-pull che e' proprio quello che serve a noi , per non parlare dell'adc , 2 mega sample/secondo per ciascuna delle due SAR...
In compenso ha tanti di quei registri da impostare che fa paura ....
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga
- V8 Power
l'esperienza non si compra ma si paga
- Raban
- AMMINISTRATORE
- Messaggi: 3559
- Iscritto il: sab ott 25, 2008 14:27
- Località: Serenissima Repubblica Veneta
Re: Campionamento ADC e routine di retroazione corrente
Dunque ho rivisto il settaggio dei registri ADC ed effettivamente la velocita' di campionamento e' molto piu' alta .
Sono arrivato a 176 KHz su singolo canale .
Ho fatto anche delle prove di retroazione , e possiamo arrivare tranquillamente a 44 khz come frequenza di retroazione usando
una media di 4 campioni presi dal registro fifo dell'ADC il tutto
impegnando la potenza di calcolo del pic per il 25 % circa ...
Ora il mio dubbio e' il seguente , ovvero con che tempistiche realizzare la retroazione ...
Ipotesi 1 : l'adc gira di continuo ed ogni 4 campioni effettuo
la retroazione ( retroazione asincrona rispetto al pwm)
ipotesi 2 : l'adc gira di continuo ed ogni due campioni effettuo
la retroazione (retroazione asincrona rispetto al pwm)
Ipotesi 3 : adc siconcrono al pwm utilizzando lo special event trigger e correzione ad ogni lettura ADC
ipotesi 4: adc gira di continuo ed effettuo una correzione sincrona rispetto al pwm utilizzando lo special event trigger .
Accetto suggerimenti , io farei la prima che e' la piu' facile da
implementare ...
Sono arrivato a 176 KHz su singolo canale .
Ho fatto anche delle prove di retroazione , e possiamo arrivare tranquillamente a 44 khz come frequenza di retroazione usando
una media di 4 campioni presi dal registro fifo dell'ADC il tutto
impegnando la potenza di calcolo del pic per il 25 % circa ...
Ora il mio dubbio e' il seguente , ovvero con che tempistiche realizzare la retroazione ...
Ipotesi 1 : l'adc gira di continuo ed ogni 4 campioni effettuo
la retroazione ( retroazione asincrona rispetto al pwm)
ipotesi 2 : l'adc gira di continuo ed ogni due campioni effettuo
la retroazione (retroazione asincrona rispetto al pwm)
Ipotesi 3 : adc siconcrono al pwm utilizzando lo special event trigger e correzione ad ogni lettura ADC
ipotesi 4: adc gira di continuo ed effettuo una correzione sincrona rispetto al pwm utilizzando lo special event trigger .
Accetto suggerimenti , io farei la prima che e' la piu' facile da
implementare ...
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga
- V8 Power
l'esperienza non si compra ma si paga
-
- TORNITORE E FRESATORE
- Messaggi: 2106
- Iscritto il: mer giu 03, 2009 20:29
- Località: Ameglia (SP)
Re: Campionamento ADC e routine di retroazione corrente
Io sceglierei senza dubbio l'opzione 3 in quanto l'ADC deve misurare sempre nello stesso istante rispetto all'istante di commutazione del PWM in modo da non venire condizionato dalle dinamiche della commutazione del PWM che non puoi controllare.
- Bit79
- TORNITORE E FRESATORE
- Messaggi: 1534
- Iscritto il: sab set 13, 2008 15:29
- Località: Fornaci di Barga (LU)
Re: Campionamento ADC e routine di retroazione corrente
Sono d'accordo con blanko. Sicuramente adc rigorosamente sincrono con il pwm, e a frequenza rigorosamente costante.
Non accontentarti mai, scegli gli strumenti giusti, usali bene, non accettare compromessi, pretendi il successo. Poi ricomincia da capo.
Nel mondo esistono 10 tipi di persone:
-chi conosce il codice binario
-chi non conosce il codice binario
Nel mondo esistono 10 tipi di persone:
-chi conosce il codice binario
-chi non conosce il codice binario
- Raban
- AMMINISTRATORE
- Messaggi: 3559
- Iscritto il: sab ott 25, 2008 14:27
- Località: Serenissima Repubblica Veneta
Re: Campionamento ADC e routine di retroazione corrente
Aggiornamento :
Prima bozza di retroazione 8 bit 20 khz pronta e funzionante
Ora posso programmare le rampe di salita , discesa e pulsazione
Prima bozza di retroazione 8 bit 20 khz pronta e funzionante
Ora posso programmare le rampe di salita , discesa e pulsazione
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga
- V8 Power
l'esperienza non si compra ma si paga