Forum: Mikrocontroller und Digitale Elektronik Mini-Segway-Roboter


von Torsten C. (torsten_c) Benutzerseite



Lesenswert?

Hallo zusammen,

angeregt durch den
* Beitrag "Uhr wie im Ham Yard Hotel in London" und den
* Beitrag "Re: Billige Laserprojektoren, welche Galvos?"
beschäftige ich mich gerade mit kleinen Schrittmotoren.

Die Grenze zu 'klein' ziehe ich dabei bei Motoren, die z.B.
* von den 60mA eines MC33204 oder
* über einen Class-B-Verstärker mit LM324 und zwei BJTs
angetrieben werden können, also nicht mit MOSFETs und PWM.

Statt über PWM erfolgt die Ansteuerung vorzugsweise durch den 9ct-DAC 
PT8211, siehe auch:

https://github.com/TorstenC/Notizblog/wiki/PT8211

Da hierfür nur wenige mA benötigt werden, sollen dieser PT8211 
DA-Umsetzer und Operationsverstärker zum Einsatz kommen, denn sie sind 
billiger und verursachen weniger Störungen (EMV) als PWM und H-Brücken, 
siehe auch:

https://github.com/TorstenC/Notizblog/wiki/VID28-PCB

Beispiel-Motoren zum Test, siehe
Beitrag "China Schnäppchen Mini-Stepper"

Falls noch Jemand Ideen oder Tipps hat, oder mitbauen möchte:
* Immer her mit Tipps!
* Wir können die PCBs teilen!
* Wir können uns Bauteile von AliExpress teilen!

Falls nicht, melde ich mich hier mit *.sch, *.brd und YouTube-Video 
wieder, wenn der erste Mini-Segway-Roboter (ca. 10cm hoch) gegen ein 
paar 'Anstuppser' resistent ist.

VG Torsten

: Verschoben durch Moderator
von potor w. (Gast)


Lesenswert?

Wilde Spekulation: Auch dieses Projekt wird nach einer wilden 
Planungsphase und dem Bestellen der Bauteile auf Aliexpress (Wobei der 
Fokus auf dem Einsparen von ca 3.76$ in der BOM liegt) in der Schublade 
liegen bleiben.

Vielleicht sollte man dieses Brett wirklich nur für fertige Projekte 
nutzen?

von potor w. (Gast)


Lesenswert?

Auch noch im Nachgang: Warum ist hier der Class-B Verstärker in 
irgendeiner Weise relevant? Es gibt Haufenweise fertige Bausteine zur 
Ansteuerung von Motoren, so dass man sich auf die tatsächlichen Probleme 
dieses Projektes konzentrieren könnte: Den "inverse Pendulum" Kontroller 
und die mechanische Konstruktion.

Stepper sind hier nicht unbedingt notwendig, da Du sowieso eine 
geschlossene Regelsschleife benötigst.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Grundsätzlich sehe ich zwei Möglichkeiten: Analog mit OP-Amp oder PWM.

Für die anderen Projekte mit Zeiger-Modulen komme ich mit 20mA hin, da 
ist 'analog' - wie gesagt - einfacher und EMV-verträglicher.

Ich dachte an die beiden zusätzlichen BJTs, tatsächlich, um ein paar 
Cent zu sparen. Bei der 'Uhr wie im Ham Yard Hotel'^^ müssen über 600 
Motoren gesteuert werden, da machen ein paar Cent schon einen 
Unterschied. Allerdings kostet PCB-Fläche auch Geld und die Bestückung 
dauert länger.

Ursprünglich wollte ich den Mini-Segway nur mit diesen 
Zeiger-Modul-PCBs aufbauen und die gleichen PCBs verwenden, wie auch 
für die Ham-Yard-Hotel-Uhr.

Für diese Stepper (Link stand schon oben):
   http://www.aliexpress.com/snapshot/6710026782.html
sind keine Daten angegeben. Ich vermute:
   3-5V, 0.3A, 20Ω, 18° (20 Schritte pro Umdrehung),
also vergleichbar zu diesen:
* ebay 261902159330
* http://www.amazon.de/-/dp/B00O9Y6NMM

Also:
* Zeiger-Module mit OP-Amp (vermutlich ohne zusätzliche BJTs) und
* Stepper mit über 100mA über PWM und einen L293

Oder?

potor w. schrieb:
> Stepper sind hier nicht unbedingt notwendig, da Du sowieso eine
> geschlossene Regelsschleife benötigst.

Wie meinst Du diesen Satz? Notwendig nicht aber einfach und billig. Ich 
dachte an sowas wie hier unter 'Sensorlose Regelung von Schrittmotoren' 
beschrieben:
http://de.nanotec.com/support/application-notes/sensorlose-regelung-von-schrittmotoren/

Für alles andere kämen noch wieder Winkel-Aufnehmer dazu.

potor w. schrieb:
> dieses Projekt wird … in der Schublade liegen bleiben.

Das kann ich natürlich nicht ausschließen. In diesem Thread aber bitte 
keine wilden Spekulation und keine Diskussionen, die in das Forum 'Wie 
findet ihr diese Website, was würdet ihr verbessern?' gehören:
https://www.mikrocontroller.net/forum/website

potor w. schrieb:
> Es gibt Haufenweise fertige Bausteine zur
> Ansteuerung von Motoren

Ja, z.B ein L293. Ziemlich riesig, aber billig und für eine PWM-Variante 
vermutlich die beste Wahl.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> Für alles andere kämen noch wieder Winkel-Aufnehmer dazu.

Wieso? Für einen Segway brauchst du nur einen Neigungssensor. Wenn er 
nach vorne kippt, beschleunigst du nach vorne. Wenn er nach hinten 
kippt, beschleunigst du nach hinten.

