Monday, March 29, 2010

Troubleshooting the Reprap Stepper Driver circuit...

I have been waiting anxiously for my 24 pin SOIC to DIP adapter so I can finally try out these a3982 motor drivers that I have. The adapter arrived yesterday and wow are these things small! An SOIC package is basically half the pitch of your standard breadboard. I have a fairly fine tip for my soldering iron, but I still had problems soldering the 24 pins on this thing. Keeping the soldering iron steady at these small dimensions is a tough thing to do. I had a few merged joints that I had to remove using desoldering braid and a few dry joints that I had to redo. Here is the finished chip on the DIP adapter


As you can see the joints are not the pretty. I have decent through hole soldering skills, but this was a challenge mostly because there wasn't really any extra trace for the SOIC legs to solder on to. The legs extended to the ends of the adapter traces so you had to heat the connection and hope that solder flowed around the leg and connected to the trace beneath. I checked each connection with my multimeter and they all checked out so I think I did okay.

Next, I wired up the reprap stepper driver v2.3 that is intended to use the a3982 chip (http://www.flickr.com/photos/hoeken/3289138606/sizes/l/). I used this schematic just because I know it has worked for them and I don't have to deal with debugging one of my own. I had every single part required except for the sense resistors. I decided to replace both sense resistors with bare wire as I have done this before for L298 H-bridges and it basically just takes away the current limiting abilities and runs the chips at the maximum current. However, when I turned on the power supply and ran some test firmware on my Arduino, nothing happened. I am hoping it is just because I need the sense resistors. I have double checked every single pin on the chip with the reprap schematic and everything is wired as it should be as far as I can tell. I have LEDs connected to each motor coil, but none of them are lighting up. Not a good sign. The chip also seemed to be heating up a little, which also worries me. Has anyone else had experience with this? Any ideas on what to do? Is there any simple way to test if the driver is working? I will keep trying to debug the circuit, but right now I am out of ideas. I am hoping the sense resistors that arrive tomorrow will fix everything. Here are the pictures of the breadboard in case anyone spots an error. Note that the red, yellow, and black wires running out the bottom of the image connect to the 5V, 12V, and Ground pins on a molex connector from my power supply.



The motors I am using are unipolar so I just lef the 2 common wires unconnected and used the wires for the coil ends. I am also fairly confident in the test firmware I am using as it has worked for my other stepper driver circuits that I have and I double checked to make sure the pinouts were correct for the enab, dir, and step signals. I am wondering if there are maybe any errors in the reprap schematic? For example, I am not sure why the 1nF cap on pin 16 goes to +5V and not ground? Again, I am hoping the addition of the sense resistors will help, but at the moment I'm out of ideas. I don't think I could have blown the IC already, but who knows... Feel free to shout out in the comments if you have encountered something similar or have any ideas!

1 comment:

  1. without sense resistors, you can easily exceed the current rating of the chip's power fets and blow it very quickly. the current feedback is a critical aspect of stepper control using these chips. It's also critical for microstepping, as the microstepper works by setting the real current limit to some fraction of the user-set current limit for each coil.

    I used the A4983 breakout board from pololu, which comes with built-in sense resistors.

    ReplyDelete