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
..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
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
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 :-)
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.
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.
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
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.
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.
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
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
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 ;-)
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
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.
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
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
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
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ß
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
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.
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
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.