Herramientas Buscar en Tema
Antiguo 26/09/2015, 00:31   #1651
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Llegue a cansarme de preguntar un montón de veces por los valores de PID, y me reportabais que llevabais los de por defecto, y en cambio a mi me funciona OK con valores muy diferentes, sobre todo lo que no entendía era que el min servo pan necesitara 50, cuando a mi con 1 fuera OK y si lo subía empeoraba cada vez mas las respuestas en el servotes.
daros cuenta que en la formula el min servo pan, es una constante que se suma al valor de control PID, es decir le quita protagonismo al PID y si se sube mucho, llega a anular la respuesta de control PID pasando a un control todo-nada.
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:34   #1652
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Yo en un momento de inspiración, me di cuenta que el sistema al corregir el error de posición lo hacia hacia el lado contrario, de lo cual deduje que la ganancia estaba invertida, o que el servo giraba al revés, por eso decidí antes de desmontar el servo probar con los PID invertidos y sonó la flauta, a partir de ese día empezamos a tener Traker.
Pues ese es tan sólo uno de los problemas. Si al intentar llegar a una posición, se pasa o no llega, se ajusta con los PIDS y puede haber una oscilación, y al intentar corregirlo, puede que intente moverse en sentido contrario, como bien dices.

El otro problema es que en ese cálculo no tienen en cuenta que el aparato puede haberse pasado de largo, no porque se hayan pasado con los PID, sino porque están en el otro lado del meridiano.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:35   #1653
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Llegue a cansarme de preguntar un montón de veces por los valores de PID, y me reportabais que llevabais los de por defecto, y en cambio a mi me funciona OK con valores muy diferentes, sobre todo lo que no entendía era que el min servo pan necesitara 50, cuando a mi con 1 fuera OK y si lo subía empeoraba cada vez mas las respuestas en el servotes.
daros cuenta que en la formula el min servo pan, es una constante que se suma al valor de control PID, es decir le quita protagonismo al PID y si se sube mucho, llega a anular la respuesta de control PID pasando a un control todo-nada.
Claro, pero los míos por defecto eran muy distinto a los PID por defecto de Guillesan, el estaba con otros PIDS por defecto más antiguos.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:35   #1654
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M.
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:38   #1655
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
Bueno Simba flasheado con esos valores negativos, mañana lo pruebo, ya pondre resultados.
Guillesan, yo creo que tu problema es que los PIDS son demasiado altos para esta versión, y que el OFFSET podría no ser correcto.

Si tienes la misma versión que yo, la 0.5 recién descargada del master, deberías poner los PID como yo y luego ajustar el OFFSET si fuera necesario. Y el MIN_PAN_SPEED y DECLINAICÓN a CERO para que no influyan.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:40   #1656
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M.
Pues si funciona, aplica la primera ley de la informática..."NO LO TOQUES".

Yo mañana estoy de montaña, andaré por casa a partir de las 7 u 8 de la tarde. Hasta entonces estaré completamente desconectado.

Buenas noches y buen descanso.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 00:42   #1657
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.984 Mensajes
Cita:
Iniciado por rortega Ver mensaje
Pues si funciona, aplica la primera ley de la informática..."NO LO TOQUES".

Yo mañana estoy de montaña, andaré por casa a partir de las 7 u 8 de la tarde. Hasta entonces estaré completamente desconectado.

Buenas noches y buen descanso.
Buenas noche rortega, mañana seguiremos, si te apetece cuando vuelbas espero haber puesto los resultados, ok
Buena caminata por la montaña
Guillesan esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 01:06   #1658
TURRUK
* * *
 
Avatar de TURRUK
 
Ingreso 04/abr/2012
397 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M.
Hola, y por que no prueba el con servotest , yo me recuerdo al principio que por casualidad me invertido el este valor a negativo ,ya empezo girar a sentido correcto.
TURRUK esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 08:18   #1659
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por TURRUK Ver mensaje
Hola, y por que no prueba el con servotest , yo me recuerdo al principio que por casualidad me invertido el este valor a negativo ,ya empezo girar a sentido correcto.
Pues la verdad que lo más sensato, antes de modificar el código sería que Guillesan use SERVOTEST para encontrar los valores de PID que más se ajusten.

