home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Robotica, CNC, 3D
Finalmente un posto dove poter discutere di robotica di CNC e stampanti 3D, scambiarsi idee, progetti ed opinioni. Partecipa anche tu...


aiuto per robot bilanciato a 2 ruote
     
Autore Messaggio opzioni
Valerio81





postato il:
25.12.2015, alle ore 19:09
aiuto per robot bilanciato a 2 ruote 

Salve a tutti sto cercando di costruire un robot a due ruote che dovrebbe rimanere bilanciato in verticale da solo, controllato grazie ad un accelerometro e giroscopio.
Pensavo che bastasse poco ma è più complicato di quanto pensassi.
Praticamente ho fatto tutta la struttura, motori, batterie, circuito con pic che legge l'accelerometro e con un ponte H fornisce le tensioni ai motori per mantenerlo in equilibrio.

Tutto fatto, il codice che ho sviluppato non fa altro che leggere la posizione dell'accelerometro in ogni istante e in base a questa deve fornire le tensioni necessarie ai motori.

CADE IN CONTINUAZIONE....

Potete aiutarmi a capire bene dove posso sbagliare magari con domande a cui non ho pensato, se volete vi posso mandare il codice.




Le cose semplici funzionano sempre.
Noè fece l\'arca ma gli ingenieri fecero il titanic
FrancoGual



[pagine pubblicate]

postato il:
25.12.2015, alle ore 20:06
Non sono un programmatore, ma suppongo che se non integri qualcosa di estremamente veloce e integrato (PID) non IC cadra' in ogni caso.


Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
25.12.2015, alle ore 20:16
qui puoi trovare qualche spunto
http://www.grix.it/viewer.php?page=12132



"se peso cado, ma se cado non peso"
adamatj.altervista.org
rcc.roberto



[pagine pubblicate]

postato il:
25.12.2015, alle ore 20:24
anche qui:
http://www.grix.it/viewer.php?page=12441
pippodue




una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
26.12.2015, alle ore 00:31
Un primo problema è quello di misurare l'inclinazione tramite due accelerometri nonostante la presenza di una accelerazione orizzontale dovuta alla spinta dei motori.
In rete ho trovato diversi esempi secondo me lacunosi, la trattazione più convincente mi è parsa quella accennata all'inizio di questo link
http://www.robot-italy.net/roboforum/showthread.php?t=2673




anche i grandi uomini, come gli uomini comuni, possono talvolta cadere in errore (Voltaire)
schottky





postato il:
26.12.2015, alle ore 09:02
Valerio81:


Tutto fatto, il codice che ho sviluppato non fa altro che leggere la posizione dell'accelerometro in ogni istante e in base a questa deve fornire le tensioni necessarie ai motori.




Il problema sarà magari quello, come le determini le tensioni 'necessarie' che ne sai dei sistemi di controllo. Tieni conto che questa è uno dei più classici esempi di applicazione di controlli autometi (il cosiddetto PENDOLO INVERTITO) può essere approcciato con la modellistica classica, in questo link trovi tutti i conti sviluppati su un esempio (scritto in Matlab ma facilmente comprensibile)
http://ctms.engin.umich.edu/CTMS/index.php?example=InvertedP…
Oppure con approcci non convenzionali come per esempio il controllo Fuzzy, vedi per esempio questo articolo
http://neuron-ai.tuke.sk/vascak/predmety/FSR/Eseje/Seliga…



Il vantaggio di essere intelligente e' che si puo' sempre fare l'imbecille, mentre il contrario e' del tutto impossibile. -- W. Allen
schottky





postato il:
26.12.2015, alle ore 09:05
Dice poi giustamente Fracogual, rigurdo alla velocità dell'intero sistema di acqusizione/calcolo/attuazione. Quale sia l'approccio teorico seguito quando si va a digitalizzare un sistema di controllo occorre perchè le cose funzionini che i tempi di elaborazione (che si riflettono sulla frequenza di campionamento) siano trascurabili rispetto alla più veloce costante di tempo del sistema


Il vantaggio di essere intelligente e' che si puo' sempre fare l'imbecille, mentre il contrario e' del tutto impossibile. -- W. Allen
capperom





postato il:
26.12.2015, alle ore 19:32
Se usi il pic dovresti anche guardare la AN964 di microchip
http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=e…
che presenta un'applicazione di pendolo inverso con 16F684
pippodue




una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
29.12.2015, alle ore 20:16
AN964 usa un potenziometro rotativo per misurare l'inclinazione del pendolo e quindi tenerla sotto controllo per azzerarla, tramite l'intervento di un motore.
Altri invece per realizzare un veicolo tipo segway propongono un sacco di calcoli difficili per arrivare a determinare la stessa inclinazione partendo dai segnali di accelerometri e giroscopi. Poi il sistema di regolazione provvederebbe come sopra a controllare questa inclinazione per azzerarla.
Ma è proprio necessario usare come variabile l'inclinazione, visto che è tanto difficile misurarla a bordo di un veicolo? Un accelerometro tipo MEM ha come elemento sensibile interno una piccola massa di cui percepisce lo squilibrio, non potremmo usare direttamente la sua uscita come misura dello squilibrio da azzerare, senza bisogno di passare tramite l'inclinazione?
Può darsi che io stia dicendo delle corbellerie, intanto sono tentato di fare delle prove.



anche i grandi uomini, come gli uomini comuni, possono talvolta cadere in errore (Voltaire)
pippodue




una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
30.12.2015, alle ore 08:10
Valerio81:
non fa altro che leggere la posizione dell'accelerometro in ogni istante e in base a questa deve fornire le tensioni necessarie ai motori

Chi ti ha detto che si fa così? Non è una domanda tendenziosa, vorrei davvero sapere se c'è una fonte in proposito. Se davvero la strada è questa, penso che ci sia da aggiungere almeno una derivata del segnale e un segnale di posizione ricavato da un encoder in quadratura sulle ruote.



anche i grandi uomini, come gli uomini comuni, possono talvolta cadere in errore (Voltaire)
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale