Re: Ancora encoder

"Igor" ha scritto nel messaggio

Vi spiego un attimo cosa devo realizzare... > Un controllo di velocità per 3 motori. Utilizzo un micro della mitsubishi
a
40 Mhz. Secondo voi è sufficiente a fare la quadratura dell'encoder per i
3
motori, e ad implementare gli alogritmi pid? Inoltre si occupa > dell'interfacciamento con un pc. > Gli encoder hanno 500 passi e i motori raggiungono al massimo 3000 giri.

Non che micro usi ma te lo scordi di fare la quadratura di 3 encoder più i relativi algoritmi PID di controllo con un solo micro, sopratutto alla luce della frequenza input massima (500*4*3000/60 = 100kHz) Perlomeno dovresti fare la quadratura all'esterno del micro, lui sui occupa solo dei 3 PID, poi se usi 3 IC dedicati, tipo gli HCTL2020 di Agilent, oppure la fai con tre PIC (meglio gli Scenix vista la massima frequenza di input) o meglio ancora realizzando una logica discreta esterna questa è una tua scelta progettuale. Una buona soluzione potrebbe essere usare tre HCTL1000 che oltre a gestirti la quadratura, con risoluzione a 32 bit, ti implementano pure il PID con relativa generazione del segnale PWM di controllo, a questo punto il processore principale si deve limitare a mandare i corretti comandi di posizionamento e ad interfacciarsi con il pc. Giusto per curiosità cosa devi realizzare ?

Bye

Reply to
Anonymous
Loading thread data ...

Personalmente ritengo di sì, ho una positiva esperienza realizzata con i 18F452, non ho avuto però mai esperienze di programmazione dei mitsubishi. Se c'è la possibilità di passare ad una piattaforma diversa potremo collaborare al progetto. Inoltre in questo caso non ti interessa far lavorare gli encoder in quadratura perché l'unica cosa che ti interessa è il tempo che intercorre tra due fronti d'onda generati da una fase dell'uscita dell'encoder.

Ciao

Igor wrote:

Reply to
Silvio Baccari

"Igor" ha scritto nel messaggio

Sbaglio o vuoi realizzare una piattaforma olonomica, tre ruote omnidirezionali a 120° ?

Bye

Reply to
Anonymous

Si, per dei robot che partecipano alla robocup.

Igor.

">" ha scritto nel messaggio news:3QtQa.26966$ snipped-for-privacy@news1.tin.it...

piano

Reply to
Igor

"Igor" ha scritto nel messaggio

Ok, problema inquadrato. Tanto per cominciare ti dico subito che encoder da 500 step sono inutili per quel tipo di applicazione, se puoi metterne da meno è meglio. La soluzione ideale è usare tre IC dedicati che fanno da PID per i motori e al tempo stesso decodicano gli encoder, se lasci i 500 step la quadratura non ti serve perchè di risoluzione ne hai fin troppa. Basta che usi i due canali come clock e direction, sul direction basta che verifichi la fase quando avviene la transizione del clock, per esempio da 0 a 1, e sai la direzione di movimento. Infatti se osserviamo la tabella di cambio dei due canali:

Dir Clock

0 0 0 1 1 1 1 0

Abbiamo che se ti muovi in un senso il canale dir è sempre 0 durante la transizione da 0 a 1 del clock, se ti muovi nel verso opposto il canale dir è sempre 1 durante la transizione da 0 a 1 del clock. In questo modo il software di controllo è molto leggero e non hai problemi di velocità input, che senza quadratura arriva al massimo a 25kHz. Con un PIC a 20MHz dovresti farcela senza troppi problemi a gestire completamente un motore, cioè a leggere l'encoder gestire il pid e generare il pwm necessario. Ovviamente il calcolo dei vettori di movimento (posizione, velocità, accelerazione) vengono fatte da un processore centrale che ha a disposizione le letture dei tre encoder. Diciamo che complessivamente te la cavi con quattro processori, tre per i motori e uno centrale che calcola la trazione olonomica e gestisce la comunicazione su pc. Se ti interessa approfondire questi argomenti con gente esperta ti consiglio di isciverti a questa mailing list:

formatting link

Vi sono presenti pure svariate persone che si occupano/partecipano alla robocup.

Bye

Reply to
Anonymous

Perchè non va bene? Io gestisco la velocità di ogni ruota, è questa l'informazione che mi viene passata dal "cuore" del robot.

"Silvio Baccari" ha scritto nel messaggio news: snipped-for-privacy@artemedia.org...

Reply to
Igor

Perchè non va bene? Io devo gestire le velocità di ogni ruota, è questa l'informazione che mi viene fornita dal robot.

"Silvio Baccari" ha scritto nel messaggio news: snipped-for-privacy@artemedia.org...

Reply to
Igor

"Igor" ha scritto nel messaggio

viene

Tranquillo è giusto quello che dice tu, nel movimento olonomico quello che conta è la velocità delle singole ruote pertanto è vitale conoscerla con la massima precisione.

Bye

Reply to
Anonymous
1) Non ho mai detto che Igor fosse in torto; 2) Sei abituato a giudicare, fossi in te, mi darei una calmatina; 3) E' buona abitudine far parlare l'interessato, sia per correttezza nei suoi confronti, che nei miei; 4) Non ho né tempo ne voglia di documentarmi sulla robocup; 5)Le soluzioni dipendono dai vincoli e dalle specifiche, non dal contesto; 6) Se sei tanto capace invia sul newsgroup la soluzione completa con codici, circuiti e tutto quello che occorre; avrai le mie congratulazioni e ci insegnerai anche cose importanti. 7) Foto e disegni sono graditi.

Ciao

Reply to
Silvio Baccari

"Silvio Baccari" ha scritto nel messaggio

Dimenticavo, mi ricordo ancora dei tuoi interventi nel precedente thread "encoder incrementale" dove hai dimostrato di non sapere nemmeno cosa fossa la quadratura e tantomeno come vengono usati gli encoder.

Bye

Reply to
Anonymous

Rispondendo alimenterei solo la tua "spocchia" . AfterBurner? Mandami in privato le tue referenze che mi sembra di parlare con un fumetto!

Reply to
Silvio Baccari

Se vuoi ti mando un lavoro realizzato per il corso di Controlli Automatici "Un controllore PID implementato con il PIC18F452 e tarato con il metodo di Ziegler e Nichols in anello aperto" dove, tra le altre cose interfaccio, un encoder ottico. Ciao,fumetto!

Reply to
Silvio Baccari

">" ha scritto nel messaggio news:7mNRa.91351$ snipped-for-privacy@news2.tin.it...

Mi interessa, puoi mandarlmelo? Grazie 1000,

-= Andry =-

Reply to
-= Matrix =-

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.