Aún no he salido para la montaña, estoy desayunando, y tengo un poco de tiempo para seguir dándole vueltas a la perola...

Lo que más me despista en todo esto es le parámetro MIN_PAN_SPEED, el cual aún no comprendo para que sirve. Ese dato me despista, porque como dije, no tengo ni idea de servos, esto es, no sé si realmente existen servos con giro de 360º, que puedan girar de forma continua, y no solo eso, sino que además, al igual que pasa con el servo tilt cuando no lo modificamos, el darle un ancho de pulso u otro en milisegundos lo coloca en una posición exacta u otra...no sé si me pilláis por donde voy.

Mi dudas son dos:
  1. ¿Un servo de giro continuo de 360º es capaz de girar a distintas velocidades?
  2. ¿Un servo de giro continuo de 360º es capaz de girar hasta un ángulo determinado en función del pulso?
Yo entendí, por como se comporta mi servo "modificado" (que es la primera vez que modifico uno) que tenemos un pulso en el que se para, que si lo revasas gira a un lado y si le das un valor inferor gira al otro, pero no recuerdo haberlo visto ir más rápido o más lento, lo hace a un lado a una velocidad y al otro a otra ligeramente más rápida, pero nunca distintas velocidades girando en un mismo sentido.


¿Por qué pregunto todo ésto? Porque veo en las fórmulas de cálculo de PID que lo que se hace es conseguir modificar el pulso de salida entre -500 y 500, cuando realmente mi servo sólo necesita un pulso e incrementar o decrementar una cantidad fija en función de hacia donde quiero que gire, y cuando el cálculo de error sea 0 detenerlo:


PWMOutput = PAN_0 + PID - MIN_PAN_SPEED

De hecho, una cosa que he notado estos días, es que el servo hacía como que rebotaba, y no era eso, era que debido a esos valores de los parámetros, se intentaba ir hacia el lado contrario unos grados, pero luego se iba hacia el lado correcto.

Bueno, pues todo esto me dice a mí, que un servo modificado y un servo de 360º como los que usa el que ha diseñado el código funcionan de forma distinta, o bien el código estaba pensado para otro tipo de motores y lo han adaptado a servos, saliendo este lío que llevan ya meses modificando.

Guillesan puse el MIN_PAN_SPEED a cero para que no influyera en ese cálculo del pulso pensando en eso mismo, viendo que tenía distintos comportamientos en función de si lo ponía en positivo o en negativo, y teniendo en mente lo que han descubriero Turruk y Simba con la fórmula. Y como tú tenías un código en el que aún no habían metido el MIN_PAN_SPEED, ahora te funciona tan mal.

Yo probaría como dice Turruk, a modificar PIDS desde servotest, pero antes haber puesto el MIN_PAN_SPEED a 0. El OFFSET déjalo como lo tengas puesto porque creo que sí que lo tienes bien. Y deja la DECLINACION a cero de momento para que no influya en el cálculo de error de ángulo.

El hecho de que el otro track te funcione es porque tienes una versión antigua que no se ve afectada por ese MIN_PAN_SPEED, pues no existía.

A parte, sigo manteniendo que no se ha tenido en cuenta a que alguien pueda cruzar el meridiano 0.

Nos leemos esta tarde/noche...


__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 10:34   #1660
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Cita:
Iniciado por rortega Ver mensaje
Mi dudas son dos:
  1. ¿Un servo de giro continuo de 360º es capaz de girar a distintas velocidades?
  2. ¿Un servo de giro continuo de 360º es capaz de girar hasta un ángulo determinado en función del pulso?
La 1ª cuestión es SI, puede y gira a diferentes velocidades, dependiendo de la desviación o error medido, es un efecto secundario no deseado pero impepinablemente la física funciona así.

