Programme d'utilisation des AX12 et de l'MX12 V3
Fork of Utilisatio_MX12_V2 by
Diff: Actionneur.h
- Revision:
- 2:9d280856a536
- Child:
- 3:1bb26049bdd1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Actionneur.h Fri May 19 08:06:49 2017 +0000 @@ -0,0 +1,325 @@ +#include "all_includes.h" + + + +#define AX12_INITIALISATION 0 +#define AX12_PREPARATION_PRISE 1 +#define AX12_STOCKAGE_HAUT 2 +#define AX12_STOCKAGE_BAS 3 +#define AX12_DEPOSER 4 +#define AX12_PREPARATION_DEPOT_BAS 5 +#define AX12_PREPARATION_DEPOT_HAUT 6 +#define AX12_POUSSER_MODULE 7 +#define AX12_VIDER_FUSEE_POMPE 8 +#define AX12_REMPLIR_BASE_POMPE 9 +#define AX12_GET_POSITION 10 +#define AX12_VIDER_FUSEE_POMPEBLEU 11 +#define AX12_DEFAUT 20 + +#define TOLERANCE_AX12 50 + + /* PROTOTYPES DE FONCTIONS ET POINTEURS */ + + + +/****************************************************************************************/ +/* FUNCTION NAME: Fin_action */ +/* DESCRIPTION : Fonction qui confirme la fin de mouvement des AX12 */ +/****************************************************************************************/ +void Fin_action(void); + + +/****************************************************************************************/ +/* FUNCTION NAME: Initialisation_position */ +/* DESCRIPTION : Fonction qui place les bras en position verticale */ +/****************************************************************************************/ +void Initialisation_position(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Preparation_prise */ +/* DESCRIPTION : Fonction qui prepare le robot pour prendre les modules */ +/****************************************************************************************/ +void Preparation_prise(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Stockage_haut */ +/* DESCRIPTION : Fonction qui prend et stocke les modules dans la position haute */ +/****************************************************************************************/ +void Stockage_haut(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Stockage_bas */ +/* DESCRIPTION : Fonction qui prend et stocke un module dans la pince */ +/****************************************************************************************/ +void Stockage_bas(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Deposer */ +/* DESCRIPTION : Fonction qui permet de déposer un module */ +/****************************************************************************************/ +void Deposer(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Preparation_depos_bas */ +/* DESCRIPTION : Fonction qui prépare le depos d'un module en bas */ +/****************************************************************************************/ +void Preparation_depot_bas(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Preparation_depos_haut */ +/* DESCRIPTION : Fonction qui prépare le depos d'un module en haut */ +/****************************************************************************************/ +void Preparation_depot_haut(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Pousser_module */ +/* DESCRIPTION : Fonction qui permet pousser le module situé à l'entrée de la bas */ +/****************************************************************************************/ +void Pousser_module(unsigned char choix); + +/****************************************************************************************/ +/* FUNCTION NAME: Check_positionAX12 */ +/* DESCRIPTION : Fonction qui permet de verifier la position des AX12 */ +/****************************************************************************************/ +void Check_positionAX12(char* TAB, unsigned char choix); + + +///////////TABLEAU PINCE DROITE /////////////////////////// --> choix_bras == 1 +static char TAB1[25]= {0x12,0xDA, 0x00, 0xFF, 0x00, ///Position initiale + 0x04,0xF4, 0x01, 0xFF, 0x00, + 0x07,0x00, 0x01, 0xFF, 0x00, + 0x0F,0x00, 0x03, 0xFF, 0x00}; + +static char TAB2[25]= {0x12,0xFF, 0x02, 0xFF, 0x03, ///Preparation prise + 0x04,0xE9, 0x00, 0xFF, 0x03, + 0x07,0xF4, 0x01, 0xFF, 0x03, + 0x0F,0xF4, 0x01, 0xFF, 0x03}; + +static char TAB3[25]= {0x12,0xFF, 0x02, 0xFF, 0x03, ///Stockage haut/bas (attraper module) + 0x04,0xE9, 0x00, 0xFF, 0x03, + 0x07,0xD5, 0x00, 0xFF, 0x00, + 0x0F,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB4[25]= {0x12,0x35, 0x01, 0xFF, 0x03, ///Stockage haut (bras en l'air) + 0x04,0x00, 0x02, 0xFF, 0x03, + 0x07,0xD5, 0x00, 0xFF, 0x00, + 0x0F,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB5[25]= {0x12,0x35, 0x01, 0xFF, 0x00, ///Stockage haut (module sur tige) + 0x04,0x60, 0x01, 0xFF, 0x00, + 0x07,0xD5, 0x00, 0xFF, 0x00, + 0x0F,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB6[25]= {0x12,0x35, 0x01, 0xFF, 0x03, ///Stockage haut (pince ouverte) + 0x04,0x50, 0x01, 0xFF, 0x03, + 0x07,0x0A, 0x01, 0xFF, 0x03, + 0x0F,0xDD, 0x02, 0xFF, 0x03}; + +static char TAB7[25]= {0x12,0xA6, 0x00, 0xFF, 0x03, ///Stockage bas (bras en l'air) + 0x04,0x50, 0x03, 0xFF, 0x03, + 0x07,0xD5, 0x00, 0xFF, 0x03, + 0x0F,0x4D, 0x03, 0xFF, 0x03}; + +static char TAB8[25]= {0x12,0xF4, 0x01, 0xFF, 0x00, ///Deposer (descendre bras) + 0x04,0x00, 0x03, 0xFF, 0x00, + 0x07,0xD5, 0x00, 0xFF, 0x00, + 0x0F,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB9[25]= {0x12,0xF4, 0x01, 0xFF, 0x03, ///Deposer (pince ouverte) + 0x04,0x00, 0x03, 0xFF, 0x03, + 0x07,0x0A, 0x01, 0xFF, 0x03, + 0x0F,0xDD, 0x02, 0xFF, 0x03}; + +static char TAB10[25]= {0x12,0x35, 0x01, 0xFF, 0x00, ///deposer (preparation module haut) + 0x04,0x00, 0x02, 0xFF, 0x00, + 0x07,0xD5, 0x00, 0xFF, 0x00, + 0x0F,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB11[25]= {0x12,0xB0, 0x01, 0xFF, 0x00, ///Pousser module (bras en bas) + 0x04,0x00, 0x03, 0xFF, 0x00, + 0x07,0x0A, 0x01, 0xFF, 0x03, + 0x0F,0xDD, 0x02, 0xFF, 0x03}; + + +//////////////////TABLEAU PINCE GAUCHE ///////////////////////////// --> choix_bras == 2 +static char TAB21[25]= {0x08,0xDA, 0x00, 0xFF, 0x00, ///Position initiale + 0x03,0xF4, 0x01, 0xFF, 0x00, + 0x0D,0x00, 0x01, 0xFF, 0x00, + 0x0E,0x00, 0x03, 0xFF, 0x00}; + +static char TAB22[25]= {0x08,0xFF, 0x02, 0xFF, 0x03, ///Preparation prise + 0x03,0xE9, 0x00, 0xFF, 0x03, + 0x0D,0xF4, 0x01, 0xFF, 0x03, + 0x0E,0xF4, 0x01, 0xFF, 0x03}; + +static char TAB23[25]= {0x08,0xFF, 0x02, 0xFF, 0x03, ///Stockage haut/bas (attraper module) + 0x03,0xE9, 0x00, 0xFF, 0x03, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB24[25]= {0x08,0x35, 0x01, 0xFF, 0x03, ///Stockage haut (bras en l'air) + 0x03,0x00, 0x02, 0xFF, 0x03, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB25[25]= {0x08,0x35, 0x01, 0xFF, 0x00, ///Stockage haut (module sur tige) + 0x03,0x60, 0x01, 0xFF, 0x00, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB26[25]= {0x08,0x35, 0x01, 0xFF, 0x03, ///Stockage haut (pince ouverte) + 0x03,0x50, 0x01, 0xFF, 0x03, + 0x0D,0x0A, 0x01, 0xFF, 0x03, + 0x0E,0xDD, 0x02, 0xFF, 0x03}; + +static char TAB27[25]= {0x08,0xA6, 0x00, 0xFF, 0x03, ///Stockage bas (bras en l'air) + 0x03,0x50, 0x03, 0xFF, 0x03, + 0x0D,0xD5, 0x00, 0xFF, 0x03, + 0x0E,0x4D, 0x03, 0xFF, 0x03}; + +static char TAB28[25]= {0x08,0xF4, 0x01, 0xFF, 0x00, ///Deposer(descendre bras) + 0x03,0x00, 0x03, 0xFF, 0x00, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB29[25]= {0x08,0xF4, 0x01, 0xFF, 0x03, ///Deposer(pince ouverte) + 0x03,0x00, 0x03, 0xFF, 0x03, + 0x0D,0xF4, 0x01, 0xFF, 0x03, + 0x0E,0xF4, 0x01, 0xFF, 0x03}; + +static char TAB30[25]= {0x08,0x35, 0x01, 0xFF, 0x00, ///deposer(preparation module haut) + 0x03,0x00, 0x02, 0xFF, 0x00, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + +static char TAB31[25]= {0x08,0xB0, 0x01, 0xFF, 0x00, ///Pousser module (bras en bas) + 0x03,0x00, 0x03, 0xFF, 0x00, + 0x0D,0xD5, 0x00, 0xFF, 0x00, + 0x0E,0x4D, 0x03, 0xFF, 0x00}; + + +char TabBrasPompePosInit[15]= {0x03,0xB0, 0x01, 0xFF, 0x00, /// (bras en bas) + 0x02,0x00, 0x03, 0xFF, 0x00, + 0x01,0xD5, 0x00, 0xFF, 0x00}; + /* +char TabBrasPompeViderFuseeMvt1[15]= {0x03,0xFD, 0x01, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0xF3, 0x00, 0xFF, 0x00, + 0x01,0x0B, 0x03, 0xFF, 0x00}; + + + +char TabBrasPompeViderFuseeMvt2[15]= {0x03,0x18, 0x02, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0xA9, 0x00, 0xFF, 0x00, + 0x01,0xC8, 0x01, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt3[15]= {0x03,0x3D, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x45, 0x00, 0xFF, 0x00, + 0x01,0x74, 0x01, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt4[15]= {0x03,0x7C, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x71, 0x00, 0xFF, 0x00, + 0x01,0xE5, 0x00, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt5[15]= {0x03,0x7C, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x0D, 0x01, 0xFF, 0x00, + 0x01,0x74, 0x00, 0xFF, 0x00}; +*/ +/* +char TabBrasPompeViderFuseeMvt1[15]= {0x03,0xCE, 0x01, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0xDB, 0x00, 0xFF, 0x00, + 0x01,0x2F, 0x03, 0xFF, 0x00}; + + + +char TabBrasPompeViderFuseeMvt2[15]= {0x03,0x4D, 0x02, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x6D, 0x00, 0xFF, 0x00, + 0x01,0x00, 0x02, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt3[15]= {0x03,0x4D, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x4F, 0x00, 0xFF, 0x00, + 0x01,0x32, 0x01, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt4[15]= {0x03,0x5B, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0xF3, 0x00, 0xFF, 0x00, + 0x01,0x5D, 0x00, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt5[15]= {0x03,0x39, 0x03, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x4C, 0x00, 0xFF, 0x00, + 0x01,0x80, 0x00, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt6[15]= {0x03,0xBE, 0x02, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x3F, 0x00, 0xFF, 0x00, + 0x01,0x80, 0x00, 0xFF, 0x00}; + +char TabBrasPompeViderFuseeMvt7[15]= {0x03,0x18, 0x02, 0xFF, 0x00, /// (haut, milieu, bas) + 0x02,0x9C, 0x00, 0xFF, 0x00, + 0x01,0xF3, 0x01, 0xFF, 0x00}; + + */ + +char TabBrasPompeViderFuseeMvt1[15]= {0x03,0xE2, 0x01, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0xD5, 0x00, 0xFF, 0x03, + 0x01,0xFF, 0x01, 0xFF, 0x03}; + + + +char TabBrasPompeViderFuseeMvt2[15]= {0x03,0xF0, 0x02, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x45,0x00, 0xFF, 0x03, + 0x01,0x32,0x03, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt3[15]= {0x03,0x68,0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x3B, 0x00, 0xFF, 0x03, + 0x01,0x98, 0x02, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt33[15]= {0x03,0x68,0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x7E, 0x00, 0xFF, 0x03, + 0x01,0x65, 0x02, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt4[15]= {0x03,0x65, 0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0xE9, 0x00, 0xFF, 0x03, + 0x01,0xFF, 0x01, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt44[15]= {0x03,0x34, 0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x88, 0x01, 0xFF, 0x03, + 0x01,0x8B, 0x01, 0xFF, 0x03}; + + + +char TabBrasPompeViderFuseeMvt2_2[15]= {0x03,0xF0, 0x02, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x45,0x00, 0xFF, 0x03, + 0x01,0xCC,0x00, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt3_2[15]= {0x03,0x68,0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x3B, 0x00, 0xFF, 0x03, + 0x01,0x66, 0x01, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt33_2[15]= {0x03,0x68,0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x7E, 0x00, 0xFF, 0x03, + 0x01,0x99, 0x01, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt4_2[15]= {0x03,0x65, 0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0xE9, 0x00, 0xFF, 0x03, + 0x01,0xFF, 0x01, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt44_2[15]= {0x03,0x34, 0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x88, 0x01, 0xFF, 0x03, + 0x01,0x98, 0x02, 0xFF, 0x03}; + + + +char TabBrasPompeViderFuseeMvt5[15]= {0x03,0x40, 0x03, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x67, 0x00, 0xFF, 0x03, + 0x01,0x32, 0x00, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt6[15]= {0x03,0x7C, 0x02, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x56, 0x00, 0xFF, 0x03, + 0x01,0x32, 0x03, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt7[15]= {0x03,0x14, 0x02, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0x92, 0x00, 0xFF, 0x03, + 0x01,0x32, 0x003, 0xFF, 0x03}; + +char TabBrasPompeViderFuseeMvt8[15]= {0x03,0xDC, 0x01, 0xFF, 0x03, /// (haut, milieu, bas) + 0x02,0xD5, 0x00, 0xFF, 0x03, + 0x01,0xFF, 0x01, 0xFF, 0x03}; + \ No newline at end of file