Herramientas Buscar en Tema
Antiguo 25/09/2015, 18:47   #1591
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
En pantalla de RVGS los datos lat/long salen sin signo negativo, en el LCD de la antena tampoco, no se donde te refieres mire si hay un signo negativo en las coordenadas.
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 18:51   #1592
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
En pantalla de RVGS los datos lat/long salen sin signo negativo, en el LCD de la antena tampoco, no se donde te refieres mire si hay un signo negativo en las coordenadas.
A eso me refería. Voy a ver el código por si encuentro algo extraño.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 18:53   #1593
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
Te lo agradezco , esto está casi a punto caramelo.
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 18:56   #1594
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Simba, tú que versión estás usando del código, la v0.5, o una anterior donde ya implementamos el easing? Es que lo de que gire en sentido contrario creo que a mí me lo hace también, pero como siempre estoy sobre la mesa y con simulación, nunca me había fijado. No sé si el cambio negativo que tu haces en la fórmula tiene que ver...
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 18:58   #1595
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Simba ¿Cuando tu te descargas alguna versión de las que yo modifico, vuelves a hacer el cambio en la fórmula?
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 19:01   #1596
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por rortega Ver mensaje
Simba, tú que versión estás usando del código, la v0.5, o una anterior donde ya implementamos el easing? Es que lo de que gire en sentido contrario creo que a mí me lo hace también, pero como siempre estoy sobre la mesa y con simulación, nunca me había fijado. No sé si el cambio negativo que tu haces en la fórmula tiene que ver...
Recuerdo que has comentado en varias ocasiones eso de tener el servo invertido...
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 19:13   #1597
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
Te lo agradezco , esto está casi a punto caramelo.
Guillesan, comprueba si en el config.ha tienes el OFFSET a 2700. Ese lo puse yo así para el mío porque no apuntaba al norte en las pruebas.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 19:16   #1598
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
Cita:
Iniciado por rortega Ver mensaje
Guillesan, comprueba si en el config.ha tienes el OFFSET a 2700. Ese lo puse yo así para el mío porque no apuntaba al norte en las pruebas.
No, en mi antena corresponde 900 y esta correcto.......
Todo y asi lo he probado esta mañana, pero intento hacer lo mas que puedo con mi poco conocimiento de arduino, te confirmo que la antena en espera de telemetria marca el norte, medido con brujula aparte.
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 19:48   #1599
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
No, en mi antena corresponde 900 y esta correcto.......
Todo y asi lo he probado esta mañana, pero intento hacer lo mas que puedo con mi poco conocimiento de arduino, te confirmo que la antena en espera de telemetria marca el norte, medido con brujula aparte.
Yo te confirmo que no es un problema de RVOSD, porque yo estoy en GPS Telemetry y me inviete la operación, y aún no sé por qué.

He puesto el OFFSET a 0, y fijate lo que hace:
  • Ordeno SUR y se va al ESTE
  • Ordeno ESTE y se va al SUR
  • Ordeno NORTE y se va al OESTE
  • Ordeno OESTE y se va al NORTE
Si cambio OFFSET a 2700:
  • SUR OK
  • Ordeno ESTE y se va al OESTE
  • NORTE OK
  • Ordeno OESTE y se va al ESTE.
Si cambio OFFSET a 1800:
  • Ordeno SUR y se va a OESTE
  • Ordeno ESTE y se va a NORTE
  • Ordeno NORTE y se va a ESTE
  • Ordeno OESTE y se va a SUR
Si cambio OFFSET a 900:
  • Ordeno SUR y se va a NORTE
  • ESTE OK
  • Ordeno NORTE y se va a SUR
  • OESTE OK
Raro ¿No?


He comparado el código actual con el código original y solo varía un pequeño detalle, que yo metí el MAX_PID_ERROR como paráemtro configurable, pero lo he vuelto a sustituir por el valor original 10 y sigue igual.


