www.mikrocontroller.net

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


Autor: froozen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: froozen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lineare Ansteuerung eines Gleichstrommotors ist Unsinn.
Dazu aber bitte selbst informieren.

Autor: froozen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: froozen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Beitrag...
Hab mir gedacht ich kann mirs leichter machen...

Autor: Expert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.