Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


 
 
Strumenti discussione Visualizzazione
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 28 novembre 04, 11:32   #2 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
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
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
 

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
regolatore per brushed carmat99 Aeromodellismo Volo Elettrico 2 15 febbraio 07 21:00
Regolatore brushed Baochan Automodellismo 0 06 ottobre 06 16:10



Tutti gli orari sono GMT +2. Adesso sono le 23:25.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002