| |
| Autore |
Messaggio |
opzioni |
 primok


postato il: 24.05.2012, alle ore 21:29 |
.........
Fatti non foste a viver come bruti, ma per seguir virtude e conoscenza.
Dante |
|
 primok


postato il: 24.05.2012, alle ore 21:33 |
Soccia..che 2 maroni..
.........
Fatti non foste a viver come bruti, ma per seguir virtude e conoscenza.
Dante |
|
 SiLv3r


postato il: 25.05.2012, alle ore 21:43 |
Wow.
Innanzi tutto ti ringrazio per averci dedicato tutto sto tempo. Davvero grazie.
Seguirò il consiglio sulle variabili, anche se provenendo da un ambiente che mi ha insegnato a sviluppare in C/C++ delle applicazioni per PC per me era assolutamente normale usare gli stessi nomi specie per i contatori e gli indici.
Anche per questo non avevo minimamente pensato che gli "int" fossero degli int8, abituato a quelli su pc, quindi avevo tralasciato completamente il discorso del massimo valore rappresentabile.
Controllerò il delay, purtroppo è quello che gioca per me un ruolo fondamentale perchè è proprio il ritardo che regola la velocità del motore.
Ancora grazie mille ora ci lavoro su.
|
|
 SiLv3r


postato il: 25.05.2012, alle ore 22:31 |
LA situazione è migliorata sistemando i tipi di variabili (long int) e aggiustando qualche altra cosa...una sola è la mia domanda però:
perchè se nei fuses hai impostato HSPLL poi come frewuenza di clock imposti i 20Mhz???
Non dovrebbe essere #use delay(clock=48000000) visto che si sta usando il segnale in uscita dal PLL? |
|
 primok


postato il: 25.05.2012, alle ore 22:44 |
SiLv3r: LA situazione è migliorata sistemando i tipi di variabili (long int) e aggiustando qualche altra cosa...una sola è la mia domanda però:
perchè se nei fuses hai impostato HSPLL poi come frewuenza di clock imposti i 20Mhz???
Non dovrebbe essere #use delay(clock=48000000) visto che si sta usando il segnale in uscita dal PLL?
Io ho impostato solo la frequenza in ingresso cioè quella del quarzo che è 12Mhz il resto è stato impostato dal compilatore.Ho aggiustato solo qualche registro come puoi vedere nel file.h.
Comunque una volta trovato il problema di comunicazione, nel tuo codice era possibile dare dare un solo comando, il resto è solo sistemare le routine.
Primok_V
Fatti non foste a viver come bruti, ma per seguir virtude e conoscenza.
Dante |
|
 SiLv3r


postato il: 27.05.2012, alle ore 15:44 |
Ho seri problemi con il ritardo, in particolare una cosa strana si verifica:
se all'interno di uno dei modi di pilotaggio es. funzione wavemode inserisco un ritardo fisso sostituendo l'istruzione con delay_ms(delay) con delay_ms(numero) dove numero è un intero maggiore di 1 tutto funziona (es.delay_ms(4) ).
SE invece numero = 1 il motore vibra su se stesso e nn si muove.
Se sostituisco alla delay_ms (es. delay_ms(4) ) la delay us che dovrebbe ritardare lo stesso tempo (es. delay_us(4000) ) il motore è fermo e si accende solo un LED corrispondente alla pin RB_0 |
|
 SiLv3r


postato il: 27.05.2012, alle ore 15:48 |
No niente lascia stare sono stupudo io l'ambiguità fra delay_ms e delay_us è che avevo cancellato per sbaglio una riga di incremento della variabile c |
|
 SiLv3r


postato il: 27.05.2012, alle ore 16:10 |
però se il delay è circa 1ms il motore non si muove ma vibri e basta e i led si accendono ( e si vedono tutti accesi, penso per il fatto della persistenza della luce sulla retina) continua ad accadere...forse è un limite del motore??? |
|
 primok


postato il: 27.05.2012, alle ore 16:18 |
SiLv3r: però se il delay è circa 1ms il motore non si muove ma vibri e basta e i led si accendono ( e si vedono tutti accesi, penso per il fatto della persistenza della luce sulla retina) continua ad accadere...forse è un limite del motore???
1 ms è troppo poco per apprezzare la velocità dei led accendersi e spegnersi, per il motore , l'uscita dura troppo poco tempo per dare il suo effetto.
Primok_V
Fatti non foste a viver come bruti, ma per seguir virtude e conoscenza.
Dante |
|
 SiLv3r


postato il: 27.05.2012, alle ore 17:16 |
Si infatti credo che mi accontenteràò di 2 ms di delay che comunque per quello che devo fare dovrebbero essere sufficienti (q euindi credo che abbandonerò l'idea di un controllo in velocità). Ora devo solo aggiustare le funzioni di controllo per ottimizzarle al meglio. Ti ringrazio per l'aiuto! |
|
| |