mit Buttons/PWM als einzelne cpp und init in main

Dependencies:   mbed mbed-rtos X_NUCLEO_IHM02A1

Committer:
hagenrap
Date:
Mon Apr 22 11:56:38 2019 +0000
Revision:
33:de144094bdd1
Child:
34:0dee9a606869
update raphi;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hagenrap 33:de144094bdd1 1 #include "SETUP.h"
hagenrap 33:de144094bdd1 2
hagenrap 33:de144094bdd1 3 /* Variables -----------------------------------------------------------------*/
hagenrap 33:de144094bdd1 4
hagenrap 33:de144094bdd1 5 /* Motor Control Expansion Board. */
hagenrap 33:de144094bdd1 6 XNucleoIHM02A1 *x_nucleo_ihm02a1_1;
hagenrap 33:de144094bdd1 7 XNucleoIHM02A12 *x_nucleo_ihm02a1_2;
hagenrap 33:de144094bdd1 8
hagenrap 33:de144094bdd1 9 /* Initialization parameters of the motors connected to the expansion board. */
hagenrap 33:de144094bdd1 10 L6470_init_t init[L6470DAISYCHAINSIZE] = {
hagenrap 33:de144094bdd1 11 /* First Motor. */
hagenrap 33:de144094bdd1 12 {
hagenrap 33:de144094bdd1 13 9.0, /* Motor supply voltage in V. */
hagenrap 33:de144094bdd1 14 400, /* Min number of steps per revolution for the motor. */
hagenrap 33:de144094bdd1 15 1.7, /* Max motor phase voltage in A. */
hagenrap 33:de144094bdd1 16 3.06, /* Max motor phase voltage in V. */
hagenrap 33:de144094bdd1 17 300.0, /* Motor initial speed [step/s]. */
hagenrap 33:de144094bdd1 18 500.0, /* Motor acceleration [step/s^2] (comment for infinite acceleration mode). */
hagenrap 33:de144094bdd1 19 500.0, /* Motor deceleration [step/s^2] (comment for infinite deceleration mode). */
hagenrap 33:de144094bdd1 20 992.0, /* Motor maximum speed [step/s]. */
hagenrap 33:de144094bdd1 21 0.0, /* Motor minimum speed [step/s]. */
hagenrap 33:de144094bdd1 22 602.7, /* Motor full-step speed threshold [step/s]. */
hagenrap 33:de144094bdd1 23 3.06, /* Holding kval [V]. */
hagenrap 33:de144094bdd1 24 3.06, /* Constant speed kval [V]. */
hagenrap 33:de144094bdd1 25 3.06, /* Acceleration starting kval [V]. */
hagenrap 33:de144094bdd1 26 3.06, /* Deceleration starting kval [V]. */
hagenrap 33:de144094bdd1 27 61.52, /* Intersect speed for bemf compensation curve slope changing [step/s]. */
hagenrap 33:de144094bdd1 28 392.1569e-6, /* Start slope [s/step]. */
hagenrap 33:de144094bdd1 29 643.1372e-6, /* Acceleration final slope [s/step]. */
hagenrap 33:de144094bdd1 30 643.1372e-6, /* Deceleration final slope [s/step]. */
hagenrap 33:de144094bdd1 31 0, /* Thermal compensation factor (range [0, 15]). */
hagenrap 33:de144094bdd1 32 3.06 * 1000 * 1.10, /* Ocd threshold [ma] (range [375 ma, 6000 ma]). */
hagenrap 33:de144094bdd1 33 3.06 * 1000 * 1.00, /* Stall threshold [ma] (range [31.25 ma, 4000 ma]). */
hagenrap 33:de144094bdd1 34 StepperMotor::STEP_MODE_1_128, /* Step mode selection. */
hagenrap 33:de144094bdd1 35 0xFF, /* Alarm conditions enable. */
hagenrap 33:de144094bdd1 36 0x2E88 /* Ic configuration. */
hagenrap 33:de144094bdd1 37 },
hagenrap 33:de144094bdd1 38
hagenrap 33:de144094bdd1 39 /* Second Motor. */
hagenrap 33:de144094bdd1 40 {
hagenrap 33:de144094bdd1 41 9.0, /* Motor supply voltage in V. */
hagenrap 33:de144094bdd1 42 400, /* Min number of steps per revolution for the motor. */
hagenrap 33:de144094bdd1 43 1.7, /* Max motor phase voltage in A. */
hagenrap 33:de144094bdd1 44 3.06, /* Max motor phase voltage in V. */
hagenrap 33:de144094bdd1 45 300.0, /* Motor initial speed [step/s]. */
hagenrap 33:de144094bdd1 46 500.0, /* Motor acceleration [step/s^2] (comment for infinite acceleration mode). */
hagenrap 33:de144094bdd1 47 500.0, /* Motor deceleration [step/s^2] (comment for infinite deceleration mode). */
hagenrap 33:de144094bdd1 48 992.0, /* Motor maximum speed [step/s]. */
hagenrap 33:de144094bdd1 49 0.0, /* Motor minimum speed [step/s]. */
hagenrap 33:de144094bdd1 50 602.7, /* Motor full-step speed threshold [step/s]. */
hagenrap 33:de144094bdd1 51 3.06, /* Holding kval [V]. */
hagenrap 33:de144094bdd1 52 3.06, /* Constant speed kval [V]. */
hagenrap 33:de144094bdd1 53 3.06, /* Acceleration starting kval [V]. */
hagenrap 33:de144094bdd1 54 3.06, /* Deceleration starting kval [V]. */
hagenrap 33:de144094bdd1 55 61.52, /* Intersect speed for bemf compensation curve slope changing [step/s]. */
hagenrap 33:de144094bdd1 56 392.1569e-6, /* Start slope [s/step]. */
hagenrap 33:de144094bdd1 57 643.1372e-6, /* Acceleration final slope [s/step]. */
hagenrap 33:de144094bdd1 58 643.1372e-6, /* Deceleration final slope [s/step]. */
hagenrap 33:de144094bdd1 59 0, /* Thermal compensation factor (range [0, 15]). */
hagenrap 33:de144094bdd1 60 3.06 * 1000 * 1.10, /* Ocd threshold [ma] (range [375 ma, 6000 ma]). */
hagenrap 33:de144094bdd1 61 3.06 * 1000 * 1.00, /* Stall threshold [ma] (range [31.25 ma, 4000 ma]). */
hagenrap 33:de144094bdd1 62 StepperMotor::STEP_MODE_1_128, /* Step mode selection. */
hagenrap 33:de144094bdd1 63 0xFF, /* Alarm conditions enable. */
hagenrap 33:de144094bdd1 64 0x2E88 /* Ic configuration. */
hagenrap 33:de144094bdd1 65 }
hagenrap 33:de144094bdd1 66 };
hagenrap 33:de144094bdd1 67
hagenrap 33:de144094bdd1 68 void SchrittmotorenInit()
hagenrap 33:de144094bdd1 69 {
hagenrap 33:de144094bdd1 70 /* Initializing Motor Control Expansion Board. */
hagenrap 33:de144094bdd1 71 x_nucleo_ihm02a1_2 = new XNucleoIHM02A12(&init[0], &init[1],IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_1, SPI_MOSI, SPI_MISO, SPI_CLK );
hagenrap 33:de144094bdd1 72 x_nucleo_ihm02a1_1 = new XNucleoIHM02A1(&init[0], &init[1], IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_2, SPI_MOSI, SPI_MISO, SPI_CLK );
hagenrap 33:de144094bdd1 73
hagenrap 33:de144094bdd1 74
hagenrap 33:de144094bdd1 75 /* Building a list of motor control components. */
hagenrap 33:de144094bdd1 76 L6470B **motors2 = x_nucleo_ihm02a1_2->get_components();
hagenrap 33:de144094bdd1 77 L6470 **motors = x_nucleo_ihm02a1_1->get_components();
hagenrap 33:de144094bdd1 78 }
hagenrap 33:de144094bdd1 79
hagenrap 33:de144094bdd1 80