Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 1:00b8f71cfe7e, committed 2017-08-07
- Comitter:
- ArthurCBdO
- Date:
- Mon Aug 07 22:32:23 2017 +0000
- Parent:
- 0:f2bc43be0fc7
- Commit message:
- Template Zerado Funcionando de verdade
Changed in this revision
PTC3471.cpp | Show annotated file Show diff for this revision Revisions of this file |
PTC3471.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/PTC3471.cpp Mon Aug 07 20:32:20 2017 +0000 +++ b/PTC3471.cpp Mon Aug 07 22:32:23 2017 +0000 @@ -6,18 +6,18 @@ DigitalOut Ctrl_Status(LED1); QEI * Ctrl_Encoder_Motor; +Ticker * Controler_Interrupt; DigitalOut Ctrl_Direita(PTC1); DigitalOut Ctrl_Esquerda(PTD6); PwmOut Ctrl_Motor(PTD5); Ticker Ctrl_StatusOk; -Ticker Ctrl_Leitura; Ticker Ctrl_Trava; -double Ctrl_Phi = 0, Ctrl_Theta = 0; -double Ctrl_Phi1 = 0, Ctrl_Theta1 = 0; -double Ctrl_dPhi = 0, Ctrl_dTheta = 0; +double Ctrl_Phi = 0; +double Ctrl_Phi1 = 0; +double Ctrl_dPhi = 0; void Ctrl_LerAngulos(void){ Ctrl_Phi1 = Ctrl_Phi; @@ -29,15 +29,19 @@ Ctrl_LerAngulos(); if(Ctrl_dPhi>=0.01){ - Ctrl_Motor = min(3*Ctrl_dPhi, 0.7); + Ctrl_Motor = min(2*Ctrl_dPhi, 0.7); Ctrl_Direita = 1; Ctrl_Esquerda = 0; } else if(Ctrl_dPhi<=-0.01){ - Ctrl_Motor = min(-3*Ctrl_dPhi, 0.7); + Ctrl_Motor = min(-2*Ctrl_dPhi, 0.7); Ctrl_Direita = 0; Ctrl_Esquerda = 1; } + else{ + Ctrl_Direita=1; + Ctrl_Esquerda=1; + } if(Ctrl_Status==0){ Ctrl_Status = 1; @@ -48,11 +52,12 @@ } void Ctrl_ChecarTrava(void){ + Ctrl_LerAngulos(); if(Ctrl_Phi>pi || Ctrl_Phi<-pi){ Ctrl_StatusOk.detach(); - Ctrl_Leitura.detach(); Ctrl_Trava.detach(); - Ctrl_Trava.attach(&Ctrl_Travar, 2*Ctrl_Ts); + Controler_Interrupt->detach(); + Ctrl_Trava.attach(&Ctrl_Travar, Ctrl_Ts); } } @@ -60,11 +65,11 @@ Ctrl_Status = !Ctrl_Status; } -void Protecao_Init(QEI* Encoder_Motor){ +void Protecao_Init(QEI* Encoder_Motor, Ticker* Control_Interrupt){ Ctrl_Encoder_Motor = Encoder_Motor; + Controler_Interrupt = Control_Interrupt; Ctrl_Status = 1; Ctrl_StatusOk.attach(&Ctrl_BlinkOk, 1); - Ctrl_Leitura.attach(&Ctrl_LerAngulos, Ctrl_Ts); Ctrl_Trava.attach(&Ctrl_ChecarTrava, Ctrl_Ts); Ctrl_Motor = 0.0;
--- a/PTC3471.h Mon Aug 07 20:32:20 2017 +0000 +++ b/PTC3471.h Mon Aug 07 22:32:23 2017 +0000 @@ -9,7 +9,7 @@ #define max(X, Y) ((X) > (Y) ? (X) : (Y)) #define pi 3.141592653589793 -#define Ctrl_Ts 0.01 +#define Ctrl_Ts 0.1 #endif @@ -17,4 +17,4 @@ void Ctrl_Travar(void); void Ctrl_ChecarTrava(void); void Ctrl_BlinkOk(void); -void Protecao_Init(QEI*); \ No newline at end of file +void Protecao_Init(QEI*, Ticker*); \ No newline at end of file