Mems Motor Control application example with X_NUCLEO_IHM01A1 and X_NUCLEO_IKS01A2 expansion boards.
Dependencies: X_NUCLEO_IHM01A1 X_NUCLEO_IKS01A2 mbed
Fork of MemsMotorControl by
MEMS-based Motor Control
This application provides an intuitive and natural way for controlling a stepper motor through an accelerometer. It makes use of the STMicroelectronics X-NUCLEO-IKS01A2 MEMS Inertial and Environmental Sensors Expansion Board to get accelerometer values and the X-NUCLEO-IHM01A1 Stepper Motor Control Expansion Board to directly control a stepper motor with:
- speed proportional to the angle measured by the MEMS board;
- direction driven by the direction of rotation captured by the MEMS board.
Diff: main.cpp
- Revision:
- 5:d88c9c8df082
- Parent:
- 4:778a7effb013
- Child:
- 6:b09e55633002
--- a/main.cpp Fri Nov 13 13:00:51 2015 +0000 +++ b/main.cpp Wed Nov 18 19:18:00 2015 +0000 @@ -58,7 +58,7 @@ #define ACCELERATION_TH 50 /* Rotation gain. */ -#define ROTATION_SPEED_GAIN 40 +#define ROTATION_SPEED_GAIN 20 /* Variables -----------------------------------------------------------------*/ @@ -119,7 +119,7 @@ /* Requesting to run. */ if (status != sign) { - motor->Run(sign == -1 ? StepperMotor::CCW : StepperMotor::CW); + motor->Run(sign == -1 ? StepperMotor::BWD : StepperMotor::FWD); status = sign; }