spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica Avanzata > Motori e azionamenti

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 19-06-2012, 11.19.28
L'avatar di giurom88
giurom88 giurom88 non è collegato
Nuovo robottaro
 
Data registrazione: 27-04-2012
Residenza: Bianco
Messaggi: 13
Potenza reputazione: 0
giurom88 E' per ora ancora un mistero
Predefinito PID su AVR per mini motoriduttori in metallo

Buongiorno a tutti.
Lo so che l'argomento PID applicato ai robot è abbastanza trattato on line, ma c'è sempre qualcosa che mi sfugge.

So a cosa serve e come dovrebbe funzionare un PID, ma la sua implementazione su microcontrollore ancora mi turba.

In pratica, dopo svariate peripezie, ho comprato 2 mini-motoriduttori in metallo con rapporto 100:1 come questo:
http://www.robot-italy.com/product_i...oducts_id=1018

Adesso, andando a progettare il mio primo robottino (forma ad ottagono ottenuta su un foglio di compensato e mosso da 2 ruote motrici, con una terza ruota d'appoggio), da prime prove noto che spesso il robot non va in linea retta:
Ciò è sinonimo che qualche ruota ogni tanto va più lenta dell'altra per svariate cause...

Da ciò giungo alla conclusione che mi tocca un PID (o basterebbe un semplice PI) per tenere sempre sotto controllo le velocità delle due ruote.

A riguardo avevo pensato a 2 encoder IR a riflessione fatti magari con 2 qrd1114 o equivalenti (mi toccano quelli a riflessione perchè non c'è spazio abbastanza per fare quelli a trasmissione) che mi fanno contare degli impulsi sfruttando gli interrupt del micro (un ATMEGA8535).

A questo punto iniziano a sorgere i problemi...

Ipotizzando di volere un certo numero di impulsi di riferimento in un certo tempo, dovrei confrontarli (magari mediante sottrazione) con quelli che effettivamente giungono dagli encoders:
questa differenza la mando in pasto al PID che dovrebbe andare ad agire sul duty cycle dei PWM che pilotano i motori.

Le costanti del PID come le scelgo???
Questi motorini non hanno datasheet che mi portano tutte le specifiche per poterli modellare in matlab e fare prima delle simulazioni...

Inoltre non mi è ben chiaro l'algoritmo intermedio che vi è tra equazione del PID e Duty Cycle...

Ringrazio anticipatamente tutte le anime PIE che vorranno aiutarmi!
Rispondi citando
  #2  
Vecchio 19-06-2012, 14.03.18
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 24-05-2002
Residenza: Monselice (PD)
Età : 59
Messaggi: 5,458
Potenza reputazione: 430
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

Sui PID vai qui e trovi anche il codice già pronto, magari non per i tuoi micro ma comunque in C.
Se ti serve solo andare dritto più che PI direi PD anche se in effetti dipende da come implementi il tutto
Per la relazione tra PID e PWM direi che è diretta se piloti il motore in LAP, la relazione tra PWM e velocità del motore è piuttosto lineare ed è poi compito del PID aggiustare le differenze.
Sulle 3 K ne ho lette di tutti i colori, di solito si ottimizzano sperimentalmente almeno ai nostri livelli, sempre sul sito che ti ho indicato trovi delle indicazioni che credo discostino poco dal tuo obbiettivo.
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
  #3  
Vecchio 21-06-2012, 00.45.14
L'avatar di giurom88
giurom88 giurom88 non è collegato
Nuovo robottaro
 
Data registrazione: 27-04-2012
Residenza: Bianco
Messaggi: 13
Potenza reputazione: 0
giurom88 E' per ora ancora un mistero
Predefinito

Grazie del link!
Veramente ottimo!
Pensare che ci ero passato ma l'avevo letto superficialmente...
Adesso mi ci dedico un po' all'analisi del codice per capirci bene la teoria sotto.
Rispondi citando
  #4  
Vecchio 21-06-2012, 07.40.37
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Età : 65
Messaggi: 1,418
Potenza reputazione: 344
guiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Il PID di Dino (http://www.guiott.com/PID/index.html) è realizzato su un PIC 18F in modo discreto, usando gli interrupt on change e codice scritto studiando le lezioni del Prof. Orsini linkate nella pagina. Sono molto chiare ed esaurienti e rivolte proprio ad un'analisi non solamente teorica ma applicata ai nostri scopi.

Quello di Rino (http://www.guiott.com/Rino/dsNavCon/...n_FW_dsPID.htm) è un po' più specializzato in quanto usa un dsPIC33F Motor Controller con due Quadrature Encoder Interface a bordo e le librerie PID del C30. E' stato quindi molto più facile realizzarlo ed è sicuramente più efficace ma è meno didattico.


Non esitare a chiedere per qualsiasi dubbio.
__________________
Guido
------
www.guiott.com
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
Telaio: metallo o legno? g5pw Meccanica e materiali 3 28-07-2007 12.05.50
mini robosapien deusexmachina Forum generale 5 13-09-2005 10.37.40
mini pompa drinu Elettronica 5 22-08-2005 13.35.36
Mini ITX feynman1977 Elettronica 18 19-03-2004 09.34.52
Motori MINI 4WD Vegekou Motori e azionamenti 24 07-03-2004 10.05.34


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


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