Ich wüsste nicht, wo man da einen Winkel-Aufnehmer unterbringen kann.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Stefan Us schrieb:
> Ich wüsste nicht, wo man da einen Winkel-Aufnehmer unterbringen kann.
Das sehe ich auch so, danke. Weisst Du was 'potor w.' mit 'geschlossene 
Regelsschleife'^^ meint? Ich vermute, er meinte einen Winkel-Aufnehmer.

BTW nochmal zur Motivation: Eigentlich wollte ich sowas schon längst mal 
bauen, und zwar so klein und preiswert wie möglich. Größer und teuerer 
gibt es nämlich schon in 100ten von Varianten.

Da ich aus dem Ham-Yard-Hotel-Uhr-Piloten Stepper-PCBs übrig habe (immer 
12 BCBs bei ITEAD), will ich aus dem Rest solche Mini-Segway-Roboter 
machen.

Die 300mA-Motoren für 22ct (dann mit PWM) machen für den Segway jedoch 
sicher mehr Sinn als die teureren 20mA-Motoren mit 1mNm Drehmoment:

https://github.com/TorstenC/Notizblog/wiki/Zeiger-Module

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Torsten C. schrieb:
> beschäftige ich mich gerade mit kleinen Schrittmotoren.
> LM324 und zwei BJTs angetrieben werden können,

Was willst du da mit einem LM324 ?

Kann es sein, daß du nicht mal eine Ahnung hast, was ein Schrittmotor 
eigentlich ist ?

Das ist eine ganz schlechte Basis, um zu einem selbstbalancierenden 
Gefährt zu kommen.

Besorge dir Glockenankermotore von Maxon oder Faulhaber mit Getriebe 
passend für die anzubauenden Räder und die Maximalgeschwindigkeit. Diese 
Motoren können schnell und präzise auf die Regelung reagieren.

Und achte darauf, daß die STROM vertragen, denn es ist besser in 
schwierigen Situationen viel Kraft zu haben, an statt umzufallen (die 
Dauerleistung sollte natürlich nicht so hoch liegen, sonst wäre der Akku 
schnell leer).

Als Akku ein LiPoly-Pack.

Bleibt der Sensor. Eigentlich will man die Gravitationsrichtung, kann 
aber nur Beschleunigung messen, also muss man die Beschleunigung des 
Fahrzeugs über die Motoren rausrechnen oder per Gyro Kippbewegungen 
einzeln erfassen, aber der Gyro wandert bekanntlich mit der Zeit.

Der Regler ist dann ein einfacher PID-Regler, als Motorantrieb kann man 
L272 Leistungs-OpAmps oder Vollbrücken verwenden.

Hier wären passende PID Regler und Motortreiber: 
http://www.geltec.de/shop/ACCESS

Kann man natürlich auch selberbauen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

MaWin schrieb:
> Besorge dir Glockenankermotore von Maxon oder Faulhaber mit Getriebe
> passend für die anzubauenden Räder und die Maximalgeschwindigkeit

Kann es sein, dass Du Dir nicht mal die Mühe gemacht hast, den Thread zu 
lesen? Peinlich!

Es geht - wie oben geschrieben - um 20..300mA und eine Baugröße, kleiner 
als die des … https://www.youtube.com/watch?t=14&v=A5KtT4GVpx8

Glockenankermotore? Faulhaber mit Getriebe? Die kannst Du in Dein 
Elektor Wheelie einbauen. ;-)

Unglaublich …

Aber vielleicht war das ein Provokationsversuch, daher lasse ich den 
Rest mal so stehen. :-)

von Karl H. (kbuchegg)


Lesenswert?

Torsten C. schrieb:
> Glockenankermotore? Faulhaber mit Getriebe? Die kannst Du in Dein
> Elektor Wheelie einbauen. ;-)
>
> Unglaublich …

Trotzdem sind stink normale Bürstenmotore für diesen Zweck viel 
einfacher. Oder hast du es drauf einen Schrittmotor aus dem Stand 
mittels Beschleunigungsrampe auf Maximaldrehzahl zu bringen und während 
er gerade beschleunigt, die Bremsrampe einzuflechten, damit er wieder 
zum Stehen kommt?

Nicht? Wirst du aber brauchen :-)

Es ist eine Sache, ob man ein paar Zeiger relativ gemütlich und ohne 
Zeitprobleme rundum dreht oder ob man bei einem umgekehrten Pendel den 
Aufhängepunkt ständig unter den Schwerpunkt fahren muss, indem man 
ständig die (fehlerbehaftete) Lotrechte auswertet.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Karl Heinz schrieb:
> Trotzdem sind stink normale Bürstenmotore für diesen Zweck viel
> einfacher.

Meinst Du? Schau mal den 'VertiBOT'^^ an und wie der wackelt.

Ich denke, einen Stepper kann man m.E. viel genauer positionieren, also 
schneller und trotzdem präziser beschleunigen und abbremsen.

In einem Plotter ist ja auch kein Bürstenmotor sondern ein Stepper.

Aber ich bin neugierig, vielleicht hast Du ja Recht.

von Karl H. (kbuchegg)


Lesenswert?

Torsten C. schrieb:
> Karl Heinz schrieb:
>> Trotzdem sind stink normale Bürstenmotore für diesen Zweck viel
>> einfacher.
>
> Meinst Du? Schau mal den 'VertiBOT'^^ an und wie der wackelt.
>
> Ich denke, einen Stepper kann man m.E. viel genauer positionieren

Ähm.
Bei einem dynamischen System ist die Psoitionierung aber sowas von egal. 
Denn in dem Moment, in dem du ausgerechnet hast, dass du den Motor 5mm 
nach rechts verschieben müsstest und sich der Motor in Bewegung setzt, 
ist die errechnete Position schon wieder falsch (weil sich das Pendel 
weiter geneigt hat).

