PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindigkeitsproblem bei Schrittmotorantrieb



Uni-AMR-Projekt
26.05.2005, 16:43
Hallo,

wir haben als Universität ein Projekt gestartet, dass sich mit dem Bau eines autonomen Roboters beschäftigt. Die Studenten sollen mit Hilfe dieses Roboters praxisnah an Microcontrollerprogrammierung, Sensorik etc. herangeführt werden. Der Roboter soll später einmal Besucher durch die Uni führen und Botengänge machen.

Um eine vernünftige Basis zu haben, haben wir uns von einer Firma ein Fahrwerk anfertigen lassen. Um genaue Positionierungen des Roboters zu realisieren (z.B. exakte 90 Grad Drehung), haben wir den Einbau von Schrittmotoren verlangt.

Leider ist das Ergebnis: Mangelhaft, Mund halten, Setzen.

Es wurden Motoren mit 1:12 Getriebe von nanotec verbaut. Als Ansteuerung wird das RN-Motor Modul, das ja in diesem Forum entwickelt wurde, eingesetzt.

Die Motoren haben ein Schrittauflösung von 200. D.h. bei einer Untersetzung von 1:12 muss die Ansteuerung also 2400 Schritte für eine Radumdrehung (d=12cm) erzeugen. Da RN-Motor eine max. Schrittfrequenz von 1000 Schritten / Sek. generiert, kommen wir auf eine max. Geschwindigkeit von unter 0,5 km/h.

Wir stellen uns aber eine Geschwindigkeit von mind. 3 km/h vor.

Das Gesamtgewicht des Roboters wird zwischen 5 und 8 kg betragen und unser Akku bringt eine Versorgung von 12 V.

Jetzt die Frage:

Kann man die RN-Motoransteuerung durch Eingriff in den Quellcode so tunen, dass man eine höhere Schrittfrequenz als 1 KHz erreicht?

Kann man überhaupt den Quellcode bekommen?

Ist für diesen Zweck die L297/L298 besser geeignet als RN-Motor?

Bringen kräftige Schrittmotoren genug Kraft auf, um auch ohne Untersetzung bis zu 8 kg anzutreiben?

Oder muss man an dieses Problem ganz anders herangehen?

RCO
26.05.2005, 18:49
Wieviel Kraft du brauchst, hängt ja erstens von der Untersetzung und 2. vom Raddurchmesser ab.
Wie viel Moment dein Motor haben muss, kannst du ja mal hier ausrechnen:
https://www.roboternetz.de/phpBB2/motordrehmoment.php

*Baui
26.05.2005, 19:17
Das Problem liegt meiner Meinung nicht an der Generierung der Schrittfrequenz, sondern an der maximalen Schrittgeschwindigkeit des SChrittmotors.
Der Motor muss nun mal den sich ständig ändernden Magnetfeldern folgen und dabei auch noch Arbeit verrichten=Träge

Also ich würde sagen entweder einen stärkeren SChrittmotor verwenden und das Getriebe nicht allzu stark untersetzen oder einen Gleichstrommotor mit Sensor regeln lassen.

Gruß´
Baui

RCO
26.05.2005, 19:25
Der Motor muss nun mal den sich ständig ändernden Magnetfeldern folgen und dabei auch noch Arbeit verrichten=Träge

Könntst du nochmal genau erklären, wie du das meinst? Also das Problem ist ja, dass die erhöhung der Schrittfrequenz zur Folge hat, dass weniger Strom fließt und daher das Drehmoment sinkt. Man muss also das Drehmomet auch bei höheren Drehzahlen konstant halten.

Manf
26.05.2005, 19:56
Vor allem sind Schrittmotoren von nanotec auch in Datenblättern beschrieben, sollte man sich das denn einmal ansehen?

@Uni-AMR-Projekt hast Du die Typenbezeichung oder gleich einen Link auf das Datenblatt?

Manfred