No me he dado cuenta antes porque nunca muevo un objeto, muevo la ruleta del simulador.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 19:52   #1600
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
Cita:
Iniciado por rortega Ver mensaje
Yo te confirmo que no es un problema de RVOSD, porque yo estoy en GPS Telemetry y me inviete la operación, y aún no sé por qué.

He puesto el OFFSET a 0, y fijate lo que hace:
  • Ordeno SUR y se va al ESTE
  • Ordeno ESTE y se va al SUR
  • Ordeno NORTE y se va al OESTE
  • Ordeno OESTE y se va al NORTE
Si cambio OFFSET a 2700:
  • SUR OK
  • Ordeno ESTE y se va al OESTE
  • NORTE OK
  • Ordeno OESTE y se va al ESTE.
Si cambio OFFSET a 1800:
  • Ordeno SUR y se va a OESTE
  • Ordeno ESTE y se va a NORTE
  • Ordeno NORTE y se va a ESTE
  • Ordeno OESTE y se va a SUR
Si cambio OFFSET a 900:
  • Ordeno SUR y se va a NORTE
  • ESTE OK
  • Ordeno NORTE y se va a SUR
  • OESTE OK
Raro ¿No?


He comparado el código actual con el código original y solo varía un pequeño detalle, que yo metí el MAX_PID_ERROR como paráemtro configurable, pero lo he vuelto a sustituir por el valor original 10 y sigue igual.


No me he dado cuenta antes porque nunca muevo un objeto, muevo la ruleta del simulador.
Pues ...... mo se que decirte raro es, teniendo en cuenta que ya hay antenas funcionando correctamente, pues algo habra despues de esas versiones que hacemos mal.
En mi antena pequeña esta instalada la version digamos "original" del foro aleman, funciona , en fin en tus manos lo dejo, me sabe muy mal no poder ayudarte, no sabria por donde empezar, lo mio ya sabes es ir probando.
Tu mismo e insisto a tu bola eh.
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:14   #1601
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Guillesan, una pregunta que puede parecer tonta, pero es que no encuentro la diferencia en el código ¿Tú casa está al mismo lado del meridiano 0 que donde vuelas?
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:31   #1602
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
La pregunta de si vuelas a un lado o a otro es porque creo que tu casa está muy cerca del meridiano 0 ¿no?¿Es posible que unas veces vuel a un lado y otras veces a otro?¿O hagas las pruebas a un lado y otras veces al otro?

El caso es que los que han creado el código son Alemantes, y viven al Este del meridiano, y me da a mí que no han tenido en cuenta que si volamos al oeste esto se conporta de forma distinta. Lo acabo de comprobar con el simulador, si vuelo en Huelva y pongo 2700 lo hace todo perfecto, pero si me pongo a volar en Alemania/Suiza, me invierte Este con Oeste.

Fíjate, no tiene sentido poner un offset a 900, debería ser valor 0, porque creo que todos estamos poniendo la placa mirando hacia el frente del tracker, ese parámetro se debe poner a otro valor distinto de 0 si colocas la placa en otro posición, de modo que la flecha no apunte hacia el frente.

Creo que tu combinación de 900 con volar o probar en un sitio concreto funciona, pero si te vas al otro no ¿Podría ser?

A ver si Simba y contesta y nos ilumina, o rebuscaré en los posts tropecientos posts para volver a ver la fórmula que él modificaba...
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:31   #1603
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Hola estaba fuera y no podía contestar.
Lo de la versión llevo la v.5 y ya no he cambiado a negativo desde que llevo en pan el servo digital de Towerpro.
Anteriormente era imprescindible cambiar en la fórmula de PID los 3 parámetros a negativo y el mínimo velocidad servo también.
De lo contrario no funciona na de na y si hace algo es a base de meter mucho valor de mínimo servo con lo cual el PID no trabaja y solo funciona a como un todo o nada.
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:33   #1604
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por rortega Ver mensaje
La pregunta de si vuelas a un lado o a otro es porque creo que tu casa está muy cerca del meridiano 0 ¿no?¿Es posible que unas veces vuel a un lado y otras veces a otro?¿O hagas las pruebas a un lado y otras veces al otro?

