Blog for the RepRap project at www.reprap.org - a project to create an open-source self-copying 3D printer. To get all the early posts on this blog with all the images as a single PDF visit this page.

Thursday, April 02, 2009

Now Available: Stepper Motor Driver v2.3

This new board has been in development by the RRRF for quite a while as we've been trying to get it just right. The v2.3 design has homed in on the excellent A3982 stepper motor driver chip from Allegro. This chip is cheap, reliable, and excellent. This new board actually drops the price of EACH stepper driver by about $10 and makes it easier to build. Its surface mount, but using the hot-plate soldering method, you get a much nicer board and I've actually found it to be much easier than soldering up a million through hole components.

This board has the same pinouts as the previous Stepper Motor Driver v1.2 board, so will be a very simple upgrade if you're so inclined. The pinouts for the stepper connector, opto endstops, IDC connector, and power connector are all the same. Yay for standard interfaces!

Thanks to Lou Amadio, and the RepRap team for help in refining this board.

Anyway, you can get kits and pcbs from MakerBot Industries. We'll have fully assembled boards in a few months as well if you're too stubborn to learn SMD soldering and DIY.

Oh, and if the new hotness of the board isn't enough, check out this video of the new stepper tester code I wrote to go along with it. Tell me that doesn't make you smile and I'll frost you a cupcake.

Actually, mine was based on the fact that my reprap x and y axis sounds a bit like the synth sound from "! (The Song Formerly Known As)" by regurgiator. I was planning a video where I run the steppers to make music.

Can you make it sing Daisy, for historical(and general nerdgasm) sake?

Both sides of the pcbs have solder mask I have 3 of the pcbs as with all of the other RRRF pcbs they are V high quality fiber glass pth bds.The solder mask is red on these bds.The RepRap mother Bd 1.1 is great too. Yet again I should have waited for you to make kits.So Ive fitted discret pasive components instead of SM for now.and hacked a memory stick reader for the sd card skt.Zack If I supply you with a list of the pasive SM component values I have lying arround do you think you could uese those values in the next design.. ;-)Used a pound shop junior blow torch to get the MB power connector off an old Compac pentium pro MB backplane.Great job Zack thank you.

I'm (re)building my machine, and one thing I'm missing is transparency. We're adding layers to reduce complexity, but transparency is getting lost along the way. There are several interfaces where things can go wrong, so if a motor doesn't move:1 it could be the host software, 2 the cable to the arduino, 3 the arduino hardware, 4 the arduino firmware, 5 the arduino output I/O to slave board, 6 the slave board cable, 7 the slave board, 8 the cable from slave board to motor. 9 The motor itself.

I usually end up testing 1 trough 5 when I find out that I forgot to reattach the motor (8). Or worse, I test 1 trough 9 and realize I hadn't assessed 1 correctly. I admit that I'm not too organized and this gets me into trouble and blowing components.

We should give the RepRap a voice!

About stepper motors making sounds. It would be VERY useful to have the motor produce audible feedback that will not result in motion, but sound, originating from the component of which you want to highlight connectivity. This way you can instantly check connectivity (at startup) of each of the motors (1 through 9). You will also more quickly know the implications of changing something, since you don't need to actively test everything with a multimeter, but just passively listen to your machine to hear how it's feeling. You know when you hurt, it as soon as you do, and more importantly, you know when it's happy to print for you :)

When the firmware starts, you don't want to move all the motors, it might be in the middle of an interrupted job. But you do want to hear X = OK, Y = OK, Z = OK, extruder motor = OK. Why not hear it through audible beeps of varying frequentions. You will need to hear 3 distinct tones, and you'll know the cartesian bot is good to go. For bigger and more complex systems the usefulness of this principle will increase.

The cool thing about this 'feedback' is that it is reliable. If a motor is connected but some test-measurement isn't, or it doesn't reach the GUI (lost in some layer), you stop relying on this as an indicator. But for these motors producing sound, it is accurate.

So, reliable and fast assessments of the status of components of a machine are highly desirable properties, especially for prototypes under development!

A sound for reaching the origin (reference position (X,Y,Z) = (0,0,0)) would also be desirable.

Any other status info that would be important to you?

I'll see if I have time for it tomorrow. If you have ideas or feedback for me, let me know!