Un servo de 360º es exactamente igual a un servo normal, salvo el típico cambio del pot por resistencias fijas y el tope mecánico.

Un servo en si mismo, es un sistema de control de posición, y se basa en los sistemas de control PID, las siglas de control Proporcional, con corrección Integral y Derivativo.

El concepto control proporcional, implica que la acción de control, es decir la fuerza o acción de control, sera proporcional a la desviación o diferencia, que hay entre el valor deseado (posición) y el valor medido (desviación).

Si la desviación o error es mucho, la acción tiene que ser mayor y proporcional a la desviación, por lo tanto en el seno de los circuitos de control del servo, se genera un aumento o disminución de la anchura del pulso, que hace que gire el motor del servo para corregir el error.

Si el error es muy pequeño, la fuerza de control es también pequeña y el movimiento es lento o incluso muy lento.

Lo ideal seria que el servo tuviera una acción inmediata con respuesta de tiempo 0 segundos, que arranque y se pare en tiempo 0, pero esto es imposible por las leyes de la física, y necesariamente para hacer que esto funcione se invento la corrección Integral y la Derivativa, pero al final y no me extiendo mas, lo cierto es que se consiguen buenas velocidades y control total sin oscilaciones, gracias a las acciones Integral y derivativa, que palían en lo posible, las limitaciones que tiene el control Proporcional puro.
Fijaros en un detalle, si solo estuviera el control por acción Proporcional, cuando la diferencia entre el valor deseado y el medido (error) fuera pequeño, proporcionalmente la acción de control seria también pequeña, y se da el caso que al ser tan pequeña, no es capaz de generar suficiente fuerza, como para mover o arrancar el servo, por los frenos y resistencias mecánicas. En este caso se produce siempre un error de posición final, que se llama offset.

Para corregir este error de offset, se invento la acción Integral, que es una cosa así como que al final de la acción Proporcional, le suma una ganancia extra para que puede corregir el offset, es como un empujón final, no es que sea así, lo digo solo para que se entienda.


La 2ª cuestión es NO, solo gira en función de si el pulso es + o - ancho que el pulso de equilibrio central, hacia un sentido o el contrario.

Ya nos encargamos nosotros de eliminar el potenciómetro, que media el error o desviación de angulo, por lo tanto cuando le llega al servo un pulso que no es exactamente igual al que está generado por el potenciómetro fijo (en nuestro caso las dos resistencias), siempre va a tener una desviación sea a un lado o al otro, y solo se parara de dar vueltas, cuando le mandemos otra vez el valor de equilibrio, el tan jodido de ajustar valor de Pan 0.

El servo (sin modificar a 360º) es como una balanza, el mismo genera unos pulsos, que son comparados con los pulsos que le llegan externamente, si los dos pulsos son exactamente iguales, la acción es estar parado, pero si el pulso que le llega es digamos mas ancho, la diferencia con el pulso generado en el servo se establece, y el servo gira en el sentido que hace mover el potenciómetro, hasta que gracias a esta variación se genera un cambio en el pulso generado en el servo, que es exactamente igual al que le habíamos metido externamente, y de todo este lio se establece una nueve posición del servo.


Espero no haber liado aun mas la madeja, pero si hay dudas no lo dudéis volveré a la carga, y meteré aun mas rollo.

Que seáis felices.
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 11:07   #1661
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
PWMOutput = PAN_0 + PID - MIN_PAN_SPEED

Vamos a ver esto que pones es solo una parte del filtro de centrado, esta formula, no es la formula de control, solo es un filtro para corregir o eliminar las pequeñas desviaciones que se producen alrededor del punto de control del traker.
Es como una ventana que dentro de la cual, la acción de control es 0 y la antena se para y no esta oscilando.

Yo he llegado después de ajustar bien los PID, a dejar el angulo de ventana a 1º y -1º, es decir una ventana de 2º, cuando por defecto esta a 10º, pero esto depende de cada sistema y de los errores mecánicos.

