ST / X_NUCLEO_IHM01A1

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   Stepper_Matlab_Control SunTracker_BLE Stepper_Matlab_Control MemsMotorControl ... more

Fork of X_NUCLEO_IHM01A1 by ST Expansion SW Team

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:

/media/uploads/Davidroid/daisychaintable.png

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 D4 pin to the IHM01A1’s D9 pin;
    • to initialize the pwm PinName variable with D4 rather than D9.
  • FRDM-K64F board has been tested with the following patch:
    • to connect with a wire from the FRDM’s D4 pin to the IHM01A1’s D8 pin;
    • to initialize the standby_reset PinName variable with D4 rather than D8.

Example Applications

Revision:
13:ba2728afe4c2
Parent:
12:9f4b9540ff3e
Child:
15:40470df81d9a
--- a/Components/l6474/l6474_class.h	Fri Nov 27 11:25:21 2015 +0000
+++ b/Components/l6474/l6474_class.h	Tue Dec 01 13:54:37 2015 +0000
@@ -445,7 +445,7 @@
     }
 
     /**
-     * @brief  Stopping the motor.
+     * @brief  Stopping the motor through an immediate deceleration up to zero speed.
      * @param  None.
      * @retval None.
      */
@@ -455,7 +455,7 @@
     }
 
     /**
-     * @brief  Stopping the motor and disabling the power bridge.
+     * @brief  Stopping the motor through an immediate infinite deceleration.
      * @param  None.
      * @retval None.
      */
@@ -465,6 +465,28 @@
     }
 
     /**
+     * @brief  Disabling the power bridge after performing a deceleration to zero.
+     * @param  None.
+     * @retval None.
+     */
+    virtual void SoftHiZ(void)
+    {
+        L6474_SoftStop();
+        L6474_CmdDisable();
+    }
+
+    /**
+     * @brief  Disabling the power bridge immediately.
+     * @param  None.
+     * @retval None.
+     */
+    virtual void HardHiZ(void)
+    {
+        L6474_HardStop();
+        L6474_CmdDisable();
+    }
+
+    /**
      * @brief  Waiting while the motor is active.
      * @param  None.
      * @retval None.