Progetti

   

Tutorial

   

Servizi

   

Sponsor  

   
Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: lettura encoder ottico

lettura encoder ottico 7 Anni 8 Mesi fa #1

  • Berardi
  • Avatar di Berardi
salve a tutti,
seguendo alcuni corsi on line mi è venuta la voglia di fare un piccolo robot.
Avendo già la freedomII ho deciso di sviluppare il robot tramite il PIC18F4550.
nel robot sono previsti 2 encoder ottico non in quadratura.
mi trovo in difficoltà su come poter leggere il segnale e successivamente convertirlo in tick.
qualcuno potrebbe illuminarmi?
:P

grazie mille a tutti
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

lettura encoder ottico 7 Anni 8 Mesi fa #2

  • +RGZ
  • Avatar di +RGZ
  • Offline
  • Junior Boarder
  • Messaggi: 22
  • Karma: 0
Non in quadratura? Come fai a saper da che parte gira ?
Se l'encoder è in quadratura cerca di usare un PIC18F4431 o PIC18FXX31 che hanno già al loro interno la periferica QEI (Quadrature Encoder Interface)
Decodificare il segnale in quadratura via software se il segnale in ingresso è molto veloce non è sempre fattibile, dipende dagli impulsi/giro dell'encoder e dalla velocità di rotazione massima.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

lettura encoder ottico 7 Anni 8 Mesi fa #3

  • Berardi
  • Avatar di Berardi
l'encoder che utilizzo è il seguente
www.sparkfun.com/products/12617
c'è scritto appunto che non è in quadratura infatti ho un solo di uscita per parte.
questo invece è il robot che devo poter pilotare
www.sparkfun.com/products/10825

grazie
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

lettura encoder ottico 7 Anni 8 Mesi fa #4

  • +RGZ
  • Avatar di +RGZ
  • Offline
  • Junior Boarder
  • Messaggi: 22
  • Karma: 0
Salve, dalle immagini che ho visto l'encoder ha una ruota dentata con sei denti quindi la massima risoluzione sul giro che puoi avere è di 360 /12--> 30gradi, io manderei il "canale A" in un ingresso in cui posso abilitare l'interrupt sul fronte di salita.
Quando l'interrupt è intercettato se il motore lo stai pilotando avanti fai in modo che la variabile Posizione (ad esempio) venga incrementata nel caso contrario decrementata. In Posizione quindi avrai la posizione grossolana 360/6. Nel momento in cui nel Main devi confrontare il valore con un'altro per poi decidere se fermare o rallentare, prendi il valore Posizione e, se l'ingresso "canale A" è alto il valore Posizione non lo tocchi se è basso ci sommi 1, così avrai la risoluzione doppia. Spero di essermi spiegato, il sistema è molto rozzo prendilo come spunto. Ho visto che l'encoder ha OUTA e OUTB ma non capisco che relazione c'è fra i due canali Saluti Gabriele
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Powered by Forum Kunena
   
© LaurTec 2006-2015