Welcome! Log In Create A New Profile


Problem with A4899 drivers

Posted by Anonymous User 
Anonymous User
Problem with A4899 drivers
March 25, 2017 12:48PM
Hi, until a few days ago, I've never been able to make a functioning 3D printer with my
1.4 board, so I've decided to do some manual tests with my Arduino on the motor drivers (the

First of all I've placed it on a breakboard. I've connected VDD and GND to 5V rail of the Arduino,
the VMO and GND to a 9V battery with a 100μF capactitor, I've connected the two pairs of the
motor, the STEP and DIR pins to two digital pins on the Arduino and lastly I've shorted
together RESET and SLEEP. After all of this the motor worked fine.
(Photo od the breadboard attached )
Here's the code by the way

#define STEP 3
#define DIR 4

void setup()
  pinMode(STEP, OUTPUT);
  pinMode(DIR, OUTPUT);

void loop()
  digitalWrite(DIR, HIGH);
  for(int i = 0; i < 10; i++)
    digitalWrite(STEP, HIGH);
    digitalWrite(STEP, LOW);
  digitalWrite(DIR, LOW);

So, I've put a single stepper driver (and nothing else) on the Ramp board, and it didn't work at
all. After some tests I've decided that, instead of placing the driver directly on the
socket, I would attacch it with some jumper wires (photo attached ). With a multimeter
I've found that the DIR pin on the E0 socket was connected to the pin 28 on my Arduino and
the STEP to pin 26, so it was easy to change the code based on that.

Of course it didn't work, so I've started disconnecting some of the wires and biapssing
the RepRap board, first of all I've connected the VMO and GND to the same 9V battery, but it
didn't change anything. Then I've started leaving disconnected some of the cables and I've
found that without the ENABLE pin attached it worked fine and I could control the motor.

After some researching on the datasheet, I figured out that when the ENABLE pin is set to
high the driver will not work, so I've done some inspecion with the multimeter and found that
the ENABLE pin on the driver socket is actually connected to the 5V rail on the Arduino, which
means that the driver will never function.

Is my inference correct? If yes, how can I fix it? Is my board faulty?
Re: Problem with A4899 drivers
March 26, 2017 02:49AM
IIRC, the Enable pin is low active. You'd have to switch or hardwire it to GND.

PS: There is a readymade Ramps_test program in the Wiki. I had a hard time finding it, there is no link from the RAMPS mainpage?!

Edited 1 time(s). Last edit at 03/26/2017 03:00AM by o_lampe.
Re: Problem with A4899 drivers
March 26, 2017 01:17PM
Is my inference correct? If yes, how can I fix it? Is my board faulty?

Not enough information. ENABLE is pulled high by a resistor on RAMPS 1.4, so if you measure the voltage it will be 5V. The Arduino firmware should drive it low to enable the stepper.

It's also possible the driver module is faulty, I've had a few bad ones.

BTW I assume you mean A4988, A4899 does not exist. Unless you mean car drivers on the A489 out of Newtown, they are pretty bad smiling smiley

Edited 1 time(s). Last edit at 03/26/2017 01:23PM by bobc.

What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Sorry, only registered users may post in this forum.

Click here to login