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:
12:9f4b9540ff3e
Parent:
11:b4d365138c21
Child:
13:ba2728afe4c2
diff -r b4d365138c21 -r 9f4b9540ff3e Components/l6474/l6474_class.h
--- a/Components/l6474/l6474_class.h	Fri Nov 27 10:00:22 2015 +0000
+++ b/Components/l6474/l6474_class.h	Fri Nov 27 11:25:21 2015 +0000
@@ -143,17 +143,13 @@
      *   }                                                                    *
      *------------------------------------------------------------------------*/
     /**
-     * @brief  Initializing the component in FULL STEP mode.
+     * @brief  Initializing the component in 1/16 Microstepping mode.
      * @param  init Pointer to device specific initalization structure.
      * @retval "0" in case of success, an error code otherwise.
      */
     virtual int Init(void *init)
     {
-        DrvStatusTypeDef ret = L6474_Init((MOTOR_InitTypeDef *) init);
-        if (ret != COMPONENT_OK)
-            return (int) ret;
-        L6474_SelectStepMode(STEP_MODE_FULL);
-        return (int) COMPONENT_OK;
+        return (int) L6474_Init((MOTOR_InitTypeDef *) init);
     }
 
     /**