Bei einem Segway ist ein Regelkreis am Werk, der dafür sorgt, dass ein 
Motor versucht ein umgedrehtes Pendel zu balanzieren, indem er 'unter 
das Pendel' fährt. Du hast ja auch keinen Schrittmotor im Arm und kannst 
trotzdem einen Besenstiel auf der Handfläche balanzieren. Und das mit 
ein wenig Übung (gut abgestimmten Regelkreis) sogar ziemlich gut.

> In einem Plotter ist ja auch kein Bürstenmotor sondern ein Stepper.

Ein Plotter balaziert auch nichts und hat ach keinen Regelkreis. Ein 
Plotter fährt einfach nur eine bestimmte Position an. Vollkommen andere 
Baustelle.

: Bearbeitet durch User
von Asko B. (dg2brs)


Lesenswert?

Hier mal ein Beispiel:
http://193.196.117.23/projekte/SS06-Balanceakt/data/balancing_robot_asuro.rm

Aber ebend nicht mit Schrittmotoren und zusaetzlich Getriebe.

Gruss Asko.

von MaWin (Gast)


Lesenswert?

Torsten C. schrieb:
> Schau mal den 'VertiBOT'^^ an und wie der wackelt.

Schau dir mal den Teppich an, auf dem er rollt, Rips.

Er braucht für jede Welle im Teppich Anlauf damit er hoch kommt, also 
mehr Neigung, und wenn er dann die Welle überwunden hat muss er wieder 
Schräglage zurück nehmen sonst wird er zu schnell.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

@Asko: Einen RealPlayer habe ich nicht installiert,
mal sehen ob mein Sohn einen auf seinem PC hat. Danke.

MaWin schrieb:
> Besorge dir Glockenankermotore von Maxon oder Faulhaber mit Getriebe

Nochmal:
Die Idee ist, das ganze 'ultra preiswert' und 'ultra leicht' z.B. mit 
diesen mit 10ct-Motoren zu machen.

Motto:
http://www.wandspruch.de/out/pictures/master/product/1/253058_allesagtendasgehtnicht_b.jpg

Der 'Pololu Micro Metal Motor' kostet 16€, der 300mA-Stepper nur 23cent.

Wie gesagt:
> Größer und teuerer gibt es schon in 100ten von Varianten.

Es geht nicht um 'das Recht haben', sondern um den Spaß und die 
Herausforderung. Falls das wirklich nicht geht, wäre das natürlich 
trotzdem schade.

Karl Heinz schrieb:
> Bei einem Segway ist ein Regelkreis am Werk, der dafür sorgt, dass ein
> Motor versucht ein umgedrehtes Pendel zu balanzieren

Ich denke, dass man beim Stepper viel genauer das Moment, die 
Beschleunigung und die Drehzhhl (das war mit Positionierung gemeint) 
steuern kann als beim Bürstenmotor. Und um diese Größen geht es ja in 
diesem Regelkreis.

Natürlich macht man das nicht mit Vollschritten sondern mit einer ganz 
'feinfühligen' Steuerung der Spulen-Spannungen (PWM-%) und einer Messung 
der Ströme.

Aber eine Variante mit Bürstenmotor könnte auch gehen. Aber:

Je nachem, wo der Kommutator steht, reagiert der Motor unterschiedlich. 
Da man ohne Winkel-Sensor die Motor-Stellung nicht kennt, wird das ganze 
unggenauer, denke ich. Oder?

MaWin schrieb:
> Er braucht für jede Welle im Teppich Anlauf damit er hoch kommt, also
> mehr Neigung, und wenn er dann die Welle überwunden hat muss er wieder
> Schräglage zurück nehmen sonst wird er zu schnell.

Da man beim Stepper die Position kennt, denke ich, dass das damit besser 
geht … wenn ich nicht auf dem Holzweg bin.

: Bearbeitet durch User
von Asko B. (dg2brs)


Lesenswert?

Hier kann man das auch sehen.
https://www.youtube.com/watch?v=V0VxL2VqIWQ

Buerstenmotore mit Getriebe.
(Roboterbausatz Asuro)

Lageregelung wird ueber Lichtreflexion auf dem Boden gemacht.

Gruss Asko.

von Bastler (Gast)


Lesenswert?

Torsten C. schrieb:
> Da man beim Stepper die Position kennt, denke ich, dass das damit besser
> geht

Du bist wirklich lernresistent. Oben wurde doch bereits darauf 
hingewiesen, dass das Wissen über die aktuelle Position nutzlos ist. Ich 
kann Dir die Nutzlosigkeit auch bestätigen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Bastler schrieb:
> Du bist wirklich lernresistent. Oben wurde doch bereits darauf
> hingewiesen, dass das Wissen über die aktuelle Position nutzlos ist.
Jo, schon wieder die blöde 'Position'. ;-)

Wobei es die o.g. Beispiele offenbar nicht schaffen, an einer Stelle 
stehen zu bleiben.

Nochmal: Moment, Beschleunigung und Drehzahl waren mit 'Positionierung' 
gemeint.^^ Sorry für die ungenaue Ausdrucksweise.

Also: Wenn der Stepper seine Geschwindigkeit halten oder ändern soll, 
das aber wegen einer 'Welle im Teppich' nicht so tut, wie er es im 
idealen Modell tun müsste, merkt der Regler die Abweichung der Position 
viel schneller und genauer, als wenn die Geschwindigkeit nur über ein 
Accelerometer integriert wird.

Asko B. schrieb:
> Lageregelung wird ueber Lichtreflexion auf dem Boden gemacht.

