Aumentar recorrido con PIC "Proyecto ABIERTO"

Tema en 'R/C ELECTRÓNICA' iniciado por fbforos, 9 Abr 2010.

  1. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Que podemos hacer con este dispositivo:

    - Aumentar y disminuir el recorrido del servo

    - Invertir el recorrido, con posibilidad de aumentarlo, disminuirlo o dejar el mismo recorrido

    - Utilizarlo con los receptores PCM de futaba para evitar que salga el canal 1 y 2 simultaneamente:smile: (creo que lo llaman servo buffer)

    - Ajustar la velocidad del giro.

    - Programación simple utilizando un pulsador o grabando los valores con el programador.

    El fichero HEX que encontrareis debajo, permite todo lo anteriormente expuesto menos la programación con interruptor que estará acabada en 2 semanas. ( la verdad es que estoy un poco perdido con que se debe de poder programar)

    El fichero del esquema siento comentaros que tiene un cambio. La salida del pulsador que va al pin4 (GP3/MCLR) tiene que ir al pin6 (GP1) la razón es: ahorrar un resistencia de Pullup. Tan pronto como lo tenga corregido quito esta reseña.

    Componentes:
    1 12F683
    1 Condensador 100nF
    ***********************
    1 Led
    1 resistencia de 420 (depende un poco del LED que pongais)
    1 Pulsador

    Si no quereis poder programarlo en el campo, con el pic y el condensador es suficiente.

    Dado que solo lo pruebo con receptores futaba y Spektrum ruego a los probadores que tengan problemas que indiquen marca y modelo del receptor para tratar de solucionarlo. Si tienen a bien pueden enviarme uno a fondo perdido:ansioso: , estaré muy agradecido...... de solucionarles el problema:wink2:
     

    Adjuntos:

    #1 fbforos, 9 Abr 2010
    Última edición: 30 Sep 2010
  2. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Bueno os presento mi proyecto de aumentar recorrido con PIC.

    El soft esta escrito en C de CCS.
    Estará disponible tanto el codigo en C como el HEX

    El PIC a utilizar será el 12F683 a 8mhz

    Será programable con un pulsador:
    - el punto central
    - giro a derecha
    - giro a izq.

    se podra invertir la dirección del servo
    FS a un punto central programado o punto que deseemos

    LED indicador.

    Tambien se prodra programa metiendo directamente los valores deseados en la EEPROM con el PICPRO o similar al programar el circuito de una manera realmente sencilla.

    Os dejo el esquema. El programa tal y como está ahora funciona sin la funcionalidad :icon_redface: de la programación.

    Y creo que nada más. Adjunto encontrareis el esquema. :ansioso:
     
    #2 fbforos, 9 Abr 2010
    Última edición: 30 Sep 2010
  3. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    software

    uso futuro
     
  4. HMR Miembro

    HMR
    Registrado:
    17 Feb 2009
    Mensajes:
    262
    Me Gusta recibidos:
    0
    GRANDE fbforos
    En el programa para el 12f629, he agregado la función de posición de servo con un pulsador. Cuando arranca el PIC detecta si el pulsador esta activo y entra en un programa que hace correr el servo de un lado a otro.
    Dejo un resumen de esta parte del programa, pero en asembler. Quizá pueda ser de ayuda !!!!

    Insertar CODE, HTML o PHP:
    usr_config_centro
       bcf status,rp0                   ;cambiar a banco 0
       btfsc gpio,gp3                   ;si el bit gp3 = 1
       goto usr_config_centro15
    usr_config_centro3_inte
       bcf _np_banderas2,sub_inte
       incf puntofsl,1
       btfsc status,z
       incf puntofsh,1
       btfsc _np_banderas2,sub_inte     ;si la subrutina fue cancelada por una interrupcion
       goto usr_config_centro3_inte     ;ejecutar el calculo
       movlw b'00001011'                ;si el reg puntofsh,puntofsl >= d'3000'
       subwf puntofsh,w
       btfss status,c
       goto usr_config_centro4_1
       btfss status,z
       bsf status,c
       btfss status,z
       goto usr_config_centro4_1
       btfsc status,c
       movlw b'10111000'
       btfsc status,c
       subwf puntofsl,w
    usr_config_centro4_1
       btfss status,c
       goto usr_config_centro6
       movlw b'00000001'                ;puntofsh,puntofsl = d'400'
       movwf puntofsh
       movlw b'10010000'
       movwf puntofsl
    usr_config_centro6
       movf puntofsh,w                  ;ppmout,ppmoutl = puntofsh,puntofsl
       movwf ppmout
       movf puntofsl,w
       movwf ppmoutl
       movlw .1                         ;temporizador 10 mse
       call tiempo_100_1000_mc
    usr_config_centro8_inte
       bcf _np_banderas2,sub_inte
       incf acumularl,1
       btfsc status,z
       incf acumular,1
       btfsc _np_banderas2,sub_inte     ;si la subrutina fue cancelada por una interrupcion
       goto usr_config_centro8_inte     ;ejecutar el calculo
       movf acumular,w                  ;si el reg acumular,acumularl <= d'10'
       sublw b'00000000'
       btfss status,c
       goto usr_config_centro9_1
       btfss status,z
       bsf status,c
       btfss status,z
       goto usr_config_centro9_1
       btfsc status,c
       movf acumularl,w
       btfsc status,c
       sublw b'00001010'
    usr_config_centro9_1
       btfss status,c
       goto usr_config_centro12
       bsf gpio,gp5
    usr_config_centro11
       goto usr_config_centro_salir
    usr_config_centro12
       bcf gpio,gp5
       movf acumular,w                  ;si el reg acumular,acumularl <= d'40'
       sublw b'00000000'
       btfss status,c
       goto usr_config_centro13_1
       btfss status,z
       bsf status,c
       btfss status,z
       goto usr_config_centro13_1
       btfsc status,c
       movf acumularl,w
       btfsc status,c
       sublw b'00101000'
    usr_config_centro13_1
       btfsc status,c
       goto usr_config_centro_salir
       goto usr_config_centro14
    usr_config_centro14
       movlw b'00000000'                ;acumular,acumularl = d'000000'
       movwf acumular
       movlw b'00000000'
       movwf acumularl
       goto usr_config_centro_salir
    usr_config_centro15
       ;grabar un dato en el registro 01 de la eeprom
       movlw d'01'
       bsf status,rp0                   ;cambiar a banco 1
       movwf eeadr
       bcf status,rp0                   ;cambiar a banco 0
       movf puntofsl,w
       bsf status,rp0                   ;cambiar a banco 1
       movwf eedata
       call grabar_eeprom
       ;grabar un dato en el registro 02 de la eeprom
       movlw d'02'
       bsf status,rp0                   ;cambiar a banco 1
       movwf eeadr
       bcf status,rp0                   ;cambiar a banco 0
       movf puntofsh,w
       bsf status,rp0                   ;cambiar a banco 1
       movwf eedata
       call grabar_eeprom
       bcf bitsconfig,bitsconfig0
       goto usr_config_centro_salir
    usr_config_centro_salir
       bcf status,rp0                   ;cambiar a banco 0
       return
    
     
  5. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    El programa

    Bueno después de unos dias de no poder disfrutar de la programación aqui teneis el programa en fase 1 -> funciona correctamente pero la programación es manual.

    Sin tener que recompilar el programa usando el winpic8000 se pueden modificar los valores almacenados en la EEprom y ajustar los recorridos (ACristobal) o aquellos cuyos servos no permitan 180º de recorrido.

    Tiene FS al punto central programado

    Al funcionar a 8mhz tiene el doble de resolución que el PIC629.

    A aquellos que querais jugar con la programación aqui teneis el fuente en C de CCS, facilmente exportable a otros C

    Insertar CODE, HTML o PHP:
    /////////////////////////////////////////////////////////////////////////
    ////               AmpRecorrido.c                                  ////
    ////  Este programa permite ampliar el recorrido de                  ////
    ////  de un servo.
    ////  El dispositivo será programable y almacenará los maximos       ////
    ////  Recorridos en la memoria                                       ////
    ////                                                                 ////
    ////  La conexión de los pines es la siguiente                       ////
    ////                                                                 ////
    ////             12F683     pin                                      ////
    ////                  1      +5V                                     ////
    ////                  2      GP5      Led para programación          ////
    ////                  3      GP4      Entrada desde el receptor      ////
    ////                  4      GP3      Pulsador para programación     ////
    ////                  5      GP2      INT  LO To HI                  ////
    ////                  6      GP1                                     ////
    ////                  7      GP0      Salida Servo                   ////
    ////                  8                gnd                           ////
    ////                                                                 ////
    /////////////////////////////////////////////////////////////////////////
    
    
    #include <12F683.h>
    
    #include <Lib_Int_EEProm.c>
    #fuses INTRC_IO ,NOWDT,NOPROTECT, NOMCLR
    
    #use delay(clock=8000000)
    
    // Valor de PulMinIn, PulMaxIn, PulMinOut, PulMaxOut, PulCenIn almacenado
    // en la rom Primero Byte bajo y luego Byte Alto 
    // Podeis modificalos Manualmente usando el .HEX
    #ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07, 0xf4, 0x01 ,0xc4, 0x09, 0xDC, 0x05}
    
    #define GP0 PIN_A0
    #define GP1 PIN_A1
    #define GP2 PIN_A2
    #define GP3 PIN_A3
    #define GP4 PIN_A4
    #define GP5 PIN_A5
    
    int16 map(int16 x, int16 in_min, int16 in_max, int16 out_min, int16 out_max);
    int16 constrain( int16 ValIn, int16 ValMax, int16 ValMin);
    
    int16 PulMinIn=0, PulMinOut=0, PulMaxIn=0, PulMaxOut=0;
    int16 PulcenIn;
    int16 PulLon;
    int GenPulse;
    
    int16 PulOut;
    byte FSon=1;
    
    #INT_EXT
    void isr_EXT (){
    
       PulLon = get_timer1();
    
        set_timer1(0);
        set_timer0(0);
        GenPulse=1;
       
    }
    
    #INT_TIMER0
    void isr_TIMER0(){
       set_timer1(0);
       FSon=1;
    }
    
    void main() {
    
    SETUP_TIMER_1( T1_INTERNAL|T1_GATE);
    
    SETUP_TIMER_0(RTCC_INTERNAL |RTCC_DIV_256);
    
    ENABLE_INTERRUPTS(INT_EXT);
    EXT_INT_EDGE(H_TO_L);
    ENABLE_INTERRUPTS(INT_TIMER0);
    ENABLE_INTERRUPTS(GLOBAL);
    PulOut=0;
    PulMinIn=read_int16_eeprom(0);
    PulMaxIn=read_int16_eeprom(2);
    PulMinOut=read_int16_eeprom(4);
    PulMaxOut=read_int16_eeprom(6);
    PulCenIn=read_int16_eeprom(8);
    
      WHILE(TRUE) {
     
      if (GenPulse==1){
         GenPulse=0; 
         PulLon= constrain(PulLon/=2,PulMaxIn,PulMinIn);
         PulOut= map(PulLon,PulMinIn,PulMaxIn, PulMinOut, PulMaxOut);
         output_high(GP0);
         delay_us(PulOut);
         output_low(GP0);
              
      }  
      if (FSon==1){
         FSon=0; 
         output_high(GP0);
         delay_us(PulCenIn);
         output_low(GP0);
              
      }  
      }
    
    }
    
    int16 map(int16 x, int16 in_min, int16 in_max, int16 out_min, int16 out_max)
    {
      return(_mul((x - in_min), (out_max - out_min))/(in_max - in_min) + out_min);
     }
    
    int16 constrain( int16 ValIn, int16 ValMax, int16 ValMin){
       if (ValIn > ValMax){
          return(Valmax);
       }
       else if(ValIn<ValMin){
          return(ValMin);
       }
       else {
          return (ValIn);
       }
       
    }
       
    }
     

    Adjuntos:

    #5 fbforos, 18 Abr 2010
    Última edición: 18 Abr 2010
  6. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Programación de la EEPROM

    Aqui os explico como podeis modificar la programación sin tener que compilar el programa.

    En la pantalla del WinPic800 teneis Codigo, Datos y configuración

    La pantalla de configuración no hay que tocarla, los fuses siempre vienen implementados en el HEX.

    Si os vais a datos vereis que se corresponden con estos del programa
    Insertar CODE, HTML o PHP:
    
    // Valor de PulMinIn, PulMaxIn, PulMinOut, PulMaxOut, PulCenIn almacenado
    // en la rom Primero Byte bajo y luego Byte Alto 
    // Podeis modificalos Manualmente usando el .HEX
    #ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07, 0xf4, 0x01 ,0xc4, 0x09, 0xDC, 0x05}
    PulminIn (pulso minimo de entrada) es 0x03 0xe8 == 0x03E8 == 1000

    si quereis modificarlo no teneis mas que cambiar el valor antes de programar.
    Para el caso de ACRTISTOBAL Pulminout esta en 0x01f4 que son 500 en decimal. Como quiere recortar el recorrido lo podemos cambiar a 1200ms que son 0x04b0 tendria que grabar 0xb0 0x04.

    Recordar que el Byte Bajo se guarda antes que el Byte alto
     

    Adjuntos:

  7. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    ¿Pensais que seria interesante poder programar estos valores usando el pulsador y la emisora?

    El punto de FS esta tambien programado en la EEprom, si quereis un valor diferente no teneis más que cambiarlo.

    Acordaros que para programar los PIC debeis de tener desactivado el Leer la eeprom antes de programar.

    Una vez que modifiqueis los valores podeis salvar el fichero con otro nombre.

    Este circuito no necesita calibrar la frecuencia por lo que es mucho más fácil de manipular
     

    Adjuntos:

  8. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Hola Felix,
    Tras la conversación del otro día, me puse a modificar los datos de la eprom y me fui a por los PICs, pero no los encontré.
    Hoy en conectrol sí los tenían y me he puesto a programarlos.
    Se han grabado correctamente.
    Primero he probado el código de ampliación de recorrido, y ha funcionado perfecto, se le pueden modificar los valores finales de recorrido dependiendo de si el servo llega bien a los 180 o no.

    Después he probado el código con los datos de salida para que reduzca el recorrido de una señal de entrada ya mayorada es decir reducir el giro de un servo normal que le llega una señal para que gire 180º a un giro de 90º, y en este caso no me ha funcionado. he intentado "ver la señal con el oscilo de la tarjeta de sonido y no he podido.

    Para comprobar que estaba haciendo bien las cosas, he modificado los datos de entrada de un servo normal y he modificado la salida ampliando un podo más de 90º y reduciendo a un movimiento total de 45º y todo ha funcionado correctamente.

    He probado a cambiar los datos del centro del servo y aunque los he puesto para descentrarlo hacia un lado y hacia otro, el servo ha seguido mantenniendo la posición del centro inicial (no me ha funcionado)

    Felix, si pudieras mirar que señal manda la FC cuando asignas a la salida del Tilt un poti, te lo agradecería.

    Un saludo y muchas gracias.
     
  9. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Alberto, te comento:

    En este momento solo sirve para el que servo se quede en la posicion que deseemos cuando no hay señal (FS).

    Tienes toda la razón no tiene que funcionar, si te fijas en el programa le metí un constrain a 1000-2000 en la entrada, todas las señales que no estan en este rango se ajustan a el, debe de ser modificado. Si funciona si la salida la ajustas a valores entre 1000-2000, pero esto no es lo que necesitas tu en el microkopter, te lo compilo sin el constrain y te tiene que funcionar.

    La salida del tilt te la reviso.
     
  10. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Muchas gracias. Esperaré a que me des más datos.
     
  11. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    He estado comprobando la salida de la flightcontrol 2.0 y tanto en pan como en tilt tienen la misma salida entre 2,36ms y 0,76.

    El servo que utilizas para pan es especial para hacer 180º ¿no?
     

    Adjuntos:

    • Image1.png
      Image1.png
      Tamaño de archivo:
      5,2 KB
      Visitas:
      162
    • Image2.png
      Image2.png
      Tamaño de archivo:
      5,2 KB
      Visitas:
      147
  12. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    No, no es especial, es un servo que conectado al receptor me da 85-90º de recorrido y en la FC me proporciona 155-170º de recorrido.
     
    #12 acristóbal, 22 Abr 2010
    Última edición: 30 Abr 2010
  13. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Hola Felix,

    a verdad es que estoy muy contento con el funcionamiento de ti pic. El movimiento del servo de Tilt en el MK se ha vuelto mucho más limpio.

    Volviendo a la idea original de ampliación de recorrido de servo, te formulo la siguiente petición.
    ¿Sería dificil hacer que el movimiento ampliado del servo responda lentamente a la orden que le llega del receptor? Es decir que aunque nosotros movamos la palanca que maneja ese servo a toda velocidad, el servo responda a una velocidad máxima de movimiento? con esto evitaríamos que los movimientos rápidos del stick se transmitan como movimientos de rápidos decámara (cuando lo usamos en el movimiento Pan de la cámara)

    Un saludo
    Alberto.
     
  14. miquel.s.m Gurú FPV

    miquel.s.m
    Registrado:
    22 Mar 2007
    Mensajes:
    3.610
    Me Gusta recibidos:
    0
    gracias por hacer que gente como yo nos lo pasemos bomba trasteando:biggrin:
     
  15. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Alberto, me alegra mucho que te guste. En cuanto a tu pregunta la verdad que eso no es nada díficil o sea es fácil, Solo necesito saber a que velocidad quieres que se mueva :confused: zoy tonto, lo mejor es programable con un valor que este grabado en la eprom así lo podeis modificar :ansioso: :ansioso: sin que me tengais que estar diciendo nada.

    Aunque el nieto me roba casi todo el tiempo :baba::baba:, estoy acabando la selección del punto central y ya incluyo el movimiento lento hacia el punto en el que estamos.

    Me encanta que os gusten estos proyecto y que cacharreis y aprendais como yo
     
  16. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Nuevas funcionalidades

    Bueno aqui tenemos el soft con nueva funcionalidad. Podemos programar la velocidad de movimiento hacia el punto de destino y te permite seleccionar el punto central.

    Insertar CODE, HTML o PHP:
    /////////////////////////////////////////////////////////////////////////
    ////               AmpRecorrido.c                                  ////
    
    ////  Este programa permite ampliar el recorrido de                  ////
    ////  de un servo.
    ////  El dispositivo será programable y almacenará los maximos       ////
    ////  Recorridos en la memoria                                       ////
    ////                                                                 ////
    ////  La conexión de los pines es la siguiente                       ////
    ////                                                                 ////
    ////             12F683     pin                                      ////
    ////                  1      +5V                                     ////
    ////                  2      GP5      Led para programación          ////
    ////                  3      GP4      Entrada desde el receptor      ////
    ////                  4      GP3      Pulsador para programación     ////
    ////                  5      GP2      INT  LO To HI                  ////
    ////                  6      GP1                                     ////
    ////                  7      GP0      Salida Servo                   ////
    ////                  8                gnd                           ////
    ////                                                                 ////
    /////////////////////////////////////////////////////////////////////////
    
    
    #include <12F683.h>
    // #device ICD=TRUE
    #include <lib_eeprom.h>
    #include <utilidades.h>
    #fuses INTRC_IO ,NOWDT,NOPROTECT, NOMCLR
    
    #use delay(clock=8000000)
    
    // Valor de PulMinIn, PulMaxIn, PulMinOut, PulMaxOut, PulCenIn, PulCenOut, VelMov
    // almacenado en la rom Primero Byte bajo y luego Byte Alto 
    // Podeis modificalos Manualmente usando el .HEX
    // Alberto Cristobal
    // #ROM 0x2100 ={0xf4, 0x01 ,0xc4, 0x09,0xE8, 0x03, 0xd0, 0x07,  0xDC, 0x05}
    #ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07,0xf4, 0x01 ,0xc4, 0x09,  0xDC, 0x05,
                  0xDC, 0x05,0x08}
    #define GP0 PIN_A0
    #define GP1 PIN_A1
    #define GP2 PIN_A2
    #define GP3 PIN_A3
    #define GP4 PIN_A4
    #define GP5 PIN_A5
    
    int16 PulMinIn=0, PulMinOut=0;
    int16 PulMaxIn=0, PulMaxOut=0;
    int16 PulcenIn=0, PulCenOut=0;
    int16 PulLon=0, PulOut=0,PulAct=1500;
    int GenPulse;
    int VelMov;
    
    byte FSon=1;
    
    #INT_EXT
    void isr_EXT (){
    
       PulLon = get_timer1();
    
        set_timer1(0);
        set_timer0(0);
        FSon=0;
        GenPulse=1;   
    }
    
    #INT_TIMER0
    void isr_TIMER0(){
       set_timer1(0);
       FSon=1;
       Output_high(GP5);
    }
    
    void main() {
    
    SETUP_TIMER_1( T1_INTERNAL|T1_GATE_INVERTED);
    SETUP_TIMER_0(RTCC_INTERNAL |RTCC_DIV_256);
    ENABLE_INTERRUPTS(INT_EXT);
    EXT_INT_EDGE(H_TO_L);
    ENABLE_INTERRUPTS(INT_TIMER0);
    ENABLE_INTERRUPTS(GLOBAL);
    PulOut=0;
    PulMinIn=read_int16_eeprom(0);
    PulMaxIn=read_int16_eeprom(2);
    PulMinOut=read_int16_eeprom(4);
    PulMaxOut=read_int16_eeprom(6);
    PulCenIn=read_int16_eeprom(8);
    PulCenOut=read_int16_eeprom(10);
    VelMov=read_eeprom(12);
    
    
      WHILE(TRUE) {
     
      if (GenPulse==1){
         output_low(gp5); 
         GenPulse=0;
         PulLon/=2;
         PulLon= constrain(PulLon,PulMaxIn,PulMinIn);
         if (PulLon>= PulCenIn)
         {
           PulOut= map(PulLon,PulCenIn,PulMaxIn, PulCenOut, PulMaxOut);
         }
         else
         {
           PulOut= map(PulLon,PulMinIn, PulCenIn,PulMinOut, PulCenOut);
         }
         PulAct=MovVel(PulAct,PulOut,VelMov);
         output_high(GP0);
         delay_us(PulAct);
         output_low(GP0); 
    
      }  
      while (FSon==1){
         output_high(GP0);
         delay_us(PulCenIn);
         output_low(GP0);
         delay_ms(20);
         set_timer0(0);          
      }  
      }
    }
    
    Ahora tenemos nuevas variables grabadas en la EEPROM

    Insertar CODE, HTML o PHP:
    // Valor de PulMinIn, PulMaxIn, PulMinOut, PulMaxOut, PulCenIn,  PulCenOut, VelMov
    // almacenado en la rom Primero Byte bajo y luego Byte Alto 
    // Podeis modificalos Manualmente usando el .HEX
    
    #ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07,0xf4, 0x01 ,0xc4, 0x09,  0xDC,  0x05, 0xDC, 0x05,0x08}
    Para aquellos que no quereis programar adjunto el .HEX
     

    Adjuntos:

  17. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Gracias Felix ahora lo probaré. Lo de modificar los datos en la EEPROM es buenísimo ya que puedes hacer pruebas hasta dar con el dato bueno y no es tan laborioso como compilar y demás.
    ¿Entre que valores podemos jugar con la velocidad de movimiento?

    Quería comentarte acerca del MK y la salida de datos por el Tilt de la FC, ¿podrías comprobar que ancho de pulso se genera cuando movemos la palanca del tilt al máximo y además movemos el MK en sentido contrario para que estabilice la cámara? ya que el servo se me queda parado en una posición y creo que es porque el ancho del pulso se sale de los valores EEPROM

    Gracias
    Alberto
     
  18. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Entre 1 y 255(0x01- 0xff) . El 0 no mueve nada y el FF es super rápido

    si te mueves entre 0x05 y 0x0E tiene un movimiento interesante.
     
  19. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Jode:censurado:, funciona perfecto.

    He puesto el valor Hexadecimal 23 que se corresponde con el 35 decimal y es la caña.

    Felicidades Felix.

    Este dispositivo para el movimiento de la cámara está perfecto especialmente para aquellos que tengan el movimiento controlado por una palanca de 2 ó 3 posiciones (otra de las posibilidades de la división de un canal proporcional en varios de tres posiciones), trenes retráctiles, etc.
     
  20. manreg Miembro

    manreg
    Registrado:
    17 Dic 2008
    Mensajes:
    115
    Me Gusta recibidos:
    0
    Lo he montado sin led ni pulsador y va perfecto, lo de poder variar la velocidad de giro del servo es una gozada, el servo gira suavemente sin ningún salto ni vibración. Es un montaje muy fácil, económico y muy práctico. Gracias Fbforos por este trabajo y haber publicado el código fuente del programa. No se programar pero estoy interesado en ello, estoy intentado comprender como funciona el programa y tengo la siguiente duda: ¿por qué para conocer la duración del pulso HIGH hay que dividir por 2 el intervalo entre los cambios de HIGH a LOW? porque la duración del LOW en un pulso no tiene que ser igual a la de HIGH. ¿no?

    Saludos a todos y mi agradecimiento a Fbforos por este trabajo.
     
    #20 manreg, 4 Jun 2010
    Última edición: 4 Jun 2010
  21. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Pregunta para nota

    Tiene que ver con la frecuencia a la que trabaja el micro.

    como trabaja a 8mhz cuenta una vez cada 0,5us. Eso quiere decir que cuenta 2 pulsos cada us. así que el resultado del contador hay que dividirlo por 2.
    Si trabajasemos con el micro a 4mhz no tendríamos que dividir ya que el contador se incrementaría en 1 cada us. pero tambien perderíamos resolución.

    El servo recibe unos 50 pulsos altos por segundo de entre 1 y 2 ms. El reto del tiempo permanece bajo. Cada uno de estos pulsos lo medimos y modificamos su duración a entre 0,5 y 2,5 ms para ampliar el recorrido

    Bueno el circuito impreso con el pulsador y el led ya lo tengo acabado así que lo publicaré en cuanto pueda y terminaré de publicar el programa.
    a veces pienso que lo del pulsador y el led es un poco chorradica ya que programarlo usando los valores almacenados en la memoria, tampoco es muy dificil.
     
  22. manreg Miembro

    manreg
    Registrado:
    17 Dic 2008
    Mensajes:
    115
    Me Gusta recibidos:
    0
    Ya, comprendo, mi error estaba en pensar que el timer devolvía uS y no he tenido en cuenta la velocidad del reloj del micro. Pero Fbforos, si la #INT_EXT detecta sólo los cambios de HIGH a LOW, entoces en este intervalo hay una parte HIGH y una LOW ¿no?
    No le he instalado el led ni el pulsador porque me resulta fácil cambiar los datos en la eeprom, pero lo veo muy interesante para estudiar el programa y aprender.

    Muchas gracias por tu respuesta.
     
  23. Ariel Miembro Activo

    Ariel
    Registrado:
    29 May 2009
    Mensajes:
    1.841
    Me Gusta recibidos:
    0
    Hola Felix, te importaría subir estos ficheros que tienes en los include?

    #include <lib_eeprom.h>
    #include <utilidades.h>

    o bien envíamelos por email.

    quiero retomar este maravilloso invento tuyo , si no te importa y ver si puedo agregarle mas funcionalidades.

    un saludo
     
  24. warthog Miembro

    warthog
    Registrado:
    24 Abr 2010
    Mensajes:
    306
    Me Gusta recibidos:
    0
    ampliador de recorrido

    Hola:
    Acabo de terminar uno de estos circuitos y me hace algo raro, cuando esta el servo en el centro hace un movimiento cada segundo mas o menos.
    Por lo demas funciona bien, la version primera, la que lleva el led indicador no me va, si es normal esto, avisarme y cuelgo los fotolitos de mis placas.
    Un saludo
     
  25. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Teoricamente no debe de temblar en el centro.
    El led es para la programación futura.
     
  26. Nosepo Miembro Activo

    Nosepo
    Registrado:
    12 Jul 2009
    Mensajes:
    1.621
    Me Gusta recibidos:
    0
    Hola, tengo unos cuantos 12F629 por ahi olvidados, creo que se pueden utilizar en tu proyecto pero que no funcionan tan bien como el pic recomendado por funcionar a 8Mhz. ¿Se notaria mucho el cambio? ¿habria que modificar el HEX? Gracias.
     
  27. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    En un principio tendrias que modificar el programa, además tendrías una resolución menor al correr el pic a 4mhz. En fin por el coste del PIC creo que no merece la pena
     
  28. warthog Miembro

    warthog
    Registrado:
    24 Abr 2010
    Mensajes:
    306
    Me Gusta recibidos:
    0
    Placa para montar en SMD

    Hola:
    Esta semana me he fabricado uno de estos ampliadores y va de maravilla, agradezco el esfuerzo que ha realizado fbforos
    Lo hice en SMD para que quedara pequeño y lo consegui, ademas le puse un puerto ICSP para poder variar la programacion sin tener que desmontar nada.
    Aqui os dejo las imagenes para la colocacion de los componentes y el fotolito de las pistas.

    [​IMG]
    [​IMG]

    P.D. Si alguien me dice como puedo colgar un PDF os pondria las imagenes en tamaño de impresion para que no tengais que escalar nada o me mandais un privado con un email y os las envio
    Un saludo
    Alejandro
     
  29. aerocalama Nuevo Miembro

    aerocalama
    Registrado:
    13 Abr 2010
    Mensajes:
    2
    Me Gusta recibidos:
    0
    Exelente...:party::party::party:
    en este momento me encuentro armando mi primer proyecto FPV:plane:

    se agradece la ayuda de todos los genios.
     
  30. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Bueno, primer paso es solucionar el bug. Ya invierte sin problema, eso espero:biggrin2:. Se puede seleccionar el punto central con las instrucciones al principio del hilo

    Insertar CODE, HTML o PHP:
    /////////////////////////////////////////////////////////////////////////
    ////               AmpRecorrido.c                                  ////
    
    ////  Este programa permite ampliar el recorrido de                  ////
    ////  de un servo.
    ////  El dispositivo será programable y almacenará los maximos       ////
    ////  Recorridos en la memoria                                       ////
    ////                                                                 ////
    ////  La conexión de los pines es la siguiente                       ////
    ////                                                                 ////
    ////             12F683     pin                                      ////
    ////                  1      +5V                                     ////
    ////                  2      GP5      Led para programación          ////
    ////                  3      GP4      Entrada desde el receptor      ////
    ////                  4      GP3      Pulsador para programación     ////
    ////                  5      GP2      INT  LO To HI                  ////
    ////                  6      GP1                                     ////
    ////                  7      GP0      Salida Servo                   ////
    ////                  8                gnd                           ////
    ////                                                                 ////
    /////////////////////////////////////////////////////////////////////////
    
    
    #include <12F683.h>
    // #deviceICD=TRUE 
    #include <lib_eeprom.h>
    #include <utilidades.h>
    #fuses INTRC_IO ,NOWDT,NOPROTECT, NOMCLR
    
    #use delay(clock=8000000)
    
    // Valor de PulMinIn, PulMaxIn, PulMinOut, PulMaxOut, PulCenIn, PulCenOut, VelMov
    // almacenado en la rom Primero Byte bajo y luego Byte Alto 
    // Podeis modificalos Manualmente usando el .HEX
    // Alberto Cristobal
    // #ROM 0x2100 ={0xf4, 0x01 ,0xc4, 0x09,0xE8, 0x03, 0xd0, 0x07,  0xDC, 0x05}
    //#ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07,0xE8, 0x03 ,0xd0, 0x07,  0xdc, 0x05,
    //              0xA4, 0x06,0xff}
    
    #ROM 0x2100 ={0xE8, 0x03, 0xd0, 0x07,0xd0, 0x07 ,0xE8, 0x03,  0xdc, 0x05,
                  0xdc,0x05,0xff}
    
    #define GP0 PIN_A0
    #define GP1 PIN_A1
    #define GP2 PIN_A2
    #define GP3 PIN_A3
    #define GP4 PIN_A4
    #define GP5 PIN_A5
    
    int16 PulMinIn=0, PulMinOut=0;
    int16 PulMaxIn=0, PulMaxOut=0;
    int16 PulcenIn=0, PulCenOut=0;
    int16 PulLon=0, PulOut=0,PulAct=1500;
    int GenPulse;
    int VelMov;
    
    byte FSon=1;
    
    #INT_EXT
    void isr_EXT (){
    
       PulLon = get_timer1();
    
        set_timer1(0);
        set_timer0(0);
        FSon=0;
        GenPulse=1;   
    }
    
    #INT_TIMER0
    void isr_TIMER0(){
       set_timer1(0);
       FSon=1;
       Output_high(GP5);
    }
    
    void main() {
    
    PulOut=0;
    PulMinIn=read_int16_eeprom(0);
    PulMaxIn=read_int16_eeprom(2);
    PulMinOut=read_int16_eeprom(4);
    PulMaxOut=read_int16_eeprom(6);
    PulCenIn=read_int16_eeprom(8);
    PulCenOut=read_int16_eeprom(10);
    VelMov=read_eeprom(12);
    
    SETUP_TIMER_1( T1_INTERNAL|T1_GATE_INVERTED);
    SETUP_TIMER_0(RTCC_INTERNAL |RTCC_DIV_256);
    ENABLE_INTERRUPTS(INT_EXT);
    EXT_INT_EDGE(H_TO_L);
    ENABLE_INTERRUPTS(INT_TIMER0);
    ENABLE_INTERRUPTS(GLOBAL);
    
    
    if (TRUE){
    
    }
    
    
    
    
      WHILE(TRUE) {
     
     
     
      if (GenPulse==1){
         output_low(gp5); 
         GenPulse=0;
         PulLon/=2;
         PulLon= constrain(PulLon,PulMaxIn,PulMinIn);
         if (PulLon>= PulCenIn)
         {
           PulOut= map(PulLon,PulCenIn,PulMaxIn, PulCenOut, PulMaxOut);
         }
         else
         {
           PulOut= map(PulLon,PulMinIn, PulCenIn,PulMinOut, PulCenOut);
         }
         PulAct=MovVel(PulAct,PulOut,VelMov);
         output_high(GP0);
         delay_us(PulAct);
         output_low(GP0); 
    
      }  
      while (FSon==1){
         output_high(GP0);
         delay_us(PulCenIn);
         output_low(GP0);
         delay_ms(20);
         set_timer0(0);          
      }  
      }
    
    }
    El hex adjunto

    Sigo trabajando para dejar finalizado el trabajo de programación mediante pulsador y poder comenzar con sacar 3 interruptores de un canal:baba:
     

    Adjuntos:

  31. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Gracias Felix, en cuanto pueda lo pruebo.
     
  32. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Hex probado,

    FUNCIONA FANTÁSTICO. :party::party::party:

    Gracias Felix. :worthy::worthy::worthy:

    Se puede:
    Aumentar recorrido
    Reducir recorrido
    Cambiar el centrado
    Variar la velocidad de giro
    Cambiar el sentido de giro

    ¿Que más se le puede pedir?
     
  33. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Que se pueda programar con el pulsador:laugh:
     
  34. Kiof Gurú FPV

    Kiof
    Registrado:
    30 Oct 2007
    Mensajes:
    3.266
    Me Gusta recibidos:
    0
    Hola perdonad que sea tan tontaco, me quiero hacer unos de estos y quisiera pedir para mi y otros tontacos como yo, si podríais poner la lista completa de componentes que se necesitan y cual de todos es el último HEX a meterle al PIC.

    ...estaría bien si esta info estuviera en el primer post para que lo burros como yo lo tuvieramos más facil.

    Muchas gracias y enhorabuena por el proyecto es muy útil.

    Saludos
     
  35. Pumuky Gurú FPV

    Pumuky
    Registrado:
    16 Sep 2008
    Mensajes:
    4.092
    Me Gusta recibidos:
    0
    Ahora pregunto yo??.

    Al variar la veloccidad de giro, tambien suaviza los posibles saltos que mande un pulso por falta de resolucion optima, hablo de los famosos saltitos de los mikrokopters en su estabilizacion de camara, yo supongo que si pero me queda la duda.

    Seguro que Acristobal ya lo probó.
     
  36. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    :tongue2: Sí ya lo he probado. :cool2:

    Quita gran parte de esos problemas, no los elimina pero los reduce mucho. :party:
     
  37. fbforos Miembro

    fbforos
    Registrado:
    1 Nov 2008
    Mensajes:
    984
    Me Gusta recibidos:
    0
    Me alegro de conocer estas nuevas funcionalidades. En el primer post he añadido la información pertinente según pidio KIOF.

    Me gusta ver que vale para muchas cosas:biggrin2:
     
  38. Kiof Gurú FPV

    Kiof
    Registrado:
    30 Oct 2007
    Mensajes:
    3.266
    Me Gusta recibidos:
    0
    Muchas gracias fbforos:smile:
     
  39. yapahoe Miembro

    yapahoe
    Registrado:
    18 Ago 2009
    Mensajes:
    578
    Me Gusta recibidos:
    0
    Que voltaje le entra?
    Desde donde se lo meteis?
     
  40. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    :confused::confused:
    Uno de los extremos se conecta al receptor ------->>>>> 5V

    Se lo metemos desde detrás.
     
  41. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Montaje del Pic

    Me gustaría montar un par de ellos para suavizar los movimientos del servo roll del Okto.
    Teneis alguna foto de como queda montado, es para saber si utilizais una placa de CI universal.
    ¿que tipo de condensador ponéis, smd?
    Aquí en mi ciudad es difícil encontrar estos componentes, ¿serviría un condensador normal de 100nF?

    Tengo mirados algunos programadores, creo que este funcionaria bien.

    Un saludo
     
  42. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Uno muy parecido es el que tengo yo para grabar estos y los del Dakar.

    Yo los monto directamente al aire sobre un zócalo de 8 patas. los condensadores pueden ser normales o SMD , es igual.

    El último privado ha llegado vacío.
     
  43. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Perdón no había leído tu post.
    No lo mandé vacío, es que se me colo el texto nuevo dentro de los "quotes"
    Te lo he vuelto a mandar.
    Precisamente lo que te preguntaba era como programabas los pics, y he visto que los tienes en zócalos.
    Ya he comprado el programador, 4 pics dos zócalos de 8 patas y 2 condensadores.

    Si que me interesaría mucho ver algún montaje o esquema para no liarme.
    No voy a usar el pulsador, por lo que supongo que solo debo conectar la señal entrante a las patas 3 y 5, la salida por la 7. ¿Verdad?

    ¿El led hace falta?
    Un saludo
     
  44. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Bueno ya tengo todos los componentes y el programador, para poder montar 4 circuitos.
    Mañana probaré de grabar mi primer pic, he cogido el último Hex que hay en este post. Ya cuando tenga abierto el programa os preguntaré como se pueden cambiar los valores, para poder personalizar los recorridos y las variables.

    Mas o menos lo tengo claro como va todo conectado, pero si que me gustaría ver alguna foto de las conexiones del CI, condensador y cables.
    Si alguien les es posible subir alguna se lo agradecería.

    Saludos
     
  45. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Circuito montado

    Hola a todos, esta tarde me he liado a grabar el pic y montar el circuito.

    Lo de grabar el pic me ha dado problemas porqué con el programa Win800 que es el que me aconsejaba el programador FEZ877_JDM, y el que usais en este post me daba un error de escritura en el pic, reconocia el programador pero no el pic, realizaba todo el proceso y al final daba error de escritura.

    En otra web he encontrado el soft PICProg4U que me ha permitido programar el Pic 12F683 correctamente.

    He probado el circuito y parece que funciona. Ahora me gustaría poder realizar cambios en el fichero Hex para poder ver sus funcionalidades.

    Aquí es donde me pierdo.....
    Me gustaría saber como poder variar los valores de recorrido max/min del servo y la velocidad.
    Supongo que necesito un editor Hex y lo mas importante saber donde están esos valores en el fichero para poder variarlos.
    Si alguien me lo puede explicar en plan sencillo..... :rolleyes2:

    Un saludo
     
  46. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    [​IMG]
    En la pestaña de datos puedes modificar los datos sin variar el HEX
    Esos datos son lo que se queda grabado en la EEPROM y los puedes modificar a la hora de grabar el PIC

    Para modificarlos tienes que ponerlos en Hexadecimal para ello puedes usar la calculadora de windows.
    Creo recordar que los datos eran (por dobles parejas)

    PULSMININ PULSMAXIN PULMINOUT PULMAXOUT
    PULSCETROOUT PULSCENTROOUT VELOCIDAD FF FF
     
  47. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Gracias Alberto por contestar tan rápido.
    Miraré porqué no me funciona el WinPic800, o intentaré hacerlo con otro soft que me permita realizar los cambios en esos datos.
    Lo que veo claro es que hay 7 variables y en la pantalla solo veo 5 parejas. Es ese dato lo que no me termina de cuadrar.
    Saludos
     
  48. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    El la imagen solo se ven 5 ya que es una imagen que colgó Felix en el propio hilo (hay que leer más) y no tenía tiempo de abrir el programa y capturar una imagen y colgarla y demás..

    Saludos
    Alberto
     
  49. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Problemas con el programador

    Gracias Alberto, por lo que veo en el cuadro son 7 variables (6 de dos Bytes y la velocidad con un byte)
    He vuelto a estar toda la tarde peleandome con el programador, el Winpic800 no hay manera de que me reconozca el programador, al final con el PicPro4U he conseguido que intentandolo muchas veces me detecte el programador.
    Creo que el fallo era que tenia metido el Pic en el zócalo y no había manera que me detectase el programador JDM.

    Cuando consigo que el Picpro4U me detecte el programador entonces puedo colocar el Pic y grabarlo. Pero no me deja cambiar datos :confused:

    Solución abro otro programa (el WinPic800 por ejemplo) cargo el Hex lo modifico y lo guardo. Después lo abro con el PicPro4U y lo grabo al pic.

    Hoy se me ha hecho tarde y no he podido probar el pic.
    A ver si estoy en lo correcto:
    PulMinIN: (pulso mínimo) E8 03 = 1000
    PulMaIN: (pulso máximo) D0 07 = 2000
    PulMinout: F4 01 = 500
    PulMaxout: C4 09 = 2500
    PulCenIn: DC 05 = 1500
    PulCenOut: DC 05 = 1500
    VelMov: 08 = 8

    Estos son los valores que tiene el fichero Hex del post 16
    Pero yo en el Pic había grabado el hex del post 30

    Supongo que el último fichero Hex del post 30 debe ser el mas actualizado.

    Supongo que para variar el recorrido son los valores del pulso mínimo y máximo de salida.
    Entiendo que si entra un pulso de 1000 lo convierte en 500, y cuando el pulso de entrada es 2000 se convierte en 2500. (¿para invertir el sentido debería cambiar los valores de los pulsos de salida?)

    El PulCenIn debe ser el pulso central y el PulCenOut el pulso central aplicado al servo.

    La VelMov probaré a cambiarlo a 25 hexadecimal como tu lo tienes.

    En caso de failsafe como funcionaría?
    A ver si mañana puedo probar estos cambios y practico..:party:
    La verdad es que engancha cuando empiezas a entender un poco como va esto...
    Mi idea es programar un Pic para el Roll del MK y otro para aumentar el recorrido de un servo Pan en el Diamond.

    Saludos
     

    Adjuntos:

  50. Pere_gs Maestro FPV

    Pere_gs
    Registrado:
    1 Sep 2009
    Mensajes:
    2.553
    Me Gusta recibidos:
    0
    Cricuito realizado

    Bueno por fin he conseguido que funcionen un par de circuitos.
    Os pongo unas fotos de como ha quedado.
    También aprovecho para dar las gracias a fbforos por compartir este circuito.

    Pero no tengo la suerte de cara. En el receptor Azul del MK el circuito funciona perfecto, pero los espasmos del roll continuan. Solo desaparecen si solo conecto el servo del Roll, si coloco el Tilt ya no va fino. parece como si hubiera un problema del regulador de tensión.

    He probado los dos circuitos en el receptor Rojo del Diamond para hacer el Pan y no hay manera de que funcione. El servo se posiciona en el centro y de allí no se mueve.

    No entiendo como en el mismo canal 6 del receptor y con la misma configuración en la emisora, en el receptor Azul de DMD funciona bien y en el Rojo no :icon_eek:
    Pero los dos receptores funcionan igual si conecto el servo directo al canal 6.
    Algo raro hay en la señal del receptor Rojo que el programa del Pic detecta Failsafe.

    Creo que la señal del canal 6 en ambos los receptores debería ser la misma....... pero por lo visto hay algún pequeño cambio.

    Tendré que mirar de actualizar el receptor Rojo, a ver si es problema del soft.
    Pero yo pensaba que la salida de los canales en el receptor eran iguales....

    En fin tanto trabajo y siempre salen pegas :sad:

    Un saludo
     

    Adjuntos:

    #50 Pere_gs, 14 Ene 2011
    Última edición: 14 Ene 2011

Compartir esta página