Arduino Step Motor Driver Library. For more information about that library usage, go to my blog page mertwhocodes-step-driver
This is the library for drive step motor for Arduino. It supports DC motors & Stepper motors with microstepping. A4988, DRV8825, DRV8834, DRV8880,TB6600... and generic two-pin stepper motor driver library. Features:
- Constant speed mode(RPM)
- Microstepping
- VCC 9-42 – VDC
- GND - Power supply ground
- ENA- - Arduino GND
- ENA+ - Arduino Pin 5
- DIR- - Arduino GND
- DIR+ - Arduino Pin 4
- PUL- - Arduino GND
- PUL+ - Arduino Pin 3
- A-, A+ - Coil 1 stepper motor
- B-, B+ - Coil 2 stepper motor
void init(); //makes pin configuration
void active(bool _active); //makes enable pin LOW(active)or HIGH(deactive)
void run(uint64_t _rpmt);//motor rotation start with RPM value
void set(bool _dir, uint8_t _rpm, uint16_t _pulse);//sets direction ,RPM value and steppping value
void run();//motor rotation start with last setted RPM value
Before use run();
function set();
function have to configure.
See basic two direction stepping 1:8 1 tour for each direction example.
/*
Name: step_drive.ino
Author: mertwhocodes
*/
#include<mwc_stepper.h>
#define EN_PIN 3
#define DIR_PIN 2
#define STEP_PIN 5
#define RPM 50
#define RPM1 50
#define PULSE 1600
#define ClOCKWISE 1
#define OTHERWISE 0
MWCSTEPPER nema23(EN_PIN, DIR_PIN, STEP_PIN);
void setup() {
nema23.init();
}
void loop() {
nema23.set(ClOCKWISE, RPM, PULSE);
for (size_t i = 0; i < 1600; i++)
{
nema23.run();
}
delay(1000);
nema23.set(OTHERWISE, RPM1, PULSE);
for (size_t i = 0; i < 1600; i++)
{
nema23.run();
}
}