Ich wollte möglichst unter 10€ pro Segway-Roboter bleiben. Bei meiner 
letzten Suche vor einem Jahr habe ich keine günstigen Sensoren aus einer 
optischen Maus gefunden, aber ich kann ja nochmal suchen.

Danke dafür und für alle für alle anderen konstruktiven Beiträge! :-)
Falls ich lernresistent wäre, hätte ich diesen Thread nicht aufgemacht.

: Bearbeitet durch User
von John (Gast)


Lesenswert?

Torsten C. schrieb:
> Bei meiner
> letzten Suche vor einem Jahr habe ich keine günstigen Sensoren aus einer
> optischen Maus gefunden, aber ich kann ja nochmal suchen.

Du brauchst eine IMU - das wäre zumindest der klassische Ansatz ...

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

John schrieb:
> Du brauchst eine IMU

Danke, ohne Frage, liegt vor meiner Nase als 'Breakout' auf dem 
Schreibtisch. Der Vorschlag von Asko B. war - denke ich - eher als 
'Zusatz' gedacht, oder?

Ein weiterer Sensor aus einer optischen Maus ist wahrscheinlich unnötig 
teuer.

: Bearbeitet durch User
von Stm M. (stmfresser)


Lesenswert?

ich könnte meinen Roboter verkaufen, wenn der Preis stimmt.

Die Lage und Neigung wurden von einen Mehrgrößenzustandsregler geregelt

kleine Demonstration siehe: https://vimeo.com/130122618

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

Ich fänd's ja interessant das Ganze mal auf nur einem Rad zu machen.
-> Monowheel.
Bräuchte natürlich einen "Körper", der das Gewicht seitlich verlagern 
kann.

von Asko B. (dg2brs)


Lesenswert?


von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Monowheel? Ja, auch ganz nett.

Bevor es jetzt nochmal Mecker wegen der 'Position'^^ gibt,
ich wohl besser schrieb:
> … merkt der Regler eine Abweichung von der Sollgeschwindigkeit
> über die die Positionsveränderung (erste Ableitung) viel schneller
> und genauer als integriert über ein Accelerometer.

Oder warum wackeln / tanzen die anderen Teile so?

Stm Mc schrieb:
> kleine Demonstration

Cool. Der 'tanzt' nicht so stark. Das ist bei dem Gewicht und dem hoch 
liegenden Schwerpunkt m.E. auch einfacher als bei der hier anvisierten 
Bauhöhe von ca. 10cm und viel geringerem Gewicht.

Bevor wegen 'unter 10€ pro Segway-Roboter'^^ noch jemand meckert:

Vielleicht wird es auch etwas mehr. Inertialsensor und LiPo-Akku sollen 
mit Abstand die teuersten Bauteile werden, nicht die PCBs und auch nicht 
die Motoren.

von Karl H. (kbuchegg)


Lesenswert?

Torsten C. schrieb:
> Monowheel? Ja, auch ganz nett.
>
> Bevor es jetzt nochmal Mecker wegen der 'Position'^^ gibt,
> ich wohl besser schrieb:
>> … merkt der Regler eine Abweichung von der Sollgeschwindigkeit
>> über die die Positionsveränderung (erste Ableitung) viel schneller
>> und genauer als integriert über ein Accelerometer.
>
> Oder warum wackeln / tanzen die anderen Teile so?

weil es ein dynamisches Gleichgewicht ist?

Was passiert, wenn du einen Besenstiel auf deiner Hand balanzierst und 
dann ganz einfach die Hand stillstehen lässt und nicht mehr bewegst?

Egal wie du es anstellst, balanzieren bedeutet immer, dass du ganz 
kleine Ausgleichsbewegungen machen musst.
Wie ruhig der Robot vor dir steht, ist eine Eigenschaft der Regelung 
(meistens PID Regler und da wieder der Regler-Parameter) und nicht der 
Motoren. Wenn du denkst, du stellst das Teil einfach senkrecht hin und 
dann brauchen die Motoren nicht mehr zu arbeiten, dann hast du dich 
geschnitten.

von Stm M. (stmfresser)


Lesenswert?

man sollte einen Augenblick auf die Gleichungen 
http://en.wikipedia.org/wiki/Inverted_pendulum
schauen.

Stabilisierung um die instabile Ruhelage benötigt man grundsätzlich 4 
Zuständen, Radposition, Pendelwinkel, deren Ableitungen.

Wenn man ein gutes Modell von dem System hat, genügt ein einfacher PD 
Regler, da I Regler ein instabiles Glied ist, obwohl damit meistens mehr 
Präzision erreicht

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Karl Heinz schrieb:
> Wenn du denkst, du stellst das Teil einfach senkrecht hin und
> dann brauchen die Motoren nicht mehr zu arbeiten, …

Arbeiten schon, aber nicht den Strom vom Bürstenmotor so hoch drehen, 
bis sich endlich der zufällig gerade halb kurzgeschlossene Kommutator 
weiter gedreht hat, dann ersmal ordentlich Gas geben und hinterher 
wieder zurück drehen.

Ich vermute, daher kommt das 'tanzen'^^. Oder?

Einen 'Coreless' mit stark untersetztem Getriebe könne ich mir noch 
vorstellen. Die Motoren gibt es auch billig als Quadkopter-Ersatzteil.

ABER: Das Getriebe macht die Sache teurer und ich habe den angeblichen 
Vorteil noch nicht gefunden. Ich suche ihn noch .

Warum meinst Du, dass die Regelung mit einem 'brushless' nicht präziser 
geht? Bei 'senkrecht stehen bleiben' arbeitet man ja im sehr genauen 
Open-Loop-Betrieb.

