Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LinStepMtr Class Reference
Linear Stepper Motor control class. More...
#include <lin_step_mtr.h>
Public Types | |
| enum | Direction |
Direction Control. More... | |
| enum | Step_Num |
Steps of motor for movement * In form A B A' B'. More... | |
Public Member Functions | |
| LinStepMtr (PinName A_f, PinName A_r, PinName B_f, PinName B_r) | |
| Create a linear stepper motor object connected to specified DigitalOut pins. | |
| LinStepMtr (PinName A_f, PinName A_r, PinName B_f, PinName B_r, int m_rpm) | |
| Create a linear stepper motor object connected to specified DigitalOut pins. | |
| ~LinStepMtr () | |
| Destructor. | |
| float | get_speed () |
| Gets the current speed in RPM. | |
| void | set_speed (float rpm) |
| Sets the value of speed in RPM. | |
| double | get_rev () |
| Gets the number of revolutions since motor was initialized. | |
| void | set_min_rev_cnt (double rc) |
| Sets the value of min_rev_cnt. | |
| void | set_max_rev_cnt (double rc) |
| Sets the value of max_rev_cnt. | |
| double | get_min_rev_cnt () |
| Gets the value of the current minumum revolution count. | |
| double | get_max_rev_cnt () |
| Gets the value of the current maximum revolution count. | |
| void | RESET_rev_cnts () |
| Rests the revolution count limits to max/min of double. | |
| Direction | get_dir () |
| Gets the current direction. | |
| double | rotate (Direction d, float rev) |
| NOT SUPORTED - Set the direction. | |
Detailed Description
Linear Stepper Motor control class.
Linear Stepper Motor control library.
Example:
#include "mbed.h" #include "lin_step_mtr.h" // motor's leads for A,A',B,B' that are hooked upto a dual H-bridge LinStepMtr mtr(p20, p19, p17, p18); int main() { // Rotates the motor Clockwise at 400 rpm for 10 revolutions mtr.set_speed(400); mtr.rotate(LinStepMtr::CW,10); // Rotates the motor Counterclockwise at 200 rpm for 5 revolutions mtr.set_speed(200); mtr.rotate(LinStepMtr::CCW, 5); }
- Version:
- 1.0 ()
This is the driver for A Nema 17 linear stepper motor
----------------------IMPORTANT--------------------
---------------------------------------------------
Definition at line 50 of file lin_step_mtr.h.
Member Enumeration Documentation
| enum Direction |
Direction Control.
Definition at line 55 of file lin_step_mtr.h.
| enum Step_Num |
Steps of motor for movement * In form A B A' B'.
Definition at line 62 of file lin_step_mtr.h.
Constructor & Destructor Documentation
| LinStepMtr | ( | PinName | A_f, |
| PinName | A_r, | ||
| PinName | B_f, | ||
| PinName | B_r | ||
| ) |
Create a linear stepper motor object connected to specified DigitalOut pins.
- Parameters:
-
A_f DigitalOut pin for Forward Control of H-Brigde Port A (AIN1) A_r DigitalOut pin for Reverse Control of H-Brigde Port A (AIN2) B_f DigitalOut pin for Forward Control of H-Brigde Port B (BIN1) B_r DigitalOut pin for Reverse Control of H-Brigde Port B (BIN2)
Definition at line 19 of file lin_step_mtr.cpp.
| LinStepMtr | ( | PinName | A_f, |
| PinName | A_r, | ||
| PinName | B_f, | ||
| PinName | B_r, | ||
| int | m_rpm = MAX_RPM |
||
| ) |
Create a linear stepper motor object connected to specified DigitalOut pins.
- Parameters:
-
A_f DigitalOut pin for Forward Control of H-Brigde Port A (AIN1) A_r DigitalOut pin for Reverse Control of H-Brigde Port A (AIN2) B_f DigitalOut pin for Forward Control of H-Brigde Port B (BIN1) B_r DigitalOut pin for Reverse Control of H-Brigde Port B (BIN2) m_rpm Sets the max speed in RPM of the motor
Definition at line 6 of file lin_step_mtr.cpp.
| ~LinStepMtr | ( | ) |
Destructor.
Definition at line 29 of file lin_step_mtr.cpp.
Member Function Documentation
| LinStepMtr::Direction get_dir | ( | ) |
Gets the current direction.
- Returns:
- the current direction of motion
Definition at line 80 of file lin_step_mtr.cpp.
| double get_max_rev_cnt | ( | ) |
Gets the value of the current maximum revolution count.
- Returns:
- the current maximum revevolution count limit
Definition at line 69 of file lin_step_mtr.cpp.
| double get_min_rev_cnt | ( | ) |
Gets the value of the current minumum revolution count.
- Returns:
- the current minimum revevolution count limit
Definition at line 64 of file lin_step_mtr.cpp.
| double get_rev | ( | ) |
Gets the number of revolutions since motor was initialized.
Positive means more CW than CCW movement, negative is opposite
- Returns:
- revolution count
Definition at line 43 of file lin_step_mtr.cpp.
| float get_speed | ( | ) |
Gets the current speed in RPM.
- Returns:
- motor's speed in RPM
Definition at line 34 of file lin_step_mtr.cpp.
| void RESET_rev_cnts | ( | ) |
Rests the revolution count limits to max/min of double.
Definition at line 74 of file lin_step_mtr.cpp.
| double rotate | ( | Direction | d, |
| float | rev = 1 |
||
| ) |
NOT SUPORTED - Set the direction.
- Parameters:
-
d new direction of motion Rotates the motor for a set number of rotations in the given direction d direction of rotation rev number of revolutions to rotate (defaults to 1 revolution)
- Returns:
- the current revolution count after rotation is complete
Definition at line 95 of file lin_step_mtr.cpp.
| void set_max_rev_cnt | ( | double | rc ) |
Sets the value of max_rev_cnt.
This value is used as a software stop to prevent the motor from rotating any farther while going clockwise Defaults to the maximum value of a double.
- Parameters:
-
rc new maximum revolution count limit value
Definition at line 56 of file lin_step_mtr.cpp.
| void set_min_rev_cnt | ( | double | rc ) |
Sets the value of min_rev_cnt.
This value is used as a software stop to prevent the motor from rotating any farther while going counterclockwise. Defaults to the minimum value of a double.
- Parameters:
-
rc new minimum revolution count limit value
Definition at line 48 of file lin_step_mtr.cpp.
| void set_speed | ( | float | rpm ) |
Sets the value of speed in RPM.
- Parameters:
-
rpm speed in rpm (maximum value of 400 rpm, min value of 200 rpm)
Definition at line 39 of file lin_step_mtr.cpp.
Generated on Fri Jul 15 2022 17:32:45 by
1.7.2