Version 3 is with update to the test rig with a linear actuator

Dependencies:   SPTE_10Bar_5V mbed AS5048 SDFileSystem MODSERIAL PinDetect LCM101 LinearActuator

Committer:
surajgiri
Date:
Wed Aug 12 12:05:58 2020 +0000
Revision:
11:fc82dd22a527
Parent:
10:77fcbad99a31
with benchmark v1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
megrootens 0:3855d4588f76 1 #ifndef _CONSTANTS_HARDWARE_H_
megrootens 0:3855d4588f76 2 #define _CONSTANTS_HARDWARE_H_
megrootens 0:3855d4588f76 3
megrootens 0:3855d4588f76 4 #include "mbed.h"
megrootens 0:3855d4588f76 5
megrootens 0:3855d4588f76 6 #ifndef M_PI
megrootens 0:3855d4588f76 7 #define M_PI 3.14159265359f
megrootens 0:3855d4588f76 8 #endif
megrootens 0:3855d4588f76 9
megrootens 0:3855d4588f76 10 // SPI Communication AS5048 joint encoders
megrootens 0:3855d4588f76 11 #define AS5048_MOSI PTD6 // D11
megrootens 0:3855d4588f76 12 #define AS5048_MISO PTD7 // D12
megrootens 0:3855d4588f76 13 #define AS5048_SCLK PTD5 // D13
megrootens 0:3855d4588f76 14 #define AS5048_CS PTD4 // D10
megrootens 0:3855d4588f76 15
megrootens 0:3855d4588f76 16 // SPI Communication external SD CARD
megrootens 0:3855d4588f76 17 #define SD_MOSI PTC6 // D7
megrootens 0:3855d4588f76 18 #define SD_MISO PTC7
megrootens 0:3855d4588f76 19 #define SD_SCK PTC5
megrootens 0:3855d4588f76 20 #define SD_CS PTC10
megrootens 0:3855d4588f76 21
cnckiwi31 10:77fcbad99a31 22 // SPI Communication MAX5322 DAC
cnckiwi31 10:77fcbad99a31 23 #define DAC_MOSI PTD6 // D11
cnckiwi31 10:77fcbad99a31 24 #define DAC_MISO PTD7 // D12
cnckiwi31 10:77fcbad99a31 25 #define DAC_SCLK PTD5 // D13
cnckiwi31 10:77fcbad99a31 26 #define DAC_CSA D8
cnckiwi31 10:77fcbad99a31 27 #define DAC_CSB D1
cnckiwi31 10:77fcbad99a31 28
megrootens 0:3855d4588f76 29 // LCM101-100 kgf S-beam force sensor
cnckiwi31 4:1cdce6c6c94e 30 #define LCM101 A1
cnckiwi31 4:1cdce6c6c94e 31
cnckiwi31 4:1cdce6c6c94e 32 // SPTE analog output pressure sensors (0-10bar for 0-5V output)
cnckiwi31 4:1cdce6c6c94e 33 #define SPTE_0 A0
cnckiwi31 4:1cdce6c6c94e 34 #define SPTE_1 A5
megrootens 0:3855d4588f76 35
cnckiwi31 5:63063a9fa51c 36 //Festo digital valve (one for inflate)
cnckiwi31 10:77fcbad99a31 37 #define VALVE_PIN D0
cnckiwi31 5:63063a9fa51c 38
surajgiri 11:fc82dd22a527 39 //Linear actuator
surajgiri 11:fc82dd22a527 40 #define LINACT_DIR_PIN D5
surajgiri 11:fc82dd22a527 41 #define LINACT_PWM_PIN D6
surajgiri 11:fc82dd22a527 42
megrootens 0:3855d4588f76 43 /**
megrootens 0:3855d4588f76 44 * Sensor settings and calibration data
megrootens 0:3855d4588f76 45 */
megrootens 0:3855d4588f76 46 namespace sensors {
cnckiwi31 5:63063a9fa51c 47 extern const bool use5kN;
megrootens 0:3855d4588f76 48
megrootens 0:3855d4588f76 49 // LCM101-100kgf force sensor
megrootens 0:3855d4588f76 50 extern const float kLcm101Offset;
megrootens 0:3855d4588f76 51 extern const float kLcm101Factor;
megrootens 0:3855d4588f76 52
cnckiwi31 5:63063a9fa51c 53 // Gen5kN force sensor
cnckiwi31 5:63063a9fa51c 54 extern const float kGen5kNOffset;
cnckiwi31 5:63063a9fa51c 55 extern const float kGen5kNFactor;
cnckiwi31 5:63063a9fa51c 56
cnckiwi31 4:1cdce6c6c94e 57 //SPTE pressure sensors (0-10bar for 0-5V output)
cnckiwi31 4:1cdce6c6c94e 58 extern const float kSPTE0Offset;
cnckiwi31 4:1cdce6c6c94e 59 extern const float kSPTE0Factor;
cnckiwi31 4:1cdce6c6c94e 60 extern const float kSPTE1Offset;
cnckiwi31 4:1cdce6c6c94e 61 extern const float kSPTE1Factor;
cnckiwi31 4:1cdce6c6c94e 62
megrootens 0:3855d4588f76 63 // AS5048 abs angle sensor chain
megrootens 0:3855d4588f76 64 extern const int kNumJoints;
megrootens 0:3855d4588f76 65
megrootens 0:3855d4588f76 66 extern const char *kJointNames[];
megrootens 0:3855d4588f76 67 extern const float kOffsetsDegrees[];
megrootens 0:3855d4588f76 68 extern const bool kDirections[];
megrootens 0:3855d4588f76 69 }
megrootens 0:3855d4588f76 70
megrootens 0:3855d4588f76 71 namespace timing {
cnckiwi31 5:63063a9fa51c 72 extern const int LogDataHertz; //data log sample rate
megrootens 0:3855d4588f76 73 extern const int kTimeControlUs; // control loop
cnckiwi31 5:63063a9fa51c 74 extern const int LogDataHertz; // data logging
megrootens 0:3855d4588f76 75 extern const int kTimeLogDataUs; // data logging
cnckiwi31 5:63063a9fa51c 76 extern const int TimeControlHertz; // control loop sample rate
cnckiwi31 5:63063a9fa51c 77 extern const int kTimeSerialPrintUs; // serial printing
surajgiri 11:fc82dd22a527 78 extern const int minKeyInt; //key interval time out value
surajgiri 11:fc82dd22a527 79
megrootens 0:3855d4588f76 80 extern const int kSerialBaudrate;
surajgiri 11:fc82dd22a527 81
surajgiri 11:fc82dd22a527 82 extern const int PWMHertz; //Linear actuator frequency for pwm
megrootens 0:3855d4588f76 83 }
megrootens 0:3855d4588f76 84
cnckiwi31 5:63063a9fa51c 85 namespace rigStructure {
cnckiwi31 5:63063a9fa51c 86 extern const bool invertedRig; //indicates if rig is inverted or not (for internal torque calculation)
cnckiwi31 5:63063a9fa51c 87 }
megrootens 0:3855d4588f76 88
megrootens 0:3855d4588f76 89 #endif