I'm assembling a 3D printer, and I have a weird issue with one of the axes: if I give a command to move to the left, it steps to the left, if I give command to turn to right... it still steps to left!
The controller is based on Ultimaker, so it's basically an Arduino Mega piloting a 'pololu' driver (it uses Allegro A4983 chip) which drives a bipolar stepper motor.
I already swapped the pololu drivers, the steppers, and they look ok.
The driver works so that when it receives a pulse on the STEP input, it moves the stepper in one direction or the other depending on the level of the signal DIR, so I investigated that line.
PCB looks ok, no pins shorted or tied to ground or to +V.
I separately tested the arduino mega with a simple program that blinks a LED connected to the pin used for the DIR signal, and it's ok.
So I remount everything, and I hook a couple of wires from the DIR pin and the GND on the stepper driver socket, and via croc clips I plug the DMM to check the voltage while I give the command to the steppers: the issue disappears, everything works!
I unplug the croc clip that goes to the DIR: the issue reappears again.
It seems that as far as I keep the DMM (a UT-61E) plugged, even if it's turned off, everything works.
What is going on? In the schematics the signal goes straight from the arduino to the driver, without any need for a pull up/down resistor or anything else and yet it seems in this case to benefit from adding a high resistance path (I guess the DMM input resistance is >10MOhm) to ground?