Editado por Simba; 26/09/2015 a las 11:49
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 14:24   #1662
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.984 Mensajes
Si es verdad que estamos haciendo funcionar unos y otros con mas o menos esfuerzo nuestras antenas tracking , parece que segun opinion de rortega tiene sus puntas flacos.
Personalmente he parado por unas horas el rectifica, prueba y vuelbe a rectificar , tengo una empanada mental del 10, asi que tranquilidad , me tomo un ratito para volar y coger la cosa con mas serenidad, a fin de cuentas de eso se trata.
Pero y esto es lo que quiero poner a vuestra opinion , estamos todos intentando sacarle la mayor precision a nuestras mecanicas y mi reflexion es si no seria mas idoneo usar motores paso a paso para mover el pan y tilt , con potencias acordes al peso que tengamos cada uno en nuestras antenas.
Pienso que esta opcion ofreceria una mayor precision de la posicion y robustez . Los servos que usamos tienen la precision que tienen y puede que necesitemos mas.
En fin ahi va la reflexion aunque y desgraciadamente no se si es factible, muy dificil, o todo lo contrario . Yo no tengo conocimientos necesarios, pero aqui tenemos verdaderos genios que pueden responderme, en especial nuestro amigo rortega,
Saludos.
Guillesan esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 15:17   #1663
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Guillesan lo del motor paso a paso lo hemos pensado y desechado, mas que nada por que parece estar de moda, pero es para lo que es y en el caso del Traker, no creo que sea necesario en absoluto, y la precisión de nuestro Traler360 es absolutamente suficiente y de sobra, para nada necesitamos mas precisión, eso si hay que ajustar correctamente, sin pasarse en manías que yo también caigo en ese error algunas veces.
Los servos que yo llevo no son para arruinarse, con 20€ tienes para los 2 y te sobran €, quiero decir que no son unos servos especiales ni nada de eso, y el traker y la caja actual es la del Kit de cartonpiedra, pero de momento y hasta que no termine la caja de plastico bueno, sigo con el cacharro, y no se como volver a decirlo, va que te cagas, no se le puede pedir mas, por que realmente va prácticamente igual al de MFD.

Es lo que yo pienso y cuanto mas sencillo mejor.
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 15:27   #1664
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes
Viy a verificar que tengo yo, acordaos de que al principio lo tenía al revés. Lo mito y digo

Enviado desde mi SM-G900F mediante Tapatalk
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 15:37   #1665
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes
mi config.ha version 0.5

Funciona bien, voy hacer una foto de la brujula tal y como la tengo en el tracker, que como es exterior Ayudará bastante


#ifndef CONFIG_H
#define CONFIG_H

/* Config file
* created by Samuel Brucksch, edited by Raúl Ortega.
*
*/
// #define DEBUG

/** PID Values
*
* MAX_PID_ERROR is the máximun grades allowed error in the PAN angle calculations.
* If after moving the PAN servo, the difference between reached angle and desired
* angle is smaller or greater than this value, the angle will be corrected using PIDs.
*
*/
#define P -1500 //5000 //default 2200
#define I 280 //100 //default 280
#define D 20000 //1000 //default 20000
#define MAX_PID_ERROR 10 // default 10
/* #### Atmega 2560 ####
*
* If using an APM or Atmega 2560 we do not need softserial, so uncomment if using an atema 2560
*
* MEGA -> APM & other MEGA Boards
*/
//#define MEGA

