Racunjanje brzine vrtnje enkodera

Committer:
mlucan
Date:
Tue Feb 11 09:55:29 2020 +0000
Revision:
0:e22f491b10f1
Mjerenje brzine vrtnje sa enkodera;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlucan 0:e22f491b10f1 1 #include "Bvrtnje.h"
mlucan 0:e22f491b10f1 2 #include "mbed.h"
mlucan 0:e22f491b10f1 3
mlucan 0:e22f491b10f1 4 int b1;
mlucan 0:e22f491b10f1 5 int okr1;
mlucan 0:e22f491b10f1 6 int b2;
mlucan 0:e22f491b10f1 7 int r1, r2;
mlucan 0:e22f491b10f1 8 int f;
mlucan 0:e22f491b10f1 9 int brzina_1;
mlucan 0:e22f491b10f1 10 int brzina_2;
mlucan 0:e22f491b10f1 11 bool smot;
mlucan 0:e22f491b10f1 12 Ticker brzina;
mlucan 0:e22f491b10f1 13
mlucan 0:e22f491b10f1 14 Bvrtnje::Bvrtnje(PinName pin1,PinName pin2) :int1(pin1),int2(pin2)
mlucan 0:e22f491b10f1 15 {
mlucan 0:e22f491b10f1 16 void speed();
mlucan 0:e22f491b10f1 17 void k_1();
mlucan 0:e22f491b10f1 18 void d_1();
mlucan 0:e22f491b10f1 19 void k_2();
mlucan 0:e22f491b10f1 20 void d_2();
mlucan 0:e22f491b10f1 21 brzina.attach(&speed, 0.5);
mlucan 0:e22f491b10f1 22 int1.rise(&k_1);
mlucan 0:e22f491b10f1 23 int1.fall(&d_1);
mlucan 0:e22f491b10f1 24 int2.rise(&k_2);
mlucan 0:e22f491b10f1 25 int2.fall(&d_2);
mlucan 0:e22f491b10f1 26 };
mlucan 0:e22f491b10f1 27
mlucan 0:e22f491b10f1 28
mlucan 0:e22f491b10f1 29 int Bvrtnje::brzina1()
mlucan 0:e22f491b10f1 30 {
mlucan 0:e22f491b10f1 31 return brzina_1;
mlucan 0:e22f491b10f1 32 }
mlucan 0:e22f491b10f1 33
mlucan 0:e22f491b10f1 34 int Bvrtnje:: brzina2()
mlucan 0:e22f491b10f1 35 {
mlucan 0:e22f491b10f1 36 return brzina_2;
mlucan 0:e22f491b10f1 37 }
mlucan 0:e22f491b10f1 38
mlucan 0:e22f491b10f1 39 int Bvrtnje::frekvencija()
mlucan 0:e22f491b10f1 40 {
mlucan 0:e22f491b10f1 41 return f;
mlucan 0:e22f491b10f1 42 }
mlucan 0:e22f491b10f1 43
mlucan 0:e22f491b10f1 44 bool Bvrtnje::smjer ()
mlucan 0:e22f491b10f1 45 {
mlucan 0:e22f491b10f1 46 return smot;
mlucan 0:e22f491b10f1 47 }
mlucan 0:e22f491b10f1 48
mlucan 0:e22f491b10f1 49 void k_1()
mlucan 0:e22f491b10f1 50 {
mlucan 0:e22f491b10f1 51 b1=b1+1;
mlucan 0:e22f491b10f1 52 r1=1;
mlucan 0:e22f491b10f1 53 if(r2==0) {
mlucan 0:e22f491b10f1 54 smot=1;
mlucan 0:e22f491b10f1 55 }
mlucan 0:e22f491b10f1 56
mlucan 0:e22f491b10f1 57 };
mlucan 0:e22f491b10f1 58
mlucan 0:e22f491b10f1 59 void k_2()
mlucan 0:e22f491b10f1 60 {
mlucan 0:e22f491b10f1 61 b2=b2+1;
mlucan 0:e22f491b10f1 62 r2=1;
mlucan 0:e22f491b10f1 63 if(r1==0) {
mlucan 0:e22f491b10f1 64 smot=0;
mlucan 0:e22f491b10f1 65 }
mlucan 0:e22f491b10f1 66 };
mlucan 0:e22f491b10f1 67
mlucan 0:e22f491b10f1 68 void d_1()
mlucan 0:e22f491b10f1 69 {
mlucan 0:e22f491b10f1 70 r1=0;
mlucan 0:e22f491b10f1 71 };
mlucan 0:e22f491b10f1 72
mlucan 0:e22f491b10f1 73 void d_2()
mlucan 0:e22f491b10f1 74 {
mlucan 0:e22f491b10f1 75 r2=0;
mlucan 0:e22f491b10f1 76 };
mlucan 0:e22f491b10f1 77
mlucan 0:e22f491b10f1 78 void speed()
mlucan 0:e22f491b10f1 79 {
mlucan 0:e22f491b10f1 80 brzina_1= (b1/600)*120; // 500ms ticker
mlucan 0:e22f491b10f1 81 brzina_2= (b2/600)*120;
mlucan 0:e22f491b10f1 82 if(b1>0) {
mlucan 0:e22f491b10f1 83 f=(b1)*2;
mlucan 0:e22f491b10f1 84 } else {
mlucan 0:e22f491b10f1 85 f=0;
mlucan 0:e22f491b10f1 86 }
mlucan 0:e22f491b10f1 87 b1=0;
mlucan 0:e22f491b10f1 88 b2=0;
mlucan 0:e22f491b10f1 89 };
mlucan 0:e22f491b10f1 90