Hello.
In advance, I got some miniature PCBs with a DRV8825 chip on them (the violet colored ones), and I successfully use some of them in a little CNC mill (logics voltage there 5.0V) with forced air cooling. -> So this modules actually work.
This brought me to the idea to use the same modules in my development of a Pick&Place machine. The mainboard is running here mostly on 3.3V, because the PIC microcontroller also has to read from SD-Card and to control a graphical display (also requiring 3.3V only). Running everything on 3.3V simplifies things a lot, this is the background.
Reading the datasheet of DRV8825, I see that this part accepts high levels from 2.2...5.25V, so it should perfectly work.
Well, practice is somewhat different, and I kindly please for suggestions on how to fix this issues:
- My microcontroller (PIC 18F4685) is directly connected to STEP and DIR of four stepper driver boards (search for "Geetech StepStick DRV8825") with PortB, and I am able to generate the individual pulses and signal levels for every particular StepStick. The adjusted current is very low (0.2A), the motor voltage somewhere around 24V.
- During my tests I generated very slow STEP pulses (5 pulses/second with a width of 1ms) with DIR="LOW". The stepper motor turned clockwise.
- In next step, I wanted to reverse the rotating direction, but here I noticed that the stepper motor continuously turns CW, regardless if the DIR pin is set to HIGH (3.3 Volts) or LOW.
- I extended my software to do 100 step pulses with DIR=LOW, then another 100 step pulses with DIR continuously HIGH. So the motor should turn CW and CCW repeatedly, but it continuously turned CW.
- By accident I kept the testing board powered on. After a longer while (I searched for a possible mistake in my software), I suddenly saw that the stepper turns in both directions! I powered the board off and on, but now the stepper again turned only CW again. I also was not able to reproduce that the stepper starts changing the rotation direction later again.
From my point of understanding, 3.3V logic input level is perfectly in the center of the high level range (2.2-5.25V). I also verified (measured) that the DIR pin is switched between 0V and 3.3V after every 100 steps. As the stepper turns and the STEP pulses come from the same microcontroller port, this also indicates that 3.3V are sufficient - otherwise the stepper would not move at all.
I also pulled the microcontroller entirely, connected a frequency generator (generating square waves of 500Hz) to the STEP pin, and connected then the DIR pin once to +3.3V, then to GND. This usually should work if it is an issue with the microcontroller, but it did not.
Can somebody give me an idea on what might possibly be going wrong here, please?
I am close to buy some boards with Allegro A-4988 to see if they behave differently. But they do not allow up to desired 38V operationg voltage and also support only lower current, therefore I'd prefer the DRV8825 chip with forced air cooling.