Beim Wiederanfahren aus dem Stillstand muss der Übergang vom 
Open-Loop-Betrieb in den Closed-Loop-Betrieb natürlich gut 
funktionieren.

Hier nochmal der Link, wie das mit der 'Loop' gemeint ist:
http://de.nanotec.com/support/application-notes/sensorlose-regelung-von-schrittmotoren/

Karl Heinz schrieb:
> Wie ruhig der Robot vor dir steht, ist eine Eigenschaft der Regelung
> … und nicht der Motoren.

Noch genauer: Das ist eine Eigenschaft des gesamten Regelkreises. Die 
Motoren sind ein Teil davon.

Ich denke, ein 'brushless' kann im Regler-Modell m.E. genauer, da ohne 
'unvorhersehbare Abweichungen' z.B. vom Kommutator berechnet werden, als 
ein Bürstenmotor. Jedenfalls kenne ich niemanden, der von gegenteiligen 
Erfahrungen berichtet hat.

Sorry, falls das 'lernresistent' wirkt. So soll das nicht rüber kommen.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

MaWin schrieb:
> als Motorantrieb kann man L272 Leistungs-OpAmps … verwenden.

€0,35/piece http://www.aliexpress.com/item/-/1943613852.html

MaWin, ich bitte um Entschuldingung. Den Hinweis hatte ich vorhin im 
'Grundrauschen' übersehen und ich kann die Leistungs-OpAmps auch für 
meine AD9851 benutzen.

Bei den 20mA-Steppern reicht ein MC33204^^.
Aber für die 10ct-Stepper^^ stellt sich die Frage:
PWM oder analog (OP-Amp)?

Total Power Dissipation = 1.0W, das würde ja reichen, pro Spule.

Die beiden Op-Amps im L272 würde ich mit einem halben PT8211 (10ct) 
ansteuern, das macht 80 Cent pro Stepper.

Alternativ PWM mit L293 für 28 Cent pro Stepper.
http://www.aliexpress.com/item/-/32343079263.html

* PWM ist besser für die Batterie (LiPo), benötigt aber mehr GPIOs
* L272 (analog) ist besser für die EMV und kommt mit weniger GPIOs aus

Es geht um ca. 300mA und Batteriebetrieb. Ich tendiere zum L293. Oder?

: Bearbeitet durch User
von chris_ (Gast)


Lesenswert?

>Hier kann man das auch sehen.
>Youtube-Video "Balancing ASURO"
>Buerstenmotore mit Getriebe.
>(Roboterbausatz Asuro)
>Lageregelung wird ueber Lichtreflexion auf dem Boden gemacht.

Hier ist die Entwicklungsgeschichte dazu:
http://www.roboternetz.de/community/threads/13745-Mein-Asuro-kann-balancieren!
Das ganze hatte damals nur funktioniert, weil "waste" jedes Detail 
modeliert und mit Simulink simuliert hat.

von chris_ (Gast)


Lesenswert?

Hier ist die Modellierung der Asuru Kinematik. Besonders interessant ist 
die Vermessung der Motoren fuer die Modellbildung:
http://www.roboternetz.de/community/threads/10604-Asuro-Linienfolger-mit-PD-Regler

Schrittmotoren sind fuer einen Balancierrobotor vermutlich eher 
ungeeignet, wenngleich es trotzdem moegich sein koennte wenn man den 
Regler entsprechend auslegt.

von Programmer (Gast)


Lesenswert?

Das Wackeln kommt auch sehr oft vom Stick-Slip (Haft-Gleitreibung) 
Effekt + Integrator. Das sieht man sogar dann bei normalen Linearachsen.

Kleine Regelabweichung, I steigt und steigt bis Haftreibung überwunden 
ist. Da die Gleitreibung kleiner ist schießt das System mit überfüllten 
I über den Wollwert drüber, bis irgendwann dank P, D und genügend Zeit 
für I die Stellgröße wieder so klein ist, dass das System in der 
Haftreibung klebt. Und das Ganze beginnt wieder von vorne nur in die 
andere Richtung.

Verbesserungsansätze gibts genug im Netz, eine saubere Lösung habe ich 
noch nie gesehen.

Übrigens, das ganze sieht man auch super in einer Simulation mit einem 
guten Reibmodell.

von Stefan F. (Gast)


Lesenswert?

> Ich denke, dass man beim Stepper viel genauer das Moment, die
> Beschleunigung und die Drehzahl (das war mit Positionierung gemeint)
> steuern kann als beim Bürstenmotor.

Nein. Normale Bürstenmotoren mit drei Spulen auf dem Anker und einem 
zweipoligen Permanentmagnet außen herum kann man ohne großartige Tricks 
auf 1/3 Umdrehung genau anhalten. Mit mehr Aufwand schaffst du sogar 1/6 
Umdrehung. Dahinter kommt ein Getriebe, z.B. im Verhältnis 1:25. Das 
heißt, du kannst dann das Antriebsrad auf 1/75 Umdrehung genau steuern.

Das ist für ein Segway Modell mehr als ausreichend.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Stefan Us schrieb:
> Normale Bürstenmotoren mit drei Spulen auf dem Anker und einem
> zweipoligen Permanentmagnet außen herum kann man ohne großartige Tricks
> auf 1/3 Umdrehung genau anhalten.

Mit einem Winkel-Sensor? Oder wolltest Du mit 'ohne großartige Tricks' 
sagen, dass das auch ohne Winkel-Sensor geht?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Mit einem Winkel-Sensor? Oder wolltest Du mit 'ohne großartige Tricks'
> sagen, dass das auch ohne Winkel-Sensor geht?

