elsinoro Inserito: 5 giugno 2004 Segnala Share Inserito: 5 giugno 2004 Salve a tutti, qualcun potrebbe aiutarmi?Sto realizzando un prog. VB che si interfaccia con un encoder incrementale,ma non riesco a discriminare la direzione in cui gira l'encoder..grazie Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 5 giugno 2004 Segnala Share Inserita: 5 giugno 2004 Scusa , ma hai dimenticato di dire in che maniera hai collegato l'encoder , in quanto che se lo colleghi a degli ingressi digitali senza usare un'apposita scheda dedicata con relativi driver e' meglio che lasci perdere.Ciao Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 6 giugno 2004 Autore Segnala Share Inserita: 6 giugno 2004 L'encoder è collegato tramite la seriale direttamente al pc.L'alimentazione è quella della porta e cerco di controllare le linee A e B dell'encoder. Link al commento Condividi su altri siti More sharing options...
bit Inserita: 6 giugno 2004 Segnala Share Inserita: 6 giugno 2004 Devi riconoscere i fronti di salita e di discesa dei due segnali. Poi in base a questi scegli se incrementare o decrementare il contatore che tiene conto della posizione.Considerando le due fasi a e B le condizioni sono queste:Fase A Fase B ConteggioFDS 0 UPFDS 1 DOWNFDD 0 DOWNFDD 1 UP 0 FDS DOWN 0 FDD UP 1 FDS UP 1 FDD DOWNLegenda:0: livello basso1: livello altoFDD: fronte di discesaFDS: fronte di salitaUP: incremento conteggioDOWN: decremento conteggioNon è affatto complicato realizzare il conteggio software. Basta verificare che il sistema abbia la velocità sufficente alla nostra applicazione. Con un PIC ho raggiunto tranquillamente i 30000 impulsi per secondo.Ciao! Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 6 giugno 2004 Autore Segnala Share Inserita: 6 giugno 2004 Ciao bit,grazie per la dritta datami,ma potresti accennarmi qualche riga di codice(magari in VB).Ci sto uscendo pazzo, ma non riesco ancora a far capire al programma se l'encodergira avanti o indietro. Grazie mille. Link al commento Condividi su altri siti More sharing options...
bit Inserita: 6 giugno 2004 Segnala Share Inserita: 6 giugno 2004 Non conosco VB. Assembler PIC può aiutarti? Se lo capisci lo usi come traccia... Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 8 giugno 2004 Autore Segnala Share Inserita: 8 giugno 2004 Si Bit, l'assembler pic va benissimo..anche se non lo conosc benissimo (ma lo dovrò prima o poi imparare ).Mi sarà sicuramente utilissimo come traccia.Grazie mille.Ciao. Link al commento Condividi su altri siti More sharing options...
bit Inserita: 8 giugno 2004 Segnala Share Inserita: 8 giugno 2004 Ti copio la parte di programma che interessa la gestione dei segnali provenienti dall'encoder. Le fasi dell'encoder sono collegate sui pin RB6 e RB7, cioè i due bit di peso maggiore della porta B.La parte di programma che ti allego è eseguita nella subroutine di interrupt, a sua volta impostata per essere eseguita ad ogni cambio di livello delle fasi dell'encoder.Praticamente ogni volta che una delle due fasi dell'encoder cambia di livello il programma esegue queste istruzioni, che non fanno altro che riconoscere in che verso si è mosso l'encoder e quindi provvedono a incrementare o decrementare il valore del contatore che tiene conto della posizione dell'encoder. ;scambio di posizioni bit memoria fasi BCF STATUS,C ;reset carry RRF MEM_B,F ;MEM_B = 0ab00000 BTFSC MEM_B,05 ;test bit b BSF MEM_B,07 ;MEM_B = bab00000 BCF MEM_B,05 ;MEM_B = ba000000 MOVF PORTB,W ;valore porta b XORWF MEM_B,W ;comparazione bit fasi ANDLW 0xC0 ;mascheratura bit encoder MOVWF MEM_B ;MEM_B = mb+a ma+b 000000 BTFSC MEM_B,07 ;test conteggio orario CALL PIU ;incremento conteggio BTFSC MEM_B,06 ;test conteggio antiorario CALL MENO ;decremento conteggio MOVF PORTB,W ;valore porta b ANDLW 0xC0 ;mascheratura bit encoder 11000000 MOVWF MEM_B ;salvataggio valore bit encoderNon ho riportato le subroutine PIU e MENO, che provvedono a incrementare e decrementare il contatore della posizione dell'encoder.Ciao. Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 9 giugno 2004 Autore Segnala Share Inserita: 9 giugno 2004 grazie mille bit.Ci studio un pò sopra e se ho problemi ti disturbo un altro pò Grazie di nuovo,buona giornata Link al commento Condividi su altri siti More sharing options...
wxy_79 Inserita: 9 giugno 2004 Segnala Share Inserita: 9 giugno 2004 Se ti può interessare ho trovato degli integrati che svolgono il lavoro di decoder di quadratura, ovvero gli mandi dentro i due canali in arrivo dall'encoder incrementale e lui ti da il verso di rotazione e il clock. LS7083 = In uscita hai due pin clock, uno per la rotazione oraria (CW) e uno per l'antioraria (CCW).LS7084 = In uscita ti ritrovi un pin di clock e un bit che discrimina il verso di rotazioneti segnalo il sito dove reperire i datasheet = http://www.usdigital.com/products/ls7083-84/oppureHCTL2016 = Contatore binario a 16 bit per encoder incrementale, molto bello...Io ho provato a cercare rivenditori in Italia di questi componenti, purtroppo non li vende nessuno (almeno così sembra) prova a cercarli anche tu, magari sei più fortunato!!!P.S. Se li trovi mi raccomando fammelo sapere!!!wxy_79_at_infinito.itCiao! Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 9 giugno 2004 Segnala Share Inserita: 9 giugno 2004 Se vuoi fare questo lavoro devi Comprarti o farti una scheda su PC oppure comprarti o farti una scheda gestione encoder da interfacciare alla porta seriale.Pensare di gestire la quadratura del'encoder direttamente da VB e' una emerita cavolata , l'unica alternativa e' un hardware dedicato + driver dedicati di gestione.Ciao Link al commento Condividi su altri siti More sharing options...
bit Inserita: 10 giugno 2004 Segnala Share Inserita: 10 giugno 2004 HCTL2016 lo ha Farnell, ma costa 24 euri + IVA...Gestire un encoder via software è possibilissimo, e fa risparmaire sull'hardware. Basta verificare che la velocità del sistema sia compatibile con le esigenze.Ciao. Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 13 giugno 2004 Autore Segnala Share Inserita: 13 giugno 2004 non ho trovato ancora gli interati che mi hai indicato.Per il discorso software forse ha ragione il nostro amico che dice che da vb è impossibile.Non riesco a scrivere codice che gestisca per bene l'encoder; forse non sono io all'altezza .Se ci sono novità fatemelo sapere.Grazie. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 13 giugno 2004 Segnala Share Inserita: 13 giugno 2004 Per il discorso software forse ha ragione il nostro amico Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 13 giugno 2004 Autore Segnala Share Inserita: 13 giugno 2004 posso discriminare il senso di rotazione dell' encoder usando dei flip flop? Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 14 giugno 2004 Segnala Share Inserita: 14 giugno 2004 (modificato) Guarda qua Esempio decodifica EncoderCiao Modificato: 14 giugno 2004 da ifachsoftware Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 14 giugno 2004 Autore Segnala Share Inserita: 14 giugno 2004 Complimenti ifach per il tuo progetto.Quindi tu confermi che con un flip flop D posso discriminare il senso di rotazione dell' encoder.I collegamenti che ho pensato sono questi:Fase A dell'encoder al clock del FFFase B all' ingresso D.In questo modo sull'uscita Q dovrei avere 0 o 1 a seconda del verso di rotazione.Scusa per la banalità delle mie idee, ma sono poco esperto in questo campo.Grazie comunque dei consigli. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 14 giugno 2004 Segnala Share Inserita: 14 giugno 2004 Corretto , Ciao ... comunque anche io non sono un 'Esperto' di Elettronica Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 20 giugno 2004 Autore Segnala Share Inserita: 20 giugno 2004 Salve ragazzi, avrei un' altra banale domanda da fare?L' uscita Z degli encoder che ne sono provvisti, a cosa serve di preciso?Mica riesco a discriminare il senso di rotazione da essa?Grazie. Link al commento Condividi su altri siti More sharing options...
Dario Valeri Inserita: 20 giugno 2004 Segnala Share Inserita: 20 giugno 2004 ciaola Z e' la tacca di zero .cioe' da' un impulso ad ogni girociaodario Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 22 giugno 2004 Autore Segnala Share Inserita: 22 giugno 2004 Dario quindi sia in senso orario che in senso anti orario, mi restituisce un impulso a giro. Giusto? Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 6 luglio 2004 Autore Segnala Share Inserita: 6 luglio 2004 Salve,ho un altro problemuccio.Ho realizzato il circuito per il senso di rotazione dell'encoder, con un 7474,un 7805 ed un max232.Tutto bene tranne che per la gestione software.Infatti il circuito è interfacciato tramite seriale ed il problema è questo:a velocità alte, ho una perdita di segnale e da software non riesco a leggere velocità maggiori di0,6m/s.L'encoder usato è un HP HEDS-5500.Qualcuno sa come posso risolvere questo problema?Grazie. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 6 luglio 2004 Segnala Share Inserita: 6 luglio 2004 Beh , semplice , non lo gestisci in seriale , ma fai un hardware a parteCiao Link al commento Condividi su altri siti More sharing options...
elsinoro Inserita: 6 luglio 2004 Autore Segnala Share Inserita: 6 luglio 2004 Ciao,quali componenti posso usare per fare un hardware dedicato alla gestione della velocità dell'encoder? Link al commento Condividi su altri siti More sharing options...
Tode Inserita: 6 luglio 2004 Segnala Share Inserita: 6 luglio 2004 Quindi tu confermi che con un flip flop D posso discriminare il senso di rotazione dell' encoder.I collegamenti che ho pensato sono questi:Fase A dell'encoder al clock del FFFase B all' ingresso D. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora