Doppio encoder Robot
Salve a tutti!
Rieccomi di nuovo con un piccolo problema di tipo robotico/informatico. Come alcuni sapranno, sono l'autore del Robot Ampliabile , e da poco ho aggiunto al piccolo robot nuovi sensori, quali sensori segui-linea, anti-caduta ed evita-ostacoli ad infrarosso. Ora volevo montare degli encoder ai due motori del robot, misurando così con precisione la velocità e la distanza. Per la parte elettrica, non penso di avere troppi problemi (non ho ancora realizzato niente, solo idee). Mentre ho qualche dubbio su come gestire il tutto via software. Il PIC in questione è il famoso 16f877, e avevo in mente di utilizzare due dei tre timer incorporati all'interno del PIC, utilizzando gli impulsi dell'encoder come clock per il timer. Ho sparato assurdità?
Volevo sapere se è possibile fare ciò e se cambia qualcosa il fatto che i moduli CCP (sia 1 che 2) sono in funzione (generano due onde quadre per il pilotaggio dei motori)? E poi come faccio a inizializzare i due timer (1 e 2)? Io so solo utilizzare il timer 0 e sono anche riuscito a misurare i giri al minuto di un motorino con encoder.
Programmo in C con MikroC PRO e per quanto riguarda la frequenza massima degli impulsi che possono arrivare al PIC (non so se può essere rilevante questa informazione) non l'ho ancora ipotizzata. Dovrei misurare i giri al minuto della ruota e moltiplicarli per la riduzione meccanica degli ingranaggi (pensavo di mettere il sensore su una ruota dentata del riduttore per ottenere una misurazione più precisa possibile).
Grazie in anticipo,
Rieccomi di nuovo con un piccolo problema di tipo robotico/informatico. Come alcuni sapranno, sono l'autore del Robot Ampliabile , e da poco ho aggiunto al piccolo robot nuovi sensori, quali sensori segui-linea, anti-caduta ed evita-ostacoli ad infrarosso. Ora volevo montare degli encoder ai due motori del robot, misurando così con precisione la velocità e la distanza. Per la parte elettrica, non penso di avere troppi problemi (non ho ancora realizzato niente, solo idee). Mentre ho qualche dubbio su come gestire il tutto via software. Il PIC in questione è il famoso 16f877, e avevo in mente di utilizzare due dei tre timer incorporati all'interno del PIC, utilizzando gli impulsi dell'encoder come clock per il timer. Ho sparato assurdità?
Volevo sapere se è possibile fare ciò e se cambia qualcosa il fatto che i moduli CCP (sia 1 che 2) sono in funzione (generano due onde quadre per il pilotaggio dei motori)? E poi come faccio a inizializzare i due timer (1 e 2)? Io so solo utilizzare il timer 0 e sono anche riuscito a misurare i giri al minuto di un motorino con encoder.
Programmo in C con MikroC PRO e per quanto riguarda la frequenza massima degli impulsi che possono arrivare al PIC (non so se può essere rilevante questa informazione) non l'ho ancora ipotizzata. Dovrei misurare i giri al minuto della ruota e moltiplicarli per la riduzione meccanica degli ingranaggi (pensavo di mettere il sensore su una ruota dentata del riduttore per ottenere una misurazione più precisa possibile).
Grazie in anticipo,