PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (kleinen) Gleichstrommoter u. andere Verbraucher an µC anschließen und ansteuern



derSpinner
02.05.2014, 11:50
So, da mich das µC-Programmierfieber jetzt richtig gepackt hat und ich sämtliche Funktionen meines Einsteigerboards (myAVR light Plus) ausgereizt habe, müssen nun zusätzliche Bauteile her, um mehr Praxiserfahrung zu sammeln. ;-)
Ich habe im Kellergerümpel noch ein paar kleine Gleichstrommotoren (von z.B. RC-Fahrzeugen, alten Laufwerken etc.).
Nun möchte ich einen Motor mit dem µC ansteuern, dabei soll der Motor die gleiche Stromquelle nutzen wie der µC (z.B. 3 AA Batterien = 4,5V o.Ä., wenn nötig auch mehr).
Habe diese nette Beschreibung gefunden: http://www.sachsendreier.com/msw/projekte/ansteuerung_gleichstrommotor/gleichstrommotor.html
Da ich kürzlich erst angefangen habe und bisher nur LEDs und ein LCD angesteuert habe, wollte ich euch nun fragen, wie man sowas in der Praxis am besten umsetzt?

1.) Ich wollte den Motor über einen Transistor anschließen. In welchem Bereich sollten die Werte des Transistors etwa liegen für diese Anwendung (Strom, Spannung, Leistung)? Für stärkere Motoren werde ich mir bei der Gelegenheit auch schonmal ein paar Relais bestellen.
2.) Ich möchte die Drehzahl des Motors steuern. Neben der Möglichkeit über PWM kann ich doch auch einfach ein Potentiometer (anstatt eines festen ohmschen R) vor dem Transistor einbauen und dort den Widerstand und somit Die Motorspannung einstellen, oder? Sinnvoll wäre dann sicherlich ein kleinerer Widerstand vor dem Transi. - Soweit meine Überlegungen. Dann würde ich beide Möglichkeiten mal ausprobieren (einfach um Erfahrung zu sammeln und aus Spaß).

Desweiteren wollte ich bei dieser Gelegenheit fragen, ob man Schritt-, Getriebe- und Servomotoren nicht auch direkt an den µC anschließen kann? Nach meiner Suche habe ich nur Seiten gefunden, wo dies über ein zusätzliches Modul zur Motoransteuerung realisiert wurde. Ist das wirklich nicht direkt möglich oder findet das lediglich in der Praxis (in Projekten) kaum Anwendung, weil damit viele Ports (1 Port je Motor) des µC besetzt werden?

Wenn ich dies einmal geschafft hab, kann ich auch beliebige andere "größere" Verbraucher anschließen, bei denen der Strom von einem Portausgang des µC zum Betrieb nicht ausreicht. - Ich habe hier z.B. noch eine Formgedächtnisfeder rumliegen, die ich dann als Aktor verwenden könnte.

Geistesblitz
02.05.2014, 12:29
Erstmal: du kannst keine Aktoren direkt an den µC anschließen. Ich weiß es gerade nicht genau, aber so bei 40mA dürfte die Obergrenze liegen, was man an Strom aus einem Pin ziehen darf. Daher wirst du immer Leistungselektronik brauchen. Einzige Ausnahme sind Modellbauservos, da diese schon die Leistungselektronik integriert haben, die müssen dann nur mit der Signalleitung mit dem Controller verbunden werden.

Potentiometer vor den Motor ist Mist, erstmal verbrätst du da jede Menge Energie drin und zweitens gibt es auch kaum Potentiometer im richtigen Widerstandsbereich. Motoren haben häufig sehr geringe Spulenwiderstände von wenigen Ohm, bei größeren Motoren häufig auch nur Bruchteile eines Ohms. Würdest du da ein 1k-Poti verwenden, würde der Motor schon bei kleiner Drehung am Poti ganz stehenbleiben.

