Hallo Leute,
Für ein Schulprojekt baue ich einen Staubsaugerroboter. Sensoren, Bürste
und Sauger läuft alles schon tadellos. Leider habe ich jetzt Probleme
den Roboter zum fahren zu bringen.
Verbaut sind diese Motoren:
https://www.amazon.de/Motor-Smart-Chassis-Roboter-Getriebemotor/dp/B00QHENMNU?tag=psblog-21
Mit den Relais betreibe ich die Motoren momentan,aber eben nur im
Vorwährtsgang und ausschalten kann ich sie noch. Mit diesen Relais habe
ich kein Problem:
https://www.roboter-bausatz.de…level-trigger-einstellbar
Jetzt möchte ich die Motoren noch drehrichtungsumkehrbar schalten
können. Dazu habe ich die Folgende H-Brücke gekauft.
Motorsteuerrelai L9110:
https://www.amazon.de/Baoblaze-Doppeltes-Motortreiber-Kontroller-Schaltplatte-multifarbe/dp/B00NOVAORQ/ref=sr_1_23?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=L9110&qid=1558997648&s=computers&sr=1-23&tag=psblog-21
Ab jetzt gehen die Probleme los: Ich schaffe es nicht, dass das Relai
schaltet.
Die Arbeitsspannung beträgt 7,2V. VCC an +7,2V und GND an 0V.
AN OA1, OB1 hängen die zwei kabel, die zum Motor gehen. Analog dazu der
andere Motor an OA2, OB2.
Ich werde mit Fritzing noch ein Bild erstellen, aber es sollte auch
schon so nachvollziehbar sein.
1B1, 1A1, 1B2, 1A2 gehen jeweils direkt auf einen GPIO des Raspberry
Pi's 3. An diesem GPIO sollten jeweils 3,3V ausgegeben werden, diese
werden auch ausgegeben.
Die Beschaltung der GPIO schaut recht einfach aus, 1B1 auf HIGH 1A1 auf
LOW 1B2 auf HIGH 1A2 auf LOW. So sollten die Motoren vorwährts drehen,
dies geht aber nicht.
Dann hab ich begonnen mit dem Multimeter zu messen. Ich habe die Motoren
und die GPIOS abgeklemmt und nur das Relai an die 7,2V und 0V
angeschlossen. Am Relai kann ich jetzt zwischen GND und 1B1, 1A1 jeweils
3,8V messen und zwischen 1B2, 1A2 und GND sogar die vollen 7,2V. Dies
verwirrt mich jetzt, wenn jetzt ein GPIO noch Spannung drauf gibt ,kann
das Relai ja nicht definiert schalten ?!
Mache ich was falsch oder ist meine H-Brücke defekt, (diese schaltet ja
anscheinend intern Spannung auf die GPIO anschlüsse)
Danke schon mal
MFG
Du und Fritzchen, Ihr solltet euch besser 'ran halten bzgl. der
Schaltschemata. (Mehrzahl, weil mit Aufspaltung auf Teilbereiche
alles übersichtlicher ist.)
Vor denen, allein durch die wörtliche Beschreibung, wird man
nur schwerlich schlauer werden. Hilfe also praktisch unmöglich.
(Schemata sind übrigens nicht erst bei Problemlösung / Ratsuche
nützlich - normalerweise kommt das zuerst ... der Zusammenbau
danach ...mittels sauberer Schemata senkt man die Fehlerquote.
Nur, wenn Schaltungen geradezu lachhaft einfach sind [und ich
deshalb sehr sicher bin, daß es ohne geht], mach ich keine.
Hier (bei Dir) sicher nicht der Fall. Nun liegt das Kind zwar
schon im Brunnen, aber hol es zumindest nach, und lade sie hoch.)
Alle Saugroboter, die mir so untergekommen sind, fahren die Motoren über
eine Regelschleife, dafür sind die Radsensoren da. Wenn man das nicht
macht, sind selbst geringste Unterschiede der Motoren die Ursache für
schlechten Geradeauslauf.
Man sollte also die Motoren mit Halbleitern und PWM ansteuern, weil man
sie sonst nicht in den Griff bekommt. Ausserdem schädigt hartes
Einschalten und Abstoppen der Motoren die ohnehin schwachen
Plasikzahnräder.
Ich habe das damals bei meinem Linuxrobbi als Treiber programmiert, aber
ich habe keine Ahnung, ob das beim RPi auch so geht wie auf dem uCSimm.
Jonas Roßkopf schrieb:> (diese schaltet ja> anscheinend intern Spannung auf die GPIO anschlüsse)
Vorsicht bei so etwas. Die GPIO gehen direkt ins Herz des Prozessors und
ein erzwungener Strom in die CPU kann zur Zerstörung führen, die GPIOs
des RPi sind bekannt schwach.
So ich habe heute noch einmal eine andere und neue H-Brücke in Betrieb
genommen. Mit der komm ich besser klar und wenn sie an Spannung
angeschlossen ist, sind die IN1,2,3,4 immer noch Spannungsfrei.
Neue H-Brücke L298N:
https://www.amazon.de/MUZOCT-Motorantrieb-Controller-Stepper-Arduino/dp/B075SXWKGD/ref=sr_1_2_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=H-Br%C3%BCcke&qid=1559082359&s=gateway&sr=8-2-spons&psc=1&smid=A279NJMYLGQ7P7
Ich habe noch Bilder angehängt auf denen Ihr halbwegs sehen könnt, wie
ich Messe und wie verkabelt ist.
Folgende Erfahrungen hab ich eben gesammelt:
Wenn ich IN3 an +5V und IN4 an 0V (nicht GPIO, sondern direkt die
Dauerspannungen) vom Raspberry PI anschließe oder auch anderst rum, tut
sich gar nichts .
Wenn ich den Motor direkt an den Raspi anschließe mit 5V und 0V dreht er
sich, wenn auch langsam.
Wenn ich IN3 und IN4 an die 7,2 Volt vom Akkupack klemme, läuft der
Motor über die H-Brücke wunderbar!!!
Dies hat mich auf die Idee gebracht die H-Brücke über ein separates
Relai zu schalten, dies hat auch funktioniert.
Meine Vermutung wäre an dieser Stelle, dass der Raspi nicht genügen
Strom ausgeben kann um die H-Brücke zu schalten. Es laufen bereits 10
Sensoren und zwei Relais, sowie ein Touchschalter über den Raspi.
Der Theorie widerspricht jedoch, dass die Motoren direkt am Raspi
angeschlossen sich sogar drehen. Und außerdem kann ich die einfachen,
blauen Relais immernoch ganz normal mit dem Raspi schalten. Brauchen
die blauen Relais weniger Strom zum schalten wie die H-Brücke?
Mach ich generell irgendetwas falsch?
Um die H-Brücke mit den blauen Relais zu schalten, würde ich insgesamt
noch 4 zusätzlich Relais benötigen. Dies ist hoffentlich nicht die
einfachste Lösung.
Angenommen die H-Brücke schaltet wirklich nicht, weil der Raspi
ausgelastet ist, würde es noch die Möglichkeit geben einen zweiten
Raspberry zu verwenden, der dann nur die H-Brücke schaltet. (In der
Schule gäbe es noch ohne Probleme einen). Was sagt ihr dazu?
Danke für eure Mühe :)
Sei doch bitte mal so nett und zeichne einen Schaltplan deiner
Konstruktion. So haben wir doch bessere Chancen, deine Verkabelung zu
verstehen als mit den etwas verwirrenden Fotos.
Eines ist jedoch immer klar: die Peripherie, die vom RPi geschaltet
wird, muss 3,3V-Logik kompatibel sein und darf an den Steuereingängen
nur sehr kleine Ströme ziehen, damit die GPIOs nicht überlastet werden.
Ein Relais benötigt also einen Steuertransistor und eine H-Brücke muss
mit 3,3V an den Eingängen klarkommen und den Pegel sicher erkennen.
Das ist nun mal eine Eigenart des RPi, seine Versorgung ist 3,3V und nur
das kann er auch als high am GPIO ausgeben.