26 gennaio 12, 23:46 | #1 (permalink) Top |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| oscillazione servo
salve volevo sottoporvi un piccolo problema, stavo cercando di smanettare su questo codice PIC appunti di utilizzo per ottenere un oscillazione più rapida.. a prima vista pensavo che aumentando l'incremento e il decremento potesse oscillare più velocemente da un lato e poi l'altro invece no! continua ad oscillare allo stesso modo! è strano avete qualche idea? |
27 gennaio 12, 01:37 | #2 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| ok
per essere piu preciso anzichè scrivere INCF AL,W ;se si incrementa angolo MOVWF AL allora modifico l'incremento MOVF AL,W ; metto in W il valore di AL ADDLW 5 ; W = W + 5 MOVWF AL ; assegno il valore di W ad AL in sostanza incremento il valore AL di 5 alla volta anzichè di uno, in questa maniera in teoria dovrebbe oscillare con una velocità maggiore perè di volta in volta aggiunge 5 gradi in pu raggiungendo prima il fondo scala.. ma purtroppo si blocca nn va dove sbaglio? Citazione:
| |
28 gennaio 12, 01:45 | #3 (permalink) Top |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| ok perfetto sistemato
ho sistemato, adesso il servo oscilla con una rapidità che può essere modificata facilmente, adesso ho messo di 10 punti a passo. piuttosto che l'istruzione di incremento meglio l'istruzione ADDLW, posso utilizzare anche il fattore uno come se fosse un incremento, oppure un numero oltre tutto questa istruzione modifica se è il caso il bit Z, quindi LOOP btfss INTCON,T0IF ; Controlla che non siano scaduti i 20 mS GOTO $-1 ; se TMR0 < 20 mS allora vai INDIETRO CALL SERVO ; altrimenti vai in MOVE_ALL BTFSC DL,0 ; controlla se direz=0 GOTO MAIN2 MOVF ANGOLO ; SENSO ORARIO ADDLW 10 BTFSC STATUS,Z BSF DL,0 ; se si cambia direzione MOVWF ANGOLO bcf INTCON,T0IF ; reset T0IF bit GOTO LOOP ; e torna a mainloop MAIN2 MOVF ANGOLO ; SENSO ANTIORARIO SUBLW 10 BTFSS STATUS,Z BCF DL,0 ; se si cambia direzione MOVWF ANGOLO bcf INTCON,T0IF ; reset T0IF bit GOTO LOOP ; e torna a mainloop |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
oscillazione coda con bestx | PUKAS | Elimodellismo Motore Elettrico | 10 | 21 dicembre 11 20:48 |
oscillazione t rex 450 pro | ico3000 | Elimodellismo Motore Elettrico | 31 | 19 marzo 10 21:32 |
oscillazione ruote anteriori | sergiope | Automodellismo Mot. Scoppio On-Road | 24 | 10 dicembre 06 17:31 |
Oscillazione piatto spirit | elios | Elimodellismo in Generale | 0 | 10 febbraio 05 01:42 |