This is an AVR based project that is written in codevisionAVR environment and simulated in proteus.
purpose of this project is to control Speed, Direction of Rotation and Selecting a specific Mode for Stepper Motors.
In this project i used ATMEGA8 as a Microcontroller and L293D driver for a Bipolar(4-Wire) Stepper Motor and 4x16 alphanumeric LCD to display Mode, Direction of Rotation and Speed.
- Full-step
- Half-step
- Microstep
Microstep functions declared in this project are:
void u16Step(int cnt, char forwards);
void u24Step(int cnt, char forwards);
void u32Step(int cnt, char forwards);
void u48Step(int cnt, char forwards);
void u64Step(int cnt, char forwards);
void u96Step(int cnt, char forwards);
ℹ️ I Assumed that Step angle of the stepper motor is 90 degree (step angle of Stepper Motor in simulation is 90 degree).
so u16Step
means that it takes 16 steps for a motor with 90 degree step angle to complete one revolution (obviously it takes 4 steps for 90 degrees) and similarly we can calculate steps per revolution for other functions and for other motors with different step angles.