12 unipolar motors, Arduino and Max/MSP

I'm stumped. I've been trying this for the last week and it just occurred to me to post my quandry here for some wisdom i'm sorley lacking.

I'm more or less new to electronics and Arduino.

Here's what I'm attempting to do:
I am trying to drive 12 x unipolar step motors to the digital i/o's of the Arduino via 74hc154 multiplexers (here's where my problems lie...) and uln2003a darlington arrays. i'm using SimpleMessageSystem in Arduino to speak through Max/MSP because ultimately i want to combine sound and motion detection--and i'm really dumb when it comes to coding in open source/arduino/wiring/processing.

I have so far been able to control one 5-wire motor using 2 x digital i/o's of the Arduino by following the circuit example in the reference section.

As I've learned, I need to send out a series of on/offs to step the motor in this order:
w1 w2
step1: 0 1
step2: 1 1
step3: 1 0
step4: 0 0

It all works fine coming from the Arduino.

As soon as I add the 74HC154 (4 - 16 line de coder/demultiplexer), I no longer can control the stepper motor because I can never get to a state of off/off.

Does anyone have any thoughts on how to solve this problem--even if it's using completely different components (except the motor... those are what I have)

Here is what I'm going to try next:
Drive the motor using 4 wires instead of two so that the order of on/offs will be as such:
w1 w2 w3 w4
step1: 1 0 1 0
step2: 0 1 1 0
step3: 0 1 0 1
step4: 1 0 0 1

and use one 4 - 16 multiplexer for wire1 and wire2
and a 2nd 4 - 16 multiplexer for wire3 and wire4

That should give me an order i can acheive--since there are no on/on or off/off's per wiring group. But it seems bigger than it should be--does anyone else think so?

I hope I've been clear--and I hope I posted this in the right place!

Any thoughts would be helpful.

Thanks!

hey

the 74HC154 has inverting outputs.. so you have to send 1111 to turn all the outputs off. Have you tried that?

D

hey

the 74HC154 has inverting outputs.. so you have to send 1111 to turn all the outputs off. Have you tried that?

D

i went out and got an inverter: 74HC05

i just got 2 of the de-multiplexers to speak to one motor--going both forward and backward. i'm about to hook up a 2nd.

i think i'll not be able to address two motors at once... ah well...

hi

you should be able to easily drive two Arduino's stepper motors with one stepper Arduino...

With an L298, you would use 4 pins for the motor windings, and 2 pins for the enable. Two motors per Arduino. There's a diagram for connecting the L298 to a stepper motor in its datasheet.

Then, if you just want the Arduinos to passively receive control codes and activate the motors, you can hang several arduinos off of one RX line, and have them all watching for the appropriate control signals. If you use Paul Badger's barebones Arduino, or the NKC Arduino, you can build each dual motor controller for about $20-25 in parts.

D

hi,

to follow-up--the solution i went for was not using a de-multiplexer since the individual outputs were only addressable one at a time. instead i have two motors connected to one set of outs from the arduino so multiple sets of motors can move independently of each other. i have 10 motors instead of 12--but it is working fine for this piece.

in the future i'll try daniel's way.

thanks for the help.

-niknaz