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


 
 
Strumenti discussione Visualizzazione
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 11 novembre 04, 01:23   #1 (permalink)  Top
UserPlus
 
L'avatar di davidea
 
Data registr.: 24-08-2004
Residenza: palermo (pa)
Messaggi: 846
Invia un messaggio via MSN a davidea
salve, dopo aver realizzato il regolatore di velocita' per motori brushed proposto nella sezione schemi elettrici, e aver visto che a basse velocita' non mi soddisfa un granche', ho deciso di riprendere lo studio del 16f84, e dal sorgente tentare di capire cosa fa' e se e' possibile migliorarlo......
premetto, non ero per niente bravo un paio di anni fa' quando studiai il pic, e non lo sono ora, quindi potrei anche sparare delle emerite min....te

per semplificare ho diviso il sorgente in 5 macroblocchi :

1) inizializzazione e mainloop
2) funzione mnext
3) funzione mnow
4) onmotor
5) funzione delay

per tentare di dissiparmi i dubbi ho realizzato pure lo schema a blocchi del sorgente.....e' in powerpoint... se serve lo converto in jpg (per chi e' piu' bravo di me', e' giusta la via che ho intrapreso ?????)

[attachmentid=1502]

e allora.... mambo....

1) a cosa serve la variabile SHIFT, impostata ma mai utilizzata?
il ritardo l' ho calcolato sulla base dei commenti del sorgente originario, ma come vedremo piu' avanti non sono d' accordo!
ma le variabili, quanto possono essere grandi ??? 8 bit (dec 255) o 14bit (dec 16383)

2)

movf DMCount,F
btfss STATUS,Z

queste 2 righe, non riuscivo a capire cosa facessero, poi girovagando su google, ho trovato una spiegazione :
si sposta il contenuto della variabile DMCount su se stessa, in modo che se e' uguale a 0, viene settato il bit Z del registro STATUS.
e' corretta questa interpretazione?
ma il bit Z viene impostato nuovamente a 0 subito dopo essere interrogato?

per ogni ciclo dicontrollo ove l' ingresso e' alto si somma 34 al valore di motnext

per un totale massimo (se il valore puo' essere max 16383) di 481 step, ma siccome il tempo dell' ingresso on e' 1millisecondo di default e 1 variabile in base alla posizione dello stick, dovremmo levare un valore che non vedo levato da nessuna parte!!! :-(

in tutto cio' , non ho capito a cosa si riferisce motres(0).... a indicare se il ciclo precedente era di mnow o mnext?


3) controlla lo stato di motnext, se diverso da 0 accende il motore, controlla che motnext non sia arrivato a 0, se no lo spegne, setta DMCount = 10 e MOTRES=0

4) onmotor, decrementa motnext e accende il motore.

5) delay ????

per prima cosa, imposta il timer 0 a 231 e count a 1,,,,,,
ma il timer non AVANZA di un passo ogni 16 Hz? (Fosc/4)/prescaler
quindi impostandolo a 231, avremo che il bit Z del registo status, andra a 1 dopo 384 Hz ((255-231)*16) circa 0,1millisecondi con quarzo da 3,8mhz

ogni volta che vi e' il bit Z settato, riassegna al timer il valore 231, e decrementa count, ma count e' 1, quindi diventa subito 0, e cio ci fa' uscire immediatamente dal ciclo, ma allora che senso ha avere la variabile count?

bene , per stasera e' tutto!!!!!.... non mi sparate, ma ho una gran confusione, e se non ho sbagliato niente, il sorgente non dovrebbe funzionare..... ma sicuramente ho sbagliato e non vedo dove, mi illuminate?
__________________
73 de davidea!!!
davidea 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 con 16f84 fedor60 Circuiti Elettronici 10 11 marzo 08 18:25
regolatore con 16f84 fedor60 Circuiti Elettronici 2 12 aprile 06 22:19
Regolatore con pic 16f84 dbkill Circuiti Elettronici 2 01 giugno 05 12:23
Regolatore pic 16f84 Angqwe Circuiti Elettronici 5 28 novembre 03 21:55
Regolatore pic 16f84 Kayser_Soze Circuiti Elettronici 5 27 novembre 03 15:12



Tutti gli orari sono GMT +2. Adesso sono le 12:31.


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