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.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: Stepper_Matlab_Control SunTracker_BLE Stepper_Matlab_Control MemsMotorControl ... more
Fork of X_NUCLEO_IHM01A1 by
Motor Control Library
Introduction
Library to handle the X-NUCLEO-IHM01A1 Motor Control Expansion Board based on the the L6474 component.
Daisy-Chain Configuration
This board can be stacked up to three times so that the L6474 components will be connected in daisy-chain configuration. For this purpose, some resistors must be correctly connected on the boards as depicted here below:
Platform compatibility
- NUCLEO boards have been tested with the default configuration provided by the HelloWorld_IHM01A1 example.
- LPCXpresso11U68 board has been tested with the following patch:
- to connect with a wire from the LPCX’s
D4pin to the IHM01A1’sD9pin; - to initialize the pwm PinName variable with
D4rather thanD9.
- to connect with a wire from the LPCX’s
- FRDM-K64F board has been tested with the following patch:
- to connect with a wire from the FRDM’s
D4pin to the IHM01A1’sD8pin; - to initialize the standby_reset PinName variable with
D4rather thanD8.
- to connect with a wire from the FRDM’s
Example Applications
- HelloWorld_IHM01A1
- HelloWorld_IHM01A1_2Motors
- MotorControl_IHM01A1
- MemsMotorControl
- MemsMotorControl_IHM01A1_IKS01A2
Diff: Components/l6474/l6474_class.h
- Revision:
- 20:a8e81b65f0af
- Parent:
- 18:2d6ab2b93685
- Child:
- 21:83138e702683
--- a/Components/l6474/l6474_class.h Wed Jan 13 14:59:19 2016 +0000
+++ b/Components/l6474/l6474_class.h Fri Jan 15 16:42:39 2016 +0000
@@ -1,7 +1,7 @@
/**
******************************************************************************
* @file l6474_class.h
- * @author Davide Aliprandi, STMicrolectronics
+ * @author Davide Aliprandi, STMicroelectronics
* @version V1.0.0
* @date October 14th, 2015
* @brief This file contains the class of an L6474 Motor Control component.
@@ -827,20 +827,6 @@
}
/**
- * @brief Setting the frequency of PWM.
- * The frequency controls directly the speed of the device.
- * @param newFreq the frequency of PWM.
- * @retval None.
- */
- void L6474_PwmSetFreq(uint16_t newFreq)
- {
- double period = 1.0f / newFreq;
- pwm.period(period);
- pwm.write(0.5f);
- ticker.attach(this, &L6474::L6474_StepClockHandler, period);
- }
-
- /**
* @brief Initialising the PWM.
* @param None.
* @retval None.
@@ -848,6 +834,25 @@
void L6474_PwmInit(void) {}
/**
+ * @brief Setting the frequency of PWM.
+ * The frequency controls directly the speed of the device.
+ * @param frequency the frequency of PWM.
+ * @retval None.
+ */
+ void L6474_PwmSetFreq(uint16_t frequency)
+ {
+ /* Computing the period of PWM. */
+ double period = 1.0f / frequency;
+
+ /* Setting the period and the duty-cycle of PWM. */
+ pwm.period(period);
+ pwm.write(0.5f);
+
+ /* Setting a callback with the same period of PWM's, to update the state machine. */
+ ticker.attach(this, &L6474::L6474_StepClockHandler, period);
+ }
+
+ /**
* @brief Stopping the PWM.
* @param None.
* @retval None.

X-NUCLEO-IHM01A1 Stepper Motor Driver