-
Notifications
You must be signed in to change notification settings - Fork 0
/
parameters.h
79 lines (64 loc) · 2.3 KB
/
parameters.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
* parameters.h
*
* Created on: 16 janv. 2011
* Author: HoHen
*/
#ifndef PARAMETERS_H_
#define PARAMETERS_H_
#include "math.h"
/* Parametres mecanique du robot */
#define DIST_MOTOR_AXIS_TO_BACK_MM 122.0 // Distance entre le l'axe des moteurs et l'arriere du robot
const int ENC_RESOLUTION = 20000; // Nombre de points par tour d'encodeur
const int ENC_RADIUS = 42.0; // Rayon de la roue codeuse
const double ENC_TICKS_TO_MM = (2.0*M_PI*((double)ENC_RADIUS))/(((double)ENC_RESOLUTION)); // en mm.tick^-1 (opti: a calculer apres) environ : 0.0565
const double ENC_MM_TO_TICKS = (((double)ENC_RESOLUTION))/(2.0*M_PI*((double)ENC_RADIUS)); // environ : 17.6839
const double ENC_CENTER_DIST_MM = 178.0; // Distance entre chaque roue codeuse ET LE CENTRE 145 pour le truc de test
const double ENC_CENTER_DIST_TICKS = ENC_CENTER_DIST_MM*ENC_MM_TO_TICKS; // Distance entre chaque roue codeuse du robot en ticks
#define DEL_PIN 16
// Duree d'un cycle (en millisecondes)
#define DUREE_CYCLE 2
/* Parametres de la carte asservissement
* pin 0 -> USB 2 TTL
* pin 1 -> USB 2 TTL
* pin 3 -> enable moteur 1 (pwm)
* pin 12 -> direction moteur 1
* pin 11 -> enable moteur 2 (pwm)
* pin 14 -> direction moteur 2
* pin 18 -> A encodeur 1 (gauche)
* pin 19 -> B encodeur 1 (gauche)
* pin 21 -> A encodeur 2 (droite)
* pin 20 -> B encodeur 2 (droite)
* */
#define PIN_EN_LEFT 3
#define PIN_DIR_LEFT 12
#define PIN_EN_RIGHT 11
#define PIN_DIR_RIGHT 13
#define PIN_LEFT_A 18 // A encodeur 1 (gauche) (vert-marron)
#define PIN_LEFT_B 19 // B encodeur 1 (gauche) (vert-blanc)
#define PIN_RIGHT_A 21 // A encodeur 2 (droite) (noir-blanc)
#define PIN_RIGHT_B 20 // B encodeur 2 (droite) (noir-marron)
#define INTERRUPT_LEFT_A 5
#define INTERRUPT_LEFT_B 4
#define INTERRUPT_RIGHT_A 2
#define INTERRUPT_RIGHT_B 3
/* Parametre de la table en mm*/
#define TABLE_WIDTH_MM 2000.0
#define TABLE_HEIGHT_MM 3000.0
#define TABLE_DISTANCE_MAX_MM 3605.55
/*Parametre de l'asservissement*/
#define KP_SPEED 2.0
#define KI_SPEED 5.0
#define KD_SPEED 1.0
#define KP_ANGLE 14.0
#define KI_ANGLE 1.5
#define KD_ANGLE 20000.0
#define KP_DELTA 14.0
#define KI_DELTA 1.5
#define KD_DELTA 5000.0
#define KP_ALPHA 5.0
#define KI_ALPHA 1.5
#define KD_ALPHA 5000.0
/*Parametre de la file des taches a effectuer*/
#define SIZE 15
#endif /* PARAMETERS_H_ */