www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DC Motor simulieren


Autor: John Twenty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe einen DC-Motor in Simulink mit den allgemein bekannten DGL's 
simuliert. Soweit so gut.
Das Modell geht aber noch weiter, dass ein Rad daran angeschlossen ist 
und auf dieses Rad drückt die Schwerkraft des Roboters. Das heisst es 
gibt ein Gegenmoment von M=m*g*r*b.
m=masse
g=gravitation
r=radius rad
b=reibungskonstante

wenn ich jetzt aber keine spannung anlege, d.h kein Moment an den Motor 
lege (M_motor=0), ergibt sich aber ein Moment von 
M=M_motor-M_gegenmoment=0-M_gegenmoment=-M_gegenmoment ! Somit wird das 
Rad beschleunigt, obwohl in der realität das ja nicht passiert. hoffe 
ihr wisst was ich meine. was ist falsch an meiner überlegung?

aha jetzt wo ich fertig bin mit schreiben ist es mir in den sinn 
gekommen: muss M_Gegenmoment wahrscheinlich noch mit der geschwindigkeit 
multiplizieren, oder?

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>muss M_Gegenmoment wahrscheinlich noch mit der geschwindigkeit
>multiplizieren, oder?

Oder, je nach dem zu modellierenden Teil, zumindest nur bei v>0 wirksam 
werden lassen.

Autor: Klaus Falser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der Geschwindigkeit multiplizieren ist sicher falsch.
Vielleicht beschreibst Du Deine Anordnung besser oder machst eine kleine 
Zeichnung.

Autor: John Twenty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlussendlich soll ein "Segway" entstehen, aber eigentlich ist das 
irrelevant. Es geht nur darum, dass eine Gewichtskraft auf ein Rad wirkt 
und somit eine Kraft infolge der Reibung der Bewegung entgegen wirkt. 
Diese Kraft verursacht ein Gegenmoment. Nur eben dieses Gegenmoment kann 
nicht konstant sein, da das Rad sosnt in Bewegung gesetzt würde, wenn 
ich vom Motor her kein Moment anlege.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt nach newtonscher Reibung?
F = kv²
bzw
M = kw²

Autor: Klaus Falser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hast Du einen Gedankenfehler.
Auf das Rad (eines Autos oder eines Segways) wirkt nicht die Reibkraft, 
sondern die Kraft, die sich durch Beschleunigung der Masse (des Segways) 
ergibt.
Die (Haft-)Reibkraft ist die maximale Kraft, die das Rad übertragen 
kann.
Wenn Du die überschreitest, dann fällt Dein Segway um (das möchtest Du 
eher nicht, nehm ich an).

Autor: John Twenty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Klingt nach newtonscher Reibung?
>>F = kv²
>>bzw
>>M = kw²

Wo steht das, das das im Quadrat ist? Warum ist die Kraft/Mometn nicht 
proportional?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Formel für das Gegenmoment (Reibmoment?) kann ich nicht so ganz 
nachvollziehen. Der Roboter hängt ja nicht am Rad, oder? Und selbst dann 
würde sich das Moment mit dem Winkel ändern...

Was du wahrscheinlich suchst ist das näherungsweise Coulombsche 
Reibmoment. Das lässt sich nicht so leicht ausrechnen, man muss es meist 
experimentell bestimmen. Noch genauer wäre, Haftreibung, Stribeck-Effekt 
und viskose Reibung nachzubilden.
In Simulink kann man Coulombsche Reibung im Prinzip mit dem Sgn Block 
nachbilden, man bekommt aber an der Unstetigkeitsstelle Probleme mit der 
Simulation. Wenn man das Modell nur für eine Reglerauslegung braucht, 
kann man meist damit leben. Als Alternative kommen 3 Lösungen in Frage:
- s-function schreiben die die Modellumschaltung 
Haftreibung->Gleitreibung richtig berücksichtigt
- Nachbildung der Modellumschaltung mit dem state-Ausgang eines 
Integrierers (da gibts ein Beispiel in der Doku dazu)
- Stetige Kennlinie mit Nulldurchgang (keine gute Nachbildung, löst aber 
das Simulationsproblem)

Mit einigen der Stichpunkte findet man auch bei google was hust.

Autor: John Twenty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würde mal sagen, dass es so ist:

F_Rollreibung ist proportional zu v;

F_Rollreibung_Rad= m*g*v*Rollreibung_Koeffizient;


->M_Reibung= r*m*g*v*Rollreibung_Koeffizient;


Einwände?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja!
Reibmomente setzen sich prinzipiell aus Haftreibung (im Stillstand), 
Stribeck-Reibung (langsame Bewegung), Coulombscher Reibung (unabhängig 
von der Drehzahl) und viskoser Reibung (abhängig von der Drehzahl, 
linear, quadratisch oder wie auch immer) zusammen. Dabei ist der 
Coulombsche Anteil in erstmal dominant, weil man im Allgemeinen keine 
riesigen viskosen Anteile in den Lagern hat. Im Prinzip wie hier: 
http://de.wikipedia.org/wiki/Stribeck-Kurve nur, dass die Kurve nach 
hinten sehr flach ansteigt. Genauen Aufschluss kann aber nur eine 
Messung bringen, deshalb würde ich mal die Stromaufnahme des Motors bei 
verschiedenen Geschwindigkeiten messen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.