Ist der "Winkel-Sensor" eine fixe Idee von Dir? Du brauchst den 
zurückgelegten Winkel des Motors überhaupt nicht zu kennen. 
Ausschlaggebend ist Dein Neigungssensor.

Wenn der nach vorn kippt, musst Du nach vorn fahren, wenn er nach hinten 
kippt, nach hinten. Die Motorstellung ist doch vollkommen egal.

von Pandur S. (jetztnicht)


Lesenswert?

Nein, die Motorstellung ist nicht egal. Wenn zB niemand draufsteht, soll 
er nicht langsam wegrollen.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jetzt Nicht schrieb:
> Nein, die Motorstellung ist nicht egal. Wenn zB niemand draufsteht, soll
> er nicht langsam wegrollen.

Wenn man sich auf Torstens "Mini-Segway-Roboter" draufstellt, ist der 
einfach platt.

Oder meinst Du ein Lego-Männchen, was das Ding selbstständig fahren 
soll?

: Bearbeitet durch Moderator
von ?!? (Gast)


Lesenswert?

Frank M. schrieb:
> Oder meinst Du ein Lego-Männchen, was das Ding selbstständig fahren
> soll?

Er sagte "niemand" und nicht "jemand"...

Jetzt Nicht schrieb:
> Wenn zB niemand draufsteht

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

So in dieser Art?

http://api.ning.com/files/tV6jtHhMLWzVSBxe5eBSe3ZEZZbU1NgaEG8L5nQUCMIclymkbYkLJytIW*Kx-dqaxylXBmD5UR5QDa5TpOV2gTxEWTtFAV84/140824CesarSegwayDeniaoriginal.jpg

:-) Ganz so 'schön' wird dieser nicht aussehen. Vielleicht, wenn jemand 
ein 3D-Druck drum herum macht.

Zurück zur Hardware rund um den Motor:

Frank M. schrieb:
> Ist der "Winkel-Sensor" eine fixe Idee von Dir?

Meine Frage war, wie man einen 'normalen Bürstenmotor' (also ohne 
Winkelsensor) auf 1/3 Umdrehung genau anhalten könne.

Und ja, ich möchte, dass der Segway nicht langsam wegrollt, egal ob mit 
'jemand' oder 'niemand'.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> Meine Frage war, wie man einen 'normalen Bürstenmotor'
> (also ohne Winkelsensor) auf 1/3 Umdrehung genau anhalten kann.

Ganz einfach. Wenn ich sage stopp, dann hält der Motor an. Er dreht sich 
maximal 1/3 Umdrehung weiter. Das kriegt man alleine durch Software 
geregelt - ohne jeden Sensor. In Kombination mit dem Getriebe kommst du 
auf sehr kleine Überschwinger. Ein Schrittmotor (ohne Getriebe) bringt 
Dir da keine nennenswerten Vorteile.

Wie schnell sich der Motor vorwärts oder Rückwärts drehen soll, ergibt 
sich aus dem Neigungswinkel. Steht das Gefährt senkrecht, soll der Motor 
stehen.

Wo brauche ich da einen Sensor, die die Rotation der Räder erfasst?

von peterlustig (Gast)


Lesenswert?

@Torsten C

A.)

[ ] du kennst dich mit PID-Regelern aus

[X] du kennst duch nicht mit PID-Reglern aus

B.)

[ ] du kennst dich mit der Funktionsweise eines Segway aus

[X] du kennst duch nicht mit der Funktionsweise eines Segway aus

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

@peterlustig:
Witz ist wie Fisch: Wenn er alt wird, dann stinkt er.

@stefanus:
Ah, danke für die schnelle Antwort.
Nun weiss ich, was Du oben gemeint hast.

Stefan Us schrieb:
> Ein Schrittmotor (ohne Getriebe) bringt Dir da keine nennenswerten
> Vorteile.

Ich hatte oben schom mal gefragt:
> ich habe den angeblichen Vorteil noch nicht gefunden

Eine gute Konstruktion glänzt durch Weglassen. Welche Vorteile soll denn 
die teurere Variante 'Getriebe + Bürstenmotor' gegenüber dem 
Brushless-Stepper haben?

Die gleiche These nochmal anders herum:
Ein Schrittmotor bringt den nennenswerten Vorteil, dass man mit weniger 
Teilen aus kommt: Kleiner, kostengünstiger und leichter (KISS-Prinzip).

Ein paar Port-Pins und H-Brücken kosten im Verhältnis viel weniger als 
ein Getriebe.

Wo ist der Denkfehler? Sorry, falls ich was übersehen haben sollte.

: Bearbeitet durch User
von Stm M. (stmfresser)


Lesenswert?

für die Winkelerfassung braucht man einen Kreisel und 
Beschleunigungssensor. Es gibt keinen Winkelsensor!!!

Kreiselsensor gibt dir Daten in der Einheit [grad/s]. Du bekommst einen 
Winkel, indem du die Daten von dem Kreisel numerisch integrierst, dabei 
entsteht hohen Drift mit der Zeit, den du mit Hilfe von einem 
Kalmanfilter oder bzw. einen Zustandsschätzer kompensierst.

Wenn jemand sich nicht mal mit linearen Regelungstechnik auskennt, wird 
nix mit dem Segway. Weil es regelungstechnisch sehr anspruchsvolle 
Aufgabe ist.

Ich habe für meinen Roboter mind. 600€ ausgegeben. Vielleicht könnte man 
unter 300€ hinkriegen. Aber nicht bei 10€ oder zweistelligen 
Zahlenbereich.

von Stefan F. (Gast)


Lesenswert?

> Ein Schrittmotor bringt den nennenswerten Vorteil, dass man mit
> weniger Teilen aus kommt

Man kommt mit weniger mechanischen Teilen aus, aber man braucht mehr 
elektrische Teile - wenn man es diskret aufbaut.

