Wie steuere ich 12 Gleichstrommotoren gleichzeitig mit Arduino Uno?

Ich verwende Arduino Uno. Ich muss 12 Gleichstrommotoren mit einer Nennspannung von 9 V und einem Strom von 150 mA steuern. Auf jeden Fall werde ich für jeden PWM-Ausgang MOSFETs und eine Gegen-EMK-Diode verwenden. Ich muss wissen, ob ich einen 74HC4051-Multiplexer verwenden kann, um einen einzelnen PWM-Ausgang von Arduino auf 8 Kanäle zu multiplexen, damit ich 2 Mux (8 Kanäle) haben kann. Ich erledige die obige Aufgabe. Ich habe nicht genug Pins in Arduino übrig, außerdem muss ich die Verwendung von digitalen Arduino-Pins minimieren, deshalb suche ich nach einer Multiplexing-Methode

Ist es möglich, einen 74hc4051-Mux zum Multiplexen des PWM-Signals zu verwenden? Die PWM-Frequenz beträgt weniger als 200 kHz

Ich muss auch mehrere Motoren gleichzeitig steuern

Das ist ein "analoger" Multiplexer. Ich denke, Sie sollten einen digitalen De-Mux verwenden. Wie ein 74HCT154. PWM geht in einen der Steuerports. A0..A3 wählt den zu steuernden Kanal aus. Sie haben einen freien Steuerstift für Ein / Aus.
Ich glaube nicht, dass ein Mux genau das ist, wonach Sie suchen. Vielleicht brauchen Sie stattdessen einen Decoder.
@Oldfart was ist mit 74HC4067?
Das ist wieder ein analoger Mux/Demux. Warum denkst du, du brauchst ein analoges? Ihr Arduino gibt ein digitales Signal aus, daher ist es viel, viel besser, im digitalen Bereich zu bleiben. Mit einem analogen Schalter können Sie alle möglichen Probleme (zB Rauschen) haben, die digitale Schaltungen nicht haben. Tut mir leid, das sagen zu müssen, aber wenn Sie nicht verstehen, wie man das mit einer digitalen Schaltung macht, sollten Sie sich ein bisschen mehr mit dem Thema befassen, bevor Sie mit Ihrem Projekt fortfahren.

Antworten (2)

Ich vermute, was Sie brauchen, ist PCA9685, ein 16-Kanal-PWM-Controller. Es ist für LED-Treiber optimiert, aber Sie sollten in der Lage sein, die Ausgänge zu puffern, um Motoren anzutreiben. Es ist eine I2C-Schnittstelle.

Denken Sie, dass bei IC nur MOSFET und Bemf-Diode ausreichen, um die Arbeit zu erledigen?
@oppo - wenn die Motoren nur in eine Richtung laufen müssen, sicher
Ja. Ich brauche nur eine Richtung

Sie könnten einen digitalen Mux verwenden, aber Sie könnten jeweils nur einen Motor PWM.

Wenn Sie 12 Motoren gleichzeitig und unabhängig steuern müssen, ist es möglicherweise am billigsten, 13 Arduinos zu verwenden - einen für jeden Motor, der tatsächlich die Steuerung ausführt, und einen "Executive", der entscheidet, was die Assemblage tun soll, und Befehle an jeden sendet 12 Sklaven.