Forum: Mikrocontroller und Digitale Elektronik 5 DC Motoren individuell ansteuern - Welcher Controllertyp


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tom Jonas C. (tomjonas_c)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Liebe Arduino und Elektronik Experte,

ich bin im Begriff meinen handbetriebenen Harmonographen elektronisch 
aufzurüsten.

Als Elektronik Neuling stellt mich dies aber vor einige (grundlegenden) 
Ausgangsfragen.

Projektziel:

Es laufen 5 DC Motoren, von denen jeder individuell mittels Drehknopf 
oder Schieberegler die Drehzahl einstellen lässt. Die aktuelle Drehzahl 
jedes motors soll parallel auf einem eigenen mini Display sichtbar sein 
(also 5 displays insgesamt).

Zudem soll jeder Motor einen Schalter haben, um die Drehrichtung auf 
vorwärts oder rückwärts einstellen zu können.
(Das Anhangsbild habe ich bei Recherche gefunden; liegt aber bei 12 Eur 
und ist wohl überausgestattet für meine Vorhaben. Aber so ein Displan 
und Funktionen wären gesucht)

Die Motoren treiben keine große last an (<30 Gramm) und sollten maximal 
im Bereich 120 RPM liegen.


So stellen sich mir zunächst folgende Fragen:

(1) Braucht jeder Motor mit seiner Drehzahlsteuerung ein eigenes 
Netzteilß Welches Netzteil wäre zu empfehlen?

(2) Woran erkenne ich, welche DC Motoren ich verwenden kann? Offenbar 
lassen sich nicht alle DC Motoren drehzahltechnisch regulieren?

(3) HAUPTFRAGE Welchen Controller verwende ich dafür?

Ich bin Newbie, daher bitte ich um die Nachsicht bei dummen Nachfragen.

Vielen Dank vorab!
Tom

von Michael B. (laberkopp)


Bewertung
0 lesenswert
nicht lesenswert
Tom Jonas C. schrieb:
> (1) Braucht jeder Motor mit seiner Drehzahlsteuerung ein eigenes
> Netzteilß

Nein.

> Welches Netzteil wäre zu empfehlen?

Eines mit ausreichender Leistung. Bedenke, daß Elektromotoren beim 
Anlaufen mehr Strom brauchen, als als Nennstrom aufgedruckt ist.
Wenn aber jeder der 5 Motoren nacheinander anlaufen wird, braucht man 
kein Netzteil für 5 x Anlaufstrom, sondern nur für 1 x Anlaufstrom + 4 x 
Nennstrom, und auch nicht 5 Netzteile mit 1 x Anlaufstrom.

Kauft man ein Schaltnetzteil, muss dieses auf den Anlaufstrom ausgelegt 
sein, sonst schaltet es beim Anlaufen schon ab. Kauft man ein 
Eisenkernnetzteil, reicht es, dieses auf den Nennstrom auszulegen.
Für einen 12V/1A Motor reicht also ein 14VA Trafo (14V~ mit 
Brückengleichrichter ohne Siebelko) oder ein 120W Schaltnetzteil.

> (2) Woran erkenne ich, welche DC Motoren ich verwenden kann? Offenbar
> lassen sich nicht alle DC Motoren drehzahltechnisch regulieren?

Die üblichen Permanentmagnet-Bürstenmotoren schon. Selbst 
Allstrommotoren. Das Problem beginnt bei Wechselstrommotoren und geht 
über Drehstrommotoren, aber bei Gleichstrom hast du i.A. kein Problem.

> (3) HAUPTFRAGE Welchen Controller verwende ich dafür?

PWM Controller.
Da du NATÜRLICH nichts zu den Daten deiner Motoren geschrieben hast, 
können wir nur raten
Ebay-Artikel Nr. 122828177949
oder
Ebay-Artikel Nr. 332794136631

Dazu noch eine Drehzahlanzeige, oder 5:
Ebay-Artikel Nr. 253770193065
(geht auch mit Hallsensor oder Lichtschranke).

: Bearbeitet durch User
von Tom Jonas C. (tomjonas_c)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

besten Dank zunächst für Deine Antwort.

Mein Fehler bzgl. der Motoren.
Ich habe noch keine, da ich dachte, dass ich diese  in Abhängigkeit von 
Netzteil und den anderen Komponenten aussuchen müsste.
Alles was ich so im Bereich von ca. 120 RPM finde liegt nicht über 2A.

von Alex G. (dragongamer)


Bewertung
0 lesenswert
nicht lesenswert
Du kannst nicht die motoren anhand der Netzteile wählen sondern 
umgekehrt.
Die Motoren musst du der Last entsprechend wählen.
30g ist allerdings keine Angabe für Motorkraft.
Welches Drehmoment brauchst du?


Sehe allerdings grade erst was ein Harmonograph ist... Sicher dass da 
normale Motoren das gewünschte ergebnis liefern?
Bedenke dass du ohne großen Aufwand, nie weisst wieviele Umdrehungen der 
Motor nach Zeit X genau gemacht hat.

von Tom Jonas C. (tomjonas_c)


Bewertung
0 lesenswert
nicht lesenswert
hier wäre mal ein Beispiel Video von einer Maschine mit ähnlicher 
Applikation

https://www.dropbox.com/scl/fi/r71jnx9gk498141x8zmhg/example.mp4

Hilft das weiter für das Verständnis bzgl Motorenbedarf?

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn es präzise sein soll, passen Schrittmotoren eigentlich sehr gut in 
dein Nutzerprofil.

-Du Kannst die Drehzahl genau bestimmen (anders als bei DC Motoren)
-Die Drehzahl Schwankt nicht mit der Belastung (sonst hast Du nachher 
keine richtigen Kreise... sind sind dann einfach nur "schief")
-Es gibt bereits fertige Schrittmotortreiber und Shields dazu. Also 
fertige Platinen an die Du (meist 3) Schrittmotoren anschliessen kannst.


Wenn es "nicht sooo genau" (so mit mehreren 'o's, da es wohl hinreichend 
genau ist) und günstig sein soll, würde ich einfache DC Getriebemotoren 
nutzen. Die Drehzahl sollte hier auch "mehr oder weniger" konstant sein, 
da die Getriebe eine recht hohe übersetzung haben und die kleinen Lasten 
bei von dir den Motor nicht wirklich beeinflussen (gibt es wahlweise 
auch mit Encoder, sodass man die Drehzahl direkt ablesen kann).

Ebay-Artikel Nr. 282098591741

von horst-kevin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rob schrieb:
> Wenn es "nicht sooo genau" (so mit mehreren 'o's, da es wohl hinreichend
> genau ist) und günstig sein soll, würde ich einfache DC Getriebemotoren
> nutzen.

Das ist Quatsch.
Auch ein DC-Motor (mit oder ohne Getriebe) lässt sich so genau steuern 
wie ein Schrittmotor. Weitere Vorteile eines DC-Motors sind: keine 
ständig ruckelnden Bewegungen, je nach Positionsgeber ist keine 
Referenzfahrt nötig, es können kein Schritte verlorengehen und im 
Stillstand fließt kein Strom (ggf. Hemmung durch das Getriebe).

Da Du fünf identische Schaltungen brauchst, kannst Du es auch mit fünf 
kleinen µCs realisieren. Das Ganze wird dann an einem stabilen Netzteil 
betrieben.

von Captain Albern (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich halte es für unfreundlich, hilfreiche Antworten einfach als Quatsch 
zu bezeichnen.

Außerdem bin auch ich der Meinung, dass sich das Problem mit 
Schrittmotoren eventuell einfacher lösen lässt. Es ist zwar richtig, was 
Horst-Kevin schreibt, aber eine Regelung mit Getriebe-DC-Motoren braucht 
eine Lagerückmeldung und einen Regler, der auf den entsprechenden Fall 
angepasst werden muss (zumindest die Parameter). Ein Schrittmotor ist 
einfacher zu handhaben. Ein Schritt ist immer ein Schritt, ohne 
Rückmeldung. Wenn der Motor für die Anwendung stark genug ist und das 
System gegen unerwartete Lasten / Blockierungen etc. geschützt ist, 
gehen auch keine Schritte verloren.

3D-Drucker nutzen z.B. Schrittmotoren. Beim Start fahren sie in eine 
Referenzposition, die sie z.B. mit Endschaltern erkennen und können dann 
Stunden oder Tage drucken, ohne dass Schritte verloren gehen.

von horst-kevin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Captain Albern schrieb:
> Außerdem bin auch ich der Meinung, dass sich das Problem mit
> Schrittmotoren eventuell einfacher lösen lässt.

Es gibt aber auch sehr viele Anwender, die anderer Meinung sind. Zum 
Beispiel werden im Modellbau bevorzugt Servomotoren (= DC-Motor mit 
Positionserkennung) eingesetzt. Die notwendige Regelung scheint dort 
kein Problem darzustellen.

Schrittmotoren finden vorzugsweise dort Verwendung, wo das immer 
vorhandene Ruckeln kein Problem darstellt, die i.A. höhere Stromaufnahme 
egal ist, eine Referenzfahrt möglich ist, die Motoren (meistens) so 
überdimensioniert werden können, dass auf keinen Fall Schritte 
verlorengehen, auf "schöne" Brems- und Beschleunigungsrampen verzichtet 
werden kann und man mit der meist insgesamt etwas größeren Masse 
(korreliert auch mit dem Preis) gut zurecht kommt.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Tom Jonas C. (tomjonas_c)

>Es laufen 5 DC Motoren, von denen jeder individuell mittels Drehknopf
>oder Schieberegler die Drehzahl einstellen lässt. Die aktuelle Drehzahl
>jedes motors soll parallel auf einem eigenen mini Display sichtbar sein
>(also 5 displays insgesamt).

Dazu muss man die Drehzahl messen. Im Normalfall braucht man dazu einen 
Sensor am Motor bzw. der Motorwelle.

>Zudem soll jeder Motor einen Schalter haben, um die Drehrichtung auf
>vorwärts oder rückwärts einstellen zu können.

Einfach, das macht eine H-Brücke, im einfachsten Fall ein Doppelschalter 
oder Relais.

>Die Motoren treiben keine große last an (<30 Gramm)

30g ist keine Last für einen Motor sondern eine Masse. Eine Laste wäre X 
Nm.

>und sollten maximal
>im Bereich 120 RPM liegen.

Dafür braucht man passende Getriebemotoren, die gibt es im 
Modellbaubereich.

>(1) Braucht jeder Motor mit seiner Drehzahlsteuerung ein eigenes
>Netzteilß

Nein.

> Welches Netzteil wäre zu empfehlen?

Eines, welches den Gesamtstrom aller Motoren + ausreichend Reserve 
liefert. Sagen wir Nennstrom x2. Bei solchen kleinen Motoren sollte das 
reichen.

>(2) Woran erkenne ich, welche DC Motoren ich verwenden kann? Offenbar
>lassen sich nicht alle DC Motoren drehzahltechnisch regulieren?

Nö, man kann praktisch alle DC-Motoren drehzahlregeln.

>(3) HAUPTFRAGE Welchen Controller verwende ich dafür?

Der dir am besten gefällt. Das kann fast jeder Controller, der 
ausreichend PWM-Ausgänge hat, in deinem Fall halt 5. Arduino MEGA ist 
ein Kandidat.

Dann an jeden Ausgang einen Leistungstreiber, im einfachsten Fall einen 
ULN2007, Freilaufdioden und fertig.

https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM

Die 5 Anzeigen für deine Drehzahl sind leicht mit einer LED-Matrix 
und 7-Segmentanzeigen machbar.

Die Sollwertvorgabe kann man rein digital mittels Drehgeber machen 
oder etwas einfacher mittels Potis, die per ADC ausgelesen werden.

Bleibt noch die Drehzahlmessung. Du brauchst einen Sensor, der pro 
Umdrehung des Getriebeausgangs einen Puls abgibt. Die Zeitabstände 
zwischen den Pulsen kann man per Mikrokontroller messen und anzeigen.

Alles in allem schon ein recht umfangreiches Projekt für einen echten 
Anfänger.

von Andreas B. (bitverdreher)


Bewertung
0 lesenswert
nicht lesenswert
Rob schrieb:
> -Du Kannst die Drehzahl genau bestimmen (anders als bei DC Motoren)

Kann man bei DC Motoren auch.

> -Die Drehzahl Schwankt nicht mit der Belastung (sonst hast Du nachher
> keine richtigen Kreise... sind sind dann einfach nur "schief")

?? Noch nie mit DC Motoren und Encodern gearbeitet? Vielleicht außerhalb 
der Arduino Welt?

Captain Albern schrieb:
> Ich halte es für unfreundlich, hilfreiche Antworten einfach als Quatsch
> zu bezeichnen.

Der "Quatsch" bezog sich vermutlich auf Deine Aussage, daß DC Motore 
ungenauer wären.
DC Motore haben den Vorteil daß sie laufruhiger als Schrittmotore und 
kleiner (bei gleicher Leistung) sind, dafür halt etwas komplizierter 
anzusteuern sind.

horst-kevin schrieb:
> auf "schöne" Brems- und Beschleunigungsrampen verzichtet
> werden kann

Das sehe ich nicht so. Auch mit Schrittmotoren lassen sich Brems- und 
Beschleunigungsrampen realisieren. Das ist ausschließlich eine Sache der 
Programmierung.

Bei den Anwendung des TO würde ich allerdings DC Motore bevorzugen.

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]
  • [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.