Forum: Mikrocontroller und Digitale Elektronik Unterschied zwischen ACC und Gyro


von Felix L. (flex)


Lesenswert?

Hallo,

ich möchte mir einen balancierenden Roboter bauen. Im Internet habe ich 
auch schon einige Informationen dazu gefunden. Was ich aber nicht ganz 
verstehe ist der Unterschied zwischen einem ACC und einem Gyro. Was ich 
dazu herausgefunden habe ist, dass der ACC sagt wo oben oder unten ist 
und der Gyro misst die Drehgeschwindigkeit, aber wie kann ich mir das 
vorstellen?

Gruß
Felix

von Max M. (jens2001)


Lesenswert?

Felix L. schrieb:
> aber wie kann ich mir das
> vorstellen?

Naja.
Oben ist (hoffentlich) über deinem Kopf
Unten ist dann am anderen Ende von dir.
Und drehen ist drehen.

von Purzel H. (hacky)


Lesenswert?

Vereinfacht .. du brauchst beide

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Felix L. schrieb:
> ich möchte mir einen balancierenden Roboter bauen.

Dafür benötigt man schon einige Physikkenntnisse.

> Was ich dazu herausgefunden habe ist, dass der ACC sagt wo oben oder
> unten ist und der Gyro misst die Drehgeschwindigkeit, aber wie kann
> ich mir das vorstellen?

Der Beschleunigungssensor zeigt nur dann die Richtung "oben" oder 
"unten" an, wenn er zu dem Zeitpunkt keine Richtungsänderung erfährt, 
sondern ausschließlich die Schwerkraft auf ihn einwirkt. Dies trifft bei 
bewegten Systemen jedoch meist nicht zu, so dass man dort eine 
Überlagerung aus der statischen Schwerkraft und der dynamischen 
Komponente hat. Diese Überlagerung muss ggf. herausgerechnet werden.

Und wenn Dir der Unterschied zwischen linearen Bewegungen und 
Drehbewegungen nicht klar ist, solltest Du Dich erst einmal mit den 
physikalischen Grundlagen der klasssichen Mechanik beschäftigen. Lernt 
man so etwas heute nicht einmal mehr in der Schule?

Wie willst Du denn die Differentialgleichungssysteme für Deinen Roboter 
aufstellen, ohne solche Grundlagen zu kennen?

Um die Grundlagen zu erlernen reicht es nicht aus, ein oder zwei Fragen 
in Foren zu stellen, sondern nur die Beschäftigung mit einem 
ordentlichen Lehrbuch. Und erst wenn Dir die Grundlagen klar sind, macht 
es Sinn, sich mit den verschiedenen Sensortypen und ihren 
Einsatzbereichen zu beschäftigen. Google liefert Unmengen an durchaus 
brauchbaren Treffern für den Suchbegriff "Klassische Mechanik".

von Felix L. (flex)


Lesenswert?

Andreas Schweigstill schrieb:
> Und wenn Dir der Unterschied zwischen linearen Bewegungen und
> Drehbewegungen nicht klar ist, solltest Du Dich erst einmal mit den
> physikalischen Grundlagen der klasssichen Mechanik beschäftigen. Lernt
> man so etwas heute nicht einmal mehr in der Schule?

Andreas Schweigstill schrieb:
> Wie willst Du denn die Differentialgleichungssysteme für Deinen Roboter
> aufstellen, ohne solche Grundlagen zu kennen?

Doch so etwas lernt man schon noch in der Schule. Und genau aus diesem 
Grund habe ich mir das Projekt ausgesucht um die Grundlagen 
praxisorientiert zu erarbeiten. Mir ist klar, dass man nicht gleich ein 
Erfolgserlebnis bekommt.


Gruß

Felix

von foo (Gast)


Lesenswert?

Felix L. schrieb:
> ich möchte mir einen balancierenden Roboter bauen.

Immer gleich die dicken Bretter bohren ...

Nimm erst einmal einen Besenstiel, setz ihn auf eine Modelleisenbahn in 
eine Lagerung, so daß er sich nur noch in einer Ebene bewegen kann, und 
verbinde dieses Lager mit einem Poti und dann versuche diese Geschichte 
zu balancieren.
Das dürfte an Schwierigkeit erst einmal reichen.


Wenn du nur ein gerades Gleisstück hast, wirst noch ein zweites Poti 
o.ä. brauchen, das du mit dem Zug verbindest, damit er nicht vom Gleis 
rollt, sondern seine Sollposition in der Mitte anstrebt.
Das wäre dann die nächste Schwierigkeitsstufe.

Beides kann man übrigens relativ einfach mit Operationsverstärkern 
realisieren (PID-Regler), und ob du dafür gut genug programmieren 
kannst, wirst du dann ja sehen.

von Karl H. (kbuchegg)


Lesenswert?

Felix L. schrieb:

> Was ich
> dazu herausgefunden habe ist, dass der ACC sagt wo oben oder unten ist

Das ist sehr vereinfacht ausgedrückt.
Ein Acc, ein Accelerometer oder auf Deutsch ein 'Beschleunigungsmesser' 
misst Beschleunigungen. D.h. er würde dir zb auch in seinen Daten sagen, 
wann du mit dem Auto losgefahren bist und wie stark du aufs Gas 
gestiegen bist, wenn er am Beifahrersitz liegt.

