spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica di base > Informatica > P. in Basic per micro

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 13-01-2010, 16.06.30
ialex80 ialex80 non è collegato
Nuovo robottaro
 
Data registrazione: 24-11-2008
Residenza: Messina
Età : 39
Messaggi: 21
Potenza reputazione: 0
ialex80 E' per ora ancora un mistero
Predefinito Encoder Aiutooooo!!!

Salve a tutti e buon 2010!!!

Ho questo problema se così si può definire...
mi ritrovo con un encoder rotativo Alps 265-1739
non riesco a capire il funzionamento dello stesso e come posso interfacciarlo a un pic16f84a o 16f628a.
L'unica cosa che ho capito è che girando in un senso, dai suoi piedini esce un segnale preciso e cioè girandolo in senso orario sal piedino "A" esce 1001 e sul "B" 1100 girandolo in senso antiorario invece su "A" 1100 su "B" 1001.
Questo è quanto.
La mia domanda è: come faccio a dire al pic che deve quando giro in senso orario incrementare un variabile e quando invece giro in senso antiorario decrementarla?
Non so interfacciare l'encoder al pic o meglio, non so da dove iniziare con il software perchè x l'hardware non è un problema!!!
Avevo pensato di far leggere ad esempio sul pin portb.0 e portb.1 il codice binario generato dall'encoder....Qualcuno sa come aiutarmi in picbasic????
Rispondi citando
  #2  
Vecchio 13-01-2010, 21.31.19
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Età : 58
Messaggi: 5,458
Potenza reputazione: 423
marnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua fama
Predefinito

Con i pic che hai indicato e il picbasic.... direi che non è possibile per quanto ne so.
In sostanza il concetto è questo, colleghi uno dei due canali ad un pin in grado di attivare un interrupt e lo deve fare su un fronte di salita o di discesa, in quel momento devi controllare l'altro canale, se il livello è alto il motore gira in un senso, se è basso gira nell'altro.
Ora, in pic basic l'interrupt è anzi non è gestito, nel senso che questo viene attivato solo tra una istruzione e l'altra, senza certezza dei tempi e quindi potresti avere la lettura "contraria".
Ci sono dei pic con l'hardware dedicato per questo tipo di encoder, detti in quadratura, ad esempio il 18f2431 o i suoi fratelli a 40 pin
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
  #3  
Vecchio 14-01-2010, 06.32.52
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Età : 60
Messaggi: 3,377
Potenza reputazione: 352
astrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua famaastrobeed La sua reputazione è oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da marnic Visualizza messaggio
Con i pic che hai indicato e il picbasic.... direi che non è possibile per quanto ne so.
Quello che dici è giusto, però alla sigla del componente corrisponde un encoder meccanico da 24 impulsi giro, per capirci sono quelli usati per sostituire i potenziomentri sulle autoradio o applicazioni similari.
Dato che il dispositico è pensato per una bassa velocità di rotazione si può gestire anche tramite polling su due pin e una state machine implementabile anche su mcu molto semplici come il 16F84.
La logica di funzionamento è la stessa dei normali encoder ottici usati per rilevare la velocità di rotazione e distanza sui motori, i due canali A e B sono tra loro sfasati di 90° e per questo hanno la particolarità di cambiare stato solo uno alla volta.
In pratica si ha questa sequenza di variazione ruotando l'encoder

A B

1 1
1 0
0 0
0 1

Monitorando costantemente, tramite polling o, meglio, tramite interrupt, lo stato dei due pin in base alla sequenza logica è possibile capire se l'encoder gira in un senso o nell'altro e di conseguenza incrementare, o decrementare, step by step una variabile che poi verrà usata per compiere un qualche controllo.
__________________
Bye
Rispondi citando
  #4  
Vecchio 14-01-2010, 09.43.32
ialex80 ialex80 non è collegato
Nuovo robottaro
 
Data registrazione: 24-11-2008
Residenza: Messina
Età : 39
Messaggi: 21
Potenza reputazione: 0
ialex80 E' per ora ancora un mistero
Predefinito Grazie.....

Grazie per le risposte tempestive...In effetti mi sembrava strano perchè ho visto alcuni progetti in rete con pic16f84 e tutti funzionanti....
Adsso almeno è un'inizio....
E' possibile avere un esempio in picbasic "io uso il MicroCode Studio per compilare" in modo da capire bene come fare il polling o meglio come utilizzare l'interrupt per questo scopo?

Qualcuno può farmi anche un esempio veloce? Sarebbe molto gradito... Vi ringrazio per il momento e aspetto una vostra risposta! Ps:Marnic grazie per la tua pazienza....se puoi aiutarmi con un esempio sarebbe meglio! :-)
Rispondi citando
  #5  
Vecchio 15-01-2010, 08.33.15
ialex80 ialex80 non è collegato
Nuovo robottaro
 
Data registrazione: 24-11-2008
Residenza: Messina
Età : 39
Messaggi: 21
Potenza reputazione: 0
ialex80 E' per ora ancora un mistero
Predefinito Help...

Nessuno che possa buttare giù 2 righe per aiutarmi a capire come fare????
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Aiutooooo mini atom board jonmilner Forum generale 1 03-11-2008 14.35.38
encoder sin cos steza66 Elettronica 8 19-10-2008 12.51.03
AIUTOOOOO creazione di una base robot lellobello Forum generale 26 18-07-2008 14.29.11
Encoder chiccow I-Droid 01 25 27-12-2007 18.22.07
Problema con il mio sito: aiutooooo! chiccow Discussioni off-topic 5 07-05-2006 10.42.48


Tutti gli orari sono GMT. Adesso sono le: 18.06.57.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB