Forum: Mikrocontroller und Digitale Elektronik Gleichstrommotor stabile Drehzahl bei Lastwechsel


von Harri (Gast)


Lesenswert?

Hallo
Ich hab einen Rasenmäherroboter etwas modifiziert damit er auch steilere 
Hügel mähen kann. Bergauf funktioniert das sehr gut, nur wenn der 
Roboter bergab fährt, so wird er plötzlich sehr schnell. Der 
Beschleunigungsmesser meldet nun dem Robo dass er angehoben wird, und 
der Robo schaltet sich ab.
Die Lösung wäre nun eine Steuerung (je Motor), welche die Drehzahl bei 
Lastwechsel konstant hält.

1. Möglichkeit: Neigungsmesser + uC ... die Steuerung greift ein, wenn 
der Robo bergabfährt   = ziemlich aufwendig

2. Möglichkeit: Drehzahlmessung am Motor und Regelkreis  = aufgrund der 
Motorverbauung mechanisch anspruchsvoll

3.Möglichkeit: Steuerung mit PWM für jeden Motor = am einfachsten 
realisierbar

Nun meine Frage: Bei einem Lastwechsel (bergab)wird ja der Motor 
"angetrieben" und will schneller laufen. Die Steuerung muss daher 
bremsen. Bei einer PWM-Schaltung ist eine Freilaufdiode beim Motor 
notwendig um die Halbleiter zu schützen. Die Bremswirkung ist daher 
nicht gegeben, oder seh ich das falsch?

Harri

von Walter T. (nicolas)


Lesenswert?

Im Gegenteil. Die Freilaufdiode dürfte den Motor abbremsen.

von Harri (Gast)


Lesenswert?

..Das heißt, dass eine PWM-Steuerung hier bremsen würde und die Idee 
grundsätzlich funktioniert...ich kann das experimentell im Moment nicht 
überprüfen, und gedanklich stehe ich ein Bisschen auf der Leitung

harri

von batman (Gast)


Lesenswert?

Ist der Hügel denn so steil, daß der Robbi ohne Strom runterfährt oder 
muß der Antrieb nur gedrosselt werden?
Bremsen ist ja eigentlich was anderes.

von Harri (Gast)


Lesenswert?

Es ist ziemlich genau an der Kippe. Stuppst man den Robo im 
ausgeschaltenen Zustand an, so rollt er gerade mal runter, mal nicht. 
Das macht die Sache etwas schieriger
harri

von H.Joachim S. (crazyhorse)


Lesenswert?

Harri schrieb:
> einen Rasenmäherroboter

Husqvarna? Hab ich mal bei Mutter gesehen, sah witzig aus. Ein steiles 
Stück ist dabei, irgendwas zwischen 30und 45 Grad. Wenn er da zufällig 
rechtwinklig runter fährt und wegen Feuchtigkeit etwas rutschig, legt er 
den Rückwärtsgang ein und gräbt sich ein :-)

von batman (Gast)


Lesenswert?

Also Drosseln bis Abschalten des Antriebs müßte reichen. Das geht z.B. 
mit einer EMK-Steuerung (meintest du das anstatt PWM-Steuerung?) zur 
Drehzalregelung. Man muß aber dazu an die Antriebstreiber ran. 
Vielleicht ist es leichter, die Drehzahl per (Reflex-)Lichtchranke an 
einer Achse oder Rad zu erfassen und (per PWM) zu regeln.

von MaWin (Gast)


Lesenswert?

Harri schrieb:
> 3.Möglichkeit: Steuerung mit PWM für jeden Motor = am einfachsten
> realisierbar

Und was soll das zur Drehzahlstabilisierung beitragen ?

Genau 0,nichts.

Du musst die Drehzahl schon messen, um die Drehzahl per PWM 
Tastverhältnis regeln zu können. Oder die Gegen-EMK in den PWM Pausen.

von Harri (Gast)


Lesenswert?

Der Robo ist ein WORX Landroid. Wenn er zu schnell nach unten rollt 
glaubt er, dass ihn wer anhebt und schaltet sich aus.

Grundsätzlich kennt der Robo nur eine Drehzahl und ist mit je einem 
Motor pro Rad aufgebaut. Also es dreht sich das Rad vorwärts, rückwärts 
oder gar nicht.

Die zwischenzuschaltende Schaltung (was für ein Wort :-)  ) soll nun 
verhindern, dass der Robo bergab schneller wird.

harri

von m.n. (Gast)


Lesenswert?

Walter T. schrieb:
> Die Freilaufdiode dürfte den Motor abbremsen.

Überhaupt nicht!
Die Motoren laufen wohl vorwärts und rückwärts. Dafür braucht man eine 
H-Brücke. Für eine Drehrichtung immer noch eine halbe H-Brücke.

von batman (Gast)


Lesenswert?

Motorbremse läßt sich mit Halbbrückensteuerung realisieren aber den 
Umbau will vermutlich keiner (4x) machen. Vielleicht reicht eine 
einfache drehzahlabhängige Drosselung der Antriebsstromversorgung für 
alle 4 zusammen. Dann würde er zwar immer noch bergab rollen aber 
vielleicht nicht mehr zu schnell.

von Harri (Gast)


Lesenswert?

Die Originalsteuerung liefert an die Motoren eine Gleichspannung und 
wechselt bei Drehrichtungsänderung die Polarität. Diese Schaltung will 
ich auch nicht anfassen. Um die Sache einfach zu halten, möchte ich eine 
Schaltung zwischen Robosteuerung und Motor zwischenschalten
harri

von Harri (Gast)


Lesenswert?

Ich hab mir gerade einen anderen Ansatz überlegt.
Die Motorsteuerung des Robos liefert eine Gleichspannung je nach 
Laufrichtung mit entsprechender Polarität, oder keine Spannung bei 
Stillstand. Der Motor hat eine gewisse Stromaufnahme, je nach Steigung 
die zu bewältigen ist.

Eine zwischen Motorsteuerung und Motor geschaltete Schaltung müsste nun 
die Spannung überwachen und erkennt ob der Motor links oder rechts 
drehen soll oder still steht. Gleichzeitig überwacht die Schaltung den 
gezogenen Strom vom Motor. Sinkt die Stromaufnahme unter einen 
definierten Wert ab (Robo rollt schneller als vorgesehen den Hügel 
runter) so wird gebremst.  Dieses Bremsen könnte mit Impulsen entgegen 
der Drehrichtung des Motors erfolgen.


Ich hoffe ich hab meine Gedanken halbwegs verständlich formuliert.

harri

von m.n. (Gast)


Lesenswert?

Harri schrieb:
> Eine zwischen Motorsteuerung und Motor geschaltete Schaltung müsste
> nun ...

Dort einzugreifen ist einfach zu spät und zu aufwendig.
Beseitige die Berge und die Täler, dann läuft alles wie gewünscht oder 
spare für 'ne Ziege und 'ne Kuh  ;-)

von Harri (Gast)


Lesenswert?

naja...man kann auch auf Grund der Schwierigkeiten im Leben morgens 
gleich im Bett bleiben. Resignation ist nicht gerade mein 
Problemlösungsansatz. Daher werd ich mal weitertüfteln.
harri

von Der Andere (Gast)


Lesenswert?

Wie MaWin schon sagte. Eine Steuerung ist dumm und wird -falls sie 
überhaupt funktioniert- immer sehr suboptimal sein.
Miss die Drehzahl. Kannst du nicht einen kleinen Magneten an jedes 
angetriebene Rad kleben und mit je einem Magnetsensor (im einfachsten 
Fall ein Reed Relais wie z.B. bei Fahrradtachos) erfassen?
Dann hättest du die Ist-Drehzahl und könntest regeln.

von Harri (Gast)


Lesenswert?

Der Robo arbeitet im Wesenglichen sehr gut. Daher möchte ich in die 
bestehende Elektronik so wenig wie möglich eingreifen. Das Einzige was 
ich verhindern möchte ist, dass er steil bergab zu schnell wird. Nur 
diesen Umstand möchte ich beseitigen. Inzwischen hab ich eine vermutlich 
ganz brauchbare und recht einfache Möglichkeit erdacht. Am Wochenende 
werde ich die praktische Umsetzung testen.
Ein Neigungsschalter spricht an, wenn der Robo eine gewisse Neigung nach 
unten zeigt, und startet eine Schaltung welche eine einfache pulsierende 
Spannung erzeugt. Jeweils ein Relais schaltet pro Rad auf eine neue 
Versorgungsleitung für den Motor um. Diese Versorgungsleitung wird nun 
mit der pulsierenden Spannung (MFET) getaktet.

Ergebnis:  Ein Eingriff erfolgt nur bei steiler Bergabfahrt. Der Robo 
fährt langsamer, was sich auf den Mähbetrieb nicht sonderlich auswirkt. 
Zwischen den Pulsen wirken die Reibungskräfte, in den Getrieben und 
verhindern dass der Robo davonläuft.

harri

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Sicher, daß der Roboter das Umschalten überlebt oder mindestens billigt?
Wenn im Betrieb der Motor weggeschaltet wird (Du schaltest auf Deinem 
'Impuls-Antrieb' um), fließt plötzlich NULL Strom - der Roboter könnte 
davon ausgehen, daß ein Bauteil (Motor) defekt ist und in den BMW-Modus 
(bring mich Werkstatt) umschalten.
Mit Induktionen solltest Du nur so viel zu tun haben, daß der Motor 
selber beim Umschalten kurz 'in der Luft hängt' - die dort erzeugte 
Spannung müssen sowohl Deine, wie die Roboter-Schaltung verkraften.

Anderer Ansatz:
Motorstrom einpolig über einen Brückengleichrichter führen - Du bekommst 
einen DC-Zwischenkreis mit gleicher Polarität, egal ob vor oder zurück 
gefahren wird - Deine Elektronik kann sich hier also auf die 
Stromrichtung verlassen.

Hier kannst Du per FET o.Ä. den Stromfluß unterbinden - je nachdem, was 
die Robbi-Platine dazu schwätzt.

MfG

von Harri (Gast)


Lesenswert?

Danke für die Antwort. Ich werden die ganze Sache nochmal durchdenken
harri

von Ulf (Gast)


Lesenswert?

Hallo

Du könntest auch ganz einfach einen Widerstand , evtl. 
Geschwindigkeitabhängig, über den Motor schalten, damit der Motor selber 
bremst. Der Widerstand müßte ja nur so groß sein, daß der Roboter eben 
bergab nicht zu schnell wird.

Gruß Ulf

von Joachim (Gast)


Lesenswert?

Wenn du an die bestehende Elektronik eigentlich nicht ran möchtest, wie 
sieht es denn mit einer "mechanischen" Lösung aus?

Idee 1: Du ermittelst irgendwie an den bisherigen Achsen/Rädern die 
Drehzahl oder wie bisher die Neigung. Über einen Servo-Motor wird dann 
ein "Bremsklotz" gegen das Rad gedrückt und der Robi somit sachte 
gebremst.

Idee 2: Der Servo bremst nicht das Rad, sondern drückt eine Art "Anker" 
ins Gras. Oder eine Kufe. So dass auch hier der zusätzliche Widerstand 
den Robi abbremst.

Idee 3: Du bastelst irgendwie eine dritte Achse/ein drittes Rad an den 
Robi. Die kann zum einen zur Geschwindigkeitsmessung dienen, aber auch 
wieder mechanisch gebremst den Robi verlangsamen.

Gruß

von Harri (Gast)


Lesenswert?

Die mechanischen Lösungen erfordern entweder Anbauten außen, oder innen 
anzubringen. Innen wird das schwierig, weil der Motoer mit 
Planetengetriebe sehr kompakt aufgebaut ist, und direkt über eine 
Abdichtung nach außen geführt wird.
Ich widme mich erst mal den elektronischen Lösungen
harri

von batman (Gast)


Lesenswert?

Wenn du die Antriebsleistung von der Neigung abhängig machst, darf dann 
aber kein Krümel auf der Piste liegen, an dem er dann im Bremsmodus 
hängenbleiben kann. Ich glaube so wird das nix.

von Harald (Gast)


Lesenswert?

Hallo
Ich mach mal ein update. Nach langem Überlegen, hab ich den Robo 
aufgemacht und mal etwas genauer studiert. Die beiden Fahrmotoren sind 
nicht wie ursprünglich angenommen Gleichstrommotoren, sondern 
Brushlessmotoern mit eingebauten Sensoren. Spannender war die 
Steuerpatine. Darauf sind für die Fahrmotoren je ein Motortreiber 
verbaut. Gem. dem Datenblatt fand ich den BREAK Pin, wie ihn diese 
Dinger meistens haben. Wird dieser Eingang auf High (5V) gebracht, so 
wird der Motor gebremst. Und der BREAK-Eingang hat gegenüber allen 
Steuersignalen Priorität. Die Idee war nun, einen Neigungsschalter mit 
einer Schaltung so zu verbauen, dass bei einer Bergabfahrt, ein 
periodisches Signal auf die Break-Eingänge gelegt wird.
Das Signal sollte einstellbar sein, und der Schalter prellte ganz 
fürchterlich wenn er geschlossen ist. Daher hab ich einen Attiny 
genommen, den Schalter als Öffner verwendet, und das Ding so 
geschrieben, dass wenn der Schalter aufmacht, der Timer gestartet wird. 
Bei erreichen des einstellbaren Grenzwertes wird der Steuerausgang 
getoggelt. Schließt sich der Schalter wird der Timer angehalten, und der 
Steuerausgang auf low gesetzt.
Im Robo verwende ich die Displaybeleuchtung als Versorgungsspannung. Sie 
ist stabilisiert und liefert 5V. Der Vorteil liegt darin, dass sich die 
Schaltung ausschaltet, wenn sich der Robo aus irgend einem Grund 
ausschaltet. Der Steuerausgang wurde mit 2 Dioden an die Break-Eingänge 
der Motortreiber gelegt, und der Neigungsschalter drehbar im Gehäuse 
eingebaut.
Nun fährt der Robo bergab und bremst sich immer wieder ein. Es 
funktioniert!!!!!  :-)
Hab den Robo schon früher etwas aufgemotzt. Er hat Monstertruckreifen 
aus dme Modellbau erhalten und fährt damit bodenschonend auch sehr steil 
bergauf. Da die Reifen ca 4cm über den Rahmen ragen, mussten an beiden 
Seiten zwei Abweiser angebracht werden, damit sich der Robo nirgens 
fängt.

harri

von Quatsch (Gast)


Lesenswert?

Harri schrieb:
> Die Originalsteuerung liefert an die Motoren eine Gleichspannung und
> wechselt bei Drehrichtungsänderung die Polarität.

Harald schrieb:
> Die beiden Fahrmotoren sind
> nicht wie ursprünglich angenommen Gleichstrommotoren, sondern
> Brushlessmotoern mit eingebauten Sensoren.

Ist ja schon ein erstaunlicher Unterschied.

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.