Vom Prinzip her kann man sich die meisten Beschleunigungssensoren wie 
eine Bowlingkugel vorstellen, die an einem Faden aufgehängt ist. Der 
Beschleunigungssensor sagt dir dann, wie weit dieses Pendel von der 
senkrechten ausgelenkt wird.
Nur das integrierte Acc keine Bowlingkugeln sind, sondern zb kleine 
Testkörper, die in den Raumachsen an Federn aufgehängt sind und gegen 
die Federn drücken, wenn man sie beschleunigt.

Und ja: wo oben und unten ist, kann dir ein Acc mitteilen, solange keine 
anderen Kräfte ( = Beschleunigungen) im Spiel sind. Denn auch die 
Gravitation ist eine Beschleunigung (daher ja auch Erd-"Beschleunigung" 
und ist daher als solche auch in den Daten vom Acc enthalten. Deshalb 
hängt ja auch ein Pendel nach 'unten', solange nichts anders im Spiel 
ist. Hängst du das Pendel aber im Auto auf, dann kriegst du eine 
Mischung aus den im Auto während der Fahrt auftretenden 
Beschleunigungskräften und der Gravitation.

> und der Gyro misst die Drehgeschwindigkeit, aber wie kann ich mir das
> vorstellen?

Wie das Vorderrad von einem Fahrrad. Hälts du das an den Achsstummeln 
fest und lässt du deine Freundin mal das Rad schnell drehen, dann spürst 
du ganz deutlich, dass das Rad ( = der Kreisel) eine Kraft auf deine 
Hände ausübt, wenn du versuchst die ganze Anordnung zu drehen.

von Felix L. (flex)


Lesenswert?

Danke für die Antworten.
Ich würde gerne eure Einschätzung zum Aufwand des Projektes hören. Ist 
dieses Projekt mit Grundkenntnissen in Regelungstechnik und 
Programmieren in C (AVR) möglich. In die digitalen Filter wie Kalman 
Filter muss ich mich einarbeiten.

Gruß

von Florian (Gast)


Lesenswert?

Hallo Felix,

ist zwar schon ein paar Tage her aber:

Um einen selbsbalancierenden Roboter zu bauen musst Du keine 
Differentialgleichungen aufstellen oder Kalman-Filter beherschen!!! Ein 
Kalman-Filter ist mathematisch hochgradig komplex.

Du kannst auch mit ganz einfachen Mitteln gute Ergebnisse erhalten. Du 
willst ka keine Diplomarbeit schreiben :-)

Das Problem in diesem Forum ist leider, das der Fragesteller meist erst 
mal einen drüber bekommt ohne das ihm wirklich weiter geholfen wird. 
Immer wieder schade!

Schau mal hier vorbei:
http://rn-wissen.de/wiki/index.php/Hauptseite

Da bekommst Du für Deine Fragen sicher antworten.

Programmieren musst Du natürlich können. Ich persönlich würde Dir 
empfehlen gleich C zu lernen. Da bist Du für die Zukunft (Job) bestens 
gerüstet.

Der Aufwand ist schwer einzuschätzen, da hier niemand Deine Kentnisse 
beurteilen kann. Für einen erfahrenen Hard und Softwerker geht das 
schneller als für einen Anfänger :-)

Schau Dir mal die "Arduino" sachen an. Da gibt ne Menge fertige Hard und 
Software.

Lass Dich nicht entmutigen. Jeder hat mal klein angefangen :-)

Gruß
Florian

von Felix L. (flex)


Lesenswert?

Hallo,

Florian schrieb:
> Programmieren musst Du natürlich können. Ich persönlich würde Dir
> empfehlen gleich C zu lernen. Da bist Du für die Zukunft (Job) bestens
> gerüstet.
>
> Der Aufwand ist schwer einzuschätzen, da hier niemand Deine Kentnisse
> beurteilen kann. Für einen erfahrenen Hard und Softwerker geht das
> schneller als für einen Anfänger :-)

ich programmiere schon seit Jahren AVR und ein bisschen ARM in C. Daher 
denke ich das programmieren nicht das Problem ist. Viel mehr Sorgen 
mache ich mit mit der Weiterverarbeitung der Sensordaten.

Gruß

von Udo S. (urschmitt)


Lesenswert?

Florian schrieb:
> Das Problem in diesem Forum ist leider, das der Fragesteller meist erst
> mal einen drüber bekommt ohne das ihm wirklich weiter geholfen wird.
> Immer wieder schade!

Das Problem mit deinem Beitrag ist, daß du dieses Forum schlechtmachst 
und behauptest es wäre alles ganz einfach ohne konkrete Hinweise zu 
geben wie.
Dein Link auf rn-wissen hilft dem TO auch nicht weiter.
Wenn es so einfach ist warum machst du es nicht besser wie all die bösen 
Poster hier im Forum und gibst konkrete Tipps?

Es ist halt eben nicht so einfach den Winkel eines balancierenden 
Roboters gegen den Schwerkraftvektor zu bestimmen.

Aber du darfst uns gerne mit einer genialen Lösung überraschen.

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.