0
\$\begingroup\$

I am using Arduino Uno. I need to control 12 dc motors rated voltage 9V and current 150mA. definitely, I will use MOSFETs and back emf diode for each PWM output. I need to know whether I can use a 74HC4051 multiplexer to multiplex a single PWM output from Arduino to 8 channels so I can have 2 mux (8 channels) I get the above task done. I do not have enough pins left in Arduino also I need to minimize the usage of Arduino digital pins that's why I am looking for multiplexing method

Is possible to use a 74hc4051 mux to multiplex PWM signal? PWM frequency will less than 200kHz

I need to control multiple motors same time as well

asked Aug 26, 2019 at 14:51
\$\endgroup\$
4
  • 1
    \$\begingroup\$ That is an "analogue" multiplexer. I think you should use a digital de-mux. Like a 74HCT154. PWM goes into one of the control ports. A0..A3 select the channel to drive. You have one spare control pins for on/off. \$\endgroup\$ Commented Aug 26, 2019 at 15:03
  • 1
    \$\begingroup\$ I don't think a mux is exactly what you're looking for. Perhaps you need a decoder instead. \$\endgroup\$ Commented Aug 26, 2019 at 15:03
  • \$\begingroup\$ @Oldfart what about 74HC4067 ? \$\endgroup\$ Commented Aug 26, 2019 at 16:15
  • 1
    \$\begingroup\$ That is again an analogue mux/demux. Why do you think you need an analogue one? Your Arduino outputs a digital signal so it is much, much better to stay in the digital domain. With an analogue switch you can have all kinds of problems (e.g. noise) which digital circtuis do not have. Sorry to say this, but if you do not understand how to make this with a digital circuit you should study the subject a bit more before you continue your project. \$\endgroup\$ Commented Aug 26, 2019 at 16:24

2 Answers 2

2
\$\begingroup\$

I suspect what you need is PCA9685, a 16-channel PWM controller. It is optimised for LED driving, but you should be able to buffer the outputs to drive motors. It's a I2C interface.

answered Aug 26, 2019 at 14:59
\$\endgroup\$
3
  • \$\begingroup\$ Do you think with IC only MOSFET and bemf diode is enough to do the job? \$\endgroup\$ Commented Aug 26, 2019 at 15:03
  • 1
    \$\begingroup\$ @oppo -- if you only need the motors to run in one direction, sure \$\endgroup\$ Commented Aug 26, 2019 at 15:45
  • \$\begingroup\$ yes. I need only one direction \$\endgroup\$ Commented Aug 26, 2019 at 15:47
1
\$\begingroup\$

You could use a digital mux, but you would only be able to PWM one motor at a time.

If you need to control 12 motors simultaneously and independently, it may be cheapest to use 13 Arduinos -- one for each motor actually doing the control, and one "executive" that decides what the assemblage should do and sends out commands to each of the 12 slaves.

answered Aug 26, 2019 at 15:04
\$\endgroup\$

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.