Simple program featuring a few API functions usage of the X_NUCLEO_IHM06A1 library.
Dependencies: X_NUCLEO_IHM06A1 mbed
Fork of HelloWorld_IHM06A1 by
This application provides a simple example of usage of the X-NUCLEO-IHM06A1 Bipolar Stepper Motor Control Expansion Board.
It shows how to use a stepper motor connected to the board by:
- Running the motor;
- Monitoring the speed and the motor state;
- Setting/Getting the speed;
- Setting/Getting the step mode;
- Setting/Getting the acceleration and deceleration;
- Moving a defined number of steps or microsteps;
- Disabling the power bridges;
- Setting/Getting the torque;
- Going to home position
It also shows how to monitor the step clock handler duration in order to evaluate the maximum achievable motor speed for a given MCU.
For the hardware configuration of the expansion board, please refer to the X_NUCLEO_IHM06A1 library web page.
Diff: main.cpp
- Revision:
- 5:8c0802d9a345
- Parent:
- 4:0e50964ff610
--- a/main.cpp Fri Mar 24 11:00:53 2017 +0100 +++ b/main.cpp Fri Mar 24 13:54:58 2017 +0000 @@ -59,7 +59,7 @@ /* Variables -----------------------------------------------------------------*/ /* Initialization parameters of the motor connected to the expansion board. */ -Stspin220_init_t init = +STSpin220_init_t init = { 10000, //Acceleration rate in pulse/s2 (must be greater than 0) 10000, //Deceleration rate in pulse/s2 (must be greater than 0) @@ -94,7 +94,7 @@ void my_flag_irq_handler(void) { printf(" WARNING: \"FLAG\" interrupt triggered:\r\n"); - motor->Disable(); + motor->disable(); printf(" Motor disabled.\r\n\n"); } @@ -238,7 +238,7 @@ printf(" Position: %d.\r\n", motor->get_position()); /* Disable the power bridges */ - motor->Disable(); + motor->disable(); /* Check that the power bridges are actually disabled */ if (motor->check_status_hw()!=0) {