Ob du nun ein IC mit einer Vollbrücke oder zwei Vollbrücken verwendest, 
macht am Ende wahrscheinlich keinen großen Unterschied.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hallo zusammen,

nach der hektischen Debatte ist erstmal Ruhe eingekehrt. :-)

Vielen Dank für Eure Beiträge. Inzwischen ist klar, wo das Problem in 
der Debatte war:

1. Es gibt den so genannten 'self balancing robot'; den findet man
   auf YouTube unter diesem Stichwort haufenweise. Der Regelkreis
   entspricht - wie oben mehrfach verlinkt - einem inversen Pendel.
   Eine Position (Winkelsensor) wird nicht benötigt und ein Bürsten-
   motor funktioniert wunderbar. Inzwischen hätte ich auch preiswerte
   China-Motoren mit Getriebe gefunden.

2. Hier geht es um einen Segway-Roboter, dessen Regelung zwar
   ähnlich funktioniert, aber die zusätzliche Anforderung hat, wie
   'jetztnicht' oben schrieb. Danke für diesen 'Brustlöser'. :-)

Ein 'self balancing robot' wackelt ständig hin und her, damit er nicht 
umkippt, Abweichungen integrieren sich dabei auf, und der Roboter 
driftet langsam weg. Das ist beim Segway unerwünscht.

Trotz möglicherweise vergleichbaren Preisen zum Bürstenmotor mit 
Getriebe sind wir dann wieder beim Stepper, um einen weiteren Sensor zu 
sparen. Ich bin gespannt, ob die aus China bestellten Stepper aus 
Kamera-Objektiven (Autofocus) genug Drehmoment liefern. Ich habe 
16mm-Reifen vorgesehen.

Stm Mc schrieb:
> Vielleicht könnte man unter 300€ hinkriegen. Aber nicht bei 10€ oder
> zweistelligen Zahlenbereich.

Ich denke, wir reden von total verschiedenen Ansätzen. Allein ein 
STM32F4-Disco, wie bei Deinem 'robot v2', kostet schon 16€.

Dagegen denke ich z.B. an PCBs für 180ct und einen STM32F103C8T6 für ca. 
130ct.

Falls Du so willst, sind die Zahlen natürlich 'schön gerechnet', weil 
viele Teile in hohen Stückzahlen gekauft wurden. ich will nicht 
ausschließen, dass sich alle Einkäufe zusammen am Ende der 300€-Marke 
nähern. Dafür fallen jedoch noch diverse 'Bausätze' ab. -> Forum Markt?

Das teuerste Bauteil ist bisher der LiPo für 500ct.

Ich aktualisiere ab und zu mal die Wiki-Seite dazu:
https://github.com/TorstenC/Notizblog/wiki/Mini-Segway

VG Torsten

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Zu 2.

Ein Segway steht auf einer ebenen Fläche ohne Antrieb/Steuerung von 
alleine stabil.

Ein Segway Fahrzeug kippt deswegen nicht um, weil dessen Schwerpunkt 
unterhalb der Achse liegt. Erst wenn ein Mensch drauf steigt, verlagert 
sich der Schwerpunkt über die Radachse, wodurch das umgekehrte Pendel 
erst entsteht.

Wenn das Fahrzeug keinen tief gelegten Schwerpunkt hätte, und du den 
Motor an einer beliebigen Position anhalten würdest, dann würde das 
Fahrzeug zwangsläufig umkippen.

> Ein 'self balancing robot' wackelt ständig hin und her, damit er
> nicht umkippt

Weil sein Schwerpunkt über der Achse liegt. Sobald du den Schwerpunkt 
unter die Achse verlagerst, steht er von ganz alleine Aufrecht. Der 
Motor bekommt nur dann Strom, wenn man ihn manuell nach vorne oder 
hinten neigt.

von Stefan F. (Gast)


Lesenswert?

Dieser steht von alleine still: 
http://images.mocpages.com/user_images/118478/1425553245m_SPLASH.jpg

Dieser pendelt auch im Stillstand, bzw. er kann gar nicht richtig still 
stehen:
http://www.robotshop.com/blog/en/files/Lego%20Segway.jpg

von Pandur S. (jetztnicht)


Lesenswert?

Der Schwerpunkt unter der Achse ist gut, aber nicht wirklich genuegend. 
Je naeher der Schwerpunkt von unten an der Achse ist, desto groesser ist 
die Schwingperiode waehrend dem abgeschaltet Sein. Ich dachte er waere 
recht stabil aufrecht, kann mich aber nicht mehr erinnern wie stabil.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hallo nochmal,

Die aufsummierten Accelerometer-Abweichungen sollen nicht über die 
Fernbedienung korrigiert werden. Es soll so sein, wie bei einem 
ferngesteuerten Auto: Knüppel in der Mitte, und die Position wird (so 
gut es geht) gehalten, auch bei Windstößen oder auf einer Rampe.

Bei Anstuppsern soll der Mini-Segway-Roboter autonom wieder zum 
Ausgangspunkt zurück fahren. Klar: Krümel auf der Erde usw., daher 'so 
gut es geht'.

Stefan Us schrieb:
> Ein Segway Fahrzeug kippt deswegen nicht um, weil dessen Schwerpunkt
> unterhalb der Achse liegt.

Alle Segways, die ich gesehen habe, hatten einen 'Fahradständer', daher 
dachte ich, das wäre einheitlich.

Dazu Karl Heinz schrieb:
> Wenn du denkst, du stellst das Teil einfach senkrecht hin und
> dann brauchen die Motoren nicht mehr zu arbeiten, dann hast du dich
> geschnitten.

Es scheint also verschiedene Segway Fahrzeuge zu geben.

