2018-03-26 10:07:21 +02:00
|
|
|
#ifndef __DIMENSIONS_H__
|
|
|
|
#define __DIMENSIONS_H__
|
|
|
|
|
|
|
|
#include <math.h>
|
|
|
|
|
2018-05-06 01:14:09 +02:00
|
|
|
// Dimensions pistes
|
2018-05-06 08:14:51 +02:00
|
|
|
#define M_PISTE_WIDTH 3000.0
|
|
|
|
#define M_PISTE_HEIGHT 2000.0
|
|
|
|
#define M_PISTE_ORIG_X 0.0
|
|
|
|
#define M_PISTE_ORIG_Y 0.0
|
2018-03-26 10:07:21 +02:00
|
|
|
|
2018-05-06 01:14:09 +02:00
|
|
|
// Dimensions robot
|
2018-05-06 08:14:51 +02:00
|
|
|
#define WIDTH 250.0 // mm (from meca)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define HEIGHT 100.0 // mm (from random)
|
2018-05-06 01:14:09 +02:00
|
|
|
#define DISTANCE_BETWEEN_WHEELS WIDTH // mm (from meca)
|
2018-05-06 08:14:51 +02:00
|
|
|
#define WHEEL_DIAMETER 80.0 // mm (from meca)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define WHEEL_PERIMETER (WHEEL_DIAMETER * M_PI) // mm
|
2018-05-06 08:14:51 +02:00
|
|
|
#define MOTOR_SPEED_GAIN_RPMP_V 233.0 // rpm/V (from datasheet)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define MOTOR_SPEED_GAIN (MOTOR_SPEED_GAIN_RPMP_V / 60.0) // motor rev/s/V
|
2018-05-06 08:14:51 +02:00
|
|
|
#define MOTOR_NOMINAL_TENSION 24.0 // V (from datasheet)
|
|
|
|
#define MOTOR_CONTROLLER_ALIMENTATION 24.0 // V (from elec)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define MOTOR_CONTROLLER_REFERENCE 5 // V (from wiring)
|
2018-05-07 20:25:38 +02:00
|
|
|
#define MOTOR_SATURATION_MIN 0 // V (from random)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define MOTOR_SATURATION_MAX 12.0 // V (from testing)
|
2018-05-06 18:35:26 +02:00
|
|
|
#define PWM_MAX 3.3 // V (from FPGA datasheet)
|
2018-05-06 08:14:51 +02:00
|
|
|
#define CODER_RESOLUTION 370.0 // cycles/motor rev
|
|
|
|
#define CODER_DATA_FACTOR 4.0 // increments/motor cycles
|
2018-05-06 12:50:03 +02:00
|
|
|
#define CODER_DATA_RESOLUTION (CODER_RESOLUTION * CODER_DATA_FACTOR) // cycles/motor rev
|
2018-05-06 08:14:51 +02:00
|
|
|
#define CRAN_REDUC_OUT 48.0 // nb crans (from meca)
|
|
|
|
#define CRAN_REDUC_IN 12.0 // nb crans (from meca)
|
2018-05-06 12:50:03 +02:00
|
|
|
#define REDUC_RATIO (CRAN_REDUC_IN / CRAN_REDUC_OUT) // reduction ratio
|
|
|
|
#define CODER_FULL_RESOLUTION (CODER_DATA_RESOLUTION / REDUC_RATIO) // cycles / wheel rev
|
|
|
|
#define AV_PER_CYCLE (WHEEL_PERIMETER / CODER_FULL_RESOLUTION) // mm
|
2018-05-06 01:14:09 +02:00
|
|
|
|
|
|
|
// Constantes asservissement
|
2018-05-06 18:35:26 +02:00
|
|
|
#define D_DIR_ECART_MIN 1.0 // mm
|
|
|
|
#define D_DIR_ECART_MAX 5.0 // mm
|
2018-05-07 20:25:38 +02:00
|
|
|
#define O_DIR_ECART_MIN (6.0 / 360.0 * 2.0 * M_PI) // rad
|
|
|
|
#define O_DIR_ECART_MAX (45.0 / 360.0 * 2.0 * M_PI) // rad
|
2018-05-09 01:00:16 +02:00
|
|
|
#define D_CONS_THRESOLD 1.0 // mm
|
|
|
|
#define O_CONS_THRESOLD (6.0 / 360.0 * 2.0 * M_PI) // rad
|
2018-05-07 20:25:38 +02:00
|
|
|
#define O_GAIN 3.0
|
|
|
|
#define P 3.0
|
|
|
|
#define I 0.0
|
|
|
|
#define D 0.0
|
2018-03-26 10:07:21 +02:00
|
|
|
|
|
|
|
#endif
|