interfaccia encoder

Forum relativo alle schede FLEX, ERIKA Enterprise, RT-Druid, ScicosLab, ...

Moderator: paolo.gai

Locked
Giulio
Newbie
Posts: 4
Joined: Mon Oct 20, 2008 4:42 pm

interfaccia encoder

Post by Giulio » Mon Oct 20, 2008 5:11 pm

Ciao,
mi chiedevo come posso fare ad interfacciare un secondo encoder nella Flex-full; mi ero informato sul forum della microchip, dove parlano di un external quadrature-interface chips come l\'HCTL2032.
che soluzioni consigliate?
Giulio

paolo.gai
Administrator
Posts: 875
Joined: Thu Dec 07, 2006 12:11 pm

Re:interfaccia encoder

Post by paolo.gai » Mon Oct 20, 2008 8:39 pm

Ciao,

le soluzioni sono varie... dipende da quali porte hai libere sulla scheda. Tempo fa avevamo visto alcuni chip con bus SPI... oppure in alternativa puoi provare a connettere l\'encoder a 2 GPIO. Un primo GPIO genera un interrupt ed a seconda del valore sul secondo pin capisci in che direzione ti stai muovendo...

Ciao,

Paolo

nino
Newbie
Posts: 15
Joined: Thu Sep 04, 2008 1:14 pm

Re:interfaccia encoder

Post by nino » Thu Nov 06, 2008 4:53 pm

Come diceva anche Paolo, le soluzioni sono molteplici. Quelle a 2-pin funziona con segnali lenti e/o poco rumorosi. Altrimenti ci si appoggia ad un chip esterno. Nei mesi scorsi, per prove interne, si era parlato sia del modello nominato da te sia di altri chip ma nulla è stato ancora realizzato, quindi non so darti \"preferenze\" basate su prove certe e neppure abbiamo codice per qualcuno di questi chip.

Giulio
Newbie
Posts: 4
Joined: Mon Oct 20, 2008 4:42 pm

Re:interfaccia encoder

Post by Giulio » Thu Nov 20, 2008 3:53 pm

Ciao,

ho provato a realizzare uno schema scicos per acquisire i due canali degli encoder tramite 2 gpio;nel costruirlo ho utilizzato il blocco \"edge trigger\" che non appartiene alle palette della flex. La compilazione non genera alcun file pic30.cof e crediamo sia appunto causa di quel blocco.
Avete un blocco compatibile, una funzione c del blocco, o una funzione c per l\' elaborazione in quadratura di questi due segnali dell\'encoder? Avete gia sviluppato una funzione c del genere?

Grazie
Giulio

paolo.gai
Administrator
Posts: 875
Joined: Thu Dec 07, 2006 12:11 pm

Re:interfaccia encoder

Post by paolo.gai » Fri Nov 21, 2008 11:56 am

Ciao Giulio,

- Abbiamo realizzato un blocco encoder per la scheda Flex (dovrebbe essere dentro la palette FLEX_sources), con relativa implementazione in C.
- ma non abbiamo con noi il codice per la lettura degli encoder da condividere... se lo scrivi e ce lo puoi spedire vediamo di integrarlo!

Ciao,

Paolo

Giulio
Newbie
Posts: 4
Joined: Mon Oct 20, 2008 4:42 pm

Re:interfaccia encoder

Post by Giulio » Sat Feb 07, 2009 5:15 pm

Ciao,

durante il mio lavoro con la flex è sorto un problema con i gpio del dsPIC: dopo qualche genere di fenomeno, un particolare pin non funziona più come prima.
In poche parole, sto realizzando un semplice controllo di posizione di un motore DC, con un encoder incrementale al QEI, un ponte h (L6203 della ST) per l\'inversione di rotazione ed il controllo progettato su scicos. I due ingressi logici del ponte, che hanno il compito di invertire la tensione al motore, sono l\'uno il negato dell\'altro; ricevono i segnali dai gpio del dsPIC che, in base al controllo disegnato, corrispondono al segno dell\'errore di posizione rispetto ad un valore di riferimento (mettiamo 90°). Quello che deve succedere, con l\'encoder non attaccato al motore, ma variando manualmente la posizone, è che avvicinandosi a 90° il segnale PWM da 3.3V arriva a zero; una volta superato i 90°, sempre in base allo schema scicos, questo segnale rinizia a salire verso verso i 3.3V, ma invertito sul motore, a causa della commutazione dei due ingressi logici del ponte. Il problema nasce in questo passaggio di inversione di rotazione, in quanto all\'atto di questa commutazione solo il gpout corrispondente al segno dell\'errore negato, non funziona più come prima, cioè si blocca ad un valore di tensione senza più cambiarlo, anche a seguito di nuovi atti di commutazione (uno s\'è bloccato al valore di 3.3V ed un altro a 0.6). Se non è chiaro e serve lo schema del controllo, posso inviarlo via email. Il segnale PWM viene inviato all\'ingresso enable del ponte (en).

Grazie
Giulio

paolo.gai
Administrator
Posts: 875
Joined: Thu Dec 07, 2006 12:11 pm

Re:interfaccia encoder

Post by paolo.gai » Sat Feb 07, 2009 6:28 pm

Ciao giulio,

Alcune domande iniziali:
- prova a staccare la demo board. I pin PWM funzionano a vuoto?
- potrebbe essersi bruciato uno dei pin del micro. Cosa succede se da scilab selezioni un\'altro PWM? l\'altro PWM funziona?
- (solos e sei uno studente dell\'Univ di Firenze) Ho parlato ieri con Benedetto, mi ha detto che forse avete bruciato uno dei diodi del ponte H... magari dateci uno sguardo :-)

Ciao,

PJ

Locked