El caso es que los que han creado el código son Alemantes, y viven al Este del meridiano, y me da a mí que no han tenido en cuenta que si volamos al oeste esto se conporta de forma distinta. Lo acabo de comprobar con el simulador, si vuelo en Huelva y pongo 2700 lo hace todo perfecto, pero si me pongo a volar en Alemania/Suiza, me invierte Este con Oeste.

Fíjate, no tiene sentido poner un offset a 900, debería ser valor 0, porque creo que todos estamos poniendo la placa mirando hacia el frente del tracker, ese parámetro se debe poner a otro valor distinto de 0 si colocas la placa en otro posición, de modo que la flecha no apunte hacia el frente.

Creo que tu combinación de 900 con volar o probar en un sitio concreto funciona, pero si te vas al otro no ¿Podría ser?

A ver si Simba y contesta y nos ilumina, o rebuscaré en los posts tropecientos posts para volver a ver la fórmula que él modificaba...
Yo mis primeras pruebas con el código original creo que las hice en Huelva y fue allí donde puse los 2700 para que todo funcionara, cuando aún no había tocado el código.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:35   #1605
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
No Guillesan esta en Barcelona y el meridiano 0 pasa por Castellón muy cerca de donde estoy yo.
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:37   #1606
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Simba Ver mensaje
No Guillesan esta en Barcelona y el meridiano 0 pasa por Castellón muy cerca de donde estoy yo.
Pero vuelas en Oeste o en Este????
Y que configuración de OFFSET tienes????
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:38   #1607
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Yo Oste, Guillesan Este
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:39   #1608
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Yo Oste, Guillesan Este
Y OFFSET???
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:42   #1609
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Yo 6
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:43   #1610
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Vamos insignificante del orden de 0.01°
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 20:48   #1611
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Yo 6
OFFSET 6 es lo mismo que 0, porque en el config.h te explican que hay que multiplicar por 10.

¿Qué otro parámetro que influya en este cálculo has tocado?

Dime valores de P, I, D que tienes actualmente, o mejor, si pegas tu config.h aquí ya no te pregunto más datos.

Yo creo que el problema podría estar en esta función:

Cita:
void getError(void)
{
// shift error values
for (byte i = 0; i < 10; i++) {
Error[i + 1] = Error[i];
}

int16_t delta = targetPosition.heading - trackerPosition.heading;
if (delta > 1800) {
delta -= 3600;
}
else if (delta < -1800) {
delta += 3600;
}
// load new error into top array spot
Error[0] = delta;
}
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:03   #1612
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
Lo solicitado, y si vuelo al este.

Mi config.h

