LDSC_Robotics_TAs / Mbed 2 deprecated Robotics_Lab_Servo

Dependencies:   mbed

Revision:
1:3b6c9baa7d0c
Parent:
0:564d77fcaa70
--- a/main.cpp	Tue Feb 23 13:47:59 2016 +0000
+++ b/main.cpp	Wed Mar 02 08:57:00 2016 +0000
@@ -3,9 +3,9 @@
 
 //The number will be compiled as type "double" in default
 //Add a "f" after the number can make it compiled as type "float"
-#define Ts 0.01f
-#define Kp 20.0f
-#define Ki 5.0f
+#define Ts 0.01f    //period of timer1 (s)
+#define Kp 1.0f
+#define Ki 1.0f
 
 PwmOut servo(A0);
 PwmOut pwm1(D7);
@@ -18,24 +18,42 @@
 DigitalOut led2(D12);
 
 Ticker timer1;
+void timer1_interrupt(void);
 
+void init_TIMER(void);
 void init_IO(void); 
-void init_ADC(void);
 void init_PWM(void);
+void flash(void);
 
+//Variable(s) for PI controller
 float ref = 0.45;       // 0.45 +(0.48/180.0)*angle, -90<angle<90
 float err = 0.0;
 float ierr = 0.0;
 float PI_out = 0.0;
 float ad_read = 0.0;    // ADC value
+float ad_check;
 float pwm1_duty = 0.5;
+
+//Variable(s) for internal control
 float servo_duty = 0.079;//0.079 +(0.084/180)*angle, -90<angle<90   
 
+int main (void)
+{    
+    init_IO();
+    init_PWM();
+    init_TIMER();
+    while(1)
+    {
+        ;
+    }       
+}
+
 void timer1_interrupt(void)
 {
     ad_read = adc.read();
+    ad_check = ad_read;
     
-    //////code of PI control//////
+    //////code for PI control//////
     
     
     
@@ -45,12 +63,11 @@
     if(PI_out >= 0.5f)PI_out = 0.5;
     else if(PI_out <= -0.5f)PI_out = -0.5;
     pwm1_duty = PI_out + 0.5f;
-    ad_read = adc.read();
-    if(ad_read > 0.69f || ad_read < 0.21f)pwm1_duty = 0.5;
+    if(ad_check > 0.69f || ad_check < 0.21f)pwm1_duty = 0.5;
     pwm1.write(pwm1_duty);
     TIM1->CCER |= 0x4;
     
-    //////code of internal control//////
+    //////code for internal control//////
     
     
     
@@ -85,15 +102,4 @@
 void flash(void)
 {
     led1 = !led1;
-}
-
-int main (void)
-{    
-    init_IO();
-    init_PWM();
-    init_TIMER();
-    while(1)
-    {
-        ;
-    }       
 }
\ No newline at end of file