/* #### Protocol ####
*
* FRSKY_D, FRSKY_X, HOTT, EXTERNAL
*
* FRSKY_D -> D-Series
* FRSKY_X -> Taranis / XJT
* HOTT -> MX12, MX16 and all other HoTT transmitters with telemetry
* RVOSD
* MFD -> MFD protocol will not work with local GPS!!!!
* MAVLINK -> Mavlink protocol (APM/Pixhawk/...)
* GPS_TELEMETRY -> direct NMEA input
* SERVOTEST
*/
//#define SERVOTEST
#define GPS_TELEMETRY
//#define RVOSD
/* #### Baud Rate ####
*
* baud rate of telemetry input
* 9600 for FRSKY_D -> D-Series
* 57600 for FRSKY_X -> Taranis/XJT and MAVLINK
* 115200 for RVOSD (RVGS)
* ??? for HoTT
*/
#define BAUD 9600 // default 9600

/* #### Tilt servo 0° adjustment ####
*
* Enter PWM value of Servo for pointing straight forward
*/
#define TILT_0 800 // 1200 // default 1050

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 1733 // 1500 // default 2025

/* ### Easing effect for tilt movements (EXPERIMENTAL)
*
* TILT_EASING_STEPS is the maximun number of steps to reach tilt position using easing functions
*
* 0 or 1: normal use, no easing effect applied, servo will reach tilt position in only 1 step.
* >1: servo will move to tilt position in with easing effect.
* 60 steps ~ 1 second
* 30 steps ~ 1/2 seconds
* 15 stips ~ 1/4 seconds
*
* TILT_EASING_MIN_ANGLE: Easing is applied if the difference between last and new tilt position is greater than TILT_EASING_MIN_ANGLE grade.
* TILT_EASING_MILIS: Is the time in miliseconds spend by echa step.
*/
#define TILT_EASING
#define TILT_EASING_STEPS 15 // default 10
#define TILT_EASING_MIN_ANGLE 2 // default 4
#define TILT_EASING_MILIS 15 //default 15
/*
* ### Easing ecuations
* EASE_OUT_QRT -> The easing effect is only applied at the end of the movement.
* EASE_INOUT_QRT -> The easing effect is applied at the begining and at the end of the movement.
* EASE_OUT_CIRC -> The easing out circular effect.
* Read more: Easing ecuations by Robert Penner, http://www.gizma.com/easing/
*/
#define EASE_OUT_QRT // Easing Out Quart function
//#define EASE_INOUT_QRT // Easing In Out Quart function
//#define EASE_OUT_CIRC / Easing Out Circular function
/* #### Pan servo 0° adjustment ####
*
* Enter PWM value of Servo for not moving
*/
#define PAN_0 1500 // default 1470

/* #### Pan servo minimum required speed ####
*
* If the servo has problems to start a rotation when the speed is slow adjust this value until the tracker moves directly from each position
*/
#define MIN_PAN_SPEED 65 // default 50

/* #### Compass declination ####
*
* http://magnetic-declination.com/
* Enter your city and then get the value for Magnetic declination
* for example [Magnetic declination: 3° 2' EAST]
*
* now enter the value in the format DEGREE.MINUTE * 10 -> 3.2 * 10 = 32
*
* set to 0 if you cannot find your declination!
*/
#define DECLINATION 32 //default 32

/* #### Compass offset ####
*
* If you did not mount your compass with the arrow pointing to the front you can set an offset here.
*
* Needs to be multiplied by 10 -> 90° = 900
*
* Range: 0 ... 3599
*
*/
#define OFFSET 0 //default 900

/* #### DIY GPS / Fix Type ####
*
* If you use the diy GPS the fix type is transmitted with the satellites on Temp2. The value is calculated like this:
* Num of Sats: 7
* Fix Type: 3
* Value = Sats * 10 + Fix Type = 7*10 + 3 = 73
*
* If you use the native frsky gps or fixtype is not present comment to disable.
*/
//#define DIY_GPS

#ifndef MFD
/* #### Ground GPS ####
*
* !!!!!!NOT SUPPORTED YET!!!!!!!
*
* needed for ground gps so home does not need to be manually set
*
* Types:
* MTK, UBX
* UBX not implemented yet
*
* does not work when in MFD mode
*/
#define LOCAL_GPS // default uncommented
//#define MTK
#define GPS_BAUDRATE 9600 //default 9600
#endif