Uni-AMR-Projekt
27.05.2005, 08:37
@RCO: Die Berechnungsroutine besagt, dass mit Getriebe ein Drehmoment von 288 Ncm und ohne Getriebe 20,6 Ncm erforderlich sind. In der Berechnung ist aber auch eine Steigung von 20 % berücksichtigt, die wir in der Uni nicht haben. Außerdem wird ein Leistungsverlust durch das Getriebe von 50 % angenommen. Unser Getriebe hat einen Verlust von 28 % laut Datenblatt ( http://www.nanotec.de/media/gpll.pdf ). Das erforderliche Drehmoment ist also geringer als berechnet.

Hier die Motorkennlinie:
http://www.nanotec.de/media/Kennlinie-SH4018L1704.pdf

Hierzu erinnere ich nochmal an die 12 V Akku-Versorgung. Man muss sich also eine entsprechende Verschiebung nach links vorstellen.

@*Baui: Laut dieser Kennlinie macht der Motor die benötigten 2000 U / min mit. Dies würde einer Geschwindigkeit von 3,2 km/h und einer Schrittfrequenz von 6,7 KHz entsprechen. Natürlich sinkt das Drehmoment bei hohen Schrittzahlen extrem ab, aber der Roboter hat dann ja schon Geschwindigkeit und das zur Beschleunigung benötigte Moment entfällt nahezu.

Freiheitspirat
27.05.2005, 15:48
Bei einer 12V Versorgung sollten 2000U/min das absolute Maximum des Motors sein.
Ich würde an eurer Stelle lieber im optimalerem Drehzahlbereich bleiben (<1000) und eine kleinere Untersetzung benutzen um Geschwindigkeit zu erhöhen.
Durch geeignete Anfahrtrampen (langsame Steigerung der Umdrehung bis zur Endgeschwindigkeit) kann man auch mit diesen Motoren ein beachtliches Gewicht bewegen.

Ich habe ähnliche Schrittmotoren (allerdings mit der dreifachen Leistung)von Nanotech mit einer 1:2,33 Untersetzung, die einen 15Kg Roboter locker auf 2Std/km beschleunigen...

*Baui
27.05.2005, 16:04
Ich kann Freiheitspirat nur zustimmen.
Mit 2000U/min arbeitet der Motor wirklich schon im absoluten Maximum und ihr bekommt gar nicht die ganze Kraft aus dem Motor.

Lasst ihn lieber im optimalen Bereich von 1000 U/min arbeiten, dann habt ihr auch keine KraftProbleme. Verändert lieber das GEtriebe entsprechend.

Gruß
Baui

Uni-AMR-Projekt
29.05.2005, 09:21
OK, gehen wir davon aus, dass uns Nanotec das 14:1 Getriebe in ein 5:1 umtauscht. Dann kommen wir mit einer Drehzahl von 800 U/min auf die gewünschte Geschwindigkeit.

Dann bleibt immer noch das Problem mit der Ansteuerung.
Um eine Drehzahl von 800 U/min zu erreichen, benötigen wir eine Schrittfrequenz von 2,7 KHz. ( 800 U x 200 Schritte / 60 Sek.)

Die verbaute RN-Motor - Ansteuerung kann jedoch nur eine maximale Frequenz von 1 KHz aufbringen. In diesem Motortreiber steckt ja ein vorprogrammierter AVR. Kennt jemand den Code des AVR?

Kann man durch entsprechende Änderungen am Code, die max. Schrittfrequenz erhöhen?

Frank
30.05.2005, 16:06
Hallo,
der Code ist leider nicht offengelegt weil solche PWM-Software-Projekte doch immer etwas Arbeit darstellen und der Programmierer auch gern etwas zur Motivation in Form von ein paar Euros braucht ;-)
Also mir scheint Eure Geschwindigkeit schwierig mit Schrittmotoren erreichbar. Das Drehmoment ist in den oberen Bereich bei den meißten Motoren dermaßen niedrig, das es kaum noch zum bewegen von Bot´s reichen dürfte. Die wenigsten Motoren schaffen die schnellste Stufe von RN-Motor. Ich würde das an Eurer Stelle mal mit entsprechendem Gewicht austesten.
Es ist leider so das Schrittmotoren doch vornehmlich für langsame Bot´s sinnvoll sind.