PWM hat dagegen den Vorteil, dass sich das Tastverhältnis auch programmieren kann (beim Poti müsste man ja immer manuell drehen). Die Geschwindigkeit stellt man damit nur indirekt, sie bleibt dann immernoch lastabhängig. Die PWM bietet dann aber die Möglichkeit, eine Drehzahlregelung zu programmieren, die das dann ausgleichen kann, man braucht dann eben nur noch einen entsprechenden Sensor am Motor. Weiterer Vorteil von PWM: der Motor wird ja im Prinzip in einem bestimmten Verhältnis an- und ausgeschaltet. Im ausgeschalteten Zustand fließt praktisch kein Strom, sodass dieses Verfahren sehr effizient ist.

Ich hab früher auch haufenweise solche Kleinmotoren aus altem Spielzeug und Geräten ausgebaut, hab noch ne Sortierschachtel voll davon, doch seit ich weiß, was zu einem brauchbaren Betrieb nötig ist (Leistungselektronik, Getriebe etc.), find ich die jetzt gar nicht mal so praktisch. Da nehm ich mir doch lieber gleich Getriebemotoren, macht wesentlich weniger Aufwand.

Schrittmotoren sind nochmal eine ganz andere Sache, aber die brauchen definitiv die zusätzliche Elektronik. Die übernimmt ja nicht nur die Leistungselektronik, sondern nimmt dem Controller auch noch Rechenarbeit ab, sodass man ein ziemlich einfach zu bedienendes Interface hat. Sowas wie Microstepping ist mit einem Microcontroller doch schon ziemlich aufwändig zu machen, da ist es wirklich besser, wenn der sich um sowas nicht kümmern braucht.

Egal, was für einen Aktor nimmst, die H-Brücke wird dir dabei überall begegnen. Bei Servos ist sie schon eingebaut, Schrittmotortreiber haben auch eine drin usw.

Klebwax
02.05.2014, 20:55
Desweiteren wollte ich bei dieser Gelegenheit fragen, ob man Schritt-, Getriebe- und Servomotoren nicht auch direkt an den µC anschließen kann?

Kurze Antwort: Nein, die lange folgt.

Ein µC ist ein digitaler Logikbaustein. So wie die vielen Bausteine aus den (inzwischen sehr zahlreichen) Logikfamilien. Einige der ersten Rechner waren auch aus solchen Logikbausteinen aufgebaut, man findet in den Listen der 74xx Bausteine z.B. RAMs und ALUs die Teile eines Rechenwerks bilden können. Die Ausgänge solcher Bausteine werden werden danach qualifiziert, wieviele Eingänge von ebensolchen Bausteinen sie treiben können. Ein typischer Fan-Out Wert ist 10, ein Ausgang kann 10 Eingänge Treiben. Nun ist eine wirkliche Schaltung etwas komplexer, kapazitive Lasten und Schaltgeschwindigkeiten spielen da auch hinein.