/* #### Tracker Setup ####
*
* Start tracking when plane is XXX m away from tracker
*
* It is recommended to start tracking only if plane moved a few meters already. Default: 10m
*
*/
#define START_TRACKING_DISTANCE 10 //default 10

/* ### LCD Display ###
*
* Uncomment to display data on LCD Display
*
* Please choose for the Display Type:
* I2C
* SPI
*
* LCD Display is required for this.
*
* Requires modified LiquidCrystal library: https://bitbucket.org/fmalpartida/ne...stal/downloads
*
*/
#define LCD_DISPLAY I2C
// no usar esta línea, es sólo experimental // #define LCD_SIZE_COL 16 // default 16. Not tested 20.
#define LCD_SIZE_ROW 2 // default 2. Not tested with 4.

/*
* LCD Display I2C ADDRESS
* Default is 0x27 if uncommented. You'll need a I2C address scanner sketch if you don't know the correct one.
* If your LCD has a different address descoment this line and change its value.
*/
//#define LCD_I2C_ADDR 0x3F //default 0x27

/*
* LCD display bought at en Banggood http://www.banggood.com/IIC-I2C-1602...-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6s...1_I2C.zip?dl=0
* The 1602 is the correct one.
* The default I2C address for this LCD display is 0x3F
*/
#define LCD_BANGGOOD_SKU166911 //default commented

/* ### Battery monitoring ###
*
* Uncomment to monitor your Battery
*
* Voltage divider is required for this.
*
*/
//#define BATTERYMONITORING
#ifdef BATTERYMONITORING
//#define BATTERYMONITORING_RESISTOR_1 18000
//#define BATTERYMONITORING_RESISTOR_2 1000
//#define BATTERYMONITORING_CORRECTION 1.0 // default 1.0
#endif

/* #### Do not edit below this line */
#if TILT_0 < 800 || TILT_0 > 2200 || TILT_90 > 2200 || TILT_90 < 800
#error "Tilt servo range invalid. Must be between 800 and 2200."
#endif

#if OFFSET < 0 || OFFSET > 3599
#error "Offset invalid. Must be between 0 and 3599."
#endif

#endif
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 15:41   #1666
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes





Enviado desde mi SM-G900F mediante Tapatalk
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 16:15   #1667
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Marcoasj, Tu servo de Pan según quedamos era el correcto, mete los mismos valores que tengo yo en el config.h de PID y en min de servo pan 1.
Los trakers aunque no sean iguales son muy parecidos y mis valores te pueden servir perfectamente, luego ya es cuestión de ajustar fino, de echo son los mismos valores que lleva Turruk y a el le van igual de bien que a mi siendo 2 mecánicas montadas en caparazones totalmente diferentes.

#define P 2500 //5000 //default 2200
#define I 60 //100 //default 280
#define D 1500 //1000 //default 20000


#define MIN_PAN_SPEED 1 (le puedes poner tambien 0)
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 16:16   #1668
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes
Ok, en cuanto vuelva la placa de vuelta se los pongo.

Enviado desde mi SM-G900F mediante Tapatalk
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 18:18   #1669
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Simba Ver mensaje
PWMOutput = PAN_0 + PID - MIN_PAN_SPEED

Vamos a ver esto que pones es solo una parte del filtro de centrado, esta formula, no es la formula de control, solo es un filtro para corregir o eliminar las pequeñas desviaciones que se producen alrededor del punto de control del traker.
Es como una ventana que dentro de la cual, la acción de control es 0 y la antena se para y no esta oscilando.