pebisoft
30.05.2005, 17:09
" Die Studenten sollen mit Hilfe dieses Roboters praxisnah an Microcontrollerprogrammierung, Sensorik etc. herangeführt werden. "
1. verbesserung von der firma fordern
2. die schlechte arbeit der öffentlichkeit zeigen, damit die firma nichts mehr verkauft und pleite macht
3. die lehranstalt prüfen, ob nicht irgendwie die uni mit der firma hand in hand arbeitet ( nur wenn euch der auftrag gegeben wurde, bei dieser firma anfertigen zu lassen)
4. alles selber anfertigen, es gibt bestimmt leute die handwerklich geschickt sind und wie oben steht müsst ihr ja das proggen eh lernen.

ich glaube das ist ein guter mittelweg.
mfg pebisoft

Manf
30.05.2005, 17:32
Es gibt doch zunächst einmal die Randbedingung, dass die Motoren nicht zu den Getrieben passen.
Im nächsten Schritt zeigt sich, dass die Steuerung mit 1000 Schritten pro Sekunde den Motor auch nicht mit einem andern Getriebe gut ansteuert.

Wenn dann aber Motor und Getriebe ausgetauscht werden können gegen einen Typ der vom Steuerungshersteller empfohlen werden kann, dann hätte man wieder alles zusammen. Ich glaube der Steuerungshersteller hat Erfahrung mit dem Antrieb von Roboteren und er könnte eine Empfehlung geben.

Wenn das nicht ginge könnte man alternativ auch an einen Austausch der Steuerung denken, aber der Motor als Ausgangspunkt ist kein gücklicher Ansatz.
Manfred

Frank
30.05.2005, 21:13
@PepiSoft: Ich weiss nun überhaupt nicht auf was sich dein Beitrag hier im Thread bezieht - irgendwie paßt der überhaupt nicht.
Es geht doch hier um ein Motorproblem das die Uni lösen will. Dazu hat sie sich wohl für einige Teile entschieden und sicher auch vorher die Leistungsmerkmale studiert. Wenn dann was nicht genau paßt dann kann man von den Firmen nicht generell verlangen das sie Motor oder eine Steuerung für ein bestimmtes Projekt umbauen nur weil die Zusammenstellung nicht ideal paßt. Von daher weiss ich nicht was du mit schlechter Arbeit meinst. Also bitte immer vernünftig zur Sache schreiben.

Wie gesagt, ich glaube nicht das man einen so schweren Roboter sinnvoll mit so hoher Geschwindigkeit über einen Schrittmotor bewegen kann. Insbesondere wenn man die verfügbare Batteriespannung und maximalen Strom von 2A als Grenzwert betrachtet. Zumindest die Motoren die ich alle schon mal angetestet habe waren nicht für die Zwecke geeignet. Getriebe bringen halt bei Schrittmotoren nur wenig, da mit steigender Geschwindigkeit das Drehmoment abnimmt, das wirkt genau dem Vorteil des Getriebes entgegen.

Ich würde Geschwindigkeit reduzieren (max 1000 Schritte, lieber deutlich weniger) oder doch zu Getriebemotor wechseln.
Wie gesagt, Schrittmotoren sind nur bei kleinen langsamen Bot´s wirklich gut. Da ist dann eine Untersetzung von 6:1 oder ähnlich ganz brauchbar.

Freiheitspirat
31.05.2005, 11:54
Wie gesagt, Schrittmotoren sind nur bei kleinen langsamen Bot´s wirklich gut.


Hm, also mein Bot wiegt knapp 15Kg ist also nicht gerade klein.
Und wirklich langsam finde ich ihn nicht, wenn ich in der Wohnung mit der Fernbedienung steuere, muß man schon aufpassen, so "schnell" ist er.
50cm/s sind in Relation zu einem menschlichen Jogger nicht gerade viel, bei einem 15Kg Bot aber schon eine ganz schönes Geschoß, wenn das irgendwo gegenprallt...