Ich habe bislang nur mit drei verschiedenen Segways Erfahrung (Firma, 
Messe, Urlaub). Alle drei sind mit eingeklapptem 'Fahradständer' 
umgefallen, wenn ich abgestiegen bin und die Elektrik ausgeschaltet 
habe.

Beim "VertiBOT"^^ sieht man auch eine Szene, wo der Balancierrobotor 
nicht wackelt, weil die Räder in einer Bodenwelle 'eingerastet' sind. 
Ein Sonderfall.

Abgesehen davon, steht ja nun ein Lego- oder Playmobil-Männchen drauf, 
welches den Schwerpunkt über die Achse verschiebt. Ich habe den Beitrag 
von Frank als Vorschlag aufgegriffen. :-)

VG Torsten
https://github.com/TorstenC/Notizblog/wiki/Mini-Segway

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

PS: Ehrlich gesagt bin ich mir gar nicht sicher, Stefan Us und Karl 
Heinz, was Ihr mir oder der Community mit den Beiträgen eigentlich genau 
sagen wolltet. Ich hoffe, ich habe alles richtig interpretiert.

Seis drum, das Gute daran:
Durch das Thema "Schwerpunkt" ist mir ein neues Problem klar geworden:


Bevor das Lego-Männchen kam, dachte ich an einen sehr kopflastigen 
Segway-Roboter, bei dem der schwere Akku am höchsten Punkt ist.

Da bei dieser Konstruktion kaum Masse bewegt wird, passt diese Variante 
gut zu den Mini-Steppern mit ca. 1mNm (Millinewtonmeter) im 
Ursprungs-Post und aktuell im Wiki^^.

Mit dem Lego-Männchen finde ich das Projekt aber attraktiver,
der Will-Ich-Auch-Faktor ist m.E. größer. (PS: Und der WAF auch, nach 
den Aussagen meiner Freundin.)

Der tief liegende Akku in Achsen-Nähe muss nun aber bei jedem 
Regelvorgang beschleunigt und abgebremst werden. Deshlab werden größere 
Motoren benötigt.

Die preiswertesten Stepper mit 42mm Durchmesser, wie sie z.B. für 
3D-Printing angeboten werden, liegen zwischen 4€ und 10€ und kämen mit 
vermutlich ca. 20..100 mNm vielleicht dafür in Frage. Ich bin mir dabei 
aber nicht sicher.

Ich befürchte auch, die geplanten 610mAh-LiPos sind unnötig groß 
dimensioniert. Sie wiegen 51 Gramm.

Nun bin ich unentschlossen. Ich tendiere zur Männchen-Variante; dann 
muss mich aber nach kräftigeren Steppern umschauen. Das neue Target läge 
dann eher zwischen 15 und 20€ incl. Akku.

Fällt Euch dazu was ein, was mir helfen könnte?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> Der Schwerpunkt unter der Achse ist gut, aber nicht wirklich genuegend.
Warum?

> Je naeher der Schwerpunkt von unten an der Achse ist, desto groesser
> ist die Schwingperiode waehrend dem abgeschaltet Sein. Ich dachte er
> waere recht stabil aufrecht, kann mich aber nicht mehr erinnern wie stabil.

Schwingungen kann man dämpfen. Macht jedes Auto.

von Stefan F. (Gast)


Lesenswert?

Für den Preis (unter 10 Euro) kannst du auch gehackte Modellbau Servos 
nehmen.

Siehe http://stefanfrings.de/servocontroller/index.html (untere Hälfte 
der Seite).

Sie sind billig, haben ein Getriebe und können direkt an den 
Mikrocontroller angeschlossen werden.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Nochmal: Der Segway soll autonom zur Soll-Position zurück fahren, 
nachdem er z.B. Windstöße ausgeregelt hat,
wie ich schrieb:
> Und ja, ich möchte, dass der Segway nicht langsam wegrollt, egal ob mit
> 'jemand' oder 'niemand'.

Stefan Us schrieb:
> Für den Preis (unter 10 Euro) kannst du auch gehackte Modellbau Servos
> nehmen.

Erkläre bitte mal:
Bei den gehackten Modellbau-Servos muss der Winkel-Aufnehmer außer 
Betrieb gesetzt werden. Ich dachte, das Thema war geklärt.

Asko B. schrieb:
> Lageregelung wird ueber Lichtreflexion auf dem Boden gemacht.

Ich habe mal näher hingeschaut: Optische Maus-Sensoren hätten übrigens 
auch Drift gehabt, also auch nicht optimal gegen langsames 'wegrollen'. 
Alles andere wäre m.E. teurer als Winkel-Aufnehmer.

Ich bin daher weiter auf der Suche nach Steppern:

Diese runde Sorte (üblich in Druckern) kann man über zwei Gewindestangen 
verbinden:

z.B. http://www.aliexpress.com/item/-/1946675882.html

Sie haben gegenüber diesen quadratischen weniger als die Hälfte Gewicht:

z.B. http://www.aliexpress.com/item/-/1982268127.html

Das bedeutet, dass der Stepper mit seinem Drehmoment über 250 Gramm 
(incl. Akku in Achsen-Nähe) hin und her 'rütteln' muss.

-------

PS: Bürstenmotoren mit Getriebe (auch gehackte Modellbau-Servos) hätten 
sicherlich mehr Drehmoment und ein geringeres Gewicht.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Stefan Us schrieb:
> gehackte Modellbau Servos

Diese könnten gehen, der Bastel-Aufwand wäre nicht unerheblich.

http://letsmakerobots.com/content/hack-your-servo-v300-get-full-pid-position-and-speed-control-your-hobby-servo

Vielleicht die bislang beste Lösung?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.