Yo he llegado después de ajustar bien los PID, a dejar el angulo de ventana a 1º y -1º, es decir una ventana de 2º, cuando por defecto esta a 10º, pero esto depende de cada sistema y de los errores mecánicos.
Sí, sé perfectamente que esa fórmula sólo corrige el error, la desviación del ángulo se mide en la que función getError que puse más abajo, y posiblemente ambas estén mal. La una se olvida de que se puede volar en el oeste, y la otra hace unos cálculos de corrección de pulso innecesarios, basta con que mueva el servo a un lado o al otro, pero no calcular en cada corrección un pulso distinto. Sólo se necesita seguir moviendo el tracker en un sentido o en otro hasta igualar H y A, es decir, delta sea cero, y si me he pasado de largo rectificar en sentido contrario.

Yo lo que veo es que se intentan modificar tanto sentido de giro como velocidad, cuando parece ser que solo necesitamos controlar sentido de giro y diferencia de ángulo.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 20:37   #1670
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.984 Mensajes
Hola a todos, rortega espero haya ido bien el paseo.
Bueno hoy he ido a volar para airearme el coco.
mañana ataco una vez mas a la antena.
Veremos como sale.
Guillesan esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 20:56   #1671
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
Hola a todos, rortega espero haya ido bien el paseo.
Bueno hoy he ido a volar para airearme el coco.
mañana ataco una vez mas a la antena.
Veremos como sale.
Sí, bien, a ver si mañana das en la tecla
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 22:41   #1672
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Marcoasj, me he permitido estudiar un poco las fotos del Magnetometro, y creo en mi modesta opinión que lo tienes mal posicionado.
Mal posicionado respecto a como lo tengo yo en la Crius, al menos el chip del magnetometro que es el L883, en la Crius esta posicionado , con respecto al tuyo, en la dirección de la flecha Y.
Para que me entiendas, creo que deberías ponerlo con la flecha Y, dirigida al frente del traker, y poner en el Config.h el offset a 2700 tal como lo tengo yo.

Perdón si me he equivocado.
Simba esta en línea ahora   Responder Citando
Antiguo 26/09/2015, 22:52   #1673
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Guillesan cuando puedas me pones una foto, que se vea como tienes montado el magnetometro.
Gracias.
Simba esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 00:24   #1674
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Marcoasj, me he permitido estudiar un poco las fotos del Magnetometro, y creo en mi modesta opinión que lo tienes mal posicionado.
Mal posicionado respecto a como lo tengo yo en la Crius, al menos el chip del magnetometro que es el L883, en la Crius esta posicionado , con respecto al tuyo, en la dirección de la flecha Y.
Para que me entiendas, creo que deberías ponerlo con la flecha Y, dirigida al frente del traker, y poner en el Config.h el offset a 2700 tal como lo tengo yo.

Perdón si me he equivocado.
Posiblemente tengas razón, pero no le preste mucha atención pq como podía variar el offset sencillamente lo deje fijo y luego ajuste el offset para que coincidiera, pero sin prestar atención.

Enviado desde mi SM-G900F mediante Tapatalk
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 00:29   #1675
marcoasj
* * * *
 
Avatar de marcoasj
 
Ingreso 02/mar/2015
De Cáceres
532 Mensajes
Cita:
Iniciado por marcoasj Ver mensaje
Posiblemente tengas razón, pero no le preste mucha atención pq como podía variar el offset sencillamente lo deje fijo y luego ajuste el offset para que coincidiera, pero sin prestar atención.

Enviado desde mi SM-G900F mediante Tapatalk
Bueno, para ser sincero fue al revés, puse el offset a cero y luego movi el magnetómetro hasta que salía cero en el LCD del tracker. Me pareció lo más lógico.

Enviado desde mi SM-G900F mediante Tapatalk
__________________
Permiso para aporrizar en...cualquier sitio...
marcoasj esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 07:14   #1676
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Ésto de poner el offset 2700 con el mag mirando al frente habría que corregirlo, es completamente confuso, sin sentido.

Hoy voy a reescribir esas funciones y voy a dejarlo para que no se produzcan éstos problemas.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 10:43   #1677
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Pues me parece una muy buena idea rortega, por que la verdad es que es bastante difícil de comprender, al menos para mi.
He estado tratando de entender tus razonamientos del meridiano 0, y la verdad es que por mas que lo he intentado, no llego a entender como hace el calculo el programa y donde está el error.

