Uso de la clase Motor para el control de velocidad de un motor continuo con encoder.

Dependencies:   mbed

Committer:
CCastrop1012
Date:
Fri Sep 03 05:04:12 2021 +0000
Revision:
0:75421f27540e
Uso de la clase Motor para control de velocidad de motor continuo con encoder.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CCastrop1012 0:75421f27540e 1 #include "mbed.h"
CCastrop1012 0:75421f27540e 2 #include "Motor.h"
CCastrop1012 0:75421f27540e 3
CCastrop1012 0:75421f27540e 4 Serial Mbed(PB_6, PB_7);
CCastrop1012 0:75421f27540e 5 //Serial Mbed(PA_2, PA_3);
CCastrop1012 0:75421f27540e 6 InterruptIn Encoder(PC_9);
CCastrop1012 0:75421f27540e 7 DigitalOut LED(PA_5);
CCastrop1012 0:75421f27540e 8 DigitalIn Button(PA_0);
CCastrop1012 0:75421f27540e 9 MotorContinuo Mizq(PD_13, PD_11, PB_15, NC,NC,0);
CCastrop1012 0:75421f27540e 10
CCastrop1012 0:75421f27540e 11
CCastrop1012 0:75421f27540e 12 long x = 0;
CCastrop1012 0:75421f27540e 13 long muestras[200];
CCastrop1012 0:75421f27540e 14 int t = 10;
CCastrop1012 0:75421f27540e 15 int escalon_1 = 10, escalon_2 = 80, escalon_3 = 30, escalon_4 = 50, escalon_5 = 65, escalon_6 = 5, escalon_7 = 20, escalon_8 = 40;
CCastrop1012 0:75421f27540e 16
CCastrop1012 0:75421f27540e 17
CCastrop1012 0:75421f27540e 18
CCastrop1012 0:75421f27540e 19
CCastrop1012 0:75421f27540e 20
CCastrop1012 0:75421f27540e 21 void interrupt()
CCastrop1012 0:75421f27540e 22 {
CCastrop1012 0:75421f27540e 23 x ++;
CCastrop1012 0:75421f27540e 24
CCastrop1012 0:75421f27540e 25 }
CCastrop1012 0:75421f27540e 26
CCastrop1012 0:75421f27540e 27
CCastrop1012 0:75421f27540e 28
CCastrop1012 0:75421f27540e 29 int main() {
CCastrop1012 0:75421f27540e 30
CCastrop1012 0:75421f27540e 31 Mbed.printf("Hello World\n!");
CCastrop1012 0:75421f27540e 32 Encoder.rise(&interrupt);
CCastrop1012 0:75421f27540e 33
CCastrop1012 0:75421f27540e 34 long temp = 0;
CCastrop1012 0:75421f27540e 35 int duty = 10;
CCastrop1012 0:75421f27540e 36
CCastrop1012 0:75421f27540e 37
CCastrop1012 0:75421f27540e 38
CCastrop1012 0:75421f27540e 39 while(1)
CCastrop1012 0:75421f27540e 40 {
CCastrop1012 0:75421f27540e 41
CCastrop1012 0:75421f27540e 42 //////// Giro sentido 1
CCastrop1012 0:75421f27540e 43
CCastrop1012 0:75421f27540e 44 Mbed.printf("Motor Velocidad = %d%% : ",duty);
CCastrop1012 0:75421f27540e 45 LED = 1;
CCastrop1012 0:75421f27540e 46
CCastrop1012 0:75421f27540e 47 Mizq.Forward();
CCastrop1012 0:75421f27540e 48 Mizq.SpeedDuty(duty);
CCastrop1012 0:75421f27540e 49 x = 0; temp = 0;
CCastrop1012 0:75421f27540e 50 wait(1);
CCastrop1012 0:75421f27540e 51 temp = x;
CCastrop1012 0:75421f27540e 52 Mbed.printf("PPS = %d : \n",temp);
CCastrop1012 0:75421f27540e 53 LED = 0;
CCastrop1012 0:75421f27540e 54 if(Button == 0) { duty++; if(duty > 100) duty = 10; }
CCastrop1012 0:75421f27540e 55 wait(1);
CCastrop1012 0:75421f27540e 56
CCastrop1012 0:75421f27540e 57
CCastrop1012 0:75421f27540e 58
CCastrop1012 0:75421f27540e 59
CCastrop1012 0:75421f27540e 60 }
CCastrop1012 0:75421f27540e 61 }