timer variabile

9 Anni 7 Mesi fa #6 da Video Lab
Risposta da Video Lab al topic timer variabile
Non puoi usare il Timer1 montando il quarzo secondario da 32,768 khz e generare un interrupt ogni secondo ?
Il buon Gianni qui lo spiega molto bene:
www.settorezero.com/wordpress/corso-prog...di-orologi-e-timers/

Volere è Potere

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Video Lab
  • Avatar di Video Lab
  • Premium Member
  • Premium Member
Di più
9 Anni 7 Mesi fa #7 da sharky
Risposta da sharky al topic timer variabile
ciao!

grazie della risposta, ma credo di essermi spiegato male..

in modo schematico il mio programma funziona cosi:


interupt tmr1 a un intervallo di circa 1 ms:

contatorex ++;
contatorey ++;


all interno del while:

if (contatorex > deltaTx){
stepperx(); //eseguo uno step del motore dell asse x.
}
if (contatorey > deltaTy){
steppery(); //eseguo uno step del motore dell asse y.
}


deltaTx e deltaTy contengono l intervallo al quale devo eseguire uno step. il problema è che sono valori float, e se ad esempio deltaTx = 2.1 e deltaTy = 2.4 (dato che contatorex è un INT e conta solo i ms interi) entrambi i motori faranno uno step ogni 2 ms. di conseguenza il motore x sarà leggermente troppo veloce, mentre il motore y sarà MOLTO troppo veloce.

pensavo di fare un interrupt ogni 0.1 ms per correggere l errore ma ho paura che generare gli interrupt cosi spesso crei problemi. Ho una porta seriale che è in continua comunicazione e l interrupt della seriale credo occupi più di 0.1 ms.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • sharky
  • Senior Member
  • Senior Member
Di più
9 Anni 7 Mesi fa #8 da alfa75
Risposta da alfa75 al topic timer variabile
Secondo me la cosa è un pò problematica perchè gia con un interrupt di 1mS sei al limite visto che per trasmettere 10bit @9600bps ci vuole proprio 1mS

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • alfa75
  • Avatar di alfa75
  • Platinum Member
  • Platinum Member
Di più
9 Anni 7 Mesi fa #9 da sharky
Risposta da sharky al topic timer variabile
ciao! io trasmetto a 115200 bps...

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • sharky
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login