Yo al margen de esto, tenia un concepto del control que hace de PID, que al desconocer gran parte de la filosofía de programación Arduino, pensaba que se utilizaban unos algoritmos PID, que estarían en alguna librería o algo así, y que al programa los llamara para hacer los cálculos, pero ya estoy pensando que no lo hace así, que tan solo se han inventado unas sencillas formulas, mas bien de compromiso para solucionar el control, y que tales formulas tienen que ver muy poco con un verdadero algoritmo de control PID.
Ya me sacaras de dudas cuando puedas.

Por cierto no me dices nada de mi explicación de los servos 360º, mas que nada me gustaría saber tu opinión y si ha servido para algo semejante rollo.

Gracias.
Simba esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 10:46   #1678
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.669 Mensajes
Cita:
Iniciado por marcoasj Ver mensaje
Bueno, para ser sincero fue al revés, puse el offset a cero y luego movi el magnetómetro hasta que salía cero en el LCD del tracker. Me pareció lo más lógico.

Enviado desde mi SM-G900F mediante Tapatalk
En mi caso ese procedimiento no me funciono, y solo y unicamente me funcionaba bien, con la flecha indicando hacia adelante y con el offset a 2700, solo de esa forma funciona bien.
No me preguntes por que, pero solo así funciona.
Simba esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 12:09   #1679
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Por cierto no me dices nada de mi explicación de los servos 360º, mas que nada me gustaría saber tu opinión y si ha servido para algo semejante rollo.
Gracias.
Sí, me sirvió para saber que los servos ya usan PID en el control de su movimiento, y para estar cada vez más convencido de que lo que estaba pensando, que no necesitamos un control PID en el firm para corregir el ancho del pulso, que solo necesitamos movernos a izquierda, movernos a derecha, y pararnos cuando delta sea menor o igual al error máximo de ángulo permitido.

Sería aplicar sólo 3 pulsos muy concretos, y como mucho aplicar un par de pulsos adicionales, uno un poco mayor y otro un poco menor, muy cercanos al pulso de parada, que aplicaríamos cuando estamos muy cerca del delta igual a cero, el uno si estamos a un lado y el otro si estamos al otro del angulo deseado, pues he comprobado que aplicando esos pulsos el servo gira muy lentamente, casi que se quiere parar, supongo que por eso que tu comentabas de las leyes de la física, de ese modo cuando el error del ángulo es pequeño moveríamos el tracker algo más lento para no dar trancazos...

Puedo estar equivocado, pero es lo que ronda mi cabeza desde que he visto lo que está pasando con el control PID implementado, que creo que se intentan corregir velocidades a base de aplicar pulsos en un rango de +-500 milisegundos (es decir, es posible aplicar 1000 pulsos distintos), cuando solo necesitamos conocer 3 concretos, a lo sumo 5.

Yo no sé piensas eso mismo que yo, que lo que necesitamos corregir son ángulos y no anchos de pulso mediante PID.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 27/09/2015, 12:13   #1680
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.835 Mensajes
Guillesan, has probado ya???
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando


Herramientas Buscar en Tema
Buscar en Tema:

Búsq. Avanzada

Ir al foro

Temas similares
Tema Autor Foro Resp. Último mensaje
Ayuda! antena tracker darylkorn R/C Antenas, Emisores, Receptores y Comunicaciones 0 14/04/2015 10:25
Opiniones antena tracker mdf o rv antoniobernal R/C Antenas, Emisores, Receptores y Comunicaciones 7 14/07/2014 10:34
Busco antena tracker duckcrazy MERCADO de COMPRA / VENTA 0 15/06/2012 08:45
Opiniones Recomendarme un Antena Tracker jonpeter R/C Antenas, Emisores, Receptores y Comunicaciones 3 06/05/2012 20:30


Tu hora GMT +1. Ahora son las 16:26.


2015