Test

Dependencies:   mbed DRV8825

Committer:
Nanaud
Date:
Wed Oct 07 20:00:45 2020 +0000
Revision:
18:48246daf0c06
Parent:
16:ae65ce77b1f9
Child:
22:f891c2bce091
Deplacements ok

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nanaud 1:2fe8c402ee79 1 // Nom du fichier : motors.cpp
Nanaud 0:dc036b67c87c 2 #include "pins.h"
Nanaud 0:dc036b67c87c 3
Nanaud 5:34ed652f8c31 4 void drv_init()
Nanaud 5:34ed652f8c31 5 {
Nanaud 0:dc036b67c87c 6 mot_dis();
Nanaud 16:ae65ce77b1f9 7 motGauche_bck();
Nanaud 16:ae65ce77b1f9 8 motDroite_fwd();
Nanaud 16:ae65ce77b1f9 9
Nanaud 16:ae65ce77b1f9 10 //motGauche_fwd();
Nanaud 16:ae65ce77b1f9 11 //motDroite_bck();
Nanaud 18:48246daf0c06 12 //drvGauche.moveLinSpeed(0.01);
Nanaud 18:48246daf0c06 13 //drvDroite.moveLinSpeed(0.01);
Nanaud 10:0714feaaaee1 14 //mode = 0b111; // M0, M1 et M2 sont à 1
Nanaud 10:0714feaaaee1 15
Nanaud 10:0714feaaaee1 16 mode_M0 = 1;
Nanaud 10:0714feaaaee1 17 //mode_M1 = 1;
Nanaud 10:0714feaaaee1 18 //mode_M2 = 1;
Nanaud 16:ae65ce77b1f9 19
Nanaud 10:0714feaaaee1 20 //mot_en();
Nanaud 0:dc036b67c87c 21 }
Nanaud 0:dc036b67c87c 22
Nanaud 0:dc036b67c87c 23 // ENABLE/DISABLE // Les deux modules ont le même enable
Nanaud 10:0714feaaaee1 24
Nanaud 5:34ed652f8c31 25 void mot_en()
Nanaud 5:34ed652f8c31 26 {
Nanaud 10:0714feaaaee1 27 motG_en();
Nanaud 10:0714feaaaee1 28 motD_en();
Nanaud 0:dc036b67c87c 29 }
Nanaud 0:dc036b67c87c 30
Nanaud 5:34ed652f8c31 31 void mot_dis()
Nanaud 5:34ed652f8c31 32 {
Nanaud 10:0714feaaaee1 33 motG_dis();
Nanaud 10:0714feaaaee1 34 motD_dis();
Nanaud 10:0714feaaaee1 35 }
Nanaud 10:0714feaaaee1 36
Nanaud 10:0714feaaaee1 37 void motG_en()
Nanaud 10:0714feaaaee1 38 {
Nanaud 10:0714feaaaee1 39 drvGauche.setEnable(START);
Nanaud 10:0714feaaaee1 40 }
Nanaud 10:0714feaaaee1 41
Nanaud 10:0714feaaaee1 42 void motD_en()
Nanaud 10:0714feaaaee1 43 {
Nanaud 10:0714feaaaee1 44 drvDroite.setEnable(START);
Nanaud 10:0714feaaaee1 45 }
Nanaud 10:0714feaaaee1 46
Nanaud 10:0714feaaaee1 47 void motG_dis()
Nanaud 10:0714feaaaee1 48 {
Nanaud 0:dc036b67c87c 49 drvGauche.setEnable(STOP);
Nanaud 10:0714feaaaee1 50 }
Nanaud 10:0714feaaaee1 51
Nanaud 10:0714feaaaee1 52 void motD_dis()
Nanaud 10:0714feaaaee1 53 {
Nanaud 10:0714feaaaee1 54 drvDroite.setEnable(STOP);
Nanaud 0:dc036b67c87c 55 }
Nanaud 0:dc036b67c87c 56
Nanaud 0:dc036b67c87c 57 // FORWARD
Nanaud 5:34ed652f8c31 58 void motGauche_fwd()
Nanaud 5:34ed652f8c31 59 {
Nanaud 0:dc036b67c87c 60 drvGauche.setDir(FORWARD);
Nanaud 10:0714feaaaee1 61 //drvGauche.setDir(BACKWARD);
Nanaud 0:dc036b67c87c 62 }
Nanaud 0:dc036b67c87c 63
Nanaud 5:34ed652f8c31 64 void motDroite_fwd()
Nanaud 5:34ed652f8c31 65 {
Nanaud 4:ad9b7355332e 66 drvDroite.setDir(BACKWARD);
Nanaud 10:0714feaaaee1 67 //drvDroite.setDir(FORWARD);
Nanaud 0:dc036b67c87c 68 }
Nanaud 0:dc036b67c87c 69
Nanaud 0:dc036b67c87c 70 // BACKWARD
Nanaud 5:34ed652f8c31 71 void motGauche_bck()
Nanaud 5:34ed652f8c31 72 {
Nanaud 0:dc036b67c87c 73 drvGauche.setDir(BACKWARD);
Nanaud 10:0714feaaaee1 74 //drvGauche.setDir(FORWARD);
Nanaud 0:dc036b67c87c 75 }
Nanaud 0:dc036b67c87c 76
Nanaud 5:34ed652f8c31 77 void motDroite_bck()
Nanaud 5:34ed652f8c31 78 {
Nanaud 4:ad9b7355332e 79 drvDroite.setDir(FORWARD);
Nanaud 10:0714feaaaee1 80 //drvDroite.setDir(BACKWARD);
Nanaud 3:3ba377aafdfd 81 }
Nanaud 3:3ba377aafdfd 82
Nanaud 18:48246daf0c06 83 void vitesseMotG(double vitesse)
Nanaud 16:ae65ce77b1f9 84 {
Nanaud 18:48246daf0c06 85 drvGauche.moveLinSpeed((double)vitesse);
Nanaud 16:ae65ce77b1f9 86 }
Nanaud 16:ae65ce77b1f9 87
Nanaud 18:48246daf0c06 88 void vitesseMotD(double vitesse)
Nanaud 16:ae65ce77b1f9 89 {
Nanaud 18:48246daf0c06 90 drvDroite.moveLinSpeed((double)vitesse);
Nanaud 16:ae65ce77b1f9 91 }
Nanaud 16:ae65ce77b1f9 92
Nanaud 3:3ba377aafdfd 93
Nanaud 6:ea6b30c4bb01 94 // FONCTIONS TESTS
Nanaud 6:ea6b30c4bb01 95 //
Nanaud 5:34ed652f8c31 96 void test_drv()
Nanaud 5:34ed652f8c31 97 {
Nanaud 10:0714feaaaee1 98 /*
Nanaud 3:3ba377aafdfd 99 mot_en();
Nanaud 3:3ba377aafdfd 100 motGauche_fwd();
Nanaud 4:ad9b7355332e 101 motDroite_fwd();
Nanaud 5:34ed652f8c31 102 drvGauche.moveLinSpeed(0.250); // 0.035
Nanaud 5:34ed652f8c31 103 drvDroite.moveLinSpeed(0.250); // 0.035
Nanaud 3:3ba377aafdfd 104 wait(2);
Nanaud 3:3ba377aafdfd 105 motGauche_bck();
Nanaud 4:ad9b7355332e 106 motDroite_bck();
Nanaud 3:3ba377aafdfd 107 wait(2);
Nanaud 3:3ba377aafdfd 108 mot_dis();
Nanaud 10:0714feaaaee1 109 */
Nanaud 10:0714feaaaee1 110
Nanaud 10:0714feaaaee1 111 /*
Nanaud 10:0714feaaaee1 112 mot_en();
Nanaud 10:0714feaaaee1 113 motGauche_fwd();
Nanaud 10:0714feaaaee1 114 motDroite_fwd();
Nanaud 10:0714feaaaee1 115 wait(2);
Nanaud 10:0714feaaaee1 116 mot_dis();
Nanaud 10:0714feaaaee1 117 */
Nanaud 10:0714feaaaee1 118
Nanaud 10:0714feaaaee1 119 mot_en();
Nanaud 10:0714feaaaee1 120 mot_acc();
Nanaud 10:0714feaaaee1 121 wait(2);
Nanaud 10:0714feaaaee1 122 mot_dec();
Nanaud 10:0714feaaaee1 123 mot_dis();
Nanaud 10:0714feaaaee1 124
Nanaud 10:0714feaaaee1 125 drvDroite.moveLinSpeed(0.050);
Nanaud 3:3ba377aafdfd 126 }
Nanaud 3:3ba377aafdfd 127
Nanaud 10:0714feaaaee1 128 void mot_acc()
Nanaud 10:0714feaaaee1 129 {
Nanaud 10:0714feaaaee1 130 double i = 0;
Nanaud 10:0714feaaaee1 131
Nanaud 10:0714feaaaee1 132 while (i < vitesseSAT) {
Nanaud 10:0714feaaaee1 133 bt.printf("mot_acc() => i = %lf\r\n",i);
Nanaud 10:0714feaaaee1 134 drvDroite.moveLinSpeed(i);
Nanaud 10:0714feaaaee1 135 drvGauche.moveLinSpeed(i);
Nanaud 10:0714feaaaee1 136 i+=0.005;
Nanaud 10:0714feaaaee1 137 wait_ms(10);
Nanaud 10:0714feaaaee1 138 }
Nanaud 10:0714feaaaee1 139 }
Nanaud 10:0714feaaaee1 140
Nanaud 10:0714feaaaee1 141 void mot_dec()
Nanaud 10:0714feaaaee1 142 {
Nanaud 10:0714feaaaee1 143 double i = vitesseSAT;
Nanaud 10:0714feaaaee1 144
Nanaud 10:0714feaaaee1 145 while (i > 0) {
Nanaud 10:0714feaaaee1 146 bt.printf("mot_dec() => i = %lf\r\n",i);
Nanaud 10:0714feaaaee1 147 drvDroite.moveLinSpeed(i);
Nanaud 10:0714feaaaee1 148 drvGauche.moveLinSpeed(i);
Nanaud 10:0714feaaaee1 149 i-=0.005;
Nanaud 10:0714feaaaee1 150 wait_ms(10);
Nanaud 10:0714feaaaee1 151 }
Nanaud 10:0714feaaaee1 152 }
Nanaud 10:0714feaaaee1 153
Nanaud 10:0714feaaaee1 154 void testAngle(int cmdAngle) {}