This project is rework Schematics and PCB 3D Wire Bending Machine from howtomechatronics, where it is described how to work with the board and how to program it, including the source code for arduino.
Because this board can be used for any different control of three stepper motors with Arduino, it will certainly find use in many other applications or it can be well used for various experiments with stepper motors or for teaching motors control principles.The price and simplicity of the construction of this board directly exhorts for the above. For this reason, the board has been slightly improved for more universal use.
Adding servo connector
Power regulator is used Mini DC-DC 4.5-24V To 5V 3A This controller is absolutely cold in operation and allows powering from 4.5 to 24V. Pins are a direct replacement for the LM7805. This module using MP2315 chip from MPS, but because the power supply is directly connected to the VIN pin on the Arduino module, it must be min. input voltage 6V. The EN PIN is internally connected to the Vin via a resistor 100k and the module is enabled by default. If is applied less than 0.4V to the pin, the module is deactivated and at the output is 0V. Datasheet of this very interesting chip is here
Adding option jumper for select power 5V from Arduino module or from MP2315 regulator. If the supply voltage is higher than 12V, I recommend using 5V from MP2315, because the linear regulator on the Arduino module, can heat up enough with such a large voltage difference.
Servo is always powered from regulator MP2315
Capacitor C4 and C5 is changed to 10u/50V D 5mm pin 2mm
The driver can be used A4988 and DRV8825 too(datasheet DRV8825 module).
Key differences between the DRV8825 and A4988:
The DRV8825 carrier was designed to be as similar to A4988 stepper motor driver carriers as possible, and it can be used as a drop in replacement for the A4988 carrier in many applications because it shares the same size, pinout, and general control interface. There are a few differences between the two modules that should be noted, however:
DRV8825 stepper motor driver carrier purple edition and A4988 stepper motor driver carrier Black Edition .
The pin used to supply logic voltage to the A4988 is used as the DRV8825’s FAULT output, since the DRV8825 does not require a logic supply (and the A4988 does not have a fault output). Note that it is safe to connect the FAULT pin directly to a logic supply (there is a 1.5k resistor between the IC output and the pin to protect it), so the DRV8825 module can be used in systems designed for the A4988 that route logic power to this pin.
The SLEEP pin on the DRV8825 is not pulled up by default like it is on the A4988, but the carrier board does connect it to the FAULT pin through a 10k resistor. Therefore, systems intended for the A4988 that route logic power to the FAULT pin will effectively have a 10k pull-up on the SLEEP pin.
The current limit potentiometer is in a different location.
The relationship between the current limit setting and the reference pin voltage is different.
The DRV8825 offers 1/32-step microstepping; the A4988 only goes down to 1/16-step.
The mode selection pin inputs corresponding to 1/16-step on the A4988 result in 1/32-step microstepping on the DRV8825. For all other microstepping resolutions, the step selection table is the same for both the DRV8825 and the A4988.
The timing requirements for minimum pulse durations on the STEP pin are different for the two drivers. With the DRV8825, the high and low STEP pulses must each be at least 1.9 us; they can be as short as 1 us when using the A4988. Need by changed in SW driver.
The DRV8825 has a higher maximum supply voltage than the A4988 (45 V vs 35 V), which means the DRV8825 can be used more safely at higher voltages and is less susceptible to damage from LC voltage spikes.
The DRV8825 can deliver more current than the A4988 without any additional cooling (based on our full-step tests: 1.5 A per coil for the DRV8825 vs 1.2 A per coil for the A4988 Black Edition and 1 A per coil for the original A4988 carrier). Up to 2.2 A per coil with good Cooling eg. here
The DRV8825 uses a different naming convention for the stepper motor outputs, but they are functionally the same as the corresponding pins on the A4988 carrier, so the same connections to both drivers result in the same stepper motor behavior. On both boards, the first part of the label identifies the coil (so you have coils “A” and “B” on the DRV8825 and coils “1” and “2” on the A4988).
More free Arduino pins are pulled on the connector 1x12 pin for reuse in your experiments .
Good luck with your experiments :-)