Forum: Mikrocontroller und Digitale Elektronik ULM2803 + DC Motor an Arduino PWM


von froozen (Gast)


Lesenswert?

Hallo Leute,

wäre euch echt verbunden, wenn mir jemand helfen könnte..
Folgendes Problem:

Nicht schimpfen, denn vielleicht versteh ich auch etwas ganz 
grundsätzliches nicht, so könntedie erste Frage schon die Erklärung für 
das ganze Problem sein...also:

1, ist der ULN2803 denn nicht linear? oder kommt es
2, auf die Frequenz des am Eingang anliegenden Signals an?

Was ich machen will:

Ich habe ein Arduino-Board mit dem Atmega128 drauf, mit welchem ich über 
die PWM Ausgänge 9, 10, 11 einen DC-Motor ansteuern will...und zwar 
direkt proportional zur mittleren Ausgangsspannung des PWM-Signals.
In meinem Beispiel habe ich einen Motor der eine Spannung von 0-9V 
braucht, mit welcher ich auch den ULN2803 mittels externen Netzgerät 
speise.
Bedeutet: 0-5V der Board - Ausgangsspannung sollen am Motor 0-9V 
bedeuten -> linar !! also 2,5V sind 4,5V und so weiter...

Nachdem ich nicht weiß ob die Frequenz des PWM-Signals ausschlaggebend 
ist oder ob die Induktivität des Motors das Signal genügend glättet, hab 
ich einen Integrator (OP Schaltung) vorgeschaltet...

Also ist das Eingangssignal vom ULN2803 nun analog, was aber nichts an 
dem Ergebnis ändert. Schon bei z.B. 2,5V liegen am Motor schon ca. 7V 
oder mehr. Am benötigten Motorstrom kann es nicht liegen, der ist 
deutlich unter 100mA, so ca. 20mA weil unbelastet (zu Testzwecken). Oder 
arbeitet der ULN2803 erst ab einer bestimmten Stromaufnahme linear.

Vielleicht kann ich das Problem mit einer OP-Verstärkerschaltung lösen, 
an das hab ich auch schon gedacht, aber ich will wissen, ob das nicht 
einfach mit diesem ULN geht, da ich den schon hab und denke, dass der 
genau dafür ausgelegt sein müsste.

Also wenn jemand weiß was daran faul sein könnte, bitte ich um Hilfe.

von Bensch (Gast)


Lesenswert?

> ist der ULN2803 denn nicht linear?

Neiiiiiiiiiiiiiiin

Das getaktete Signal wird DIREKT mit einem geeigneten Treiber (z.B. der 
ULN2803) OHNE Glättung, OHNE Integrator usw. auf den Motor gegeben. Max. 
Frequenz siehe Datenblatt des Treibers, am besten die Frequenz (nach 
Gehör) ausprobieren.

von froozen (Gast)


Lesenswert?

Danke erstmal,

also der ULN2803 verstärkt die Ausgangsspannung des PWM vom 
Controllerboard nicht lienar....verstanden...
Dass der ULN2803 im Zusammenhang mit dem PWM - Ausgang des Arduino 
Boardes verwendet wird, habe ich nun schon oft gelesen, also nehme ich 
auch an, dass er mit dieser Frequenz zurechtkommt.

Gibt es in diesem Zusammenhang auch Vorschläge, wie man die Ansteuerung 
des Motors nun linear gestalten kann. Ist der Treiber also dafür einfach 
ungeeignet, oder kann man ihn am Ausgang entsprechend beschalten, oder 
gibt es einfach etwas was ich noch nicht beachtet oder verstanden habe?

Z.B.: Könnte es sein, dass die Frequenz des PWM tatsächlich zu groß ist 
und ich durch eine Softwareimplementierung eines anderen Ausgangs und 
einer geringerne Frequenz Linearität erhalten kann?

Bin für alle Antworten offen...je ausführlicher und verständlicher desto 
besser...danke

von Bensch (Gast)


Lesenswert?

Lineare Ansteuerung eines Gleichstrommotors ist Unsinn.
Dazu aber bitte selbst informieren.

von froozen (Gast)


Lesenswert?

Linere Ansteuerung eines Gleichstrommotors ist kein Unsinn, weil das 
genau das ist was ich machen will.

Wenn du mir damit sagen willst, dass ein Gleichstrommotor keine lineare 
Kennlinie hat, dann danke ich für den Hinweis. Das gilt aber 
hauptsächlich für die Anlaufdrehzahl und wenn der Motor in den 
Sättigungsbereich kommt.
Im mittleren Drehzahlbereich müsste der Motor annähernd linear laufen.

Es geht nur darum, dass der Motor nicht schon bei einer mittleren 
PWM-Spannung von 2,5V fast die ganze Spannung der externen 
Motorversorung anliegen hat. Also nur um die geschaltene Spannung und 
die dürfte ja eigentlich nicht von der Motorkennlinie abhängen.
Etwaige Nichtlinearitäten dazwischen, kann ich mit modifizieren der 
PWM-Werte ausgleichen. Aber ich will halt auch nahezu den ganzen Range 
der PWM-Werte auch nutzen können.

Wenn deine Aussage etwas anderes meint, habe ich es leider nicht 
verstanden.

von Klaus (Gast)


Lesenswert?

Du solltest für die von Dir geplante analoge Ansteuerung aber dann nicht 
ein Relais-Treiber-Transistorarray einsetzen.

Vielleicht eher eine Audio-Endstufe, auf volle "DC" Kopplung achten.
Also auch kein Ausgangskondensator.

von froozen (Gast)


Lesenswert?

Danke für den Beitrag...
Hab mir gedacht ich kann mirs leichter machen...

von Expert (Gast)


Lesenswert?

Hallo frozen,

unglücklicherweise hast Du nicht verstanden, was PWM heist. Puls Weiten 
Modulation. Die Frequenz des PWM-Signales ist konstant. Die Einschalt 
(Puls-) zeit wird z. B. verkürtzt, während die Ausschalt (Pause-) zeit 
verlängert wird, als Resultat sinkt die RMS-Spannung ab und hinter einem 
Integrator kann man eine sinkende Spannung messen. Der Vorschlag von 
Bensch, das Transistor-Array DIREKT anzusteuern, war richtig, weil der 
DC-Motor selber durch seine mechanische Trägheit integrativ wirkt (der 
Rotor kann nicht im Takt von einigen kHz hoppeln). De ULN ist als 
Darlington auf Verstärkung (ca. 1000) ausgelegt und ist daher nicht 
linear. Mal abgesehen davon, dass der kleine Chip maximal 1,43W abkann. 
Also: µC -> UN2803 -> DC-Motor und Klemme 10 auf +Vss 
(Motor-Versorgung)!

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.