#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 2200 //5000 //default 2200
#define I 280 //100 //default 280
#define D 20000 //1000 //default 20000
#define MAX_PID_ERROR 5 // 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
//#define MAVLINK
/* #### 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 115200 // default 9600

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

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 700 // 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 15 // 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 0 //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 900 //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 38400 //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 4 // 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 0x27 //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 < 700 || TILT_0 > 2300 || TILT_90 > 2300 || TILT_90 < 700
#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
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:14   #1613
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Mi config.h



#ifndef CONFIG_H
#define CONFIG_H

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

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

/* #### 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 4800 // default 9600

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

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 2000 // 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 1547 // 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 1 // 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 6 //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 2700 //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 5 //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 0x27 //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
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:17   #1614
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Si tienes el servo Pan invertido, debes de pones estos valores en negrita en negativo (poner como lo dejo)

void calculatePID(void)
{
// Calculate the PID
#ifdef SERVOTEST
PID = Error[0] * -p; // start with proportional gain
Accumulator += Error[0]; // accumulator is sum of errors
if (Accumulator > 5000)
Accumulator = 5000;
if (Accumulator < -5000)
Accumulator = -5000;
PID += -i * Accumulator; // add integral gain and error accumulation
Dk = -d * (Error[0] - Error[10]);
PID += Dk; // differential gain comes next
PID = PID >> Divider; // scale PID down with divider
// limit the PID to the resolution we have for the PWM variable
if (PID >= 500)
PID = 500;
if (PID <= -500)
PID = -500;
if (Error[0] > 1) {
PWMOutput = PAN_0 + PID + MIN_PAN_SPEED;
} else if (Error[0] < -1) {
PWMOutput = PAN_0 + PID - MIN_PAN_SPEED;
} else {
PWMOutput = PAN_0;
}
#else
PID = Error[0] * -P; // start with proportional gain
Accumulator += Error[0]; // accumulator is sum of errors
if (Accumulator > 5000)
Accumulator = 5000;
if (Accumulator < -5000)
Accumulator = -5000;
PID += -I * Accumulator; // add integral gain and error accumulation
Dk = -D * (Error[0] - Error[10]);
PID += Dk; // differential gain comes next
PID = PID >> Divider; // scale PID down with divider
// limit the PID to the resolution we have for the PWM variable
if (PID >= 500)
PID = 500;
if (PID <= -500)
PID = -500;
if (Error[0] > 1) {
PWMOutput = PAN_0 + PID + MIN_PAN_SPEED;
} else if (Error[0] < -1) {
PWMOutput = PAN_0 + PID - MIN_PAN_SPEED;
} else {
PWMOutput = PAN_0;
}
#endif
}
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:22   #1615
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Guillesan de donde te has sacado esta linea que te pongo en negrita, que versión tienes??????

#define P 2200 //5000 //default 2200
#define I 280 //100 //default 280
#define D 20000 //1000 //default 20000
#define MAX_PID_ERROR 5 // default 10
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:34   #1616
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Simba Ver mensaje
Guillesan de donde te has sacado esta linea que te pongo en negrita, que versión tienes??????

#define P 2200 //5000 //default 2200
#define I 280 //100 //default 280
#define D 20000 //1000 //default 20000
#define MAX_PID_ERROR 5 // default 10
Por eso te pregunté cuando descargaste la versión con easing. Hubo un momento donde metí ese parámetro, y volví a subirlo al repositorio. Esa es la diferancia que tienes con respecto a nosotros.

Pero he metido el valor a mano en el código a mano, un 10 era, negativo en un par de puntos, y sigue comportándose igual.
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:38   #1617
Simba
* * * * * *
 
Avatar de Simba
 
Ingreso 04/jul/2008
4.664 Mensajes
Pero has cambiado los PID a negativo?????
Simba esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:52   #1618
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Sin tocar el código fuente, y con esta configuración en el config.h ya me lo hace bien estando en el Este:

Cita:
#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 5000 //default 2200
#define I 100 //default 280
#define D 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 1125 // 1200 // default 1050

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 2100 // 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 610 // 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 50 // -25 // 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 0 //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 2700 // 2700 //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
__________________
WiiFPV Team: VIMEO - YouTube
rortega esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 21:55   #1619
Guillesan
* * * * * *
 
Avatar de Guillesan
 
Ingreso 31/oct/2008
De Barcelona
1.982 Mensajes
Perdon me he perdido, que as cambiado ?
Guillesan esta en línea ahora   Responder Citando
Antiguo 25/09/2015, 22:04   #1620
rortega
* * * * * *
 
Avatar de rortega
 
Ingreso 20/abr/2012
3.832 Mensajes
Cita:
Iniciado por Guillesan Ver mensaje
Perdon me he perdido, que as cambiado ?
PIDS, he puesto los mismos que el código original:

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

La declinación la he puesto a 0, antes la tenía a 32:

#define DECLINATION 0 //default 32

Y el offset lo he dejado como lo tenía antes (y simba lo tiene igual):

#define OFFSET 2700 // 2700 //default 900

Y el MIN_PAN_SPEED, que lo puse a -25 y lo he dejado en 50

#define MIN_PAN_SPEED 50 // -25 // default 50

No he tocado nada más, eso sí, no me va fino, ahora tengo que ajustarlos para que no me traquetee mucho.
__________________
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 08:49.


2015