Proyecto de Tesis en Mecatrónica. Universidad Técnica del Norte. Ernesto Palacios <mecatronica.mid@gmail.com>

Dependencies:   EthernetNetIf HTTPServer QEI_hw RPCInterface mbed

Revision:
31:7e2cdd547cb2
Parent:
30:413d1a6648b5
Child:
32:4483d6c225e5
--- a/main.cpp	Wed Feb 05 18:55:37 2014 +0000
+++ b/main.cpp	Sat May 03 00:14:17 2014 +0000
@@ -26,7 +26,13 @@
 
 Serial          pc( USBTX, USBRX );   //Comunicacion Serial directa al computador
 Serial          RS_232(p13, p14);    //Comunicacion Serial para MAX232
-QEIHW           encoder( QEI_DIRINV_NONE, QEI_SIGNALMODE_QUAD, QEI_CAPMODE_2X, QEI_INVINX_NONE );
+
+QEIHW           encoder(  QEI_DIRINV_NONE,     // CW = postive;  CCW = negative
+                 QEI_SIGNALMODE_QUAD, // Absolute encoder
+                 QEI_CAPMODE_2X,      // PhA anb PhB
+                 QEI_INVINX_NONE      // Not inverted index
+                 );
+
 Timer           crono;                 // Reloj Interno de mbed
 
 DigitalOut      pin_son( p7 );       // SON
@@ -44,8 +50,8 @@
 
 // Alarmas en los optoacopladores
 InterruptIn     limite_1( p23 );
-DigitalIn       limite_2( p24 );
-DigitalIn       limite_3( p25 );
+InterruptIn     limite_2( p24 );
+InterruptIn     limite_3( p25 );
 InterruptIn     limite_4( p29 );
 
 
@@ -74,10 +80,16 @@
 
 int main() {
     
-    limite_1.rise( &ISR_Alm_encoder );  // Alarma de colisión 1
-    limite_2.rise( &ISR_Adv_encoder );  // Alarma de colisión 1
-    limite_3.rise( &ISR_Adv_motor );  // Alarma de colisión 1
-    limite_4.rise( &ISR_Alm_motor );  // Alarma de colisión 1
+    pin_alm.fall( &ISR_Alarm ); // Entrada de la alarma driver
+
+    // limite_1.rise( &ISR_Alm_encoder );  // Alarma de colisión 1
+    // limite_2.rise( &ISR_Adv_encoder );  // Alarma de colisión 1
+    // limite_3.rise( &ISR_Adv_motor );  // Alarma de colisión 1
+    // limite_4.rise( &ISR_Alm_motor );  // Alarma de colisión 1
+
+    encoder.SetDigiFilter(480UL);         // number of clock cycles the signal must be at high to sense it
+    encoder.SetMaxPosition(0xFFFFFFFF);   // max number before overflow - may be changed for 360 or a multiple
+    
 
 
 //***************    Configura Red Ethernet     **************************************************//
@@ -161,10 +173,7 @@
     setTimer2();    // Configurar PTO
     pin_son = 0;   // Servo Apagado por defecto
     aout = 0.5;   // Voltaje de salida 0V por defecto( +-10V! )
-    
-
-    pin_alm.fall( &ISR_Alarm ); // Entrada de la alarma driver
-    
+        
     
     while(1) 
     {