Forum: Analoge Elektronik und Schaltungstechnik DC Motor ansteuern


von Tim K. (kamikater)


Angehängte Dateien:

Lesenswert?

Hallo!

Habe hier ein paar Probleme mit meiner Motorsteuerung.

Schaltung habe ich mal grob gemalt. Der Motor zieht laut Datenblatt im 
Leerlauf bei 12V etwa 2,8A. Der Mega8 macht eine PWM mit ca. 8kHz 
(zufällig gewählt) Der Digitalteil scheint zu funktionieren. Also 
AD-Wandlung und Ausgabe auf PWM.

Ich hätte erwartet, dass bei 0%PWM der Motor steht und bei 100% PWM die 
Leerlaufdrehzahl bei 12V anliegt. Allerings lässt sich mit dem Poti nur 
in einem relativ geringen Drehzalbereich steuern. Er bleibt also nicht 
stehen und wird bei 100%PWM nur unwesentlich schneller.

Ich tippe derzeit auf ein paar grundlegende Verständnisfehler. Leider 
habe ich hier kein Oszi herumliegen um mir die Signale am FET 
anzuschauen.

Was mache ich denn da noch alles Falsch?

Verbesserungsvorschläge sind wilkommen.

Gruß Kamikater

von TSE (Gast)


Lesenswert?

Hallo,
schon mal unter Last versucht?

von Tim K. (kamikater)


Lesenswert?

Was man immer so alles an Infos vergisst...

Last insoweit, dass ich mit den Fingern gebremst habe. Hat funktioniert. 
Der FET wurde unwesentlich wärmer.

Der Motor ist ein DC-Getriebemotor. Versorgung erfolgt über ein altes 
PC-Netzteil (5V und 12V)

von Thomas S. (tsalzer)


Lesenswert?

Dann mach als erstes mal eine definierte Laste dran.

Leerlauf und Nennlast sind nämlich was anderes.

Aus gutem Grund macht man Drehzahlregelung, da solltest Du erstmal 
nachlesen.

guud
ets

von Tim K. (kamikater)


Lesenswert?

Hi!

Ich glaube, da drücke ich mich noch etwas unverständlich aus. Mir geht 
es nicht um eine bestimmte Drehzahl, mir geht es nur darum, diese 
möglichst stark variieren zu können.

Für eine Regelung bräuchte ich ja zusätzlich Sensoren.

Im Moment geht es mir mehr um Sinn und Unsinn der Schaltung. Und ob ich 
die PWM direkt vom AVR nehmen kann, oder ob da noch ein Verstärker 
dazwischen muss.

Allerdings kann ich nächste Woche den Motor auch mal in die Mechanik 
einbauen, dann hängt die definierte Last dran. Ich möchte nur vorher 
sicherstellen, dass der Motor erstmal möglichst langsam loslegt, damit 
es mir die selbstgebaute Mechanik nicht in Fetzten reisst.

Gruß Kamikater

von Martin L. (Gast)


Lesenswert?

Ich denke irgendwas in Deinem Programm ist kaputt. Davon abgesehen sind 
8kHz u.U. schon zu viel, da Du keinen MosFet-Treiber und noch den 100 
Ohm Widerstand verwendest.
Nimm mal ein Oszi und guck ob sich das PWM-Signal wirklich von 0-100% 
Duty-Cycle ändern lässt. Und wenn Du keines hast, nimm eine kleine LED 
(mit Vorwiderstand) und schau dort ob sie komplett aus geht.

Viele Grüße,
 Martin L.

von Tim K. (kamikater)


Lesenswert?

Hi!

Oszi steht hier leider keines herum.
Ich habe mal mit einer LED getestet. Geht bei niedrigster PWM aus. Zudem 
sehe ich keinen Unterschied zwischen höchster PWM-Einstellung und 
komplett eingeschaltet. Außerdem habe ich noch einen LED-Bargraf 
eingebaut, der in 10% Schritten die PWM anzeigt. Der geht auch über die 
ganze Palette.

Ich habe jetzt mal die Frequenz noch heruntergesetzt. Auf 1kHz. 
Beobachtung: Der Motor bleibt bei ca. 20% PWM stehen und das PC-Netzteil 
geht zurück in Standby. Eventuell greift da aber einfach eine 
Strombegrenzung im Netzteil und schaltet es ab. Kann ich den Strom im 
Motor irgendwie auf einfache Weise begrenzen ohne Leistungswiderstand? 
Dass ich nicht jedesmal das Netzteil neu starten muss?

Gruß Kamikater

von Alexander S. (esko) Benutzerseite


Lesenswert?

Tim Kamikater schrieb:
> Beobachtung: Der Motor bleibt bei ca. 20% PWM stehen und das PC-Netzteil
> geht zurück in Standby.

PC-Netzteil = schlechtes Labornetzteil
Hast du einen Grundlast an den 5V von 1A? z.B. Autobirne
Sind die 12V stabil? Auch mit dem Oszi anschauen.

Wie sieht die Versorgung vom Atmega aus, einfach die 5V vom Netzteil 
genommen?
Besser mit einer Drossel und einem Kondensator entkoppeln.

> Eventuell greift da aber einfach eine Strombegrenzung im Netzteil und
Kann gut sein.

> Kann ich den Strom im Motor irgendwie auf einfache Weise begrenzen ohne
> Leistungswiderstand?
Mess doch erstmal den Strom. Begrenzen geht nicht so einfach.

Sehe gerade der MosFET ist nicht gerade optimal. Der braucht ein V_GS 
von 4,5V für 1A. Ob der Atmel das bei 1kHz noch schafft ist fraglich. 
Wird der MosFet heiß wenn du ihn längere Zeit bei 20% betreibst?

von Tim K. (kamikater)


Lesenswert?

Hoi!

Zunächst mal vielen Dank für die hilfreichen Antworten.

Hat ein wenig gedauert bis ich wieder zum Ausprobieren kam.

Ich glaube sofort, dass die PC-Dinger von der Qualität miserabel sind, 
zumal ich ein billiges habe. Allerdings bekommt man die Dinger 
geschenkt, und da ich ein komplettes Projekt mit autonomer Versorgung 
umsetzen will muss es damit gehen. Zudem hat mein Geld bisher für ein 
Labornetzteil noch nicht gereicht.

Es hängt keine Grundlast dran. Sollte die dran damit das Netzteil was 
stabiles liefert?

Mega wird direkt versorgt. Drosseln kenne ich noch garnicht, werde ich 
mich heute oder morgen mal noch einlesen, danke für den Tipp

Der Mosfet wird bei Betrieb warm, aber nicht heiss

Die besten Ideen kommen ja bekanntlich immer hinterher. Ich hatte heute 
den Geistesblitz, den Motor einfach mal direkt an die 12V vom Netzteil 
zu hängen, ohne Steuerung, ist zwar nicht gesund so ohne Langsamanlauf, 
aber kurzzeitig ging das Ding ab wie eine Rakete. Selbst bei 100% 
Tastverhältnis PWM geht das nicht annähernd so schnell. Ich vermute da 
ist echt der Port des Mega überfordert. Könnt ihr mir FETs empfehlen die 
da besser geeignet sind? Oder muss ich da echt noch irgendwas 
zwischenschalten?

Gruß Kamikater

von Alexander S. (esko) Benutzerseite


Lesenswert?

Tim Kamikater schrieb:
> von der Qualität miserabel ... bekommt man die Dinger geschenkt
Wenn man weiß wie man sie einsetzt sind geht es auch mit ihnen, und sie 
sind wirklich unschlagbar billig.

> Es hängt keine Grundlast dran. Sollte die dran damit das Netzteil was
> stabiles liefert?
Auf jeden Fall.
z.B. Autoscheinwerfer 50W 12V an die 5V Leitung.

> Mega wird direkt versorgt. Drosseln kenne ich noch garnicht,

Ist natürlich nicht so gut, die 5V werden ziemlich schwanken.
Statt Drossel geht auch ein 20ohm - 50ohm Widerstand an 12V und danach 
ein großer Kondensator, dann ein LM7805.


> Der Mosfet wird bei Betrieb warm, aber nicht heiss
Ist schonmal ein gutes Zeichen.

> den Motor einfach mal direkt an die 12V vom Netzteil
> Selbst bei 100% Tastverhältnis PWM geht das nicht annähernd so schnell.

Kann aber auch gut ein Software-Problem sein.

Oder die 4,5V vom Mega reichen nicht aus um den Fet durchzusteuern.
Setze mal den Pin dauerhaft auf high und messe dann die Spannung die am 
Fet abfällt und die Spannung am Gate. 0,2A@4,0V_GS  1,5A@4,5V_GS
Wenn es dann gut funktioniert, dann ist die Taktfrequenz zu hoch und du 
kannst mit 300Hz noch was gut machen.

Wie groß ist dein Motor, wieviel Strom zieht er beim Anschluss an 12V?

von Jens G. (jensig)


Lesenswert?

also der Msofet ist mit Sicherheit nicht richtig geeignet. Lt. DB ist 
das ein 600V Typ für gerade mal reichlich 6A, und hat 1.2Ohm Rdson. Wenn 
Dein Motor bei 12V 2.8A ziehtdann hast über den Mosfet reichlich 3V 
Spannungsabfall, also noch nicht mal 9V am Motor. Es fehlt also über ein 
Viertel an Spannung. Was soll da noch unter Last werden ...
Nimm lieber einen Mosfet mit rel. geringer Spannung und viel Strom (wie 
z.B. der gute alte BUZ11 (50V/30A/0.036Ohm oder so ähnlich), dann 
kannste zumindest schonmal im Leerlauf die Spannungsverluste 
vernachlässigen. Wenn der Mosi auch unter Last nicht zu warm werden 
soll, dann sind eher 100A-Typen angebracht, aber dann brauchste 
vielleicht Mosfet-Driver, um den Gatestrom liefern zu können (bei unter 
1kHz ist es aber vielleicht noch nicht so wilde). Besser sind aber noch 
die Logik-Level-Typen, die mit weit weniger Gatespannung bereits 
ordentlich durchschalten.
Und was die niedrigen Drehzahlen angeht: ich denke, bei PWM an einem 
Motor mit Leerlauf zeigt die Drehzahl ein relativ nichtlinearen 
Zusammenhang zur PWM. D.h., selbst bei rel. niedrigen PWM-Tastverhältnis 
geht er schon relativ hoch in der Drehzahl, und erst bei Last 
"linearisiert" sich die Sache. Wenn aber bei angeblichen 0% sich der 
Motor trotzdem noch dreht, dann ist wohl wirklich was faul (Mosfet 
kaputt).

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.