In dem gegebenen Fall würde ich ein 5:1 Getriebe mit der max. möglichen Ansteuerung wählen und mal schauen, ob die Geschwindigkeit nicht doch akzeptabel ist.

@Frank
gibt es eigentlich eine "physikalische" Beschränkung beim RN-Motor, oder ist die Programmlogik die Beschränkung ?

Uni-AMR-Projekt
31.05.2005, 12:17
Wir haben als Uni für Automatisierungstechnik nicht viel Erfahrung mit Antrieben, die mit geringer Akkuspannung laufen. Unser Fachgebiet im Bereich Antriebstechnik sind eher starke Motoren zum Antreiben von Förderbändern und ähnlichem, die mit ganz anderen Strömen und Spannungen versorgt werden.

Daher haben wir für das Fahrwerk + Antrieb eine (Fremd-)Firma beauftragt, die Bausätze für recht schwere und große Bots anbietet. Diese Firma haben wir gefragt, ob sie abweichend von der eigentlichen Produktpalette ein Fahrwerk mit Schrittmotoren für uns herstellen können, dass ca. 8 kg mit einer max. Geschwindigkeit von 4 km/h antreiben kann.

Die Firma hat gesagt: Machen wir!

Die 8 kg haben sie auch locker geschafft, die Geschwindigkeit belief sich jedoch bei 0,4 km/h.

Zu sagen, dass kriegen wir hin, dann für die Extraanfertigung einen 4-stelligen Betrag zu verlangen und dann die Maßgaben nicht zu erfüllen, sehe ich schon als schlechte Arbeit der Firma an.

Wir haben das Fahrwerk zurückgeschickt und Verbesserung verlangt. Wir haben dann eine ganze Weile gewartet, doch die Firma hat nichts verbessern können.

Nun haben wir das Fahrwerk erstmal unverändert wiederbekommen, weil Prüfungsprojekte darauf aufbauen. (µC - PC Kommunikation per WLAN, Hindernisserkennung durch Ultraschall, Fahrroutinen, etc.)

Ich hatte gehofft, dass wir im Gegensatz zum Fahrwerk-Hersteller durch den Austausch möglichst weniger Teile mehr Geschwindigkeit hinbekommen könnten. Daher habe ich dieses Forum um Hilfe gebeten.

Parallel zu diesem Thread habe ich nochmal die Datenblätter vieler Motoren und Getrieben verschiedener Hersteller studiert und bin zum Schluss gekommen, dass Frank leider recht hat. Schrittmotoren sind keine gute Wahl für unseren Bot. Wir werden immer nur eines unserer Wünsche erfüllen können. Entweder Kraft oder Geschwindigkeit. Unsere Kraft- und Geschwindigkeitswünsche schließen sich halt gegenseitig.

Wir werden wohl auf kräftige DC-Motoren umsteigen und die Streckenmessung zur Positionierung dann mit optischen oder kapazitiven Sensoren anstatt durch Zählen von Schritten vornehmen.

Vielen Dank an alle, dass ihr mir geholfen habt, diese Erkenntnis zu erlangen.

Frank
31.05.2005, 12:48
Daher haben wir für das Fahrwerk + Antrieb eine (Fremd-)Firma beauftragt, die Bausätze für recht schwere und große Bots anbietet. Diese Firma haben wir gefragt, ob sie abweichend von der eigentlichen Produktpalette ein Fahrwerk mit Schrittmotoren für uns herstellen können, dass ca. 8 kg mit einer max. Geschwindigkeit von 4 km/h antreiben kann.

Die Firma hat gesagt: Machen wir!

Die 8 kg haben sie auch locker geschafft, die Geschwindigkeit belief sich jedoch bei 0,4 km/h.

Zu sagen, dass kriegen wir hin, dann für die Extraanfertigung einen 4-stelligen Betrag zu verlangen und dann die Maßgaben nicht zu erfüllen, sehe ich schon als schlechte Arbeit der Firma an.


