Arduino Stepper Motor Serial Control Module
Products 1 - 24 of 24. Sku: ROB-10735 The Big Easy Driver, designed by Brian Schmalz, is a stepper motor driver board for bi-polar stepper motors up to 2A/phase. Quadstepper Motor Driver Board. Sku: ROB-10507 The Quadstepper motor driver board allows you to control up to 4.
This is a simple tutorial on how to control speed and direction of stepper motor using arduino uno and bluetooth module hc-06 through an android phone app. The motor that i am using is Uni directional stepper motor. Their are two types of stepper motors unidirectional and bidirectional. Uni directional has four phases and bidirectional has 6 phases.
Phases must be controlled properly other wise desired output can not be obtained. Before going further i assume that you are aware of the steeper motor phases and know how to control them effectively in order to get the maximum output. Anatomy For The Artist Jeno Barcsay Pdf Download. The user pairs its android phone with the hc-06 bluetooth module. After paring user can start the motor, can move the shaft in either direction clock or anti clock wise, can change the speed of motor rotation, can stop the motor with the commands that are embedded in side the code. The commands can be changed according to the user need. We will come to the code portion later in the tutorial. Circuit diagram of the project is given below.
The stepper motor that i am using works on 12v DC. Stepper motor coils consumes about 80mA to 250mA, so we an not drive the steeper motor directly from arduino pins.
We need some driver for this purpose and ULN2003 a darling-ton array ic is a good fit-in. ULN2003 is capable of sourcing 500mA at 50v, it can easily source 250mA current at 12v. Note the ground of the arduino must be grounded with ULN2003 ground. Both the ic's must be at same potential to become functional. If not grounded properly the circuit floats and the output is unpredictable. Arduino talks with hc06 on serial communication protol. The baud rate for serial communication can be changed.
I am working on default baud rate which is 9600. Bluetooth module hc06 works on 3.3v and can be powered from the 3.3v source output of arduino. Since the hc06 works on 3.3v it outputs the data in the form of TTL signal rated at 3.3v. Where as arduino operates on 5v and its pins output data in the form of TTL signal rated at 5 volt.
To balance the TTL level voltage. Voltage level sifters are inserted between the pins. Arduino TX is transmitting a 5v signal which is shifted to 3.3v by just a simple voltage divider circuit.
The hc06 TX is transmitting a 3.3v signal which is level shifted to 5v. Stepper coils are controlled through arduino digital pins 2,3,4 and 5. The pins are directly connected to inputs of uln2003. The corresponding outputs of the uln2003 is supplying power to motor coils. Arduino is powered through external 12v adopter and uln2003 is powered through the same adopter.
Hc06 is powered through the 3.3v supply output of arduino. Android app that i used can be found. It good and works great on all the baud rates.
Commands to run and control stepper motor s or S = Starts and stops the stepper motor. First s starts motor and the coming next stops it. Eye Of The Tiger Midi Files on this page. F or F = Rotates stepper motor in clockwise direction. B or B = Rotates stepper motor in anticlockwise direction. Total 10 rotation speeds are embedded in the code.
0 == RotationSpeed=1000; 1 == RotationSpeed=900; 2 == RotationSpeed=800; 3 == RotationSpeed=700; 4 == RotationSpeed=500; 5 == RotationSpeed=400; 6 == RotationSpeed=300; 7 == RotationSpeed=200; 8 == RotationSpeed=100; 9 == RotationSpeed=50; The function Move_Backward() rotates the motor in anticlockwise direction. The function StartMotor() rotates the motor in clockwise direction. User can change the commands according to his need. User can also insert the new rotation speeds.