Neben der Treiberleistung spielt auch die Spannung der Logiksignale eine Rolle. Diese haben wenig mit der Versorgungsspannung gemein, werden aber kaum größer als sie sein. Hier ist eine Übersicht (https://de.wikipedia.org/wiki/Logikpegel). Einen Ausschnitt zeige ich mal hier
28120

Nun hat sich aber die Elektronik weiterentwickelt. Statt weniger mA Ausgangsstrom den ein Baustein der CD40xx Reihe liefern konnte (woran man dann 10 oder auch mehr Eingänge der gleichen Reihe anschließen konnte) sind heute 10 oder 20mA möglich. Gleichzeitig werden statt Signallampem LEDs verwendet, die bei diesen Strömen schon eine brauchbare Helligkeit entwickeln. Signal-LEDs (nix mit Beleuchtung oder ähnliches) sind eigentlich die einzigen Sachen, die man direkt an Logik-Ausgänge (also auch an µC) anschließen kann. Wobei man aus der obigen Liste entnehmen kann, daß mit den 1,17V einer 1,8V Logigfamilie auch keine LED mehr leuchtet.

Was man aber festhalten kann: digitale Logiksignale sind nicht geeignet, Verbraucher anzusteuern. Man braucht eigentlich immer eine Elektronik, die ausreichend Strom und Spannung für den Verbraucher schaltet und steuert.


Nun möchte ich einen Motor mit dem µC ansteuern, dabei soll der Motor die gleiche Stromquelle nutzen wie der µC (z.B. 3 AA Batterien = 4,5V o.Ä., wenn nötig auch mehr).

Das ist eine ganz schlechte Idee. Logikbausteine hätten gerne eine stabile, konstante Versorgung. Das spricht gegen Batterien (und auch Akkus), denn deren Spannung ist alles andere als konstant. Man verwendet zur Versorgung typischerweise eine stabilisierte Spannung. Für Motore ist die Spannung nicht so wichtig. Ein Motor aus einem CD-Laufwerk wird bei 12V betrieben, geht vermutlich schon bei 3V und hält eine Weile sicher auch 15V aus. Dafür genehmigt er sich auch mal einen kräftigeren Strom. Also das komplette Gegenteil von stabil und konstant. Man braucht also zwei Versorgungen: eine stabile zu Versorgung der Logik und eine kräftige für die Verbraucher. Bei unterschiedlichen Verbrauchern an einem µC können auch mehr Spannungen nötig sein.

Zum Schluß noch eine Bemerkung: wer sich wirklich gut auskennt, braucht sich an keine generellen Regeln zu halten. Der weiß aber auch, woran es liegt, wenn es schief geht.

MfG Klebwax

derSpinner
04.05.2014, 09:03
okay, danke für die Antworten. Aber ich meine in mehreren Roboterprojekten gelesen zu haben, dass dort mit nur einer Versorgungsquelle gearbeitet wurde für µC und Aktoren (um Platz und Gewicht zu sparen).
Wie gesagt, soll es nur zum Erfahrung sammeln sein. In dem Beispiellink wurde aber der Motor auch an der gliechen Quelle angeschlossen: http://www.sachsendreier.com/msw/projekte/ansteuerung_gleichstrommotor/gleichstrommotor.html
Außerdem hat einer der Motoren nur zwei Anschlüsse (+ und -). Werde mir da mal überlegen, wie ich den in die Schaltung einbaue, damit er ein- und ausschaltbar ist und die Drehzahl geregelt werden kann.
Ich werde dann auch zwei Versorgungsquellen benutzen, ist ja wie gesagt nur zu Lern-/Testzwecken.

PICture
04.05.2014, 10:19
Hallo!

Zu Lern-/Testzwecken kannst du es auch ausprobieren: https://www.roboternetz.de/community/threads/60642-Quadruped-und-er-l%C3%A4uft?p=571452&viewfull=1#post571452 . ;)

oberallgeier
04.05.2014, 11:23
... in ... Roboterprojekten gelesen ... nur einer Versorgungsquelle ... nur zu Lern-/Testzwecken.Na ja, das kommt wieder auf die GENAUE Verschaltung drauf an. Ich habe in meinen Robotern öfters nur EINE Versorgungsquelle. Aber - dann kommts: bei meiner Dottie ist es ein 2x4er-Block mit sechs AA-Akku (Bild bei klick) (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=358642&viewfull=1#post358642), wobei ich in einem Batteriehalter statt zwei Mittelzellen zwei Spannungsregler eingebaut hatte. Maximal also sechs mal ca. 1,3V - sind 7,8 V. Und nun hatte ich - komplett mit Kondensatoren - eine Versorgungsquelle die auf zwei elektrisch relativ störsicher getrennte Abnehmerzweige aufgetrennt war - einer für Controller und Sensoren, einer für Motoren, Aktoren und stromfressende, getaktete Sensoren. Das hilft. Beim Minid0 habe ich den Motor direkt auf den Motor und einen Servo geleitet und einen SEPIC-Regler für Controller und Sensorik (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=538277&viewfull=1#post538277) genommen.

Du siehst - auch bei einer Versorgungsquelle trifft man manchmal Vorkehrungen.

Und jetzt kommt die Frage: warum blos?? Motoren, Servos und ähnliche größere Stromverbraucher - wenn sie auch noch ein- und ausgeschaltet werden - manchen ne ganze Menge Störungen um sich herum. Und diese Störungen können bei einer Auftrennung vom Controller - der manchmal recht pingelig auf Störungen reagierte - ferngehalten werden.

Nachtrag: bei geschalteten Motoren sieht man noch dazu a) Entstörkondensatoren vor und evtl. b) Löschdioden die beim Abschalten des Motors die Schaltung schonen/schützen -- wenn nicht der Motortreiber schon solche Schutzvorrichtungen eingebaut hat.