Both 5V and 3.3V are available on the board, and you have to connect the one you want to use to the logic supply of the board.
Did you look at the product web page or the A4983 datasheet? Both have tables showing that you need to make MS1 and MS2 high and MS3 low for eighth step operation. It’s difficult to get excited about helping you when your post gives the impression that you’re not really trying to help yourself.
No. High means your logic voltage, which might be 5V or 3.3V or whatever else you choose. Low means 0V (i.e. ground). There are folks using these motor drivers with Arduinos for RepRap 3D printers, so doing a search for something like “RepRap Pololu” might lead you to some useful examples.
Driving a pin low means connecting it to ground or to a microcontroller output that is set to output 0V. Driving a pin high means connecting it to your logic voltage, Vcc, which is often 5V or 3.3V, depending on your system, or a microcontroller output that is set to output high. You can pull a pin low or high by connecting it to ground or Vcc, respectively, through a resistor. The strength of the pull is inversely proportional to the value of the resistor. The point of a pull-up or pull-down is to create weak default value for the pin that can be overridden by a stronger signal from a microcontroller should you want to change the behavior on the fly.
Does the SMT jumper for 5v operation need to jumped? (board is running 5 v as well as the arduino)
Do the grounds on the side of the board that has the step/dir inputs need to be connected? this is what the instructions state “The driver requires a logic supply voltage (3 – 5.5 V) to be connected across the VDD and GND pins”
from the top of the board
5v I am connecting this to VDD, enable, ms1, ms2, and reset
I assume that the S/D ground from the arduino can connect to this ground or the one on the other side of the board. From the instructions the only ground separate is the VMOT ground.
The SMT jumper is just an alternate connection spot for the 5V out to Vdd connection you’re making.
The grounds are all connected on the board, but you should make sure that you have ground connected between the board and the Arduino and between the board and your motor power supply. The ground to the motor power supply should be connected through the pin right next to the motor supply pin since that ground pin is intended for high current. You can use any of the other ground pins for connecting to the Arduino.
You are disabling the chip by connecting enable to 5V. This pin is internally pulled low, so you can leave it disconnected if you don’t want dynamic control of the enable state. Also, it’s not clear what you’re doing with the lines you have connected to the Arduino. Are you bringing the sleep line high to take the board out of sleep mode? Can you post the simplest version of your code that should do something but doesn’t?
Also, this thread might help you some if you haven’t seen it already:
Ahhhh so the enable should be low to run. That may fix it. The board behaved like it was not getting power even though it has power. The sleep pin is low to sleep in OpenMoco. As I understand the data sheet the sleep pin needs to go high to run, low to sleep. I will work on this again in the morning.
OK I got the problems straitened out. My motor now runs, WoooHooo! Now a few things to fix.
How do I set the motor current properly I know the data sheet says to measure the ref pin voltage and calculate the current. I know for Ohm’s law to work I have to have 2 parts of the equation to figure the third. I = V / R. Whats the resistance value I use? the motor I am using is 1A. Seems to run well but the motor also gets pretty warm. After I get the current set properly this may go away for the most part.
Also the driver chip gets pretty hot. I have a SW issue with sleep, OpenMoco sleeps when the sleep line is low but the driver never goes to sleep. It always has holding current. But my question is where do I find a heat sink for the driver chip? it’s pretty small! I was thinking about gluing the chip, with heat sink epoxy, to a block connected to the box I am going to put this in so the entire surface area is a heat sink. But then how do I hold the board, there doesn’t seem to be a lot of extra space for screws even on the edge of the board.
Ohm’s law is not necessarily in play here since we’re talking about setting an adjustable parameter on some chip. Anyway, the current sense resistance is 0.05 ohms (it’s on the schematic), so you want to set the pot to make the ref pin have about 0.4V on it for a current limit of 1A.
We don’t have a specific heat sink for this unit, but I have heard that others have had success with heat sinks made for PC motherboards (for peripheral chips, not for the main processor) and memory. Those sets often include double-sided tape made for mounting heat sinks. Thermal epoxy should be fine, too. However you do it, make sure you don’t short anything out.
The RepRap community has been experimenting with using Pololu’s stepper motor driver carriers in their latest electronics designs. They have come up with various ways of cooling the drivers. One picture shows them using a PC-case fan; another shows a little stick-on heat sink.
What I am doing is building a timelapse motion control rig. I am mounting the drivers really close to the motors so they are tuned for that motor and have fewer parts to deal with on a shooting location. This way there is just the arduino with Step/dir and power going to the motors. If I build a small enough enclosure for the Arduino that can go on the little dolly with the pan/tilt head and camera. For now I found these at Mouser mouser.com/catalog/catalogUSD/641/1947.pdf
The 2 heatsinks at the bottom of the page for dip 14/16 packages. I may just glue a machined block to the chip and use that to conduct heat to the case. I just have to figure out a good way to mount the board so it’s very sturdy and won’t fall off. I love that the board is so small but at the same time it is a pain!