Diesen Sachverhalt kannte ich nicht, das kam im Thread nicht so ganz klar raus. Aber wenn es so ist wie du beschreibst, dann hast du natürlich Recht das deine Fahrwerkfirma Mist gebaut hat - keine Frage.

Übrigens falls es Dir hilft kann ich dir eine Firmware-Version mit höherer Schrittfrequenz (vielleicht doppelte) gegen geringe Unkosten basteln. Aber wie schon gesagt glaub ich nicht das es dir nutzen würde. Wenn dennoch Intresse schick wieder Mail oder PM.

@Freiheitspirat: Nein die Schrittgeschwindigkeit ist nur von der Software abgängig. Allerdings bedeutet höhere Schrittgeschwindigkeit deutlich mehr Rechenleistung. Es müsste noch ausgetestet werden wie sich das mit der PWM-Stromregelung und der Schnittstellenabfrage verträgt. Irgendwo gibts da natürlich eine Grenze

Freiheitspirat
31.05.2005, 13:16
@Frank:
Das dachte ich mir.
Die Beantwortung der nächsten Frage nach der Möglichkeit dann in der SW was zu machen, hast Du ja auch schon gleich mit beantwortet...

Aber nochmal:
Wenn man von 12:1 auf 5:1 umsteigen kann (die Kraft wurde ja als "locker geschaft" beschrieben) und gleichzeitig etwas mehr aus der Ansteuerung herausholen kann, würde dann nicht eine akzeptable Geschwindigkeit, bei geringen Kosten erreicht werden können ?

Uni-AMR-Projekt
31.05.2005, 17:38
OK. "locker" geschafft war vielleicht ein bisschen zu hoch gegriffen. Bei 8 kg, 12cm Raddurchmesser und 14:1 Getriebe besagen sowohl die RN-Nm-Berechnungsroutine als auch von uns angestellte Berechnungen, dass der Motor noch ungefähr 0,25 Nm aufbringen muss. Das ist auch der Wert den der Motor noch schafft (laut Motorkennlinie - Link oben).

Bei 5:1 Getriebe müsste der Motor fast 0,6 Nm aufbringen. Das schafft er leider nicht.

Freiheitspirat
01.06.2005, 14:43
Also nach der RN-Nm-Berechnungsroutine dürfte mein Bot gar nicht funktionieren.
15kg mit 12cm Rad und 200U/min mit einer Untersetzung von 1:2,33 ergibt da 5,4Nm
Ich habe aber nur 2 Schrittmotoren mit je 0,8Nm (bei 12V statt 24/48V)
und er fährt trotzdem prima (2km/h)!
Aber ich habe auch bestimmt keine 50% Reibungsverluste...

Uni-AMR-Projekt
01.06.2005, 15:22
Heute kam mein Prof. auch mich zu und hat gesagt, dass der Fahrwerks-Hersteller leistungsstärkere Motoren bestellt hat. Ich hoffe, dass er auch andere Getriebe dazu bestellt hat, um mehr Geschwindigkeit zu erreichen.

Ich bin ja mal gespannt, was da kommt. Freitag soll´s bei uns ankommen.

@Freiheitspirat: Wieviel Strangstrom benötigen denn Deine Motoren und wie steuerst Du sie an?

Freiheitspirat
01.06.2005, 16:08
1,4A / 3,4Ohm - Gesteuert mit dem selbstprogrammierten RNBFra, Vorläufer (sehr ähnlich) vom RN-Motor

Frank
01.06.2005, 20:20
Also nach der RN-Nm-Berechnungsroutine dürfte mein Bot gar nicht funktionieren.
15kg mit 12cm Rad und 200U/min mit einer Untersetzung von 1:2,33 ergibt da 5,4Nm
Ich habe aber nur 2 Schrittmotoren mit je 0,8Nm (bei 12V statt 24/48V)
und er fährt trotzdem prima (2km/h)!
Aber ich habe auch bestimmt keine 50% Reibungsverluste...


