Hallo liebe Community. Ich möchte einen 24V/6A DC-Motor antreiben. Hierbei möchte ich sowohl die Drehzahl, als auch die Richtung über einen PC steuern. Leider kann ich mit der vorhandenen Analog I/O-Karte nur Frequenzen bis 500 Hz ausgeben. Aus diesem Grund habe ich mir überlegt, die PWM-Erzeugung einen µC erledigen zu lassen (z. B. Arduino Uno). Der PC übergibt dem µC nur ein Analogsignal, dessen Spannung das Tastverhältnis der PWM kodiert. DAS PWM-Signal möchte ich anschließend an eine 2-Quadrantensteller mit Halbbrücken Mosfettreiber (https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM) übergeben, der dann den Motor steuert. Die PWM-Frequenz sollte ich sicherlich irgendwo im kHz-Bereich suchen, ja? Über das Tastverhältnis kann ich letztlich auch die Richtung festlegen? Muss ich bei der Richtungsumkehr irgendetwas softwareseitig dämpfen (z. B. langsam stoppen und dann in die andere Richtung drehen)? Habe ich etwas in meiner Betrachtung vergessen oder gibt es eine schönere als die PC-Arduino-Treiber-Lösung? Vielen Dank euch schonmal.
P. S. schrieb: > Die PWM-Frequenz sollte ich sicherlich irgendwo im kHz-Bereich suchen, > ja? Warum ? Drehstrommotore und Wechselstrommotore arbeiten auch an 50Hz gut. > Ich möchte einen 24V/6A DC-Motor antreiben. Wie viel Strom braucht denn der Motor beim Anlaufen=Blockieren ? Das ist nämlich der Strom, auf den die Elektronik auszulegen ist, sonst ist sie schon beim ersten Anlauf kaputt. > Über das Tastverhältnis kann ich letztlich auch die Richtung festlegen? Besser nicht, wo ist sonst 0 ? > Muss ich bei der Richtungsumkehr irgendetwas softwareseitig dämpfen (z. > B. langsam stoppen und dann in die andere Richtung drehen)? Wäre zu empfehlen, sonst ruckt's doch gewaltig.
P. S. schrieb: > Über das Tastverhältnis kann ich letztlich auch die Richtung festlegen? Das geht nur, wenn Du am Motor die Polarität wechselst, also mit einem 4-quadrantensteller. Mit dem 2-quadrantensteller kannst Du nur treiben, bzw. bremsen.
Vielen Dank für eure Antworten. MaWin schrieb: > P. S. schrieb: >> Die PWM-Frequenz sollte ich sicherlich irgendwo im kHz-Bereich suchen, >> ja? > > Warum ? > Drehstrommotore und Wechselstrommotore arbeiten auch an 50Hz gut. In dem Artikel "Motoransteuerung mit PWM" habe ich gelesen, dass aus elektrischer Sicht 1 bis 2 kHz günstig sind. Also gilt es, die PWM-Frequenz einfach zu testen? >> Ich möchte einen 24V/6A DC-Motor antreiben. > > Wie viel Strom braucht denn der Motor beim Anlaufen=Blockieren ? Das ist > nämlich der Strom, auf den die Elektronik auszulegen ist, sonst ist sie > schon beim ersten Anlauf kaputt. Ich habe gerade mal gemessen. Der Anlaufstrom liegt bei etwa 6,5 A (für etwa 100ms), anschließend sind es etwa 0,5 A. Oleg Ayranov schrieb: > P. S. schrieb: >> Über das Tastverhältnis kann ich letztlich auch die Richtung festlegen? > > Das geht nur, wenn Du am Motor die Polarität wechselst, also mit einem > 4-quadrantensteller. Mit dem 2-quadrantensteller kannst Du nur treiben, > bzw. bremsen. Das habe ich im Nachhinein auch gesehen. Aus diesem Grund habe ich überlegt einen LMD18200T zu verwenden. Meint ihr ich kann diesen verwenden, trotz dass der Anlaufstrom etwa 0,5A zu hoch ist (dafür aber nur 100 ms)? Unter "Typical Applications" sind noch einige Schaltungserweiterungen, wie z. B. "Fixed Off-Time Control", aufgeführt. Für welche Fälle ist das zwingend notwendig? Oder anders gefragt: Benötige ich außer dem LMD18200T noch weitere Bauteile (abgesehen von evtl. bestimmten Widerständen / Kondensatoren)? Noch eine Sache: Ansteuern möchte ich wiefolgt. An meinen Arduino Uno möchte ich ein 0 - 10V Singal geben, dass sowohl die Drehrichtung, als auch die Geschwindigkeit kodiert. Hierbei habe ich gedacht, dass < 5V den Motor in deine eine Richtung drehen lässt (0V hohe Drehzahl) und bei > 10V in die andere Richtung (10V hohe Drehzahl). Macht das so Sinn, oder habe ich etwas nicht bedacht? Viele Grüße.
P. S. schrieb: > Noch eine Sache: Ansteuern möchte ich wiefolgt. An meinen Arduino Uno > möchte ich ein 0 - 10V Singal geben, dass sowohl die Drehrichtung, als > auch die Geschwindigkeit kodiert. Hierbei habe ich gedacht, dass < 5V > den Motor in deine eine Richtung drehen lässt (0V hohe Drehzahl) und bei > 10V in die andere Richtung (10V hohe Drehzahl). Macht das so Sinn, > oder habe ich etwas nicht bedacht? Es wird schwierig eine exakte Spannung von 5V zu halten um den Stillstand zu garantieren. Falls die Stellgrösse in digitaler Form verfügbar ist, sollte es besser über eine UART, oder SPI oder wie auch immer kodiert dem Arduino zugewiesen werden.
In der Praxis wird dazu ein "Totband" definiert; zum Beispiel: Spannung kleiner 0,5V = Volle Pulle links Spannung zwischen 0,5 und 4,5 Volt = analog Geschwindigkeit links Spannung 4,5 bis 5,5 Volt = Stillstand 5,5 bis 9,5 Volt = Geschwindigkeitsstellung rechts rum Größer 9,5 Volt = Volle Pulle rechts Aber woher sollen die 0..10 Volt kommen? Arbeitet der Arduino nicht nur mit 5 oder gar 3,3 Volt? Bzw. der ADC im Arduino liefert ja einen Digitalwert von 0..1023. Da kann man dann ein 10kOhm Trimmer als Spannungsteiler vorschalten..
P. S. schrieb: > Ich habe gerade mal gemessen. Der Anlaufstrom liegt bei etwa 6,5 A (für > etwa 100ms), Unwahrscheinlich, dass dein 6A Motor nur 6.5A beim Anlauf zieht, eher 12A, blockier ihn doch mal zum messen. In 100ms ist ein Transistor schon kaputt.
MaWin schrieb: > P. S. schrieb: >> Die PWM-Frequenz sollte ich sicherlich irgendwo im kHz-Bereich suchen, >> ja? > Warum ? > Drehstrommotore und Wechselstrommotore arbeiten auch an 50Hz gut. 50 Hz Grundfrequenz, aber nicht die Modulationsfrequenz, sind zwei verschiedene paar Schuhe. >> Ich möchte einen 24V/6A DC-Motor antreiben. > Wie viel Strom braucht denn der Motor beim Anlaufen=Blockieren ? Das ist > nämlich der Strom, auf den die Elektronik auszulegen ist, sonst ist sie > schon beim ersten Anlauf kaputt. Quatsch, dann wäre jeder Umrichter weit mehr als Überdimensioniert. Ungefähr 1,2 x Nennstrom. Du hast ja PWM, also kannst den Motor sanft hochfahren lassen.
Ja wenn er sanft hochfährt, d.h. geringes Losbrechmoment hat. Bei Drehzahl 0 braucht er auch viel mehr Strom fürs Drehmoment, als bei Nenndrehzahl. Daher hatte man früher bei Festplatten auch ne extra Startstromleitung.
BirgerT schrieb: > In der Praxis wird dazu ein "Totband" definiert; zum Beispiel: > > Spannung kleiner 0,5V = Volle Pulle links > Spannung zwischen 0,5 und 4,5 Volt = analog Geschwindigkeit links > Spannung 4,5 bis 5,5 Volt = Stillstand > 5,5 bis 9,5 Volt = Geschwindigkeitsstellung rechts rum > Größer 9,5 Volt = Volle Pulle rechts Vielen Dank, das ist guter Hinweis. So werde ich das wohl machen. > Aber woher sollen die 0..10 Volt kommen? > Arbeitet der Arduino nicht nur mit 5 oder gar 3,3 Volt? > > Bzw. der ADC im Arduino liefert ja einen Digitalwert von 0..1023. > Da kann man dann ein 10kOhm Trimmer als Spannungsteiler vorschalten. Da habe ich nicht dran gedacht, dass der Arduino an den Input Pins nur 0 bis 5 V handeln kann. Meine Spannung kommt von extern (ein PC). Dann muss ich wohl die Mitte auf 2,5V legen. Seht ihr eine andere Möglichkeit, da ich so ja nur einen recht kleinen Bereich habe, um die Drehzahl zu steuern (2V)? MaWin schrieb: > P. S. schrieb: >> Ich habe gerade mal gemessen. Der Anlaufstrom liegt bei etwa 6,5 A (für >> etwa 100ms), > > Unwahrscheinlich, dass dein 6A Motor nur 6.5A beim Anlauf zieht, eher > 12A, blockier ihn doch mal zum messen. > > In 100ms ist ein Transistor schon kaputt. Ich habe mich wohl geirrt. Die 6A im Eingangspost waren wohl falsch. Also der Motor benötigt 500mA im normalen Betrieb und im Anlauf 6,5A. Also nochmal die Frage: Kann ich den LMD18200T verwenden? Der Maximalstrom liegt laut Datenblatt bei 6A. Brauche ich außer Widerständen/Kondensatoren weitere Beschaltung? Vielen Dank für eure Antworten. :)
Oleg Ayranov schrieb: > Stillstand zu garantieren. Falls die Stellgrösse in digitaler Form > verfügbar ist, sollte es besser über eine UART, oder SPI oder wie auch > immer kodiert dem Arduino zugewiesen werden. P. S. (n0r0) schrieb: > Hierbei möchte ich sowohl die Drehzahl, als auch > die Richtung über einen PC steuern. Er kann also direkt über USB verbinden. Gruss Chregu
Ich schlage eine fertige Lösung um nicht von der Kernaufgabe des TE abzulenken / unnötig viel Aufwand zu betreiben. Es sehr viele Module, meist aus dem Bereich der Robotik / des Modellbaus, die über verschiedene Schnittstellen Motoren direkt ansteuern können. Z.B. Pololu: https://www.pololu.com/category/10/brushed-dc-motor-controllers Beispielsweise der Simple-High-Power Motor Controller 24V12, der 5,5 bis 40V und 12A kann und auf verschiedneste Weise angesteuert werden kann.
batman schrieb: > Bei > Drehzahl 0 braucht er auch viel mehr Strom fürs Drehmoment, als bei > Nenndrehzahl. Komisch, bei mir braucht er überhaupt keinen Strom, wenn er sich nicht dreht. P. S. schrieb: > Also nochmal die Frage: Kann ich den LMD18200T verwenden? Kannst Du nehmen, wenn Du ihn gut bekommst. Ich würde einen L6202/3 nehmen. Mit kurzer Rampe anzufahren und abzubremsen ist immer ratsam.
m.n. schrieb: > batman schrieb: >> Bei >> Drehzahl 0 braucht er auch viel mehr Strom fürs Drehmoment, als bei >> Nenndrehzahl. > > Komisch, bei mir braucht er überhaupt keinen Strom, wenn er sich nicht > dreht. > Welches Drehmoment hat er denn dann?
noti schrieb: > Ich schlage eine fertige Lösung um nicht von der Kernaufgabe des > TE > abzulenken / unnötig viel Aufwand zu betreiben. Es sehr viele Module, > meist aus dem Bereich der Robotik / des Modellbaus, die über > verschiedene Schnittstellen Motoren direkt ansteuern können. > Z.B. Pololu: > https://www.pololu.com/category/10/brushed-dc-moto... > Beispielsweise der Simple-High-Power Motor Controller 24V12, der 5,5 bis > 40V und 12A kann und auf verschiedneste Weise angesteuert werden kann. Vielen Dank, das ist auf jeden Fall eine gute Alternative. Um einen möglichst hohen Lerneffekt zu erzielen, gefällt mir aktuell die Arduino / LM18200-Lösung am besten. > P. S. schrieb: >> Also nochmal die Frage: Kann ich den LMD18200T verwenden? > > Kannst Du nehmen, wenn Du ihn gut bekommst. Ich würde einen L6202/3 > nehmen. > Mit kurzer Rampe anzufahren und abzubremsen ist immer ratsam. Vielen Dank, ja an den LMD18200T komme ich recht gut ran. Der L6202 ist nur für 5A Peak Current ausgelegt und für bis zu 10A bei weniger als 1ms. Da bin ich allerdings mit meinen 6,5A @ 100ms drüber. Du meinst, der hält das trotzdem aus (auch über einen längeren Zeitraum)? Bezüglich des LMD18200 Ansonsten wurde in einem TI-Forum angeraten, weitere 4 Schottky-Dioden zu schalten, zwischen: * VCC --|<|-- Output1 * VCC --|<|-- Output2 * Output1 --|<|-- GND * Output2 --|<|-- GND Welche Randbedingungen sollten die Dioden erfüllen? 40V / 10 A wäre okay? Vielen Dank und beste Grüße
P. S. schrieb: > Vielen Dank, ja an den LMD18200T komme ich recht gut ran. Der L6202 ist > nur für 5A Peak Current ausgelegt und für bis zu 10A bei weniger als > 1ms. Da bin ich allerdings mit meinen 6,5A @ 100ms drüber. Du meinst, > der hält das trotzdem aus (auch über einen längeren Zeitraum)? Den L6203 verwende ich für (Größenordnung) Scheibenwischermotore: kein Problem mit kurzer Rampe. batman schrieb: > Welches Drehmoment hat er denn dann? Kein Drehmoment. Wenn ich Drehmoment brauche, gebe ich einen Strom vor. Das Drehmoment hängt vom Strom ab und nicht umgekehrt!
m.n. schrieb: > Komisch, bei mir braucht er überhaupt keinen Strom, wenn er sich nicht > dreht. Dann hast Du aber einen ungewöhnlichen Motor. Im Stillstand wird der Strom normalerweise nur durch den ohmschen Widerstand begrenzt und beträgt typisch 10x Nennstrom.
m.n. schrieb: > P. S. schrieb: >> Vielen Dank, ja an den LMD18200T komme ich recht gut ran. Der L6202 ist >> nur für 5A Peak Current ausgelegt und für bis zu 10A bei weniger als >> 1ms. Da bin ich allerdings mit meinen 6,5A @ 100ms drüber. Du meinst, >> der hält das trotzdem aus (auch über einen längeren Zeitraum)? > > Den L6203 verwende ich für (Größenordnung) Scheibenwischermotore: kein > Problem mit kurzer Rampe. Alles klar, danke. Als Schutzdioden (siehe mein vorheriger Post) eignen sich diese Dioden? * MULTICOMP MBR1060 Den Hinweis bezüglich der Dioden habe ich von hier: https://e2e.ti.com/support/power_management/isolated_controllers/f/188/t/184260 Viele Grüße.
Hi P.S., bevor Du selber das Schaltungsentwickeln und Platinenätzen anfängst.. ..es sieht so aus, als ob man diesen Bausatz "hacken" kann http://www.pollin.de/shop/dt/Mzc5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_Drehzahlsteller_fuer_Gleichstrommotoren.html Da ist schon ein AtMega drauf, ein Analogeingang (für die 0..5V) wäre noch frei, und einen freien Pin für eine Relaisansteuerung (Motordrehrichtung umschalten) gibt es auch noch. nur das ganze Programm müsstest Du neu schreiben, weil die Sourcen nicht zur Verfügung stehen. Zum Programmieren müsste der Programmer an die Taster Eine weitere Alternative wäre ein Fahrtregler aus dem Modellbau, der wie ein Servo angesteuert wird. Für den Arduino und andere Mikrocontroller gibt es ja Bibliotheken zur Servoansteuerung. Der Arduino müsste dann nur aus dem Analogsignal die Servo Pulse für den Fahrtregler generieren. Oder man baut einen (passenden mit NE556) Servotester so um, dass er direkt mit 0..10V angesteuert werden kann, dann braucht man da gar nix zu programmieren. Aber wieviel Geld und Zeit Du investieren möchtest, musst Du selber entscheiden. Viel Erfolg, und halte uns auf dem Laufenden /BirgerT
Ich nehme mal die Preise von Reichelt: LMD18200 für 19,70 L6203 für 3,80 Der L6203 braucht definitiv keine zusätzlichen Schutzdioden und hat meines Erachtens den Vorteil, daß man die Brücken nach eigenem Gutdünken ansteuern kann. Wenn man nur eine Richtung braucht, paßt er auch für zwei Motore. Geschickterweise nimmt man einen µC mit zwei PWM-Ausgängen, wie sie schon ein ATtiny25 bietet. Ein weiterer Ausgang für Enable, sowie zwei ADC-Eingänge für Strommessung und Poti zur Drehzahlvorgabe und die Sache läuft. Reicht Dir ne Zeichnung oder soll ich auch gleich noch ein Programm dazu schreiben? ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.