- Messaggi: 174
- Ringraziamenti ricevuti 2
pilotare 2 servo con tre timer del pic18f4550
6 Anni 10 Mesi fa - 6 Anni 10 Mesi fa #1
da mpeino
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
pilotare 2 servo con tre timer del pic18f4550 è stato creato da mpeino
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- mpeino
- Autore della discussione
- Elite Member
Riduci
Di più
6 Anni 10 Mesi fa #2
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic pilotare 2 servo con tre timer del pic18f4550
Caio Massimo, solo ora ho potuto dare un'occhiata al tuo programma (sto correggendo qualche cosa non corretta sull'articolo
riguardante il modulo nrf24l01)..... senti, la prima cosa che ho visto, non conosco mikroC, è che nei define hai scritto PORTD.B0 e PORTD.B1.. mi chiedo, è giusto ciò che hai scritto oppure si tratta di un errore di battitura dove invece va scritto PORTD.D0 e PORTD.D1? se vuoi chiamami e ne parliamo tra noi al telefono
Marcello
riguardante il modulo nrf24l01)..... senti, la prima cosa che ho visto, non conosco mikroC, è che nei define hai scritto PORTD.B0 e PORTD.B1.. mi chiedo, è giusto ciò che hai scritto oppure si tratta di un errore di battitura dove invece va scritto PORTD.D0 e PORTD.D1? se vuoi chiamami e ne parliamo tra noi al telefono
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
6 Anni 10 Mesi fa #3
da mpeino
Risposta da mpeino al topic pilotare 2 servo con tre timer del pic18f4550
PORTD.B0 e PORTD.B1 significa pin0 e pin1 della PORTD per il resto non cambia molto con il compilatore della microchip.
ciao e grazie Marcello
ciao e grazie Marcello
Si prega Accedi o Crea un account a partecipare alla conversazione.
- mpeino
- Autore della discussione
- Elite Member
Riduci
Di più
- Messaggi: 174
- Ringraziamenti ricevuti 2
6 Anni 10 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic pilotare 2 servo con tre timer del pic18f4550
Salve Massimo,
potresti specificare il quarzo di cui fai uso?
Dal momento che parli di tempi degli impulsi presumo che tu abbia fatto delle misure con un oscilloscopio.
Hai modo di postare degli screen shot?
Da uno sguardo veloce, per ora ti posso dire che in generale il timer lo devi attivare dopo che viene impostato altrimenti perdi dei "colpi".
Formalmente se imposti tutti i timer ogni 20ms vuol dire che il tuo periodo totale è 20ms + il tempo che impieghi per le impostazioni.
Dovendo gestire più servi e tempi ridotti organizzerei il programma in maniera diversa, in particolare facendo uso delle state machine, ovvero eseguo il codice nel main e negli interrupt (ISR) cambio solo il valore di stato.
A seconda dello stato della state machine nel main eseguo un codice diverso.
Personalmente userei un timer per una base dei tempi che mi permetta di ottenere 20ms.
Magari con tempi da 10ms, e un secondo timer per orchestrare i servo.
Potrebbe tornare utile un tempo di 10ms * 2 in maniera da fare le impostazioni durante i tempi morti e non dopo i 20ms.
Quali sono le specifiche del tuo sistema?
Quanti servi?
Quanti potenziometri? (mi aspetto 1:1 con servi.)
Saluti,
Mauro
potresti specificare il quarzo di cui fai uso?
Dal momento che parli di tempi degli impulsi presumo che tu abbia fatto delle misure con un oscilloscopio.
Hai modo di postare degli screen shot?
Da uno sguardo veloce, per ora ti posso dire che in generale il timer lo devi attivare dopo che viene impostato altrimenti perdi dei "colpi".
Formalmente se imposti tutti i timer ogni 20ms vuol dire che il tuo periodo totale è 20ms + il tempo che impieghi per le impostazioni.
Dovendo gestire più servi e tempi ridotti organizzerei il programma in maniera diversa, in particolare facendo uso delle state machine, ovvero eseguo il codice nel main e negli interrupt (ISR) cambio solo il valore di stato.
A seconda dello stato della state machine nel main eseguo un codice diverso.
Personalmente userei un timer per una base dei tempi che mi permetta di ottenere 20ms.
Magari con tempi da 10ms, e un secondo timer per orchestrare i servo.
Potrebbe tornare utile un tempo di 10ms * 2 in maniera da fare le impostazioni durante i tempi morti e non dopo i 20ms.
Quali sono le specifiche del tuo sistema?
Quanti servi?
Quanti potenziometri? (mi aspetto 1:1 con servi.)
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
6 Anni 10 Mesi fa - 6 Anni 10 Mesi fa #5
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic pilotare 2 servo con tre timer del pic18f4550
Massimo, io non so più come dirtelo...... quello che leggi nell'oscilloscopio è una somma dei tempi totali di tutti i servi, non il tempo per ogni singolo servo.... se nel programma imposti un timer qualunque per darti 20 ms, sempre 20 ms ti darà, perchè il calcolo del tempo, dopo l''azzeramento dello stesso, prevede quello; il timer è impostato così e non fa ciò che vuole lui..... scusa, ma se tu dovessi usare 16 servi useresti un pic che ha 17 timers? a parte che non esistono, ma ti pare logico? io, come tutti, uso due timer, uno per i 20 ms e l'altro per regolare l'ampiezza del segnale pwm tramite adc... ogni canale adc lo scansiono uno per volta effettuando uno shift.... insomma, te lo ha detto Gianni, te lo detto io, forse in modo velato te lo ha detto anche Mauro e tu ancora ti ostini? vuoi per caso riscoprire l'aqcua calda????? Detto questo, ti abbraccio perchè sei veramente una bellissima persona, a cui mi sono affezionato, nonostante ti abbia conosciuto in una sola occasione, quella del MF2014.... ma dai, prenditi un giorno, vieni a roma a trovarmi e ti dimostreò che ti sbagli..... e dopo andiamo a mangiare un'ottima pinsa (non pizza) a 100 metri da casa mia, chiaramente ospite mio
dimenticavo..... tua famiglia compresa
dimenticavo..... tua famiglia compresa
Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 6 Anni 10 Mesi fa da Pinna.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024