Das kann gut sein. Daher würde ich die Berechnung auch nicht zu genau nehmen, es ist nur eine Überschlagsrechnung die eigentlich auch nur für Getriebemotoren gedacht ist. Zudem wurde bei der Berechnung auch sie sichere Seite gewählt, so das der Bot auch Steigungen kleine Hindernisse etc. überwinden kann (also ist mehr Offroad Berechnung).
Auf gerader Ebene wie z.B. Halle oder Wohnung werden oft auch deutlich schwächere Motoren reichen. Am besten sind Praxistest´s!

Im übrigen hatte ich damals meinen Bot auch relativ schnell bewegt indem ich einen Motor mit nur glaube 60 Schritten pro Umdrehung verwendet hatte. Mit einer Untersetzung von 6:1 klappte das bis ca. 8 kg noch relativ gut auf geraden glattem Boden.

Uni-AMR-Projekt
21.06.2005, 19:38
Hallo, ich wollte mich mal wieder melden, um von unseren Fortschritten zu berichten.

Der Hersteller unseres Fahrwerks hat nun sehr große kräftige unipolare Schrittmotoren eingebaut, die ohne ein Getriebe das Fahrwerk antreiben. So wie die Motoren ausgeliefert werden, bräuchten Sie 2,8 A. Wir haben die Spulen im Motor jedoch gebrückt, dass nicht von den Anschlussklemmen A zu A\ zwei Stromkreise durch je eine Spule laufen, sondern ein Stromkreis durch beide Spulen. Dies empfielt auch nanotec für Frequenzen < 1 kHz.
Somit brauchen die Motoren nur 1,4 A. Das heißt die Grenzmarke von 2 A von RN_Motor wird nicht überschritten.

Das Fahrwerk fährt nun mit einer recht annehmbaren Geschwindigkeit. Es hat zwar beim Anfahren noch etwas Probleme, aber das werden wir mit einem zusätzlichen Akku lösen. Mit 20 V von einem Netzgerät hat schon super geklappt.

Die Kommunikation zwischen PC und Microcontroller per WLAN steht auch schon. Das nächste Ziel ist dann, dem Bot einen Start- und Zielpunkt in der Uni zu geben und den Bot selbständig den Weg finden zu lassen. Sobald wir ordentlich was erreicht haben, können wir ja mal einen Artikel über unseren Bot ins Forum posten, wenn Interesse besteht.

Vielen Dank für Eure Tipps und fürs Mut machen!!

Manf
21.06.2005, 20:04
Sobald wir ordentlich was erreicht haben, können wir ja mal einen Artikel über unseren Bot ins Forum posten, wenn Interesse besteht.
In einem Punkt bin ich mir sicher:
Es besteht Interesse an einem Artikel, auch in diesen Forum, und sicher auch schon bevor der Roboter selbständig von einem Punkt der Uni zu einem anderen findet.

Viel Erfolg dabei, interessant wäre es bestimmt auch zwischendurch von Teilaufgaben und Problemen zu hören, bei deren Lösung alle lernen können.
Manfred

Frank
21.06.2005, 23:27
Fein das es nun doch klappt. Wäre schön wenn ihr später auch über die "Wlan Kommunikationslösung" näher berichtet, würde mich und sicher auch andere interessieren.

Gruß Frank

Freiheitspirat
22.06.2005, 10:31
Das Anfahren kann man durch die Programmierung einer "Anfahrtrampe", also einer langsamen Steigerung der Geschwindigkeit von 0 auf MAX recht soft gestalten.

Da Ihr nun scheinbar die gleichen Motoren einsetzt wie ich (mit hoffentlich auch der gleichen Zufriedenheit, auch wenn die Dinger ziemlich teuer sind)
würde mich doch interessieren, welche Leistungssteigerung Ihr durch den Einsatz einer höheren Akkuspannung (ich gehe davon aus, das Ihr über 24Volt nachdenkt) im Verhältnis zum Aufwand (Gewicht und Platz von 2 Akkus / aufwedigere Spannungsregelung,...) erreicht.
Bin gespannt auf Eure Ergebnisse...