Discussione: regolatore brushed
Visualizza messaggio singolo
Vecchio 30 novembre 04, 23:12   #4 (permalink)  Top
davidea
UserPlus
 
L'avatar di davidea
 
Data registr.: 24-08-2004
Residenza: palermo (pa)
Messaggi: 846
Invia un messaggio via MSN a davidea
Citazione:
Originally posted by MSchiepp@28 novembre 2004, 10:37
Visto che devi effettivamente fare due cose insieme ti propongo due soluzioni.

La prima consiste nel generare il PWM per il motore con dei ritardi basati sull'esecuzione di un certo numero (calcolato) di istruzioni utizzando due variabili per impostare i tempi di on e off in funzione del comando in ingresso; per acquisire il comando 'mentre' stai generando il PWM si può utilizzare l'interrupt ed il timer.
- Predisponi il prescaler del timer a /4; in questo modo il timer conta 1 ms ogni 250 cicli.
- Abilita l'interrupt sull'ingresso dove arriva il comando, fronte di salita
- Abilita l'interrupt sull'overflow del timer.

Quando scatta l'interrupt per ingresso alto (inizio dell'impulso):
- carica il timer a 7
- azzera il bit T0IF

Dopo 1 ms arriverà l'interrupt del timer, ad indicare che è passato il primo ms del comando (quello che non conta, per intenderci); a questo punto:
- azzera il timer
- disabilita l'interrupt del timer
- inverti lo stato dell'interrupt sul segnale (fronte di discesa).

Quando arriva il prossimo interrupt (fine del segnale di comando)
- leggi il timer per avere il valore del comando

Ricominicia da capo...

Come vedi le cose da fare sono pochissime e rubano solo qualche uS al ciclo di generazione del PWM in modo assolutamente impercettibile!

Prova a pensarci e dimmi come ti sembra...

Michele

MICHELE, SEI MITICO!!!!!

ho fatto come dicevi, e non solo e' venuto la meta il programma, ha una frequenza di pwm di circa 1khz, e all' accensione usa la posizione dello stick come 0, quindi in teoria non dovrebbe partire appena dai alimentazione
in pratica invece, con stick a 0 ho dei leggeri tremolii, ma la regolazione e' fluidissima,
grazie 10000000

a chi interessasse allego il sorgente

p.s. l' ho pure reso indipendente dalla frequenza del quarzo.....

p.p.s michele, mi dai un parere sullo stile di scrittura del sorgente? come ti sembra ipercommentato?
__________________
73 de davidea!!!
davidea non è collegato   Rispondi citando