PDA

Ver la versión completa : Proyecto Antena tracker 360º


Páginas : 1 [2] 3 4 5 6 7

Guillesan
05/09/2015, 10:10
Hkilmore es un programa de este desarrollador que funciona con varias plataformas entre ellas RVOSD, confirmo que funciona.

https://code.google.com/p/happykillmore-gcs/

Guillesan
05/09/2015, 10:16
No se si es importante pero lo expongo todo.
La salida de telemetria desde RVGS es por puerto usb, al no interesar para arduino busque donde estaba y lo saque antes de entrar en el chip usb de ese equipo.
Posteriormente confirme que sale por ahi las tramas.

rortega
05/09/2015, 10:27
Lo que comentabas de que no es capaz de procesar una trama tan larga, empieza a tener sentido, aunque aún no estoy seguro de si es porque el atmega está demasiado ocupado, o porque el algoritmo tiene algún fallo y se hace la picha un lío.

Cambiando en la cabecera el 0 por un 1, tan sólo consigue extraer con éxito este fragmento:

$RV1,2,82645192,37.466698,S,187.148848,E,-19340,+32369,393,2544,0000,005,+312,735,804,174,423,45

Para verificar ésto, lo que hago es sacar hacia la consola serie los caracteres tal cual van llegando, antes de que los decodifique en sus distintas variables (lat, long, sats, ....), y seguir ejecutando el algoritmo tal cual.

A partir de ahí el resto de la secuencia es incompleta, errónea, sin ningún sentido, no llegando a detectar el * y los dos dígitos finales como un final de trama.

No puedo asegurar aún que sea un problema de capacidad de procesamiento o si se debe a un error en el propio algoritmo de codificación, verificar todo esto en plan DEBUG es un proceso lento, de modificar el código, subirlo, pegar trozos de trama ... etc...

Guillesan
05/09/2015, 10:30
Entiendo, pues si te es posible y a tu ritmo ya me dirás ok.
Por delante agradecerte tu interes

rortega
05/09/2015, 10:41
Voy a tomarme un descansito, jeje...

Una idea que empieza a rondarme la cabeza, porque ésto empieza a parecerse a un problema que en su día tenía con la decodificación de los datos de GPS para mi primer prototipo de quadcopter, al que le hice de forma completamente artesanal una controladora basada en multiwii, con los componentes comprados y soldado todo en una placa perfoarda.

No podía con el GPS, tuve que usar un arduino a parte, que se dedicase exclusivamente a codificar la trama del gps, y la controladora principal se dedicase a los suyo. El arduino se comunicaba vía I2C con la controladora principal. Despues de aquello sacaron el módulo I2C NAV, que hacía lo propio.

La idea pues sería usar un arduino nano, u otra crius extra, para hacer una especie de caja negra que procese la trama del RVSOD, saque los campos que queremos y pasárselos a la crius principal, por vía serie como hasta ahora. Sería convertir las tramas del RVSOD a tramas GGA y RMC de NMEA con los valores indispensables, que son más cortas que la del RSVOD, y pasárselos al tracker que estaría corriendo en modo GPS TELEMETRY.

Guillesan
05/09/2015, 10:46
Eso suena muy bien, creo que es la solución, lastima que no pueda ayudarte, estoy aquí para probar todo lo que sea ok . De mi parte lo que pueda tenga

rortega
06/09/2015, 10:08
Guillesan, he puesto en este link el archivo rvosd.cpp para que te lo bajes y pruebes si te funciona la modificación que hice para que sí acepte las tramas con valor 0 en la cabecera:

https://www.dropbox.com/sh/8ajwfnk5mrgcz9e/AACifHk7qoSnnZHaBBeJQwqda?dl=0

Posiblemente te actualice en el LCD el valor de satélites y coordenadas al inicio, pero luego lo vuelve a poner a cero todo porque no termina de leer el resto de tramas y produce datos erróneos, eso es lo que me hace a mí, de momento.

Posiblemente ni te de tiempo a apreciarlo, así que lo mejor es que hagas la prueba enviando desde el monitor serie de Arduino una única trama (yo cuando le paso la segunda trama deja de funcionar).

Nota: no olvides seleccionar "Ambos NL & CR" en el desplegable de abajo a la derecha, si no no recibe las tramas bien.

Ayer no le dediqué más tiempo al tema y me puse a montar la crius se y el lcd, jutno a un módulo bluetooth en el tracker (ya por fin no dependo del cable para hacer las pruebas).

Hoy mi intención es usar la otra controladora que tenía puesta antes en el tracker como si de módulo I2C NAV de los de multiwii se tratase, para que decodifique la trama RSVOD y le pase por I2C los valores a la controladora del tracker. No voy a hacer una transformación de un tipo de tramas en otra, sino que voy a almacenar los datos decodificados en el "módulo I2C", la crius comprobará si hay datos disponibles y leerá directamente los valores de latitud, longitud, etc.... Implicará modificar el código fuente del tracker para tal fin.

Previo a eso, voy a montar un pequeño sketch para comprobar si la controladora, sin tener que hacer ninguan tarea extra, es capaz de decodificar las tramas enteras. Si lo hace bien pasaría a implementar la lectura de dichos valores desde I2C en la crius.

Si funcionase esta solución, bastaría con comprar un módulo I2C NAV, que vale muy barato y es muy pequeño, pudiendo quedar dentro de la caja del tracker, dejando salir tan solo un conector con los pines tx,rx, vcc y gnd para recibir señal serie (conectándole un ftdi o por un módulo bluetooth).

Guillesan
06/09/2015, 10:11
Guillesan, he puesto en este link el archivo rvosd.cpp para que te lo bajes y pruebes si te funciona la modificación que hice para que sí acepte las tramas con valor 0 en la cabecera:

https://www.dropbox.com/sh/8ajwfnk5mrgcz9e/AACifHk7qoSnnZHaBBeJQwqda?dl=0

Posiblemente te actualice en el LCD el valor de satélites y coordenadas al inicio, pero luego lo vuelve a poner a cero todo porque no termina de leer el resto de tramas y produce datos erróneos, eso es lo que me hace a mí, de momento.

Posiblemente ni te de tiempo a apreciarlo, así que lo mejor es que hagas la prueba enviando desde el monitor serie de Arduino una única trama. Yo cuando le paso la segunda trama deja de funcionar.

Ayer no le dediqué más tiempo al tema y me puse a montar la crius se y el lcd, jutno a un módulo bluetooth en el tracker (ya por fin no dependo del cable para hacer las pruebas).

Hoy mi intención es usar la otra controladora que tenía puesta antes a modo de módulo I2C NAV de los de multiwii, para que decodifique la trama RSVOD y le pase por I2C los valores a la controladora del tracker. No voy a hacer una transformación de un tipo de tramas en otra, sino que voy a almacenar los datos decodificados en el "módulo I2C", la crius comprobará si hay datos disponibles y leerá directamente los valores de latitud, longitud, etc.... Implicará modificar el código fuente del tracker para tal fin.

Previo a eso, voy a montar un pequeño sketch para comprobar si la controladora, sin tener que hacer ninguan tarea extra, es capaz de decodificar las tramas enteras. Si lo hace bien pasaría a implementar la lectura de dichos valores desde I2C en la crius.

Vale compañero, monto el tinglado y pruebo.
Voy a hacerlo en dos placas, una mega y en el tracker de frqmax nuevo, asi vemos si la capacidad influye, ok

rortega
06/09/2015, 10:15
He editado mi mensaje anterior y he colocado esta fraes al final:

Si funcionase esta solución, bastaría con comprar un módulo I2C NAV, que vale muy barato y es muy pequeño, pudiendo quedar dentro de la caja del tracker, dejando salir tan solo un conector con los pines tx,rx, vcc y gnd para recibir señal serie (conectándole un ftdi o por un módulo bluetooth).

rortega
06/09/2015, 10:16
Vale compañero, monto el tinglado y pruebo.
Voy a hacerlo en dos placas, una mega y en el tracker de frqmax nuevo, asi vemos si la capacidad influye, ok

Con una Mega lo mismo funciona, porque tiene los puertos serie independientes.

rortega
06/09/2015, 10:19
Con una Mega lo mismo funciona, porque tiene los puertos serie independientes.

Pero el problema de leer el gps local vía softwerial puede seguir siendo un problema. Entre un atmega328p y un atmega2560 no hay direfencia de potencia de cálculo, las diferencias están, sobre todo, en tema de memoria y en que lleva 2 UART para gestionar hasta 4 puestos serie simultáneos.

Creo que hacerle usar softserial seguirá dando problemas, habría que conectar el gps local a otro puerto serie y gestionarlo normalmente.

Guillesan
06/09/2015, 10:20
Pregunta, las tramas como dije hay dos modelos h Kilmore y Airbender.
Si no me equivoco la diferencia estriba solo en el principio que una incluye RV y la otra no.
Cual debo usar , supongo que la que no incluye RV es asi ?

Guillesan
06/09/2015, 10:22
Pero el problema de leer el gps local vía softwerial puede seguir siendo un problema. Entre un atmega328p y un atmega2560 no hay direfencia de potencia de cálculo, las diferencias están, sobre todo, en tema de memoria y en que lleva 2 UART para gestionar hasta 4 puestos serie simultáneos.

Creo que hacerle usar softserial seguirá dando problemas, habría que conectar el gps local a otro puerto serie y gestionarlo normalmente.

Ok cuestion de probarlo como siempre, en un rato podre responderte de las pruebas.
Gracias.

rortega
06/09/2015, 10:23
Pregunta, las tramas como dije hay dos modelos h Kilmore y Airbender.
Si no me equivoco la diferencia estriba solo en el principio que una incluye RV y la otra no.
Cual debo usar , supongo que la que no incluye RV es asi ?

Sólo se direrencian en la cabecera, y van a entrar los dos tipos. Prueba los dos tipos a ver si con la otra por tener dos dígitos menos funciona mejor.

Guillesan
06/09/2015, 10:24
Sólo se direrencian en la cabecera, y van a entrar los dos tipos. Prueba los dos tipos a ver si con la otra por tener dos dígitos menos funciona mejor.

Ok tomo nota.

rortega
06/09/2015, 10:26
Sólo se direrencian en la cabecera, y van a entrar los dos tipos. Prueba los dos tipos a ver si con la otra por tener dos dígitos menos funciona mejor.

Rectifico, hay un campo con valor 0 al final, antes del *. De todos modos ese campo no se usa, y lo desecha el decodificador. Ambas tramas se leen bien si la crius es capaz de llegar al fina.

Guillesan
06/09/2015, 10:28
Rectifico, hay un campo con valor 0 al final, antes del *. De todos modos ese campo no se usa, y lo desecha el decodificador. Ambas tramas se leen bien si la crius es capaz de llegar al fina.

Segun me comento Rangarid (aleman) parece ue la trama es super larga 135 bits, a 25 hz y velocidad 115200.
Teniendo en cuenta esto pienso que si la Airbender es mas corta , un poquito solo, todo ayuda no ?

rortega
06/09/2015, 10:31
Por otro lado, os dejo aquí el link al código fuente que estoy usando en mi tracker, por si alguien quiere probarlo, que permite usar el tracker con LCD si no se tiene GPS Local.

https://www.dropbox.com/s/c0051ka7k6wfl35/open360tracker-LCD-SIN-GPS-LOCAL-V1.0.zip?dl=0

He añadido en el config.h un define que hay que dejar comentado si no se usa el mismo LCD que yo. Como no lo tenéis, no tocadlo y funcionará sin tener que meter una librería distinta a la que ya tenéis.

Nota: yo tengo configurado el config.h para trabajar a 9600 baudios. No olvidéis ponerlo a vuestros baudios, y por supuesto los valores de los servos y los PIDs vuestros.

rortega
06/09/2015, 10:35
Segun me comento Rangarid (aleman) parece ue la trama es super larga 135 bits, a 25 hz y velocidad 115200.
Teniendo en cuenta esto pienso que si la Airbender es mas corta , un poquito solo, todo ayuda no ?

Es un byte por carácter, y cuentan todos los caracteres que ves, incluídas las comas, los puntos, el dolar, el asterisco. He colocado ambas tramas en un archivo de texto para compararlas y son iguales de largas, es decir, 135 byes.

Creao que da igual la que uses.

Simba
06/09/2015, 10:36
OK, lo tendremos en cuenta.
Gracias.

Guillesan
06/09/2015, 11:10
Priemera prueba :
en el tracker del FRQMax, no funciona.
Introduzco las tramas desde el RVGS, tanto en HKilmore como en airbender.
Pongo aqui una captura de dichas tramas desde la consola de arduino, ojo son en conexion directa sin pasar por el Arduino, no puedo usar debug por que en FRQMax no tiene implantado el serial .
Son con el avion posicionado con seis satelites.

$1,1,00194723,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194727,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194731,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194735,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194739,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0A
$1,1,00194743,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194747,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194751,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194755,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194759,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194763,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194767,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194771,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194775,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194779,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0E
$1,1,00194783,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0B
$1,1,00194787,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194791,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194795,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194799,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194803,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194807,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194811,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194815,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194819,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194819,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*0F
$1,1,00194827,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*02
$1,1,00194831,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*05
$1,1,00194835,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*01
$1,1,00194839,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*0D
$1,1,00194843,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194847,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194851,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$0,1,00194851,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194859,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194863,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194867,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194871,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194875,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194879,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0A
$1,1,00194883,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194887,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0B
$1,1,00194891,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194891,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194895,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194899,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194903,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194907,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194911,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194915,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194919,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0D
$1,1,00194923,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194927,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194931,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194935,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194939,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194943,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,167,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*03
$1,1,00194947,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,167,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*07
$1,1,00194951,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*01
$1,1,00194955,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*05
$1,1,00194959,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*09
$1,1,00194963,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*00
$1,1,00194967,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*04
$1,1,00194971,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*00
$1,1,00194975,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*04
$1,1,00194979,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00194983,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0D
$1,1,00194991,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0F
$1,1,00194995,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0B
$1,1,00194999,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*07
$1,1,00195003,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0C
$1,1,00195007,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195011,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0E
$1,1,00195015,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0A
$1,1,00195019,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*06
$1,1,00195023,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0F
$1,1,00195027,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0B
$1,1,00195031,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0C
$1,1,00195035,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195039,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195043,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00195047,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00195051,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06

rortega
06/09/2015, 11:14
Priemra prueba :
en el tracker del FRQMax, no funciona.
Introduzco las tramas desde el RVGS, tanto en HKilmore como en airbender.
Pongo aqui una captura de dichas tramas desde la consola de arduino, ojo son en conexion directa sin pasar por el Arduino, no puedo usar debug por que en FRQMax no tiene implantado el serial .
Son con el avion posicionado con seis satelites.

$1,1,00194723,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
...

Haré una prueba esta mañana y grabaré lo que me muestra en pantalla.

Guillesan
06/09/2015, 11:16
Haré una prueba esta mañana y grabaré lo que me muestra en pantalla.

OK, pero me da en la nariz que tu idea de decodificarlo aparte con el i2c Nav va a ser mano de santo.
O puede que un arduino nano esclavizado solo para descifrar tramas, que no va a venir de un atmega mas currandose la trama.

rortega
06/09/2015, 13:41
Priemera prueba :
en el tracker del FRQMax, no funciona.
Introduzco las tramas desde el RVGS, tanto en HKilmore como en airbender.
Pongo aqui una captura de dichas tramas desde la consola de arduino, ojo son en conexion directa sin pasar por el Arduino, no puedo usar debug por que en FRQMax no tiene implantado el serial .
Son con el avion posicionado con seis satelites.

$1,1,00194723,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194727,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194731,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194735,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194739,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0A
$1,1,00194743,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194747,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194751,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194755,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194759,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194763,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194767,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194771,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194775,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194779,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0E
$1,1,00194783,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0B
$1,1,00194787,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194791,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194795,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194799,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194803,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194807,41.572332,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194811,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194815,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194819,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194819,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*0F
$1,1,00194827,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*02
$1,1,00194831,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*05
$1,1,00194835,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*01
$1,1,00194839,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0001,00050,0161,06,000,0033,0,*0D
$1,1,00194843,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194847,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194851,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$0,1,00194851,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194859,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194863,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194867,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194871,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194875,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194879,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0A
$1,1,00194883,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194887,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0B
$1,1,00194891,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194891,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0C
$1,1,00194895,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*08
$1,1,00194899,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194903,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06
$1,1,00194907,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*02
$1,1,00194911,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00194915,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00194919,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0D
$1,1,00194923,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*04
$1,1,00194927,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*00
$1,1,00194931,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*07
$1,1,00194935,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*03
$1,1,00194939,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,220,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*0F
$1,1,00194943,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,167,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*03
$1,1,00194947,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,167,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*07
$1,1,00194951,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*01
$1,1,00194955,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*05
$1,1,00194959,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*09
$1,1,00194963,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*00
$1,1,00194967,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,166,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*04
$1,1,00194971,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*00
$1,1,00194975,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*04
$1,1,00194979,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00194983,41.572328,N,001.973692,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0D
$1,1,00194991,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0F
$1,1,00194995,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0B
$1,1,00194999,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*07
$1,1,00195003,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0C
$1,1,00195007,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195011,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0E
$1,1,00195015,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0A
$1,1,00195019,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*06
$1,1,00195023,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0F
$1,1,00195027,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0B
$1,1,00195031,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*0C
$1,1,00195035,41.572328,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195039,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,164,000,000,000,000,1156,0002,00050,0161,06,000,0032,0,*08
$1,1,00195043,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*05
$1,1,00195047,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*01
$1,1,00195051,41.572324,N,001.973693,E,+00312,+00312,254,0021,0000,005,+000,165,000,000,000,000,1156,0002,00050,0161,06,000,0033,0,*06

Es normal que no te funcione con esas tramas, me refería a las tramas del primer post en las que las pusistes, que empiezan por $RV0 o $0.

Estas que me has puesto, como empiezan por $1 no valen para la modificació nque he hecho, ahora las acepta sólo cundo son cero.

Prueba a subir el firm que he compartido, sin usar gps local, y mete tramas con $RV0 o $1 a ver que tal va.

rortega
06/09/2015, 13:56
He probado también dichas tramas volviendo a dejar el código como originalmente está por el autor, y no muestra nada, aún teniendo los datos que se necesitan en las mismas posiciones. No voy a graba el vídeo al final para mostrar lo que sale con la modificación y las otras porque no hace falta, simplemente muestra los datos de altitud, satelites, posición, con la primera trama y luego ya no saca nada, lo deja todo a cero.

Esta tarde le dedicaré un ratillo y voy a empezar a hacer el sketch para decodificar la trama por separado en la otra controladora. Iré contando conforme vaya avanzando.

Guillesan
06/09/2015, 13:59
Ok , espero tus noticias

Simba
06/09/2015, 15:38
Probada versión sin gps local en tierra frente a mi casa.
En LCD se ven los satélites del avión.
Me espero a que coja 7 y apretó botón home y empieza a seguir avión.
Parece que va bien. No puedo probar Tilt pero no hace mobimientos extraños.
Todo indica que en vuelo ira bien al menos como hasta ahora y con suerte mejor.
Es todo hasta que lo vuele.

Simba
06/09/2015, 15:44
Lo de esperar a pillar 7 satelites ¿sigue este parámetro o no?, ¿cuanto tiempo se tiene que estar apretando el botón home?.
Lo he apretado por lo menos 5 segundos, por similitud con el de calibración, pero no se si para este es correcto.
Puedo probarlo pero es que no tenia tiempo y solo lo hice una vez.

rortega
06/09/2015, 15:48
Probada versión sin gps local en tierra frente a mi casa.
En LCD se ven los satélites del avión.
Me espero a que coja 7 y apretó botón home y empieza a seguir avión.
Parece que va bien. No puedo probar Tilt pero no hace mobimientos extraños.
Todo indica que en vuelo ira bien al menos como hasta ahora y con suerte mejor.
Es todo hasta que lo vuele.
Son buenas noticias [emoji4]

Podría modificarlo para que no sea necesario pulsar el botón, de modo que al inicio en cuanto detecte que tiene x satélites, posición válida se active el home automáticamente.

Y si seguimos así, vamos a tener que montarnos un github para llevar nuestra propia versión...

rortega
06/09/2015, 15:49
Lo de esperar a pillar 7 satelites ¿sigue este parámetro o no?, ¿cuanto tiempo se tiene que estar apretando el botón home?.
Lo he apretado por lo menos 5 segundos, por similitud con el de calibración, pero no se si para este es correcto.
Puedo probarlo pero es que no tenia tiempo y solo lo hice una vez.
Sólo pulsar y soltar, es inmediato.

Simba
06/09/2015, 15:57
Bien pues funcionar funciona, no quiero ir a dar mas paseos por delante de casa, que tengo a los vecinos algo mosqueaos, y los que no me conocen se quedan alucinando.:ansioso: Ya me explicareis, un señor mayor con un cacharrito lleno de luces, (Micro 250) que anda y corre sin parar de mirar hacia su casa, es para mandar llamar a los loqueros .:locos: :laugh::laugh:

rortega
06/09/2015, 16:00
Bien pues funcionar funciona, no quiero ir a dar mas paseos por delante de casa, que tengo a los vecinos algo mosqueaos, y los que no me conocen se quedan alucinando.:ansioso: Ya me explicareis, un señor mayor con un cacharrito lleno de luces, (Micro 250) que anda y corre sin parar de mirar hacia su casa, es para mandar llamar a los loqueros .:locos: [emoji23][emoji23]
[emoji23] [emoji23] [emoji23] [emoji23] No quiero ni pensarlo cuando empiecen a verme así [emoji23] [emoji23] [emoji23] [emoji23]

rortega
06/09/2015, 17:25
Ya he hecho un sketch separado para decodificar las tramas RVOSD y probado en la controladora.

Lamento tener que decir que el resultado es similar, se traga la primera trama, obtengo los datos de altitud, latitud, longitud y número de satélites y los saco por consola serie.

La segunda trama que le meto de como resultado 0 en todos los datos, y se los voy metiendo uno a uno...

Ahora me iré a correr un rato por el bosque, cuando vuelva intentaré depurar el algoritmo por si el problema está en é, si fuera así no tardaría mucho en encontrar el fallo.

rortega
06/09/2015, 17:26
Ya he hecho un sketch separado para decodificar las tramas RVOSD y probado en la controladora.

Lamento tener que decir que el resultado es similar, se traga la primera trama, obtengo los datos de altitud, latitud, longitud y número de satélites y los saco por consola serie.

La segunda trama que le meto de como resultado 0 en todos los datos, y se los voy metiendo uno a uno...

Ahora me iré a correr un rato por el bosque, cuando vuelva intentaré depurar el algoritmo por si el problema está en é, si fuera así no tardaría mucho en encontrar el fallo.

El archivo rvosd.cpp lo he incorporado tal cual a mi sketch, quiere decir que el algoritmo que decodifica la trama es el mismo.

Guillesan
06/09/2015, 17:26
Ok que te de el aire ,

waverider
06/09/2015, 18:07
Hola Guillesan. El frqmax si tiene implantado el serial. Debajo del serial del frq esta el serial del tracker. Dispones De todos los pines tal cual pide el manual del hardware

Guillesan
06/09/2015, 18:08
Hola Jaime me refería al serial del micro de la antena Tracker

waverider
06/09/2015, 18:14
ahora estoy fuera. Pero creo recordar que puse los dos serials de ambos micros. En los pines uní esta encima de otro

Guillesan
06/09/2015, 18:19
ahora estoy fuera. Pero creo recordar que puse los dos serials de ambos micros. En los pines uní esta encima de otro


Igual estoy equivocado pero , en una placa arduino digamos uno por ejemplo por su puerto usb puedes ver en la consola serial el debug, pero en FRQMax tienes si un serial de entrada , lo uso para entrarle la telemetria, la que proceda, pero no puedo conectarle la consola, no se si me explico. Y que conste que no me es problema, lo puedo probar en otra placa y depurarlo ( bueno de hecho el que sepa) , yo estoy solo homo betatester.

Guillesan
06/09/2015, 18:26
Resumiendo, usando FRQMax en su faceta de antena Tracker he probado los protocolos Mavlink y gpstelemetry, funcionan correctamente. El problema llega con esa placa y de hecho con todas la cabezoneria de usar la telemetria de RVOSD , por varias razones. Por que lo tengo, por que usa video para transmitirla, y por que estando dispuesto el sketch en el programa original al probarlo no funciono, y así se lo dije al creador Rangarid, intento depurarlo y no hubo suerte. Ahora gracias al amigo ROrtega estamos intentándolo de nuevo. En fin veremos que sale. Un saludo Jaime y cía . Espero estés disfrutando......

rortega
06/09/2015, 20:03
Resumiendo, usando FRQMax en su faceta de antena Tracker he probado los protocolos Mavlink y gpstelemetry, funcionan correctamente. El problema llega con esa placa y de hecho con todas la cabezoneria de usar la telemetria de RVOSD , por varias razones. Por que lo tengo, por que usa video para transmitirla, y por que estando dispuesto el sketch en el programa original al probarlo no funciono, y así se lo dije al creador Rangarid, intento depurarlo y no hubo suerte. Ahora gracias al amigo ROrtega estamos intentándolo de nuevo. En fin veremos que sale. Un saludo Jaime y cía . Espero estés disfrutando......

Creo que he encontrado el fallo. Estoy probando las tramas últimas que has pasado, las del post más reciente con el chorro largo de tramas que empiezan por $1, y el tracker a 115200 baudios se las traga todas. Se ve que esas tramas son las que coinciden con todos los campos que se indican en el código fuente.

Es posible que haya algún fallo más, pero esta vez relacionado con la transformación de los valores de latitud y longitud.

Te pongo aquí el link para que vuelvas a descargarte el archivo rvsod.cpp y vuelvas a hacer pruebas:

https://www.dropbox.com/s/1cw1epfwnrc5kbv/rvosd.cpp?dl=0 (https://www.dropbox.com/s/1cw1epfwnrc5kbv/rvosd.cpp?dl=0)

Ya me contarás...

Nota: Yo no estoy usando GPS Local, mi atmega328 tiene más tiempo de procesador para dedicar a decodificar tramas...

Guillesan
06/09/2015, 20:06
Creo que he encontrado el fallo. Estoy probando las tramas últimas que has pasado, las del post más reciente con el chorro largo de tramas que empiezan por $1, y el tracker a 115200 baudios se las traga todas. Se ve que esas tramas son las que coinciden con todos los campos que se indican en el código fuente.

Es posible que haya algún fallo más, pero esta vez relacionado con la transformación de los valores de latitud y longitud.

Te pongo aquí el link para que vuelvas a descargarte el archivo rvsod.cpp y vuelvas a hacer pruebas:

https://www.dropbox.com/s/1cw1epfwnrc5kbv/rvosd.cpp?dl=0 (https://www.dropbox.com/s/1cw1epfwnrc5kbv/rvosd.cpp?dl=0)

Ya me contarás...

Nota: Yo no estoy usando GPS Local, mi atmega328 tiene más tiempo de procesador para dedicar a decodificar tramas...

Venga maquina, compilo y pruebo, yo si llevo gps en la antena, lo pruebo asi y si no funciona, pues ya me dices como quitarlo, se que has hecho un programa especial para que funcione, ok

rortega
06/09/2015, 20:09
Venga maquina, compilo y pruebo, yo si llevo gps en la antena, lo pruebo asi y si no funciona, pues ya me dices como quitarlo, se que has hecho un programa especial para que funcione, ok

Guille, lo he vuelto a subir, me he dejado una instrucción de debug sin quitar. Por favor, descarga y vuelve a compilar. Perdona la molestia.

Guillesan
06/09/2015, 20:11
Vale, rectifico

Guillesan
06/09/2015, 20:20
Bueno una vez rectificado, algo a cambiado en el LCD pero no funciona correcto.
Pongo un vídeo para dar mas apreciación de lo que digo. https://vimeo.com/138459902

Guillesan
06/09/2015, 20:32
Aquí otro video, esta vez sin Gps local, se le atraganta algo. https://vimeo.com/138460405

Guillesan
06/09/2015, 20:40
No se si es importante pero , si desconecto la telemetria recibida al RVGS este reseteado a 00,00000N y 00,00000W en el arduino que no he desconectado no rectifica lo que le llega, es decir no actualiza, ahora está trabajando sin Gps local
Un video mashttps://vimeo.com/138460896

Guillesan
06/09/2015, 20:50
Más datos , los satélites se cuentan mal
En rvgs
http://images.tapatalk-cdn.com/15/09/06/b571eda8c1ac7c69c372008f9a2cf07d.jpg

Y en arduino


http://images.tapatalk-cdn.com/15/09/06/fcb90252899834ff5cca86dbdb1052bd.jpg

rortega
06/09/2015, 21:24
No se si es importante pero , si desconecto la telemetria recibida al RVGS este reseteado a 00,00000N y 00,00000W en el arduino que no he desconectado no rectifica lo que le llega, es decir no actualiza, ahora está trabajando sin Gps local
...[/URL]

No lo he entendido muy bien, creo que has querido decir que si desconectas la telemetría del RVSOD crees que debería aparecer todo a cero en el LCD ¿A eso te refieres? Yo creo que deja los últimos datos buenos que tuvo, supongo que para que puedas saber las últimas coorenadas en las que le perdiste la pista al avión, por si tienes que ir a buscarlo.

Lo de los satélites mal puede ser otra historia. Hay un pequeño problema por mi parte, no sé exactamente que debe mostrar el LCD cuando usas GPS Local ¿Los datos del GPS Local o los dátos del GPS remoto? En mi caso, al no usar GPS Local, me dejaba ese valor a 0, simplemente. Tuve que implementar la función para que los tomara del GPS remoto a través de la telemetría. Eso podría explicarlo

En cuanto a los datos de longitud y latitud, te hace lo mismo que a mí. Yo creo que hay algún error en en en la parte del algoritmo donde hace los cálculos de conversión. Es cuestión de que me ponga y haga la conversión correcta.

El resultado de la prueba es más que satisfactorio, todo indica que lee las tramas, ahora es cuestión de traducir bien los datos.

Este es el link para que te descargues el sketch completo de mi tracker y lo pruebes:
[URL="https://www.dropbox.com/s/xf70xryikceoz24/open360tracker-RVOSD-V1.1.zip?dl=0"]
https://www.dropbox.com/s/xf70xryikceoz24/open360tracker-RVOSD-V1.1.zip?dl=0 (https://vimeo.com/138460896)

Te lo he dejado con GPS Local activado y con RVSOD activado.

Ajusta en el config.h los baudios, tando de la telemetría como del gps local.

Y si vas a usarlo en el tracker revisa todos los parámetros de los servos.

Vamos pasito a pasito ...

rortega
06/09/2015, 21:31
Pégame aquí las tramas que realmente inyectes al tracker, las que definitivamente vayas a usar, vamos a hacer de ahora en adelante todas las pruebas dejando ya fijado ese tema, que voy a revisar todos los campos uno a uno para ir viendo si el algoritmo hace o no bien las conversiones de datos, y si toma o no el dato correcto en cada posición.

Guillesan
06/09/2015, 21:42
Pégame aquí las tramas que realmente inyectes al tracker, las que definitivamente vayas a usar, vamos a hacer de ahora en adelante todas las pruebas dejando ya fijado ese tema, que voy a revisar todos los campos uno a uno para ir viendo si el algoritmo hace o no bien las conversiones de datos, y si toma o no el dato correcto en cada posición.

Las tramas son las que te puse unos links mas arriba, uso Airbender por sewr un poco mas cortas , poquisimo pero como te decia todo ayuda.
Con respecto al gps te digo , una vez compilado sin gps local, en el LCD , Sxx me salen los gps que entran por la telemetria , aunque oscilan demasiado pasa de 0 a 9 ,8, 0, 9 cosa que no es real por que en la pantalla del RVGS estan fijados a 8 o 9.
Cuando al arduino le entra por primera vez la telemetria sale en pantalla unos datos lat,long, etc irreales , bien entiendo que no los decodifica bien, pero parece como si quedaran en un buffer,memoria y ya no se refrescan. Por que digo esto pues , habiendo dejado el arduino en marcha con los datos erroneos, paro el RVGS y en su pantalla pone 00,0000N 00,0000W y ese dato no sale en arduino, sera por que o no refresca o por que las tramas no son validas y el arduino las desprecia.
OK .
Espero puedas resolver este berengenal, te estoy agradecido enormemente, si terminas felizmente creo que habra mas de uno que se atrevera a usar la antena con RVOSD, pues al venir por video , descargas el enlace openlrs muy mucho con lo que se podria bajar el data rate a 4800 o 9600 para mayor alcance, no es que sea indispensable pero vaya para poder usar este osd en mejores condiciones si sirve.
UN SALUDO

waverider
06/09/2015, 22:06
Que tal conectar la entrada rx desde el rvosd o lo que estéis usa ndo y la salida tx a tu ftdi para debugging? Gracias.... Tengo conectividad limitada.

Guillesan
06/09/2015, 22:21
Que tal conectar la entrada rx desde el rvosd o lo que estéis usa ndo y la salida tx a tu ftdi para debugging? Gracias.... Tengo conectividad limitada.

Claro , podria hacerlo, si me pasais ese debugging puedo probarlo

rortega
06/09/2015, 22:31
Ya sé que pasa con las coordenadas, es muy simple, las traduce con una función programada para telemetrái frsky. En el caso del RSVOD no es necesario traducirla, ya vienen de serie en grados decmales, asíe que la traducción que se hace devuelve un rato completamente erróneo.

Es normal, son muchos protocolos a implementar, y se ha copiado y se han dejado muchas cosas atras sin corregir. No es un fallo del algoritmo en sí, sino más bien no haber revisado cuando debe y cuando no realizarse la traducción. El dato lo coge perfectamente de la trama.

Guillesan
06/09/2015, 22:49
Ya sé que pasa con las coordenadas, es muy simple, las traduce con una función programada para telemetrái frsky. En el caso del RSVOD no es necesario traducirla, ya vienen de serie en grados decmales, asíe que la traducción que se hace devuelve un rato completamente erróneo.

Es normal, son muchos protocolos a implementar, y se ha copiado y se han dejado muchas cosas atras sin corregir. No es un fallo del algoritmo en sí, sino más bien no haber revisado cuando debe y cuando no realizarse la traducción. El dato lo coge perfectamente de la trama.

Ole maquina, pues adescansar y mañana le metes mano , no.

Simba
06/09/2015, 23:56
Solo para informar, que no para meter mas trabajo, que ya lleva el Sr, rortega bastante.
Con la nueva versión sin GPS local, a parte de que nos gusta mas, solo por el echo de ser mas sencillo, y evitar movimientos erráticos del Traker, a parte de eso no hemos apreciado ninguna mejora, en el seguimiento escalonado del vuelo cercano, pero de momento así ya nos gusta mas.

Pensamos que el cuello de botella, no solo puede estar en la velocidad de ciclo del micro, y que aun quitando el GPS local y su puerto virtual, el cuello de botella lo esta generando, la propia cadencia de refresco del GPS, que es de 2 Hz y que en medio segundo se recorren algunos metros, que a baja altura y cerca, son algunos grados de desplazamiento.

Creemos que la única forma de mejora, seria aumentar la cadencia de refresco, es decir subir a 4 Hz el GPS y necesariamente subir el serial baudrate del Orange a 9600, a consta de perder alcance teórico, pero es cuestión de probar y determinar si el alcance es suficiente para nosotros.
Sabemos que el Traker MFD utiliza una tasa de 5 Hz de GPS.

Todo esto es suponiendo, que ya tengamos en esta versión, el micro liberado de las tareas del puerto virtual, y esto nos de sin ningún otro problema, la oportunidad de procesar mas datos de posición por segundo.

rortega tiene la ultima palabra, sin prisas que son ya muchas cosas, cuando se pueda se intentara probar, que eso es lo nuestro probar y probar y de paso volamos que no todo va a ser teoría.:laugh:.

Un saludo a toda la parroquia.

rortega
07/09/2015, 00:37
Solo para informar, que no para meter mas trabajo, que ya lleva el Sr, rortega bastante.
Con la nueva versión sin GPS local, a parte de que nos gusta mas, solo por el echo de ser mas sencillo, y evitar movimientos erráticos del Traker, a parte de eso no hemos apreciado ninguna mejora, en el seguimiento escalonado del vuelo cercano, pero de momento así ya nos gusta mas.

Pensamos que el cuello de botella, no solo puede estar en la velocidad de ciclo del micro, y que aun quitando el GPS local y su puerto virtual, el cuello de botella lo esta generando, la propia cadencia de refresco del GPS, que es de 2 Hz y que en medio segundo se recorren algunos metros, que a baja altura y cerca, son algunos grados de desplazamiento.

Creemos que la única forma de mejora, seria aumentar la cadencia de refresco, es decir subir a 4 Hz el GPS y necesariamente subir el serial baudrate del Orange a 9600, a consta de perder alcance teórico, pero es cuestión de probar y determinar si el alcance es suficiente para nosotros.
Sabemos que el Traker MFD utiliza una tasa de 5 Hz de GPS.

Todo esto es suponiendo, que ya tengamos en esta versión, el micro liberado de las tareas del puerto virtual, y esto nos de sin ningún otro problema, la oportunidad de procesar mas datos de posición por segundo.

rortega tiene la ultima palabra, sin prisas que son ya muchas cosas, cuando se pueda se intentara probar, que eso es lo nuestro probar y probar y de paso volamos que no todo va a ser teoría.[emoji23].

Un saludo a toda la parroquia.
Qué dios me pille confesado!!! [emoji23]

Yo algunas veces me hago pajas mentales, pero lo cierto es que podría tener una solución matemática, de modo que en lugar de corregir el error intentar anticiparse estimando la que podría ser la próxima posición del avión según la trayectoria seguida, la actual dirección y velocidad...siempre y cuando realizar esos cálculos no suponga más un detrimento del rendimiento.

Pero viendo lo visto hasta ahora, habrá que buscar si hay en el código algún fallo que corregir.

Se hará lo que se pueda.

Guillesan
07/09/2015, 00:39
Y bastante es, amigo, por que el curro que te estas metiendo es considerable. Aquí estamos esperando tus genialidades pero por favor a tu conveniencia ok

rortega
07/09/2015, 02:51
Ahí lo llevas Guillesan...

https://www.dropbox.com/s/dctcq90agfkn40r/open360tracker-RVOSD-V1.2.zip?dl=0

Corregido:


Número de satélites no parpadea.
Posición GPS corregida (el último dígito se pierde pues no cabe).
Altitud corregida, antes salía 0, ahora muestra altitud absoluta.

Comportamiento:


Sólo está probado sin GPS Local (probarlo con GPS Local te toca a tí).
Si se pierde la posición, se muestran los últimos datos conocidos.
Si le llega una trama errónea o incompleta, no se actualizan los datos, permaneciendo los últimos conocidos.

Es posible que con GPS Local haya un comportamiento distinto al descrito, hasta que no hagas la prueba no lo sabremos a ciencia cierta.

rortega
07/09/2015, 02:52
Ahí lo llevas Guillesan...

https://www.dropbox.com/s/dctcq90agfkn40r/open360tracker-RVOSD-V1.2.zip?dl=0

Corregido:


Número de satélites no parpadea.
Posición GPS corregida (el último dígito se pierde pues no cabe).
Altitud corregida, antes salía 0, ahora muestra altitud absoluta.

Comportamiento:


Sólo está probado sin GPS Local (probarlo con GPS Local te toca a tí).
Si se pierde la posición, se muestran los últimos datos conocidos.
Si le llega una trama errónea o incompleta, no se actualizan los datos, permaneciendo los últimos conocidos.

Es posible que con GPS Local haya un comportamiento distinto al descrito, hasta que no hagas la prueba no lo sabremos a ciencia cierta.

Me juego el cuello a que el código de rvosd.cpp no estaba probado, y si lo estaba era con valores a 0 en sus campos. Algunos errores son tan básicos que todo indica que el algoritmo no estaba depurado.

Guillesan
07/09/2015, 09:09
Me juego el cuello a que el código de rvosd.cpp no estaba probado, y si lo estaba era con valores a 0 en sus campos. Algunos errores son tan básicos que todo indica que el algoritmo no estaba depurado.

Joder chico tu duermes?
Venga lo compilo en un ratito y te cuento como ha ido.
Gracias por tu interes.

rortega
07/09/2015, 09:12
Sí duermo, sí. Lo que pasa es que ayer me pegué una siesta de dos horas y para colmo tomé café algo más tarde de lo habitual, así que aproveché para hacerlo.

Guillesan
07/09/2015, 09:14
Sí duermo, sí. Lo que pasa es que ayer me pegué una siesta de dos horas y para colmo tomé café algo más tarde de lo habitual, así que aproveché para hacerlo.

Santo cafe, recuerdame te compre un pale de cafe del que mas te guste jajajajaja.

Guillesan
07/09/2015, 09:43
Esto funciona. Qué ilusión . Solo me cabe preguntarte que debo cambiar para trabajar con un LCD de 20x4 , algo ha cambiado por que antes sabia hacerlo pero ahora me trunca mal las lineas, pero eso es una nimiedad, lo importante es que ya sale la telemetria en pantalla , con Gps local
uaaaaaaaaahhttps://vimeo.com/138498746

rortega
07/09/2015, 09:44
Que son las lunes????

Guillesan
07/09/2015, 09:45
Lineas, coñe, ya lo he rectificado, perdona

Guillesan
07/09/2015, 10:05
Vamos a ver veo algúna cuestión.
Pongo las dos pantallas donde veo una diferencia entre los datos A:XXX y Course: XXX , si no me equivoco seria lo mismo no. https://vimeo.com/138500061

rortega
07/09/2015, 10:10
Creo que se debe a que le he truncado el último dígito pensando que no cabían en mi Display. Modificaré sólo ese archivo y te lo paso.

rortega
07/09/2015, 10:29
Antes de hacer nada, has ajustado en el config.h el parámetro LCD_SIZE_ROW ? Te lo pasé puesto a 2 pero tú debes ponerlo a 4, creo.

Guillesan
07/09/2015, 10:31
Si esta en 4 como hacia en otras compilaciones y luego vario esto

#ifdef LCD_DISPLAY
//download from https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
#if (LCD_DISPLAY == I2C)
#include <LiquidCrystal_I2C.h>
#ifdef LCD_BANGGOOD_SKU166911 // Nueva Linea introducida
LiquidCrystal_I2C lcd(0x3F,20,4); // Nueva Linea introducida
#else // Nueva Linea introducida
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
#endif // Nueva Linea introducida
#elif (LCD_DISPLAY == SPI)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 13, 4, 3, 2);
#endif

rortega
07/09/2015, 10:45
Lo los datos A, podría ser que estemos tomando el dato equivocado de la trama.

Entiendo que una de las A (la primera) es el heading del avión con respecto al norte, y que la segunda es la altitud del avíon. En el caso de la altitud se está mostrando la altitud absoluta, según las especificaciones del autor del código, en las tramas que me pasaste en esa posición está el valor +0312.

La posición 0 es la cabecera donde ésta el símbolo de dólar $1.

Prueba a no usar GPS Local para ver si sale bien, en tal caso habría que ver en otras partes del código del tracker si se han olvidado de hacer lago.

Guillesan
07/09/2015, 10:48
Lo los datos A, podría ser que estemos tomando el dato equivocado de la trama.

Entiendo que una de las A (la primera) es el heading del avión con respecto al norte, y que la segunda es la altitud del avíon. En el caso de la altitud se está mostrando la altitud absoluta, según las especificaciones del autor del código, en las tramas que me pasaste en esa posición está el valor +0312.

La posición 0 es la cabecera donde ésta el símbolo de dólar $1.

Prueba a no usar GPS Local para ver si sale bien, en tal caso habría que ver en otras partes del código del tracker si se han olvidado de hacer lago.

OK , probare, aunque ahora debo salir de casa, estamos ganandole la partida.
En cuanto vuelba me pongo a ello.
Gracias por todo.

rortega
07/09/2015, 10:53
Si esta en 4 como hacia en otras compilaciones y luego vario esto

#ifdef LCD_DISPLAY
//download from https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
#if (LCD_DISPLAY == I2C)
#include <LiquidCrystal_I2C.h>
#ifdef LCD_BANGGOOD_SKU166911 // Nueva Linea introducida
LiquidCrystal_I2C lcd(0x3F,20,4); // Nueva Linea introducida
#else // Nueva Linea introducida
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
#endif // Nueva Linea introducida
#elif (LCD_DISPLAY == SPI)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 13, 4, 3, 2);
#endif

No, no, eso no está bien.
Eso afectaría únicamente a mi LCD, porque en tu config.h la línea #def LCD_BANGGOOD_SKU166911 está comentada para que no la uses.

Tengo que volver al código original y mirar alguna línea que debe estar faltando ahí. Al no tener un LCD de 4 se me ha debido pasar ese daño colateral.

Creo por tanto que no tiene nada que ver con las modificaciones que hice anoche para leer bien las coordenadas.

Guillesan
07/09/2015, 10:56
Ok, a tu aire como digo tengo muy buenas sensaciones de funcionamiento. Por desgracia debo dejarlo por un rato , pero esto está a punto caramelo.

rortega
07/09/2015, 10:58
No falta ninguna línea, así que debe ser en ésta en donde debes meter el cambio que hiciste en su día.

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);

Editado:
De cambiar sólo son los dos primeros parámetros, el 0x27 y el 2 que continúa.

El 0x27 es la dirección I2C. Aquí pon la que corresponda con la tuya.
El 2 es el número de filas.

Este es otro de los asuntos que deben ser mejorados en el código. Lo voy a hacer para cambiar la dirección del LCD y el número de líneas en el config.h, algo parecido para lo que he hecho con mi LCD y así los usuarios no tengan que andar tocando líneas de código.

rortega
07/09/2015, 11:02
Ok, a tu aire como digo tengo muy buenas sensaciones de funcionamiento. Por desgracia debo dejarlo por un rato , pero esto está a punto caramelo.

A todo ésto, yo estoy en el curro y no puedo hacer pruebas, sólo modificar código (y no os preocupéis por lo del curro, que una parte de mi trabajo consiste en programar :wink2:), y como no salgo a la calle a fumar, y sólo meo cada 4 horas, puedo permitirme el tocar en un archivo de texto distinto al que normalmente estoy tocando, ja ja ja .

Guillesan
07/09/2015, 11:07
Jajaja, me alegro, lo dicho luego pruebo

Guillesan
07/09/2015, 16:34
Bueno prosiguiendo , por depronto creo que he solucionado el tema del LCD

#endif
#ifdef LCD_DISPLAY

#ifdef LCD_BANGGOOD_SKU166911 // Nueva Linea introducida
lcd.init(); // Nueva línea introducida
lcd.backlight(); // Nueva línea introducida
#else // Nueva Linea introducida
lcd.begin(20, LCD_SIZE_ROW);
lcd.setBacklightPin(3, POSITIVE);
lcd.setBacklight(HIGH);
#endif // Nueva Linea introducida

rortega
07/09/2015, 18:53
Ya tenemos repositorio en github:

https://github.com/raul-ortega/amv-open360tracker

A partir de ahora todos los cambios realizados se subirán al repositorio, es la única manera de llevar un control de cambios más o menos decente y no volverse locos. Además, así todo el mundo sabrá si hay nueva versión.

Intentaré incluir hoy las definiciones y líneas de instrucciones correctas que has compartido Guillesan para el LCD 20x4.

Necesito que me digas marca/modelo y link de la tienda para incluirlo en el código fuente.

Ahora que veo tu código no sé si el 20 es la dirección I2C o es el número de celdas por cada fila. Confírmamelo por favor para anotarlo en el código también. Espero tus comentarios sobre las pruebas realizadas.

Simba, no me olvido de tí, intentaremos averiguar si es posible o no mejorar el comportamiento de los servos. Todo esto que estoy modificando en coordinación con Guillesan me está sirviendo para hacerme una idea mucho más a fondo del código. Entender y depurar algo que ha escrito otro no es tarea fácil. También espero los resultados de tus pruebas.

Tengo en mente modificar la secuencia de inicio cuando no usamos GPS Local, para que no haga falta pulsar el home una vez se recibe señal y se detecte un número mínimo de señales.

Pasito a pasito...

rortega
07/09/2015, 18:55
Ya tenemos repositorio en github:

https://github.com/raul-ortega/amv-open360tracker

A partir de ahora todos los cambios realizados se subirán al repositorio, es la única manera de llevar un control de cambios más o menos decente y no volverse locos. Además, así todo el mundo sabrá si hay nueva versión.

Intentaré incluir hoy las definiciones y líneas de instrucciones correctas que has compartido Guillesan para el LCD 20x4.

Necesito que me digas marca/modelo y link de la tienda para incluirlo en el código fuente.

Ahora que veo tu código no sé si el 20 es la dirección I2C o es el número de celdas por cada fila. Confírmamelo por favor para anotarlo en el código también. Espero tus comentarios sobre las pruebas realizadas.

Simba, no me olvido de tí, intentaremos averiguar si es posible o no mejorar el comportamiento de los servos. Todo esto que estoy modificando en coordinación con Guillesan me está sirviendo para hacerme una idea mucho más a fondo del código. Entender y depurar algo que ha escrito otro no es tarea fácil. También espero los resultados de tus pruebas.

Tengo en mente modificar la secuencia de inicio cuando no usamos GPS Local, para que no haga falta pulsar el home una vez se recibe señal y se detecte un número mínimo de señales.

Pasito a pasito...

Y link a la librería correcta, que no sé si procede subirlas al repositorio también, junto a la que yo uso.

Guillesan
07/09/2015, 19:11
Ya tenemos repositorio en github:

https://github.com/raul-ortega/amv-open360tracker

A partir de ahora todos los cambios realizados se subirán al repositorio, es la única manera de llevar un control de cambios más o menos decente y no volverse locos. Además, así todo el mundo sabrá si hay nueva versión.

Intentaré incluir hoy las definiciones y líneas de instrucciones correctas que has compartido Guillesan para el LCD 20x4.

Necesito que me digas marca/modelo y link de la tienda para incluirlo en el código fuente.

Ahora que veo tu código no sé si el 20 es la dirección I2C o es el número de celdas por cada fila. Confírmamelo por favor para anotarlo en el código también. Espero tus comentarios sobre las pruebas realizadas.

Simba, no me olvido de tí, intentaremos averiguar si es posible o no mejorar el comportamiento de los servos. Todo esto que estoy modificando en coordinación con Guillesan me está sirviendo para hacerme una idea mucho más a fondo del código. Entender y depurar algo que ha escrito otro no es tarea fácil. También espero los resultados de tus pruebas.

Tengo en mente modificar la secuencia de inicio cuando no usamos GPS Local, para que no haga falta pulsar el home una vez se recibe señal y se detecte un número mínimo de señales.

Pasito a pasito...

OK , yo uso un LCD 20x4 , ese 20 son celdas y 4 las lineas.
Funciona, la libreria es la que se solicita bajes en el propio programa, vaya la que Rangarid(aleman) da por buena.
Este LCD no lo compre yo es el que proporciona Waverider para el FRQMax nuevo.
Estupendo lo de github.
Estoy haciendo pruebas con la telemetria RVOSD, funciona correctamente pero que conste que lo hago sobre la mesa , quiero decir que no estoy usando ninguna mecanica haun .
Los valores de Lat y Long cambian bien pero como te decia en RVGS el valor course: no se corresponde con el A:XXX que es el azimut recibido pienso.

H: son los grados del compass en tierra , seguido seria la A:XXX que como comentaba azimut recibido y que comparo con el Course y no concuerdan, aunque he revisado lo que corresponde a cada dato en la trama y solo manda un Heading (0-360) , no se si en arduino hace alguna conversion .
Bueno seguimos y gracias

rortega
07/09/2015, 19:20
OK , yo uso un LCD 20x4 , ese 20 son celdas y 4 las lineas.
Funciona, la libreria es la que se solicita bajes en el propio programa, vaya la que Rangarid(aleman) da por buena.
Este LCD no lo compre yo es el que proporciona Waverider para el FRQMax nuevo.
Estupendo lo de github.
Estoy haciendo pruebas con la telemetria RVOSD, funciona correctamente pero que conste que lo hago sobre la mesa , quiero decir que no estoy usando ninguna mecanica haun .
Los valores de Lat y Long cambian bien pero como te decia en RVGS el valor course: no se corresponde con el A:XXX que es el azimut recibido pienso.

H: son los grados del compass en tierra , seguido seria la A:XXX que como comentaba azimut recibido y que comparo con el Course y no concuerdan, aunque he revisado lo que corresponde a cada dato en la trama y solo manda un Heading (0-360) , no se si en arduino hace alguna conversion .
Bueno seguimos y gracias

Entonces no es un LCD I2C? ¿O es ISP?

Guillesan
07/09/2015, 19:26
Entonces no es un LCD I2C? ¿O es ISP?

No perdon es I2c 20x4 , pero que sepas tambien que sin cambiar la direccion con un 16x2 tambien me funciona correctamente, solo variar esos datos

rortega
07/09/2015, 19:32
No perdon es I2c 20x4 , pero que sepas tambien que sin cambiar la direccion con un 16x2 tambien me funciona correctamente, solo variar esos datos

Estaría bien saber que LCD son y su procedencia. Yo sé que por algún lado lo comentas, pero hay tanta información ya, y yo tengo ya la cabeza loca :ansioso:

Guillesan
07/09/2015, 19:43
Estaría bien saber que LCD son y su procedencia. Yo sé que por algún lado lo comentas, pero hay tanta información ya, y yo tengo ya la cabeza loca :ansioso:
Esta es la 16x2 que me funciona, la de 20x4 habria que preguntarle a Jaime de donde salio.

http://www.ebay.es/itm/321784271602?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Guillesan
07/09/2015, 19:56
Bueno las pruebas de la electronica encima de la mesa son correctas, asin que ....... lo monto en mecanica y sigo con las pruebas .
Madre mia que puntazo con este rortega, amigo me has hecho muy feliz con hecharme esta mano en el tema RVOSD, desde aqui aprovecho para agradecertelo y espero no se de que forma conocerte y agradecertelo en persona.
En cuanto lo tenga montado en mecanica informo y seguimos con el tema.
Sigo posteando por aqui de los adelantos.

Simba
07/09/2015, 20:28
Bueno en primer lugar, felicitaros por los trabajos y progresos que se van viendo, aun no me enteré de que va la cosa del Range video, y si de alguna manera se podría utilizar la telemetria por video, para nuestro Traker 360 pero bueno ya se llegara.

En lo que respecta a la Telemetria que estamos usando, me refiero al Orange OpenLRS y nuestro traker, y en lo referente a la respuesta de los servos, hemos realizado pruebas tanto Turruk como yo, con diferentes baurate y hercios en GPS, y llegamos a la conclusión que el tome de gama, esta en los 4800 de baurate y 2 Hz.
Si aumentamos el baurate a 9600 o aumentamos los Hz a 4, o ambas cosas es decir a 9600 y 4Hz, el Traker no se entera de nada.

Yo pienso que se debe al Orange, que no puede mandar correctamente la información, que como se dijo en su día se acogota, y no masa la info.
La unica forma de que valla todo bien, es con 4800 y 2 Hz.

Creo que la Crius si que podría digerir correctamente los 4 Hz, o al menos esa impresión me da.

El tema de los saltos en el seguimiento a baja altura y corta distancia, estoy cada vez mas seguro, que se debe a la velocidad del GPS, y con los 2Hz que puede mandar el Orange, estamos en el limite de posibilidades.
Si se pudiera mandar lo 4 Hz el funcionamiento en esas circunstancias seria mas fluido, pero es lo que hay, que no pasa nada y que sigue siendo totalmente funcional.

Es todo lo que puedo aportar.

sl2

Guillesan
07/09/2015, 20:50
Bueno en primer lugar, felicitaros por los trabajos y progresos que se van viendo, aun no me enteré de que va la cosa del Range video, y si de alguna manera se podría utilizar la telemetria por video, para nuestro Traker 360 pero bueno ya se llegara.

En lo que respecta a la Telemetria que estamos usando, me refiero al Orange OpenLRS y nuestro traker, y en lo referente a la respuesta de los servos, hemos realizado pruebas tanto Turruk como yo, con diferentes baurate y hercios en GPS, y llegamos a la conclusión que el tome de gama, esta en los 4800 de baurate y 2 Hz.
Si aumentamos el baurate a 9600 o aumentamos los Hz a 4, o ambas cosas es decir a 9600 y 4Hz, el Traker no se entera de nada.

Yo pienso que se debe al Orange, que no puede mandar correctamente la información, que como se dijo en su día se acogota, y no masa la info.
La unica forma de que valla todo bien, es con 4800 y 2 Hz.

Creo que la Crius si que podría digerir correctamente los 4 Hz, o al menos esa impresión me da.

El tema de los saltos en el seguimiento a baja altura y corta distancia, estoy cada vez mas seguro, que se debe a la velocidad del GPS, y con los 2Hz que puede mandar el Orange, estamos en el limite de posibilidades.
Si se pudiera mandar lo 4 Hz el funcionamiento en esas circunstancias seria mas fluido, pero es lo que hay, que no pasa nada y que sigue siendo totalmente funcional.

Es todo lo que puedo aportar.

sl2

Esto que expones es justamente lo que he intentado paliar, me explico.
Yo he hecho pruebas de telemetria en dos versiones
1ª GPS_Telemetry o lo que es lo mismo tramas nmea directas por conexion serial transparente con openlrs , es funcional si pero como tu bien dices con limitaciones, maximo 4800 baudios y 2hz.
Lo he probado en 433 y 868 , sin mas problemas eso si es preceptivo poner el data rate de openlrs a 19200, eso es fenomeno para el control de los servos pero penaliza en la distancia de control, he volado a 5 km sin mas problema , no he ido a mas por seguridad, no es poco pero no es de record.
2º Mavlink , sacado del osd MyFlyDream en su puerto data que da esa prestacion, minima velocidad forzada por su configuracion 9600 baudios, openlrs flasheado con el firmware especial y dedicado a transmitir esta telemetria Mavlink. Funciona de hecho es el que estoy usando ahora mismo cuando el tiempo lo permite , montado en un Skywalker con osd MyFlyDream , protocolo Mavlink y 9600 baudios, es lo que habeis podido ver en algunos videos subidos por mi en la antena tracker que uso actualmente, funciona sin problemas , no se que refresco tiene este protocolo pero para mi es correcto , la antena trabaja correctamente dentro de lo razonable.
3º Gracias a Rortega podre probarlo en breve, la telemetria RVOSD que a diferencia de los dos anteriores se transmite por el enlace de video , se decodifica en tierra por su propio equipo RVGS.
Al ser transmitido por video la velocidad de bajada es muy rapida de hecho baja a 115200 baudios y 25hz de refresco . Esta era fundamentalmente el problema en la placa arduino que a priori parecia que no podia con esta velocidad, afortunadamente no estabamos en lo cierto y si es posible hacerlo con la antena360tracker , gracias a rortega que se puso el tema por montera a solucionado los problemas y ya es operativo, me queda probarlo en campo pero como decia en links anteriores en la mesa la cosa promete.
Que ganamos con ello, pues aparte de poder usar mi osd Rangevideo y su decodificador RVGS que tenia ya "sufragado" pues dejo a mi Openlrs libre de cargas de telemetria aire -tierra, y sus 19200 baudios forzados , y puedo configurarlo a 4800-9600 como es lo normal y dejarle al video el trabajo de traerme la telemetria a tierra.
Resumiendo, no es que Openlrs no pueda con la telemetria eso seria no ser justo con la verdad pero si los OSDs de cierto valor (€) tienen la telemetria incrustada en el video, lease Rangevideo, Eagletree, MyFlyDream ( en su version comercial de antena tracker) ,Ikarus (este español y no tan caro)y ultimamente Pitlab ( no se si lo escribo bien) , por algo sera, no os parece?

Simba
07/09/2015, 21:27
Si esta totalmente claro todo lo que comentas, pero siempre hay un pero, si no se dispone de ningún sistema capaz de mandar por video la información, la cosa se complica bastante salvo que se quiera desembolsar el precio de uno de estos sistemas.

Guillesan
07/09/2015, 21:29
Si esta totalmente claro todo lo que comentas, pero siempre hay un pero, si no se dispone de ningún sistema capaz de mandar por video la información, la cosa se complica bastante salvo que se quiera desembolsar el precio de uno de estos sistemas.
Evidentemente, Simba, no es excluyente, si lo tienes pues se usa sino las otras soluciones , que como tu ya as probado y yo tambien no son ni mejor ni peor es lo que se tiene y se usa, no

rortega
07/09/2015, 21:47
Madre mía menudo máster en comunicaciones me estáis dando...

Agradezco los agradecimientos, pero tampoco he hecho gran cosa, está casi todo hecho ya. Aún así gracias.

Para mí lo que estoy aportando es mi propia forma de agradecer el trabajo que otros estáis haciendo, y por supuesto los creadores del tracker, que a su vez se han apoyado en el trabajo previo de otros...open source puro y duro, línea con la que me siento muy identificado.

Voy a ir tomando nota de todo para ir alimentando el github, así el que venga detrás podrá disfrutar y seguir aportando.

Siguiendo con el asunto, Guillesan no hagas aún las pruebas en vuelo hasta que no resolvamos lo de el azimut y la altitud.

Simba, si las comunicaciones Open LRS son el cuello de botella, podríamos explorar la vía predictiva. Para un vuelo de un avión tiene que ser sencillo predecir la siguiente posición en el espacio 3D.

No soy partidario de meter tantas capas física y protocolos uno encima de otros, si se produce un fallo saber de donde viene el problema puede dar muchos dolores de cabeza, y al mismo tiempo es caro. Debería ser lo más simple posible.

Simba
07/09/2015, 22:32
Pues vamos a ver rortega, tampoco es necesario marear mucho mas la perdiz, nosotros me refiero a Turruk y a mi que volamos juntos, estamos realmente satisfechos de nuestro Traker360, y hay que hacer incapie en esto, para que nadie se pierda en nuestras divagaciones, este chisme esta dejando alucinado a mas de uno en nuestro Club, y ahora mismo con toda la experiencia que tenemos, es un sistema seguro, sencillo y relativamente barato (sin contar las horas), y ademas para la gran mayoría de gente que utiliza el Orange OpenLRS, es realmente un chollo ya que por el módico precio de 9€ que cuesta un GPS como el mio, puedo tener toda la flota equipada para el Traker, incluido el avión que lo tengo con un GPS MFD, no me merece la pena, andar cambiando de sistema, con en simple GPS listo.
por otro lado ¿conoceis a alguien que vuele micros 250 con Traker?, pues ya conoceis a uno, es ideal para los micros 250, ya que con un simple repito GPS super ligero, lo tienes mas que controlado.

Si aparte de todo esto, queremos mejorar un poco, por cuestión de maniáticos de la perfección, toda aportación es buena.
Seguro que tu rortega en cuanto lo pruebes veras las grandes virtudes que tiene y seguiremos mejorandolo.

Guillesan
07/09/2015, 22:53
Madre mía menudo máster en comunicaciones me estáis dando...

Agradezco los agradecimientos, pero tampoco he hecho gran cosa, está casi todo hecho ya. Aún así gracias.

Para mí lo que estoy aportando es mi propia forma de agradecer el trabajo que otros estáis haciendo, y por supuesto los creadores del tracker, que a su vez se han apoyado en el trabajo previo de otros...open source puro y duro, línea con la que me siento muy identificado.

Voy a ir tomando nota de todo para ir alimentando el github, así el que venga detrás podrá disfrutar y seguir aportando.

Siguiendo con el asunto, Guillesan no hagas aún las pruebas en vuelo hasta que no resolvamos lo de el azimut y la altitud.

Simba, si las comunicaciones Open LRS son el cuello de botella, podríamos explorar la vía predictiva. Para un vuelo de un avión tiene que ser sencillo predecir la siguiente posición en el espacio 3D.

No soy partidario de meter tantas capas física y protocolos uno encima de otros, si se produce un fallo saber de donde viene el problema puede dar muchos dolores de cabeza, y al mismo tiempo es caro. Debería ser lo más simple posible.

Vale , solo voy a montar la parte mecanica que esta casi terminada, tengo una funcionando con Mavlink pero vamos a seguir la maxima que dice " si funciona no toques coño", asi que hare pruebes si pero en tierra OK.
Vale.

Guillesan
07/09/2015, 23:00
Pues vamos a ver rortega, tampoco es necesario marear mucho mas la perdiz, nosotros me refiero a Turruk y a mi que volamos juntos, estamos realmente satisfechos de nuestro Traker360, y hay que hacer incapie en esto, para que nadie se pierda en nuestras divagaciones, este chisme esta dejando alucinado a mas de uno en nuestro Club, y ahora mismo con toda la experiencia que tenemos, es un sistema seguro, sencillo y relativamente barato (sin contar las horas), y ademas para la gran mayoría de gente que utiliza el Orange OpenLRS, es realmente un chollo ya que por el módico precio de 9€ que cuesta un GPS como el mio, puedo tener toda la flota equipada para el Traker, incluido el avión que lo tengo con un GPS MFD, no me merece la pena, andar cambiando de sistema, con en simple GPS listo.
por otro lado ¿conoceis a alguien que vuele micros 250 con Traker?, pues ya conoceis a uno, es ideal para los micros 250, ya que con un simple repito GPS super ligero, lo tienes mas que controlado.

Si aparte de todo esto, queremos mejorar un poco, por cuestión de maniáticos de la perfección, toda aportación es buena.
Seguro que tu rortega en cuanto lo pruebes veras las grandes virtudes que tiene y seguiremos mejorandolo.

Bueno una vez mas me alegro haber caido por el foro aleman y decubrir este programa. Me costo horrores el comunicarme con Rangarid, por aquello del idioma y no fue por su interes que lo tuvo sino por que los traductores se llevan muy mal con la terminologia tecnica y ahi tuvo que intervenir la imaginacion, pero todo esta correcto si el fin es feliz.
Ya en el primer momento me dije que este desarrollo valia la pena, no por que funcionara bien que lo hace sino por que es una multiplataforma con varios protocolos y ademas ampliable, como asi ha sido.
Ok seguimos pa bingo, haber si los restantes compis se animan a ir terminando sus antenas que mas ojos mas ven .
Venga saludos a todos.

TURRUK
07/09/2015, 23:36
Hola, solo quiero decir que es un buen prollecto , gracias a Guillesan a rortega y todos que partecipa. Otra cosa quiero preguntar a Guillesan porque usas el Rangevideo? como visto ya tiene su propios ajustes ,que solo bajar telemetria. Salu2 a todos. :plane:

caliwhite
07/09/2015, 23:55
hola buenas alguien puede echarme una mano, no logro compilar la última configuración que ha hecho rortega, seguro que es algún fallo sobre LCD, pero no de dar con el.Gracias de antemano.

http://i1172.photobucket.com/albums/r565/caliwhite1/compilacion_zpsvd3nlprr.png

rortega
08/09/2015, 00:05
hola buenas alguien puede echarme una mano, no logro compilar la última configuración que ha hecho rortega, seguro que es algún fallo sobre LCD, pero no de dar con el.Gracias de antemano.



En el config.h esta línea debe quedar así:

//#define LCD_BANGGOOD_SKU166911

El error te sale porque te faltan las dos barritas del principio.

Guillesan
08/09/2015, 00:06
hola buenas alguien puede echarme una mano, no logro compilar la última configuración que ha hecho rortega, seguro que es algún fallo sobre LCD, pero no de dar con el.Gracias de antemano.

http://i1172.photobucket.com/albums/r565/caliwhite1/compilacion_zpsvd3nlprr.png


Hola Callwhite, previamente te as bajado la libreria nueva de liquid crystal, que LCD tienes.

Edito: Nada no he dicho nada suerte que el maestro rortega esta a la zaga.
Buenas noches

rortega
08/09/2015, 00:08
En el config.h esta línea debe quedar así:

//#define LCD_BANGGOOD_SKU166911

El error te sale porque te faltan las dos barritas del principio.

Y revisa también en el config.h la dirección del puerto I2C de tu LCD.

0x27 suele ser por defecto. Si no te va prueba con 0x20, y si no con 0x3F.

En el peor de los casos, que no te sepas la dirección, debes bajarte algún sketch que haga de scanner de puertos I2C para averiguar el tuyo.

rortega
08/09/2015, 00:17
Guillesan, ya está corregido el Heading (Course) del RVOSD.

Sencillamente no estaba implementada en el parse la captura del dato correspondiente. Empezando desde el 0, se trata del dato de la posición 14.

Las modificaciones afecta a 3 archivos, por lo que te aconsejo que lo bajes todo nuevamente.

Esta tarde metí también los cambios para indicar la dirección I2C y las columnas del display.

https://github.com/raul-ortega/amv-open360tracker

En esta última versión, en el display hago que aparezca en el inicio el número "version amv0.2". No hace falta tener mucha imaginación para saber que es amv. El 0.2 porque ya hay muchos cambios significativos con respecto a la versión original.

rortega
08/09/2015, 00:19
Siempre que os bajéis la última versión revisad el config.h.

Guillesan
08/09/2015, 00:24
Guillesan, ya está corregido el Heading (Course) del RVOSD.

Sencillamente no estaba implementada en el parse la captura del dato correspondiente. Empezando desde el 0, se trata del dato de la posición 14.

Las modificaciones afecta a 3 archivos, por lo que te aconsejo que lo bajes todo nuevamente.

Esta tarde metí también los cambios para indicar la dirección I2C y las columnas del display.

https://github.com/raul-ortega/amv-open360tracker

En esta última versión, en el display hago que aparezca en el inicio el número "version amv0.2". No hace falta tener mucha imaginación para saber que es amv. El 0.2 porque ya hay muchos cambios significativos con respecto a la versión original.

Ole ole maquina venga , bajando compilando y mañana le meto mano. Gracias.

Simba
08/09/2015, 00:37
No se por que, me parece que las pruebas que hicimos de la transmisión con los Orange, no nos funcionaban nada mas que a 4800, por una razón que no me había dado cuenta.
rortega, solo cambiaba la linea Nº 49 #define BAUD 4800 //4800 , pero no me di cuenta de la linea Nº 124 #define GPS_BAUDRATE 4800

¿Que te parece era necesario cambiar esta linea tambien? yo solo cambiaba en la 49 el baud a 9600

Pretendia aumentar la capacidad del puerto para que soportara los 4Hz, aumentando el baudrate del Orange a 9600, pero solo cambiando la linea 49 a 9600.
No se si me explico y ni siquiera se si esto es importante.

caliwhite
08/09/2015, 00:44
he descomentado la linea que me has comentado y cambiado la direccion del puerto del LCD y no hay manera.

http://i1172.photobucket.com/albums/r565/caliwhite1/compilacion2_zpsqay6hmqq.png

Guillesan
08/09/2015, 00:44
Me da error en la compilacion de la ultima version:
Arduino:1.6.1 (Mac OS X), Placa:"Arduino Uno"

amv-open360tracker.ino:72:7: error: 'lcd' does not name a type
amv-open360tracker.ino:73:7: error: 'lcd' does not name a type
amv-open360tracker.ino:74:7: error: 'lcd' does not name a type
amv-open360tracker.ino: In function 'void setup()':
amv-open360tracker.ino:127:7: error: 'lcd' was not declared in this scope
amv-open360tracker.ino: In function 'void loop()':
amv-open360tracker.ino:298:13: error: 'lcd' was not declared in this scope
amv-open360tracker.ino:342:15: error: 'lcd' was not declared in this scope
amv-open360tracker.ino:443:7: error: 'lcd' was not declared in this scope
Error de compilación

This report would have more information with
"Show verbose output during compilation"
activala desde Archivo > Preferencias


Y el config.h asi
#define LCD_DISPLAY I2C
#define LCD_SIZE_ROW 4 // default 2. Tested with 2 and 4.
#define LCD_SIZE_COL 20 // default 16. Tested with 16 and 20.
/*
* 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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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

rortega
08/09/2015, 00:55
Me da error en la compilacion de la ultima version:
Arduino:1.6.1 (Mac OS X), Placa:"Arduino Uno"

amv-open360tracker.ino:72:7: error: 'lcd' does not name a type
amv-open360tracker.ino:73:7: error: 'lcd' does not name a type
amv-open360tracker.ino:74:7: error: 'lcd' does not name a type
amv-open360tracker.ino: In function 'void setup()':
amv-open360tracker.ino:127:7: error: 'lcd' was not declared in this scope
amv-open360tracker.ino: In function 'void loop()':
amv-open360tracker.ino:298:13: error: 'lcd' was not declared in this scope
amv-open360tracker.ino:342:15: error: 'lcd' was not declared in this scope
amv-open360tracker.ino:443:7: error: 'lcd' was not declared in this scope
Error de compilación

This report would have more information with
"Show verbose output during compilation"
activala desde Archivo > Preferencias


Y el config.h asi
#define LCD_DISPLAY I2C
#define LCD_SIZE_ROW 4 // default 2. Tested with 2 and 4.
#define LCD_SIZE_COL 20 // default 16. Tested with 16 and 20.
/*
* 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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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
El problema debe ser el haber incorporado las líneas que ma has pasado para el Display de 4 filas.

rortega
08/09/2015, 00:58
El problema debe ser el haber incorporado las líneas que ma has pasado para el Display de 4 filas.
Esas líneas deben de esperar unas librerías que seguramente no tenéis instaladas.

Voy a revertir el cambio para que coincida con la versión original y no le dé problemas a nadie más, y estudio la forma de meter luego esas lineas.

Guillesan
08/09/2015, 01:02
Esas líneas deben de esperar unas librerías que seguramente no tenéis instaladas.

Voy a revertir el cambio para que coincida con la versión original y no le dé problemas a nadie más, y estudio la forma de meter luego esas lineas.
OK gracias y perdona si es culpa mia de haberte dado mal algun dato.

rortega
08/09/2015, 01:25
Cambio revertido, he comentado las líneas de Guille y he comentado el parámetro de número de columnas para que no se haga uso de él.

Si no os compila dando el mismo error es que no tenéis la librería I2C correcta instalada. Se supone que es la que Guillesan compartió en su día:

https://www.dropbox.com/s/1wgoswthqa2be34/LiquidCrystal_V1.2.1.zip?dl=0

Los cambios en la versión están en:

https://github.com/raul-ortega/amv-open360tracker

Recordad revisar al detalle el config.h

rortega
08/09/2015, 01:31
No se por que, me parece que las pruebas que hicimos de la transmisión con los Orange, no nos funcionaban nada mas que a 4800, por una razón que no me había dado cuenta.
rortega, solo cambiaba la linea Nº 49 #define BAUD 4800 //4800 , pero no me di cuenta de la linea Nº 124 #define GPS_BAUDRATE 4800

¿Que te parece era necesario cambiar esta linea tambien? yo solo cambiaba en la 49 el baud a 9600

Pretendia aumentar la capacidad del puerto para que soportara los 4Hz, aumentando el baudrate del Orange a 9600, pero solo cambiando la linea 49 a 9600.
No se si me explico y ni siquiera se si esto es importante.

#define BAUD afecta al puerto serie por el que recibimos la telemetría remota.

#define GPS_BAUDRATE es para el GPS Local, sólo tiene sentido modificarlo si lo estás usando.

caliwhite
08/09/2015, 01:33
Con los últimos cambios que has echo ya lo tengo dando vueltas, gracias por ese pedazo de curro que te estas pegando.
Un saludo.

rortega
08/09/2015, 01:40
Con los últimos cambios que has echo ya lo tengo dando vueltas, gracias por ese pedazo de curro que te estas pegando.
Un saludo.

A cambio, si funciona bien, graba algún pequeño vídeo y compártelo para que veamos en funcionamiento. No importa si no tienes montado el tracker completo, basta ver que la electrónica está respondiendo bien y se ven los datos en el LCD.

Si indicas modelo y link donde compraste el LCD que usas, lo añadimos al código fuente para que otros usuarios puedan localizarlo antes.

Y si nos explicas brevemente que configuración de protocolo y dispositivos estás usando, podemos confirmar en la wiki que está probado y funcionando.

caliwhite
08/09/2015, 01:49
Ok, lo tengo todo superpuesto estoy esperando el servo continuo el que tiene es uno de 360º, el LDC es el mismo que recomienda Gillesan por ebay en tienda de valencia.
Mañana con mas tiempo hago video me voy a descansar dentro de un rato tengo que currar.
Gracias

Simba
08/09/2015, 09:45
#define BAUD afecta al puerto serie por el que recibimos la telemetría remota.

#define GPS_BAUDRATE es para el GPS Local, sólo tiene sentido modificarlo si lo estás usando.
Vale aclarado, entonces lo hice todo bien.
Gracias.

Simba
08/09/2015, 10:56
Mirar, esta es la forma a groso modo, en que se desplaza el angulo de Tilt de la antena, según le llegan los pulsos de posición cada 1/2 segundos, (2Hz GPS).
La cuestión es ¿seria posible ponerle una función de integración, para que la salida al servo Tilt fuera en forma de rampa, y que la inclinación de la rampa fuera función de la magnitud de la salida?.

Es como amortiguar los escalones de salida tilt, de esa forma el conjunto de la mecánica del Traker, sufriría mucho menos ya que no iría a saltos. esto ultimo cuando se monta una antena con un cierto peso y volumen se nota mucho, no tanto cuando montamos una pequeña antena de 5,8g.

Es solo una idea, para ver si es realizable.

rortega
08/09/2015, 11:28
Mirar, esta es la forma a groso modo, en que se desplaza el angulo de Tilt de la antena, según le llegan los pulsos de posición cada 1/2 segundos, (2Hz GPS).
La cuestión es ¿seria posible ponerle una función de integración, para que la salida al servo Tilt fuera en forma de rampa, y que la inclinación de la rampa fuera función de la magnitud de la salida?.

Es como amortiguar los escalones de salida tilt, de esa forma el conjunto de la mecánica del Traker, sufriría mucho menos ya que no iría a saltos. esto ultimo cuando se monta una antena con un cierto peso y volumen se nota mucho, no tanto cuando montamos una pequeña antena de 5,8g.

Es solo una idea, para ver si es realizable.
Smoothing creo que se llama esa técnica, no? En el código fuente hay algún comentario sobre una librería para aplica smoothig a los servía. Le echaré un vistazo esta tarde para ver de que va.

Simba
08/09/2015, 12:32
Mira lo que he encontrado, se trata de esto exactamente, a ver que te parece.

http://lab.guilhermemartins.net/2009/08/21/filtering-servo-movements/

rortega
08/09/2015, 16:49
Mira lo que he encontrado, se trata de esto exactamente, a ver que te parece.

http://lab.guilhermemartins.net/2009/08/21/filtering-servo-movements/
Le echaré un vistazo esta tarde.

rortega
08/09/2015, 20:47
Mira lo que he encontrado, se trata de esto exactamente, a ver que te parece.

http://lab.guilhermemartins.net/2009/08/21/filtering-servo-movements/

Le voy a meter mano al tema éste a ver si sale algo, pero asi a primera vista el resultado dará lugar a una respuesta más lenta, que se va a notar sobre todo estando cerca el avión. Pero vueno, vamos a intentarlo...

Guillesan
08/09/2015, 20:48
Ok , valiente, yo estoy liado con la mecánica.

Simba
08/09/2015, 20:58
Bueno vamos a ver pero creo que la velocidad real si los valores se ajustan a un mínimo para solo amortiguar tengo muchas esperanzas.
En el video del sitio que puse se ve un ejemplo de un muñeco robótica do que se nota muy bien la respuesta.

rortega
08/09/2015, 21:01
Bueno vamos a ver pero creo que la velocidad real si los valores se ajustan a un mínimo para solo amortiguar tengo muchas esperanzas.
En el video del sitio que puse se ve un ejemplo de un muñeco robótica do que se nota muy bien la respuesta.
Eso no es lo más importante del sitio web, je je. Lo verdaderamente bueno son los links relacionados, donde se pueden ver las curvas que representan las respuestas de las distintas funciones de easing. Con cretamente creo que la que mejor se ajusta es la OutQuart.

Simba
08/09/2015, 21:03
Vale vale yo no llego a tanto, seguro que tu eliges la mejor la función ideal.

rortega
08/09/2015, 21:04
http://www.gizma.com/easing/#quart2

http://robertpenner.com/easing/easing_demo.html

Un arranque rápido para aflojar en la parte final. Voy a probar con un sketch metiendo del tracker el código de calcula el tilt, y le voy a pasar la función que hace filtro a ver que respuestas tengo...pero dame tiempo...

Simba
08/09/2015, 21:06
Todo el que necesites tu marcas los tiempos y sin prisas ok.

rortega
08/09/2015, 21:06
http://www.gizma.com/easing/#quart2

http://robertpenner.com/easing/easing_demo.html

Un arranque rápido para aflojar en la parte final. Voy a probar con un sketch metiendo del tracker el código de calcula el tilt, y le voy a pasar la función que hace filtro a ver que respuestas tengo...pero dame tiempo...

Conozco el inicio del movimiento, y el punto final, y cuantos pasos puedo dar sin filtro. Lo que hago es que en lugar de recorrer 60 grados del tiron, por poner un ejemplo, muevo 45,10,4,1, grados en 4 pasos.

Guillesan
08/09/2015, 21:06
http://www.gizma.com/easing/#quart2

http://robertpenner.com/easing/easing_demo.html

Un arranque rápido para aflojar en la parte final. Voy a probar con un sketch metiendo del tracker el código de calcula el tilt, y le voy a pasar la función que hace filtro a ver que respuestas tengo...pero dame tiempo...
Tiempo todo el que quieras, solo faltaba

marcoasj
09/09/2015, 12:11
Buenas, rortega, simba, guillesan y cia.

He estado leyendo los post de estos ultimos días y no me acaba de quedar clara una cosa.

¿ El tracker funciona mejor sin GPS LOCAL ?,

Ya se que con el GPS local la autolocalización del tracker es automática, pero lo que interesa desde el punto de vista del usuario es que el LCD del tracker refleje la posición del avión, y no la del tracker. Y no me que claro, despues de leer y releer, que el funcionamiento del mismo con GPS LOCAL.

Voy a exponer lo que yo he entendido, corregidme si cometo algún error( que será lo mas seguro)

El Tracker arranca y espera señal del gps local hasta que coge satelites suficientes para la autolocalización y espera señal de telemetria. En este caso el LCD refleja la posición del tracker.

El tracker empieza a recibir telemetria y el LCD sustituye la posicion del tracker por la del avión.

¿Esto es así ?

Si el GPS Local solo sirve para esto ( salvando que pueda generar algún tipo de carga al procesador) ¿ No es mejor prescindir de él ?

Perdonad mi ignorancia, pero no entiendo de que le sirve a el tracker saber su propia posición.

Siento interrumpir la linea argumental de ahora ( lo del suavizado de los movs del tacker QUE VA A SER LA CAÑA ¡¡¡ y lo de la ( no se como llamarlo ) multiprotocolaridad, pero es que me voy a poner a simular via pc y no tengo las cosas claras.

Como dijo Guillesan por ahí detras..... tu pregunta que es lo que hay que hacer ¡¡¡¡

Graciaaaaass.

Simba
09/09/2015, 12:37
Hola, en lo referente al GPS local, estamos trabajando con la ultima versión, que ya no tiene GPS local.
Motivo, pues por lo mismo que piensas tu, que no lo vemos necesario.
Como comentas, con GPS local al arrancar espera coger satelites y cuando los tiene, se queda quieto esperando le llegue la telemetria, en ese momento solo se ven los satelites pillados, no la posición del Traker, es cuando le llega la telemetria, que saca por el LCD la posición del Avión, siempre saca la posición del Avión.
En esas condiciones y solo cuando se aleje el Avión del Traker los metros especificados, se pone a seguir.
No hay que apretar ningún botón, arranca solo.

La mayor ventaja de este sistema es la posibilidad si a alguien le interesa no no es nuestro caso, de cambiar de posición el traker durante el vuelo, el seguimiento sigue siendo perfecto, ya que el Traker siempre sabe donde esta.

En el caso de la versión SGPSL, se elimina el GPS local, y cuando se arranca se queda esperando recibir telemetria, y a partir del momento en que la telemetria es buena y se reciben mínimo 7 satelites (creo), sale por el LCD la información del Nº de satelites y posición, siempre del Avión claro.
Hay que tener el avión lo mas próximo posible del traker, y entonces se aprieta el botón de Home, esta posición es la que el traker identifica como suya.
A partir de ese momento, al alejarnos la distancia especificada, el Traker empieza a seguirnos.

No se si hay algo que se me olvida.

marcoasj
09/09/2015, 12:40
Hola, en lo referente al GPS local, estamos trabajando con la ultima versión, que ya no tiene GPS local.
Motivo, pues por lo mismo que piensas tu, que no lo vemos necesario.
Como comentas, con GPS local al arrancar espera coger satelites y cuando los tiene, se queda quieto esperando le llegue la telemetria, en ese momento solo se ven los satelites pillados, no la posición del Traker, es cuando le llega la telemetria, que saca por el LCD la posición del Avión, siempre saca la posición del Avión.
En esas condiciones y solo cuando se aleje el Avión del Traker los metros especificados, se pone a seguir.
No hay que apretar ningún botón, arranca solo.

La mayor ventaja de este sistema es la posibilidad si a alguien le interesa no no es nuestro caso, de cambiar de posición el traker durante el vuelo, el seguimiento sigue siendo perfecto, ya que el Traker siempre sabe donde esta.

En el caso de la versión SGPSL, se elimina el GPS local, y cuando se arranca se queda esperando recibir telemetria, y a partir del momento en que la telemetria es buena y se reciben mínimo 7 satelites (creo), sale por el LCD la información del Nº de satelites y posición, siempre del Avión claro.
Hay que tener el avión lo mas próximo posible del traker, y entonces se aprieta el botón de Home, esta posición es la que el traker identifica como suya.
A partir de ese momento, al alejarnos la distancia especificada, el Traker empieza a seguirnos.

No se si hay algo que se me olvida.

Perfecto simba, todo aclarado.
Esperando la actualización del FRQMAX2 entonces, mientras tanto probaré SGPSL
:worthy:

rortega
09/09/2015, 13:58
Perfecto simba, todo aclarado.
Esperando la actualización del FRQMAX2 entonces, mientras tanto probaré SGPSL
:worthy:
De todos modos, la última versión sigue manteniendo la funcionalidad de GPS Local si deseas usarla.

Lo que hemos hecho es permitir que si compile y funcione correctamente si no tienes GPS Local cuando usas LCD. En esta combinación no mostraba datos de satélite, por ejemplo, pues no estaba implementada la función.

rortega
10/09/2015, 08:43
Le estoy dando vueltas (y nunca mejor dicho) al tema del servo. Tengo implementadas las funciones, pero hay una cosilla que se me está escapando y no termina de funcionar.

Lo que estoy utilizando es una librería de funciones llamada Easing, ya implementadas para arduino, que son sólo las ecuaciones matématicas a las que se les pasan unos parámetros de entrada.

Si nos queremos mover, por ejmplo, desde la posición 0 (pulso de 1500milisegundos) a la posición 45º (pulso de 1800milisegundos), en lugar de hacerlo de golpe pasando el pulso de 1800milisegundos directamente al servo, lo que hago es pasarle a la función de easing la posición inicial, la posición final, y el número de pasos en los que quiero que lo haga.

Supongamos que le digo que quiero hacerlo en 10 pasos. En cada paso me devuelve un valor entre 1500 y 1800, que según la función de easing que implemente, cada vez se incrementa con respecto al paso anterior cierta cantidad, que no es fija. Para "outQuartic" (nombre de la función) el incremento es más grande en los primeros pasos, intentando llegar al pulso final (1800ms) muy rápido, pero conforme se va llegando a los pasos finales, el incremento va decreciendo considerablemente, pero experimentando un efecto de amortiguación (sin rebote).

Cada paso, hay que esperar 15ms para que el servo haya realizado el pequeño movimiento de alcanzar ese tramo. Así que si lo hacemos en 10 pasos, tardaríamos 150ms en llegar a los 1800ms. Y si lo hacemos en 20 pasos, tartaríamos 300ms.

En el código del config.h pondré un parámetro para ajustar el número de pasos en los que queremos realizar el movimiento completo.

De momento estoy en la fase de depuración, porque en algún punto del código he metido alguna operación que hace que los valores que devuelve la función en cada paso sean distintos de entre 1500 y 1800, salíendose del rango. Pero imagino que esta tarde/noche, tras una buena siesta, podría dejarlo terminado para poder hacer pruebas.

El ecto sería como si

Guillesan
10/09/2015, 08:58
Le estoy dando vueltas (y nunca mejor dicho) al tema del servo. Tengo implementadas las funciones, pero hay una cosilla que se me está escapando y no termina de funcionar.

Lo que estoy utilizando es una librería de funciones llamada Easing, ya implementadas para arduino, que son sólo las ecuaciones matématicas a las que se les pasan unos parámetros de entrada.

Si nos queremos mover, por ejmplo, desde la posición 0 (pulso de 1500milisegundos) a la posición 45º (pulso de 1800milisegundos), en lugar de hacerlo de golpe pasando el pulso de 1800milisegundos directamente al servo, lo que hago es pasarle a la función de easing la posición inicial, la posición final, y el número de pasos en los que quiero que lo haga.

Supongamos que le digo que quiero hacerlo en 10 pasos. En cada paso me devuelve un valor entre 1500 y 1800, que según la función de easing que implemente, cada vez se incrementa con respecto al paso anterior cierta cantidad, que no es fija. Para "outQuartic" (nombre de la función) el incremento es más grande en los primeros pasos, intentando llegar al pulso final (1800ms) muy rápido, pero conforme se va llegando a los pasos finales, el incremento va decreciendo considerablemente, pero experimentando un efecto de amortiguación (sin rebote).

Cada paso, hay que esperar 15ms para que el servo haya realizado el pequeño movimiento de alcanzar ese tramo. Así que si lo hacemos en 10 pasos, tardaríamos 150ms en llegar a los 1800ms. Y si lo hacemos en 20 pasos, tartaríamos 300ms.

En el código del config.h pondré un parámetro para ajustar el número de pasos en los que queremos realizar el movimiento completo.

De momento estoy en la fase de depuración, porque en algún punto del código he metido alguna operación que hace que los valores que devuelve la función en cada paso sean distintos de entre 1500 y 1800, salíendose del rango. Pero imagino que esta tarde/noche, tras una buena siesta, podría dejarlo terminado para poder hacer pruebas.

El ecto sería como si

Bien , suena estupendo, a mi me vendra de perlas por que personalmente mi antena (la segunda) es de tamaño y peso considerable, asi que la cuestion rebote se debe considerar.
Rortega, gracias una vez mas, y tu siestea, que cuando te levantas siempre tienes genialidades jajajaja.
Si hay que probar algo ya sabes aqui estoy para lo que te haga falta
Un saludo

Simba
10/09/2015, 09:10
Hola buenos días, ya veo que estas en el lio, estupendo.
Una cosa, me extraña que para posición de 45º de Tilt le metas 1800ms, cuando en mi caso estoy en un rango de +- de 1000ms a 2000ms, con una posición de 90º de 1500ms, al menos es lo que le pongo en el config.h para el ajuste de servotester.
Igual soy yo que no interpreto bien el escalado que hace el programa.

Bueno pues eso, aquí estamos para lo que necesites.

Un saludo.

rortega
10/09/2015, 09:34
Hola buenos días, ya veo que estas en el lio, estupendo.
Una cosa, me extraña que para posición de 45º de Tilt le metas 1800ms, cuando en mi caso estoy en un rango de +- de 1000ms a 2000ms, con una posición de 90º de 1500ms, al menos es lo que le pongo en el config.h para el ajuste de servotester.
Igual soy yo que no interpreto bien el escalado que hace el programa.

Bueno pues eso, aquí estamos para lo que necesites.

Un saludo.
Dije "por ejemplo" [emoji4]

En mi caso el rango lo tengo de 1200 para 0 grados y 1500 para 90 grados, debido a la modificación que le hice para tener 360 grados ( le hice el mismo brico a ambos siervos con resistencias de 2k, pues ni tenía otras, y este servo tenía un pot con el centro a 2.5k).

Pues eso, que el 1800 es sólo un ejemplo, un valor que he puesto al voleo para explicarlo.

Simba
10/09/2015, 13:48
Vale ya entiendo, a la marcha ya comentamos.

marcoasj
10/09/2015, 14:17
Le estoy dando vueltas (y nunca mejor dicho) al tema del servo. Tengo implementadas las funciones, pero hay una cosilla que se me está escapando y no termina de funcionar.

Lo que estoy utilizando es una librería de funciones llamada Easing, ya implementadas para arduino, que son sólo las ecuaciones matématicas a las que se les pasan unos parámetros de entrada.

Si nos queremos mover, por ejmplo, desde la posición 0 (pulso de 1500milisegundos) a la posición 45º (pulso de 1800milisegundos), en lugar de hacerlo de golpe pasando el pulso de 1800milisegundos directamente al servo, lo que hago es pasarle a la función de easing la posición inicial, la posición final, y el número de pasos en los que quiero que lo haga.

Supongamos que le digo que quiero hacerlo en 10 pasos. En cada paso me devuelve un valor entre 1500 y 1800, que según la función de easing que implemente, cada vez se incrementa con respecto al paso anterior cierta cantidad, que no es fija. Para "outQuartic" (nombre de la función) el incremento es más grande en los primeros pasos, intentando llegar al pulso final (1800ms) muy rápido, pero conforme se va llegando a los pasos finales, el incremento va decreciendo considerablemente, pero experimentando un efecto de amortiguación (sin rebote).

Cada paso, hay que esperar 15ms para que el servo haya realizado el pequeño movimiento de alcanzar ese tramo. Así que si lo hacemos en 10 pasos, tardaríamos 150ms en llegar a los 1800ms. Y si lo hacemos en 20 pasos, tartaríamos 300ms.

En el código del config.h pondré un parámetro para ajustar el número de pasos en los que queremos realizar el movimiento completo.

De momento estoy en la fase de depuración, porque en algún punto del código he metido alguna operación que hace que los valores que devuelve la función en cada paso sean distintos de entre 1500 y 1800, salíendose del rango. Pero imagino que esta tarde/noche, tras una buena siesta, podría dejarlo terminado para poder hacer pruebas.



No se si digo una tontería, pero igual se podría implementar algo con una variable del tipo..?cuantos kilos se pretende mover?

2kg....X pasos
3 Kg....X+Y pasos
Z Kg....lo que sea..

asi tipo explicacion en codigo arduino podría cada uno ajustar el rebote y el tiempo de respuesta en función de lo que vaya a mover....

Salu2

Simba
10/09/2015, 16:05
No se si digo una tontería, pero igual se podría implementar algo con una variable del tipo..?cuantos kilos se pretende mover?

2kg....X pasos
3 Kg....X+Y pasos
Z Kg....lo que sea..

asi tipo explicacion en codigo arduino podría cada uno ajustar el rebote y el tiempo de respuesta en función de lo que vaya a mover....

Salu2
Hola, no creo que sea tan sencillo, en teoría de control hay infinitas causas y efectos, pero cada lazo de control tiene sus particularidades, aun siendo iguales o gemelos ,trabajando en el mismo sistema y con los mismos paramatros, se comportan parecido, pero lo de uno puede no servir para el otro, y viceversa.
Esto que esta implementando rortega, es al margen de los parámetros de control típicos de PID, en realidad el sistema de servo tilt, no tiene ningún sistema PID, y de lo que se trata es que la respuesta pura y dura (nunca mejor dicho), se dulcifique en lo posible, para evitar las sacudidas inducidas por arranques y paros bruscos.

rortega
10/09/2015, 16:16
Ya se pueden empezar a hacer pruebas. He creado una nueva "rama" en el repositorio, llamada "servo-easing", que contiene una copia de la versión "master", a la que le he añadido las funciones para suavizar el movimiento.

Tenemos pues dos versiones:


la versión 0.2 (https://github.com/raul-ortega/amv-open360tracker) (master).
la versión 0.3 (https://github.com/raul-ortega/amv-open360tracker/tree/servo-easing) (servo-easing).

Quien se decida a probar la servo-easing y quiera volver a la anterior, pues se la vuelve a descargar y listo.

Os cuento como hay que configurar la nueva versión servo-easing. Pero antes os advierto de que yo no la he probado en el tracker aún, ni tan siquiera con un servo de forma independiente. Las últimas pruebas me daban fallo porque no calculaba bien los ángulos, y aunque está solucionado, no he llegado aún a casa para probarlo de verdad. Está depurada sobre la propia placa multiwii y viendo los resultados por consola serie. Yo creo que funcionará, pero si lo hacéis no os pongáis con el tracker con la antena montada para que no os la rompa en caso de que se vuelva "loco" el servo.

Bueno, al lío:

En el config.h he añadido 3 parámetros nuevos:


#define TILT_EASING
#define TILT_EASING_STEPS 20
#define TILT_EASING_MIN_ANGLE 4

#define TILT_EASING

Simplemente lo descomentamos para que se aplique la función de suavizado. Concretamente se está usando la funcion "outQuartic".

#define TILT_EASING_STEPS 20

Es el número de pasos que se dan para llegar desde un angulo A hasta un ángulo B.

Si el servo de tilt tiene una inclinación de 10º, y tiene que apuntar a continuación a los 50º, lo hará en 20 pasos. Pero no lo realizará de 2 en 2 grados, sino que en los primeros pasos tomará velocidad para ir reduciéndola conforme llegue al ángulo final.

La siguiente gráfica describe de forma lineal la acelaración que se produce al inicio y la desaceleración al final para amortiguar la parada.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=61648&stc=1&d=1441893438

En un principio, para cada uno de esos pasos se emplean 15 milisegundos, que es lo que se supone que debería tardar un servo "normal" en realizar el movimiento de cada tramo. Por tanto, con 20 pasos empleará 300 milisegundos (casi medio segundo) en completar el movimiento. Si reducimos los pasos, reducimos el tiempo total, pero amotriguamos menos. Y si aumentamos los pasos, amortigua más, pero tardará más en alcanzar el ángulo final.

#define TILT_EASING_MIN_ANGLE

Este valor se usa para restringir la aplicación de efecto easing si la diferencia en grados, desde A hasta B es menor que ese valor, en tal caso no se aplicaría el efecto easing y se movería de golpe. Como defecto he puesto 4 grados, pero podéis cambiar el valor al gusto.

Lo he incluído porque no tiene mucho sentido realizar movimientos cortos en 20 pasos. No obstante, aunque lo pongamos a 0, en los dos o tres primeros pasos llegaría casi al punto de destino, porque el redondeo de los valores a números enteros producen un valor de pulso idéntico cuando se está cerca del final.

#define SERVOTEST

Si descomentáis la línea podéis enviar órdenes para el servo tilt. Pero solo enviad órdenes en ángulos, esto es, SÓLO CON LA LETRA "t". Para milisegundos no está implementado.

En modo SERVOTEST veréis en la consola los pasos con los correspondientes valores en ángulos y su traducción a milisegundos. De esta forma si hay algo que no funcione bien, lo váis a notar en seguida, antes de ponerlo en producción.



Repito, yo no he probado la versión definitiva aún, y no estoy seguro de si esta tarde voy a poder dedicarle tiempo. De cualquier forma, es un comienzo que espero que os animéis a probarlo, y si lo hacéis tengáis claro como es le funcionamiento. Si va más o menos bien, el tema de los pasos y del ángulo mínimo lo podemos seguir modelando más adelante si para afinarlo un poquito más.

Ojalá funcione...

rortega
10/09/2015, 16:28
Hola, no creo que sea tan sencillo, en teoría de control hay infinitas causas y efectos, pero cada lazo de control tiene sus particularidades, aun siendo iguales o gemelos ,trabajando en el mismo sistema y con los mismos paramatros, se comportan parecido, pero lo de uno puede no servir para el otro, y viceversa.
Esto que esta implementando rortega, es al margen de los parámetros de control típicos de PID, en realidad el sistema de servo tilt, no tiene ningún sistema PID, y de lo que se trata es que la respuesta pura y dura (nunca mejor dicho), se dulcifique en lo posible, para evitar las sacudidas inducidas por arranques y paros bruscos.

Mejor explicado imposible. Por cierto, no he "dulcificado" en el arranque, pero es tan fácil como cambiar una ecuació por otra.

Simb, como sé que a tí te gusta "afinar", echa un ojo al siguiente link y prueba para ver cual crees que se podría ajustar mejor: http://www.gizma.com/easing/#quart2

Guillesan
10/09/2015, 16:29
Joder Ortega, no habras dormido mucha siesto no.
Venga bajando, probando y comentando.
Un saludo monstruo.

rortega
10/09/2015, 16:30
Joder Ortega, no habras dormido mucha siesto no.
Venga bajando, probando y comentando.
Un saludo monstruo.

No he llegado a casa aún, así que siesta cero.

Simba
10/09/2015, 16:53
Vale tío esto funciona y creo que funciona muy bien.
De momento creo que me gusta en STEPS 15, pero es cuestión de probar en vuelo, en estos momentos solo le he probado en servo tester, pero la impresión es magnifica.
Mis felicitaciones Sr. rotrega, eres la leche.

Guillesan
10/09/2015, 17:00
Vale tío esto funciona y creo que funciona muy bien.
De momento creo que me gusta en STEPS 15, pero es cuestión de probar en vuelo, en estos momentos solo le he probado en servo tester, pero la impresión es magnifica.
Mis felicitaciones Sr. rotrega, eres la leche.
Jolines Simba ya mas ganao , que pasa que estabas con el arduino al acecho, jajajaja
Mas tarde pruebo yo.
Dices as reducido a 15 posiciones?
Pon un video hombre.
Saludos

Simba
10/09/2015, 17:01
Mejor explicado imposible. Por cierto, no he "dulcificado" en el arranque, pero es tan fácil como cambiar una ecuació por otra.

Simb, como sé que a tí te gusta "afinar", echa un ojo al siguiente link y prueba para ver cual crees que se podría ajustar mejor: http://www.gizma.com/easing/#quart2

Para mi y por simple logica, la que mas me gusta es la quadratic easing in/out.
Le ayuda a vencer las inercias, tanto de de arranque como de parada, pero como todo sera cuestión de probar.

rortega
10/09/2015, 17:01
Vale tío esto funciona y creo que funciona muy bien.
De momento creo que me gusta en STEPS 15, pero es cuestión de probar en vuelo, en estos momentos solo le he probado en servo tester, pero la impresión es magnifica.
Mis felicitaciones Sr. rotrega, eres la leche.

Bueno, me alegro que funcione, bravo... ¿Por cierto, el ángulo mínimo como lo has puesto? A ver otros compañeros que impresión tienen...

Por lo demás, la información estaba ahí, en parte tu me pasaste un link donde estaba la clave. En cuanto a las librerías y código que hacían uso de las funciones easing que he visto por la red, se basaban en la librería servo para accionar los servos, lo cual era un inconeviente por como se ha programado el tema de los servos en el antenna360tracker original. Así que en lugar de reutiliar ningún código fuente, que suponía modificar en profundidad el código, y aumentar el tamaño del binario que se sube a la placa, decidí hacerlo de una forma mucho más simple.

Me alegro que vaya bien.

Simba
10/09/2015, 17:03
No tengo medios para hacer vídeo Guillesan, pero es tan fácil como cargar y meter servo tester.

Un BRAVO por rortega :party::party::party::worthy::worthy:.

Guillesan
10/09/2015, 17:05
No tengo medios para hacer vídeo Guillesan, pero es tan fácil como cargar y meter servo tester.

Un BRAVO por rortega :party::party::party::worthy::worthy:.

No si cargado esta y viendolo por consola, pero es que me falta un pelin para la mecanica.

Simba
10/09/2015, 17:08
rortega solo he cambiado el STEPS , el MIN_ANGLE que es el minimo angulo de cada salto???
Voy a probarlo

rortega
10/09/2015, 17:19
rortega solo he cambiado el STEPS , el MIN_ANGLE que es el minimo angulo de cada salto???
Voy a probarlo


Nooooooooo, el min angulo es el minimo ángulo a partir del cual se calcula el suavizado. Si tiees que moverse más de x grados (depende del valor del parámetro) se aplica, si no pues no se aplica el suavizado y se mueve directamente igual que lo hacía en la versión anterior.

Simba
10/09/2015, 17:19
Bueno he cambiad a 2 y a 6 y la verdad no aprecio diferencia, igual con la antena cargada y en vuelo, se puede elegir mejor y afinal, de momento lo dejo a 2, para que trabaje mas el Easing.

De verdad que funciona que te cagas, luego cuando pueda que ahora tengo que salir, lo montare en el trípode y le pondré la antena, para ver con mas peso si noto diferencias.

Simba
10/09/2015, 17:22
Pues eso que si lo dejo a 2, será a partir que el incremento o demanda, sea mayor de 2, ya estará metiendo la función y por debajo de 2, no hace nada.

¿Es así o no ?

Guillesan
10/09/2015, 17:23
Exacto

rortega
10/09/2015, 17:23
Pues eso que si lo dejo a 2, será a partir que el incremento o demanda, sea mayor de 2, ya estará metiendo la función y por debajo de 2, no hace nada.

¿Es así o no ?

Exacto!

Simba
10/09/2015, 17:24
Pues lo dejo en 2 y a la mínima ya esta la función pilulando.

TURRUK
10/09/2015, 20:53
Hola quiero decir que aprobado la version 0.3, esta bien pero me corta la telemetria no lose por que. Con version 0.1 esta todo bien , o mejor solo a mi, si alquein prueba o lo mejor no hace como a mi. :rolleyes:

rortega
10/09/2015, 20:55
Pues eso que si lo dejo a 2, será a partir que el incremento o demanda, sea mayor de 2, ya estará metiendo la función y por debajo de 2, no hace nada.

¿Es así o no ?
Exacto

rortega
10/09/2015, 20:57
Hola quiero decir que aprobado la version 0.3, esta bien pero me corta la telemetria no lose por que. Con version 0.1 esta todo bien , o mejor solo a mi, si alquein prueba o lo mejor no hace como a mi. :rolleyes:
Hace un rato lo he probado vía bluetooth y he notado que perdía la entrada por puerto serie, pensaba que era por culpa de windows 8.1

Prueba a comentar la línea #define DEBUG

rortega
10/09/2015, 21:10
Lo subí con DEBUG activado en el config.h. En ese caso saca información por el mismo puerto serie por el que le entra la telemetría, así que conviene desactivar la depuración. Y si el problema persiste, hay que bajar los pasos, en vez de 15 dejarlo a 10, para tener un total de 150 milisegundos. El tiempo que está moviendo el servo no está haciendo otra cosa, la cpu literalmente se espera a salir de la función para poder seguir.

Si vemos que no va bien, entonces lo voy a reprogramar para integrarlo en bucle principal, de modo que para ejecutar otras instrucciones sólo espere 15 milisegundos en cada ciclo.

No se si me explico...

rortega
10/09/2015, 21:14
Como se trata de una funcionalidad compeltamente experimental, interesa ver sobre todo que amortigue. Si lo hace bien, entonces lo integramos para que el resto de las funcionalidades no sufran retraso.

Quitando DEBUG y a 9600 la telemetría ya no me la corta.

Simba
10/09/2015, 21:34
Hola, me comenta Turruk lo que le pasa, antes de haber leído tu comentario de comentar debug, le indico que para salir de dudas, le desconecte el Tx del bluetooth, o el Rx del puerto del orange.

Ahora ya esta claro.

Bueno estoy probando con la antena montada y se nota, al aumentar las inercias he tenido que aumentar los pasos a 20 y el minimo angle en 2, en estas condiciones de momento sin prueba de vuelo es como mas me gusta.

Amortiguar que es lo que importa, amortigua y aunque si pasas de 0º a 90º se nota que va dando saltitos cortos, lo cierto es que ya no pega la castaña que pegaba, y si los saltos son de menos grados digamos 20º, prácticamente no se notan los saltos.

Mi Traker tiene montado un muelle compensador, para bascular el peso de la Antena, y claro el efecto bascula no es el mismo subiendo que bajando la antena, el caso es que en el movimiento que se junta la fuerza del servo y la del muelle, da mas saltitos, y en cambio cuando el muelle y el servo funcionan de forma antagonista, el recorrido es mucho mas limpio, algo mas lento y sin saltitos.

Igual con la función me pediste opinión, al funcionar en las dos acciones de aceleración progresiva y frenado progresivo, da mejor resultado.

Simba
10/09/2015, 21:36
Como se trata de una funcionalidad compeltamente experimental, interesa ver sobre todo que amortigue. Si lo hace bien, entonces lo integramos para que el resto de las funcionalidades no sufran retraso.

Quitando DEBUG y a 9600 la telemetría ya no me la corta.

No se el por que a nosotros la telemetria a 9600 no la soportaba ni a 2Hz de GPS, igual con tanta prueba no lo teniamos todo OK.

rortega
10/09/2015, 21:53
No se el por que a nosotros la telemetria a 9600 no la soportaba ni a 2Hz de GPS, igual con tanta prueba no lo teniamos todo OK.

Voy a hacer una pregunta tonta, pero por si acaso: Cuando dices de cambiar a 9600, no sólo cambias los baudios en el config.h, y los baudios en el orange, imagino que también los cambias en los módulos bluetooth ¿No?

Voy a meter la opcion de usar la amortiguación sólo en la parada, o en la parada y en el arranque, es cosa simple hacerlo. Luego cuando hagáis las pruebas pertinentes, pasaré a integrarlo en el bucle principal de ejecución, para que no afecte mucho al rendimiento del resto.

Simba
10/09/2015, 21:59
Si esta claro lo de los 9600 incluso lo probé con cable directo.
Si a ti te funciona veremos que pasa.

marcoasj
10/09/2015, 22:01
No si cargado esta y viendolo por consola, pero es que me falta un pelin para la mecanica.


joer pues yo estoy igual, que me subo por las paredes por no poder probar......


:ansioso::ansioso::ansioso:

rortega
11/09/2015, 00:17
Ya tenemos implementado el efecto al principio del movimento. En el config.h ahora tenemos dos nuevas definiciones:

//#define EASE_OUT_QRT
#define EASE_INOUT_QRT

Debemos descomentar sólo una de ellas.

#define EASE_OUT_QRT

Se aplica amortiguación únicamente al final del movimiento.

#define EASE_INOUT_QRT

Se aplica amortiguación al principio y al final del movimiento.

El link de descarga directo al archivo zip es:

https://github.com/raul-ortega/amv-open360tracker/archive/servo-easing.zip

En el LCD mostrará número de version 0.4, para que no haya confusiones.

TURRUK
11/09/2015, 09:38
Hola señor Ortega, quiero comentar una cosa cuando desactivamos el DEBUG me parece que ya no funciona esta funcion añadida de amortivar el tilt. Me explico cuando lo hago el servotest, si el DEBUG activado el tilt funciona directo no amortigua nada, me parece. Gracias por este trabajo, vamos por buen camino.

rortega
11/09/2015, 10:40
Hola señor Ortega, quiero comentar una cosa cuando desactivamos el DEBUG me parece que ya no funciona esta funcion añadida de amortivar el tilt. Me explico cuando lo hago el servotest, si el DEBUG activado el tilt funciona directo no amortigua nada, me parece. Gracias por este trabajo, vamos por buien camino.
Debería funcionar. Estoy mirando el último código subido y creo que se activa la funcionalidad en todos los puntos del programa donde se llama a la función calcTilt. Asegúrate que tienes en el co fig.h define TILT_EASING activado

rortega
11/09/2015, 10:50
Anoche haciendo pruebas de vuelos cercanos, observé que hay pocas ocasiones en las que sea necesario mover el servo del tilt más de 10 grados. Creo que en cambios de ángulos tan pequeños se nota poco el efecto easing. Quizás se por eso.

TURRUK
11/09/2015, 10:53
Debería funcionar. Estoy mirando el último código subido y creo que se activa la funcionalidad en todos los puntos del programa donde se llama a la función calcTilt. Asegúrate que tienes en el co fig.h define TILT_EASING activado

Hola otra cosa a cargar el esta version 0.4 en LSD no aparece nada solo la linia ariba. A volver cargar la version interior todo bien. :confused:

rortega
11/09/2015, 10:57
Se debe a que yo haciendo pruebas posiblemente he desactivado en el config.h la línea define LCD_DISPLAY I2C

Actívala, y disculpa el error.

TURRUK
11/09/2015, 11:06
Se debe a que yo haciendo pruebas posiblemente he desactivado en el config.h la línea define LCD_DISPLAY I2C

Actívala, y disculpa el error.

Parece que todo bien, esta activada pero no va:rolleyes:

Simba
11/09/2015, 11:08
Si a mi tambien me pasaba, es debido a la version del LCD tienes que poner:
#define LCD_I2C_ADDR 0x27 //default 0x27.

Sigo probando luego comento.

TURRUK
11/09/2015, 11:14
Si a mi tambien me pasaba, es debido a la version del LCD tienes que poner:
#define LCD_I2C_ADDR 0x27 //default 0x27.

Sigo probando luego comento.

Ole simba parece que ya eres un experto ya funciona en esta linia #define LCD_I2C_ADDR 0x27 //default 0x27 esta va 0x3f o mejor esto.:tongue2:

rortega
11/09/2015, 11:15
Si a mi tambien me pasaba, es debido a la version del LCD tienes que poner:
#define LCD_I2C_ADDR 0x27 //default 0x27.

Sigo probando luego comento.
Exacto, eso es, es la dirección del LCD, que tiene puesta la del mío.

Cada vez que descarguéis una nueva versión debéis comprobar todos los parámetros del config.h

Lo suyo es usar un comparador de archivos de texto. El notepad+ con el correspondiente plugin activado es muy útil para comparar dos archivos.

Otra opción es haceros un checklist a mano en una libreta.

Simba
11/09/2015, 11:30
Bueno al lio, tengo que decir variar cosas.
con tantas pruebas anoche me cargue una escuadra del servo tilt se pulió las estriás de la escuadra de plástico, y se descoyunto el engranaje del eje perforado, vamos que se paso la rosca, en un agarrotamiento con los cables.
Esto ocurrió cuando intente probar con el simulador de GPS. No se sienta nada bien en esta versión, y literalmente su vuelve majara, arranco tanto el tilt como en Pan a toda leche y mis servos son de 10Kg, pero bueno hay que seguir. Que no decaiga la fiesta.

Otra cosa
El cambio a InOut no me gusta, solo se nota un retraso considerable y no le veo que sea mejor.
De momento me quedo con el out.
Y ando preocupado por el comportamiento cuando le llegan datos de Telemetria, en mi caso era el simulador GPS.
Decir que tengo activado el #define DEBUG pues si no no funciona nada.
En fin es lo que hay.

Sl2

rortega
11/09/2015, 11:33
No os quiero castigar mucho, pero ya tengo integrado la función de easing en el bucle principal.

De este modo el resto del programa no se tiene que esperar a que el servo de tilt complete el movimiento, ahora lo que espera es 20milisegindos a lo sumo para seguir haciendo otros cálculos y no ir en detrimento del rendimiento del servo de pan, digamos que se entremezclan las tareas.

Lo probaré esta tarde en casa y ya os cuento si va o no bien.

rortega
11/09/2015, 11:36
Bueno al lio, tengo que decir variar cosas.
con tantas pruebas anoche me cargue una escuadra del servo tilt se pulió las estriás de la escuadra de plástico, y se descoyunto el engranaje del eje perforado, vamos que se paso la rosca, en un agarrotamiento con los cables.
Esto ocurrió cuando intente probar con el simulador de GPS. No se sienta nada bien en esta versión, y literalmente su vuelve majara, arranco tanto el tilt como en Pan a toda leche y mis servos son de 10Kg, pero bueno hay que seguir. Que no decaiga la fiesta.

Otra cosa
El cambio a InOut no me gusta, solo se nota un retraso considerable y no le veo que sea mejor.
De momento me quedo con el out.
Y ando preocupado por el comportamiento cuando le llegan datos de Telemetria, en mi caso era el simulador GPS.
Decir que tengo activado el #define DEBUG pues si no no funciona nada.
En fin es lo que hay.

Sl2
Revisaré a fondo lo del tema del debug esta tarde.

Lamento lo de los servos.

rortega
11/09/2015, 11:37
No os quiero castigar mucho, pero ya tengo integrado la función de easing en el bucle principal.

De este modo el resto del programa no se tiene que esperar a que el servo de tilt complete el movimiento, ahora lo que espera es 20milisegindos a lo sumo para seguir haciendo otros cálculos y no ir en detrimento del rendimiento del servo de pan, digamos que se entremezclan las tareas.

Lo probaré esta tarde en casa y ya os cuento si va o no bien.
En teoría al tenerlo integrado en el bucle principal, la telemetría tampoco debería verse muy afectada.

Simba
11/09/2015, 11:37
OK, lo que queria decir en el anterior mensaje, era que con el #define DEBUG comentado //, el sistema de amortiguación no funciona.

Simba
11/09/2015, 11:41
En teoría al tenerlo integrado en el bucle principal, la telemetría tampoco debería verse muy afectada.
Vale pero aviso a navegantes, ojo con meterle la Telemetria sin estar prevenido, por que el Traker se puede ir a la basura por no decir a la mierda.

Guillesan
11/09/2015, 11:43
Estoy parado por mecánica pero este fin de semana lo termino, mi antena será una buena base de prueba por las dimensiones os pongo unas fotos que aclaran lo que digo
http://images.tapatalk-cdn.com/15/09/11/6cb5add534e12cc7c07a1956fff8aa55.jpghttp://images.tapatalk-cdn.com/15/09/11/2b246fd4e0bb2b6bdee803e8dd0c3de8.jpghttp://images.tapatalk-cdn.com/15/09/11/568695883ac31de31b90909ede632a29.jpg

Simba
11/09/2015, 11:44
Yo quedo a la espera de la ultima versión :biggrin2: :laugh: :ansioso:.
Que quede claro que esto es una fiesta vale.

marcoasj
11/09/2015, 12:31
Estoy parado por mecánica pero este fin de semana lo termino, mi antena será una buena base de prueba por las dimensiones os pongo unas fotos que aclaran lo que digo
http://images.tapatalk-cdn.com/15/09/11/6cb5add534e12cc7c07a1956fff8aa55.jpghttp://images.tapatalk-cdn.com/15/09/11/2b246fd4e0bb2b6bdee803e8dd0c3de8.jpghttp://images.tapatalk-cdn.com/15/09/11/568695883ac31de31b90909ede632a29.jpg
Una foto del engranaje del servo de la "superantena" cuando puedas please....


Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
11/09/2015, 12:36
Este es el tilt
http://images.tapatalk-cdn.com/15/09/11/6a9df3ee0050245b2f64b6fcd591ff1d.jpg

Y este el panthttp://images.tapatalk-cdn.com/15/09/11/1ca7e77b2440119accdec74953d4714b.jpg
http://images.tapatalk-cdn.com/15/09/11/6fb17daa3c3731705d1be75803205893.jpg

rortega
11/09/2015, 15:59
Vale pero aviso a navegantes, ojo con meterle la Telemetria sin estar prevenido, por que el Traker se puede ir a la basura por no decir a la mierda.
Por eso decía en su momento que no de hiciesen las pruebas con las antenas montadas, para no fastidiar nada. Estamos en fase experimental. Yo, no obstante, en las pruebas físicas con mi tracker aún no he experimentado nada extraño, ningún comportamiento de volverse locos los servos.

rortega
11/09/2015, 16:03
Pues a mí hoy me ha llegado esto...

http://images.tapatalk-cdn.com/15/09/11/a0a9371ccb9f6ce18aebcea112cc1951.jpg

Sólo me falta por llegar el gps, cuando lo tenga montado intentaré hacer con el pruebas de seguimiento reales, aunque sin antena.

Simba
11/09/2015, 16:05
Por si sirve de algo el problema de volverse loco le entra en cuanto le arranco el simulador de gps.

rortega
11/09/2015, 16:10
Por si sirve de algo el problema de volverse loco le entra en cuanto le arranco el simulador de gps.
A mí me ocurría al tener el debug activo que la telemetría le llegaba unos instantes y de repente dejaba de recibirla, demasiada información se enviaba desde la crius hacia el portátil.

rortega
11/09/2015, 16:11
Si os parece subo la modificación. Es sólo un archivo, el .ino

rortega
11/09/2015, 16:13
Si os parece subo la modificación. Es sólo un archivo, el .ino
No la he probado en el tracker aún, pero tengo que salir al súper, necesito víveres, que si no habrá quien programe sin comer.

fazer5
11/09/2015, 19:13
editado

fazer5
11/09/2015, 19:16
Estoy parado por mecánica pero este fin de semana lo termino, mi antena será una buena base de prueba por las dimensiones os pongo unas fotos que aclaran lo que digo
http://images.tapatalk-cdn.com/15/09/11/6cb5add534e12cc7c07a1956fff8aa55.jpghttp://images.tapatalk-cdn.com/15/09/11/2b246fd4e0bb2b6bdee803e8dd0c3de8.jpghttp://images.tapatalk-cdn.com/15/09/11/568695883ac31de31b90909ede632a29.jpg

Al final te van a enchironar con esas antenas :meparto::meparto:
Un saludo guille y a ver si nos vemos.

Guillesan
11/09/2015, 19:19
Al final te van a enchironar con esas antenas :meparto::meparto:

Un saludo guille y a ver si nos vemos.


Coñe hola, el domingo voy. Saludos

rortega
11/09/2015, 19:35
Al final te van a enchironar con esas antenas :meparto::meparto:
Un saludo guille y a ver si nos vemos.


Pedazo de antenas... Va ser que no voy a subir el nuevo código, rebentaría tus antenas del tirón, si vieras lo que hace en mi tracker que no lleva nada, te cagarías de miedo.

Guillesan
11/09/2015, 19:40
Pedazo de antenas... Va ser que no voy a subir el nuevo código, rebentaría tus antenas del tirón, si vieras lo que hace en mi tracker que no lleva nada, te cagarías de miedo.


Por lo rápido te refieres, tengo una mecánica mas pequeña, tu sube que ya me lo miro sin miedo.http://images.tapatalk-cdn.com/15/09/11/c87fa79a56439149f42d8698b421a5e2.jpg

Simba
11/09/2015, 19:40
rortega, para cuando tengas lista la ultima versión, si te parece podías cambiar la función InOut Quadratic por la Circular, creo que podría ir mejor y con pocos saltos la respuesta seria mas rápida.
De lo que se trata es de que amortigüe la salida y la llegada, pero en el centro tenga la máxima velocidad del servo.

Todo eso cuando sepamos a ciencia cierta, que se puede utilizar con Telemetria.
Yo de momento he cargado la versión 0.1 SGPSL, para volar mañana.

rortega
11/09/2015, 20:53
rortega, para cuando tengas lista la ultima versión, si te parece podías cambiar la función InOut Quadratic por la Circular, creo que podría ir mejor y con pocos saltos la respuesta seria mas rápida.
De lo que se trata es de que amortigüe la salida y la llegada, pero en el centro tenga la máxima velocidad del servo.

Todo eso cuando sepamos a ciencia cierta, que se puede utilizar con Telemetria.
Yo de momento he cargado la versión 0.1 SGPSL, para volar mañana.

Ya está funcionando, de todos modos quiero hacer más pruebas, ya mañana por la mañana tranquilamente, cuando esté descansado.

Edito:

He detectado un fallo, que no estoy seguro si es a causa de las nuevas modificaciones o si viene arrastrando de lejos. El caso es que estando el hipotético avión volando y el tracker lo va siguiendo, cuando se pulsa el boton sethome, sin usar GPS Local, deja como altitud en el display la última altitud conocida, exactamente a la que volaba el avión y da igual que le mandes otra altitud distinta por el simulador, que como no se rebase no cambia. ¿Habéis notado ese fallo alguno? Es por descartar que tenga algo que ver con la nueva funcionalidad.

De todos modos ese error no debería darse en el campo de vuelo, me explico, no habría que pulsar el botón sethome si se está ya volando, pero ahí está el tema, que si se hace pasa eso.

Guillesan
11/09/2015, 20:54
No puedo ayudar, yo uso Gps local

TURRUK
11/09/2015, 21:12
Hola, si yo eh visto que sale una altura en lsd y penca va porque en mi balcon tanta altura en primer piso , no da va importancia, solo esto quiero comentar algo ayuda. :rolleyes:

Guillesan
11/09/2015, 21:41
Ojo con altura relativa y altura real, igual te da a nivel de mar.

Simba
11/09/2015, 21:57
Ya está funcionando, de todos modos quiero hacer más pruebas, ya mañana por la mañana tranquilamente, cuando esté descansado.

Edito:

He detectado un fallo, que no estoy seguro si es a causa de las nuevas modificaciones o si viene arrastrando de lejos. El caso es que estando el hipotético avión volando y el tracker lo va siguiendo, cuando se pulsa el boton sethome, sin usar GPS Local, deja como altitud en el display la última altitud conocida, exactamente a la que volaba el avión y da igual que le mandes otra altitud distinta por el simulador, que como no se rebase no cambia. ¿Habéis notado ese fallo alguno? Es por descartar que tenga algo que ver con la nueva funcionalidad.

De todos modos ese error no debería darse en el campo de vuelo, me explico, no habría que pulsar el botón sethome si se está ya volando, pero ahí está el tema, que si se hace pasa eso.

Hola, se me ocurre una idea, para mejorar la seguridad del Home.
Consiste en que cuando se hace un home (se aprieta el botón), se quede memorizada la posición home, y ya aunque se vuelva a apretar estando en vuelo, ya no actúe el botón hasta que se desconecte y se vuelva conectar el Traker.
Esto seria una prevención para curiosos y tocones que los hay, para que si por hacer una gracia o por error se toca el botón ya no tenga efecto.

rortega
11/09/2015, 22:05
Hola, se me ocurre una idea, para mejorar la seguridad del Home.
Consiste en que cuando se hace un home (se aprieta el botón), se quede memorizada la posición home, y ya aunque se vuelva a apretar estando en vuelo, ya no actúe el botón hasta que se desconecte y se vuelva conectar el Traker.
Esto seria una prevención para curiosos y tocones que los hay, para que si por hacer una gracia o por error se toca el botón ya no tenga efecto.

Hace un rato esta viendo las fotos del tracker y Guillesan y he pensado exactamente lo mismo. Com a alguien se le ocurra pulsar el botón home la lía parda.

No es mala idea, pero si estás con el avión en tierra haciendo el home y te arrepiendes y no vuelas, porque le has notado algo raro al avión en las pruebas antes de lanzarlo, un aleron mal, la batería baja...ya no puedes volver a darle al home a no ser que apagues el tracker y lo vuelvas a encender. No es mala idea lo que dices pero hay que repensarlo.

Volviendo al tema del easing, he implementado la función circular y no me gusta nada el efecto final (probado solo en modo servotest), se ralentiza demasiado en la parte final. Quizás bajando el número de pasos se consiga un efecto menos lento al final.

Ahora voy a probarlo con telemetría a ver que tal.

Guillesan
11/09/2015, 22:05
Yo me llevo siempre la escopeta al club Rc, por si eso ......,,

Guillesan
11/09/2015, 22:06
Jajajaja

Guillesan
11/09/2015, 22:06
Pero si en una ocasión vi desconectar los rx video por tropezar con el cable[emoji23][emoji23][emoji23][emoji23][emoji23]

rortega
11/09/2015, 22:15
Pero si en una ocasión vi desconectar los rx video por tropezar con el cable[emoji23][emoji23][emoji23][emoji23][emoji23]

El problema es cuando estás con las gafas puestas y tú no lo ves, jajaja

Guillesan
11/09/2015, 22:15
Y si le damos al home tres pulsaciones seguidas y sino no la fija?

Simba
11/09/2015, 22:45
Una forma facil y sin programación consiste en poner dos botones enseriados y uno a cada lado del Traker para que no estén juntos, solo se activaría si se pulsa los dos al mismo tiempo, así de sencillo, pero por Soft mola mas claro.

Tengo otra propuesta ya que estamos aunque seria de bastante trabajo y no es para esto ultimo si no para el control fino del tilt.

Guillesan
11/09/2015, 22:46
Y reitero tres pulsaciones

rortega
11/09/2015, 23:06
Una forma facil y sin programación consiste en poner dos botones enseriados y uno a cada lado del Traker para que no estén juntos, solo se activaría si se pulsa los dos al mismo tiempo, así de sencillo, pero por Soft mola mas claro.

Tengo otra propuesta ya que estamos aunque seria de bastante trabajo y no es para esto ultimo si no para el control fino del tilt.

A ver...miedo me das...

Ya he metido la ecuación de la On Circular, y también el he metido un parámetro para controlar el retraso aplicado en cada paso, que inicialmente lo había puesto en 15 mislisegundos, parámetro que os dejo a los betatester modificar.

Es un coñazo cuando ya se empiezan a poner en juego tantos parámetros, se me antoja realizar alguna aplicación que permita configurar el tracker estando en funcionamiento, o al menos permitir enviar comandos desde puerto serie para modificar esos valores, y así no tener que cargar el firm desde arduino cada vez. ¿No será eso lo que estás pensando tú también, no?

Más adelante se podría realizar alguan interfaz gráfica que envíe esos parámetros con la ayuda del raton y el teclado...

Guillesan
11/09/2015, 23:07
Joder eso seria la leche,

Simba
11/09/2015, 23:08
rortega ¿lo has probado con el simulador de gps ?, ¿ya no se desmonta nada?.
Mi esperanza es que en vuelo real, con flujo continuo de datos a 2 por segundo, se solapen las posiciones y el movimiento sea mas fluido, pero también puede pasar, que este en un continuo movimiento se saltitos cortos, en fin no se hay que probarlo para opinar.

rortega
11/09/2015, 23:10
Joder eso seria la leche,

Imagina, un tracker configurable...al estilo minimosd de kvteam, algo sencilllito...

Guillesan
11/09/2015, 23:10
Lo ruego plus, a su tiempo, pero seria definitivo

rortega
11/09/2015, 23:15
Simba, ésto debería contestar a la pregunta...

pPw-M8WZnIs

Lo he subido hace 5 minutos, es posible que aún no se vea.

Váis a notar el pan tiene unos efectos raros, como de rebote. Se debe a dos motivos, por un lado las ruedas dentadas no están lo suficientemente juntas, y por otro el sistema vasculante, no está suficientemente apretado el conjunto y me baila todo un poco, eso es todo. Por lo demás parece que va bien, aunque eso sí, yo ya no distingo de si lo hace con easing o si no, lo he visto y probado tantas veces que ya estoy ciego...

Mientras le echáis un vistazo al vídeo vo ya ver si subo los cambios.

Simba
11/09/2015, 23:18
Si eso seria un puntazo, pero lo que yo pensaba era mas bien sobre el meollo en cuestión del control.
En fin lo explico, se lo que quiero pero no se hacerlo.
Todo consiste en ponerle al Tilt un control PID, similar al del Pan.
Para poder hacer esto, debemos de contar que se necesita un posicionador, algo que nos indique donde esta físicamente el brazo del Tilt.
Necesitaríamos una tarjeta de las que se utilizan en los Gimbals, para saber los grados de inclinación, el resto seria solo programación de los PID.
La tarjeta es muy pequeña, barata y tiene barios giroscopos y acelerometros.
Seguro que hay en Arduino alguna libreria para ese componente.

Esa es la idea, ahora falta implementarla.

rortega
11/09/2015, 23:22
Si eso seria un puntazo, pero lo que yo pensaba era mas bien sobre el meollo en cuestión del control.
En fin lo explico, se lo que quiero pero no se hacerlo.
Todo consiste en ponerle al Tilt un control PID, similar al del Pan.
Para poder hacer esto, debemos de contar que se necesita un posicionador, algo que nos indique donde esta físicamente el brazo del Tilt.
Necesitaríamos una tarjeta de las que se utilizan en los Gimbals, para saber los grados de inclinación, el resto seria solo programación de los PID.
La tarjeta es muy pequeña, barata y tiene barios giroscopos y acelerometros.
Seguro que hay en Arduino alguna libreria para ese componente.

Esa es la idea, ahora falta implementarla.

Un pequeño sensor, como el que llevan los gimbals que montaba quaterniun en el spidex, y controlarlo con la crius. Es factible 100%.

rortega
11/09/2015, 23:24
Un pequeño sensor, como el que llevan los gimbals que montaba quaterniun en el spidex, y controlarlo con la crius. Es factible 100%.

Pero no se yo si tiene mucho sentido aquí, eso se usa con los motores brushless porque no puedes darle un pulso concreto para que se mueva unos grados concretos, sino que lo mueves y lo paras, como pasa con el servo del pan.

Guillesan
11/09/2015, 23:24
Un pequeño sensor, como el que llevan los gimbals que montaba quaterniun en el spidex, y controlarlo con la crius. Es factible 100%.

Me he perdido, el sensor al que del que hablais donde estaria localizado en el brazo del tilt?

rortega
11/09/2015, 23:25
Me he perdido, el sensor al que del que hablais donde estaria localizado en el brazo del tilt?

Exacto, para medir el ángulo de inclinación y corregir su posición.

rortega
11/09/2015, 23:27
Otra opción es meter la crius en el propio brazo, debajo de la antena. Así te ahorras comprar un sensor, porque ya viene con giroscopios.

Guillesan
11/09/2015, 23:27
Exacto, para medir el ángulo de inclinación y corregir su posición.
Entiendo un "inclinometro" es eso.
Una cosa mas veo que hay ya varias versiones "issues" de un tal Dennis Eisold .....
Perdon me he equivocado de github, sorry

Simba
11/09/2015, 23:28
Pues si se trata de eso, para los que no están familiarizados, con los controles PID se necesita algo que nos indique donde esta realmente lo que queremos controlar, para establecer el error y poder corregir la posición hasta el punto deseado.
Esta información la da el sensor o los sensores, giroscopos y acelerometros de la plaquita que comentaba, yo tengo una por algún cajón de un Gimbal que nunca llega a montar.

Guillesan
11/09/2015, 23:28
Otra opción es meter la crius en el propio brazo, debajo de la antena. Así te ahorras comprar un sensor, porque ya viene con giroscopios.

Eso seria mas farragoso mecanicamente, no creo que ese accesorio valga mucho no.

rortega
11/09/2015, 23:29
Pues si se trata de eso, para los que no están familiarizados, con los controles PID se necesita algo que nos indique donde esta realmente lo que queremos controlar, para establecer el error y poder corregir la posición hasta el punto deseado.
Esta información la da el sensor o los sensores, giroscopos y acelerometros de la plaquita que comentaba, yo tengo una por algún cajón de un Gimbal que nunca llega a montar.

Bueno, voy a ir subiendo los cambios...

Simba
11/09/2015, 23:36
Vale vale, no nos pongamos nerviosos, que solo era una idea, por cierto que el control seria el mismo que para el Pan, solo que el angulo que calcula la Crius para la posición de Pan, con el sensor puesto en el brazo de Tilt, seria información directa de angulo, el resto es solo control de PID, y creo que hay varias formas de actuar sobre el servo en cuestión, pero como no necesitamos nada mas que 90º, nos serviría cualquier servo normal.

Lo importante por el momento, es que lo que esta trabajando rortega, lo pongamos en vuelo y lo probemos para sacar conclusiones, por que si va suficientemente bien no necesitaríamos nada mas

Guillesan
11/09/2015, 23:38
Pues si Simba esperando al Domingo para "volar" coñe que esta ya uno con mono , hace casi dos meses que no lanzo el avion, por una u otra cosa.

Simba
11/09/2015, 23:43
Mañana voy de estreno, me he reinventado un repetidor de mando, con bluetooth y todo, le transmito con Taranis en 2,4 y me retransmite con LRXMax en 433.
El bluetooth es para telemetria con el traker.
En fin un chisme mas.

Guillesan
11/09/2015, 23:45
Mañana voy de estreno, me he reinventado un repetidor de mando, con bluetooth y todo, le transmito con Taranis en 2,4 y me retransmite con LRXMax en 433.
El bluetooth es para telemetria con el traker.
En fin un chisme mas.
Tienes retraso en el cambio de 2.4 a 433 o no se nota.

Simba
11/09/2015, 23:49
Es lo mismo o parecido a lo que llevas tu en el Traker, pero por separado, y colocado en un sitio alto, con antena omni Nagoya y plano de tierra tipo Groumplane.
La idea es para vuelo como mucho de 10 Km, y con telemetria algo menos.
Pero bueno esto no toca en este hilo, como si no hubiera dicho nada.

Simba
11/09/2015, 23:51
Tienes retraso en el cambio de 2.4 a 433 o no se nota.
Yo no noto nada de nada, en tierra y moviendo alerones y demas, no noto nada es como si volara sin el repe.

Guillesan
11/09/2015, 23:51
Es lo mismo o parecido a lo que llevas tu en el Traker, pero por separado, y colocado en un sitio alto, con antena omni Nagoya y plano de tierra tipo Groumplane.
La idea es para vuelo como mucho de 10 Km, y con telemetria algo menos.
Pero bueno esto no toca en este hilo, como si no hubiera dicho nada.
Vale pues la ultima para no ensuciar esto, como ves en las fotos la antena blanca, planar es para 868 , con el TX instalado detras, me estoy pensando si llevar la señal ppm por cable o como tu por repetidor 2.4.
OK

Simba
11/09/2015, 23:56
No lo dudes, con el repetidor mucho mejor y sin cables por tierra.
Y esta si que es la ultima, originalmente trate de combiar el LRSMax a 868 como bien sabes, y al final de momento lo volví a poner en 433, pero el modulo del repe es cambiable y en cualquier momento lo cambiare a 868 con un Orange que ya tengo preparado.

Guillesan
11/09/2015, 23:57
No lo dudes, con el repetidor mucho mejor y sin cables por tierra.
Y esta si que es la ultima, originalmente trate de combiar el LRSMax a 868 como bien sabes, y al final de momento lo volví a poner en 433, pero el modulo del repe es cambiable y en cualquier momento lo cambiare a 868 con un Orange que ya tengo preparado.
Ok, puedes enviarme alguna foto aunque sea por privado?

Simba
12/09/2015, 00:06
Ok, puedes enviarme alguna foto aunque sea por privado?
Venga que nos estamos pasando, la afotico del chisme:

Guillesan
12/09/2015, 00:08
Venga que nos estamos pasando, la afotico del chisme:
Muy currado si señor, solo se me ocurre una cosa, cuidadin con el conector sma es mucha antena para ese conector. Suerte

rortega
12/09/2015, 00:31
Cambios subidos:

https://github.com/raul-ortega/amv-open360tracker/tree/tilt-easing

Recordad, verificar todos y cada unos de los parámetros, que siempre los subo con los míos.

Tenemos ahora estas funciones:

//#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

La circular es la que he activado.

Y tenemos un nuevo parámetro:

#define TILT_EASING_MILIS 15 //default 15

Si comentáis la línea simplemente no se aplica el retraso en milisegundos entre paso y paso. 15 es el valor que pongo por defecto, no lo subáis, en todo caso bajadlo. Cuanto más pequeño sea este valor, más fluido debería ser el tilt, pero todo esto en la teoría...en la práctica ya me contaréis.

No debería de romperse nada, pero por si acaso, curaros en salud...

Guillesan
12/09/2015, 00:39
Mañana lo pruebo, una vez mas gracias rortega

Simba
12/09/2015, 11:35
Una pregunta rortega, la linea #define DEBUG, para funcionar con telemetria debe de estar comentada o no.

Para hacer servo test he tenido que descomentar, pero para volar como tiene que estar ????

rortega
12/09/2015, 11:46
Una pregunta rortega, la linea #define DEBUG, para funcionar con telemetria debe de estar comentada o no.

Para hacer servo test he tenido que descomentar, pero para volar como tiene que estar ????
Comentada, para que no sobrecargue el sistema de comunicaciones

Simba
12/09/2015, 12:26
Bien pues ya esta probado con telemetria simulada, parece ir bastante bien y los valores que he terminado dejando, después de muchas pruebas son estos :
#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

Las pruebas han sido en casa y sin peso en la antena, se supone que son para empezar a probar en vuelo.
De momento no ha hecho ningún movimiento extraño.
Si puedo y me dejan esta tarde lo volare y si no mañana.

sl2

Simba
12/09/2015, 12:29
Por cierto el simulador de GPS, aunque se le ponga mas velocidad de Hz GPS, no pasa de 1hz, o sea que con los 2hz de nuestro GPS los saltos por muestreo tienen que ser menores.

marcoasj
12/09/2015, 13:29
Bueno, pues yo terminando la mecánica......venga, venga que ya esta casi listo el minicacharrin....[emoji3] [emoji3] [emoji3]

http://images.tapatalk-cdn.com/15/09/12/7d096f7cb0370348be325882433c698a.jpg

Enviado desde mi SM-G900F mediante Tapatalk

rortega
12/09/2015, 13:40
Por cierto el simulador de GPS, aunque se le ponga mas velocidad de Hz GPS, no pasa de 1hz, o sea que con los 2hz de nuestro GPS los saltos por muestreo tienen que ser menores.

Anoche cuando grabé el vídeo estuve trasteando el retraso en milisegundos del programa Simulador y no hubo forma, así que el pan se movía como una vez por segundo, no se si te refieres a eso...

rortega
12/09/2015, 13:41
Bueno, pues yo terminando la mecánica......venga, venga que ya esta casi listo el minicacharrin....[emoji3] [emoji3] [emoji3]

http://images.tapatalk-cdn.com/15/09/12/7d096f7cb0370348be325882433c698a.jpg

Enviado desde mi SM-G900F mediante Tapatalk

Muy buena pinta ese montaje para el FQR MAX. A ver si pronto lo vemos funionando.

rortega
12/09/2015, 13:44
Bien pues ya esta probado con telemetria simulada, parece ir bastante bien y los valores que he terminado dejando, después de muchas pruebas son estos :
#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

Las pruebas han sido en casa y sin peso en la antena, se supone que son para empezar a probar en vuelo.
De momento no ha hecho ningún movimiento extraño.
Si puedo y me dejan esta tarde lo volare y si no mañana.

sl2

Pues son muy buenas noticias, andaba preocupado porque pudiera fastidiarse algo.

Fíjate lo que me pasó ayer haciendo pruebas, los servos, ambos, se volvían locos, o bien no respondían, una y otra vez prueba que te prueba...al final me dí cuenta de un pequeño fallo en el código, que corregí, pero no tenía nada que ver con ese comportamiento, era la linea #define MEGA, que por error la había descomentado, pensando que estba descomentando el DEBUG. Quizás la versión que subí y que te produjo los daños pudo llevar en el config.h activada la opción MEGA...Aunque que todos modos son suposiciones mías, luego no he vuelto a comprobar si poniendo otra vez MEGA se volvía loco.

Simba
12/09/2015, 13:48
Si te confirmo que yo sospechaba de lo mismo.
Mejor no lo pruebes que se vuelve loco.

marcoasj
12/09/2015, 19:01
Bueno, así lo tengo, pero no consigo entender que hace cada uno de los tres valores del PID

https://youtu.be/4TTivtzzw2w

Podéis ayudarme ??

http://images.tapatalk-cdn.com/15/09/12/d8cc65db242497adf163fc3c565142fb.jpg



http://images.tapatalk-cdn.com/15/09/12/4189a6b01981f35043dd02ec42d142cf.jpg

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
12/09/2015, 19:40
El servo test, se debe flashear como dije con ese protocolo en el programa arduino
SERVOTEST
Una vez compilado y cargado, en la consola a traves del FTDI conectado como si fueras a flashearlo, no en la entrada TX RX de telemetria, y con la misma velocidad que le hayas puesto en vuestro caso 4800 si no la habeis cambiado vais probando , por ejemplo
h2700 (muevete a 270º)
t45 (mueve tilt a 45º)
etc....
Yo lo hago con el usbasp, pero la consola ignora lo que le meto......, el caso es que flashear correctamente

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
12/09/2015, 19:46
Yo lo hago con el usbasp, pero la consola ignora lo que le meto......, el caso es que flashear correctamente

Enviado desde mi SM-G900F mediante Tapatalk
Se me olvido decir que estoy con el FRQMax, no con la crius.



Enviado desde mi SM-G900F mediante Tapatalk

rortega
12/09/2015, 19:56
Bueno, así lo tengo, pero no consigo entender que hace cada uno de los tres valores del PID

https://youtu.be/4TTivtzzw2w

Podéis ayudarme ??

http://images.tapatalk-cdn.com/15/09/12/d8cc65db242497adf163fc3c565142fb.jpg



http://images.tapatalk-cdn.com/15/09/12/4189a6b01981f35043dd02ec42d142cf.jpg

Enviado desde mi SM-G900F mediante Tapatalk
Si te vibra mucho baja la P

rortega
12/09/2015, 19:58
Bueno, así lo tengo, pero no consigo entender que hace cada uno de los tres valores del PID

https://youtu.be/4TTivtzzw2w

Podéis ayudarme ??

http://images.tapatalk-cdn.com/15/09/12/d8cc65db242497adf163fc3c565142fb.jpg



http://images.tapatalk-cdn.com/15/09/12/4189a6b01981f35043dd02ec42d142cf.jpg

Enviado desde mi SM-G900F mediante Tapatalk
Si lo pones en modo SERVOTEST puedes ir probando valores distintos de P, I y D sin tener que cargar cada vez el firm.

marcoasj
12/09/2015, 20:00
Madre que me va a dar algo, que viy por el post 683 !!!!!!!![emoji33] [emoji33] [emoji33] [emoji33] [emoji33] [emoji33]

Enviado desde mi SM-G900F mediante Tapatalk

rortega
12/09/2015, 20:03
Si lo pones en modo SERVOTEST puedes ir probando valores distintos de P, I y D sin tener que cargar cada vez el firm.
Otra cosa, la placa/controladora, debe ir bien fijada a la caja, como esté suelta se mueve y trasmite muchas vibraciones se vuelve loca intentando corregir las derivas, metiéndose en un bucle sin fin.

marcoasj
12/09/2015, 20:04
Si lo pones en modo SERVOTEST puedes ir probando valores distintos de P, I y D sin tener que cargar cada vez el firm.
Pero sin volver a flashear ??? No entiendo....

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
12/09/2015, 20:05
Y como le meto los valores ??

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
12/09/2015, 20:07
Otra cosa, la placa/controladora, debe ir bien fijada a la caja, como esté suelta se mueve y trasmite muchas vibraciones se vuelve loca intentando corregir las derivas, metiéndose en un bucle sin fin.
Yo tengo el FRQMax, con una brújula independiente, que es la que tengo fija a la placa.....el que va suelto es el gps, pero creó que ese no influye no??

Enviado desde mi SM-G900F mediante Tapatalk

rortega
12/09/2015, 21:19
Yo tengo el FRQMax, con una brújula independiente, que es la que tengo fija a la placa.....el que va suelto es el gps, pero creó que ese no influye no??

Enviado desde mi SM-G900F mediante Tapatalk

No, no influye.

Pero me ha dado la impresión de que todo andaba ahí muy suelto.

Lo de los valores de PID por consola seríe es así:

P400

Pone la P a 400. Si quieres cambiar la I igual, pero con I. Y lo mismo para la D.

Así puedes encontrar los valores que mejor te van más fácilmente, luego ya los cambias en el config.h

Simba
12/09/2015, 21:51
Hola buenas noticias, ya he volado con la ultima versión, y sometido al pobre Traker a un montón de pasadas a baja altura y velocidad, para poder hacernos una idea del cambio con la amortiguación.
La verdad es que ha mejorado bastante, y resumiendo se podría decir que ahora, el nivel de saltos es similar a los que se producen en el Pan, por el refresco de datos a 2hz del GPS.
En fin creo que ya no lo voy a tocar, y funciona francamente bien.
Solo nos falta cambiar el servo de Tilt, por uno que estamos esperando igual al del Pan, que es digital y +- la mitad de rápido que el que llevamos ahora, y al menos en teoría esto también ayudara a integrar mejor el desplazamiento del Tilt.
En fin rortega creo que es todo un éxito.

Estaba conmigo Turruk, que es bastante exigente y lo piensa probar con esta versión mañana, y dado que su traker es bastante mas pesado que el mio, podremos sacar mas conclusiones.

Ahora solo falta pulir un poco lo del botón de Home, que pensando un poco he llegado a una idea, tan solo consiste en que ya que tenemos 2 botones y el de calibración se tiene que aguantar 5", se podia hacer que el home se fijara, apretando el de calibración y el de Home al mismo tiempo durante 2".
Pero bueno eso ya es otra cosa, lo importante es que el Traker ha mejorado bastante. :biggrin2: :laugh:

rortega
12/09/2015, 22:02
Hola buenas noticias, ya he volado con la ultima versión, y sometido al pobre Traker a un montón de pasadas a baja altura y velocidad, para poder hacernos una idea del cambio con la amortiguación.
La verdad es que ha mejorado bastante, y resumiendo se podría decir que ahora, el nivel de saltos es similar a los que se producen en el Pan, por el refresco de datos a 2hz del GPS.
En fin creo que ya no lo voy a tocar, y funciona francamente bien.
Solo nos falta cambiar el servo de Tilt, por uno que estamos esperando igual al del Pan, que es digital y +- la mitad de rápido que el que llevamos ahora, y al menos en teoría esto también ayudara a integrar mejor el desplazamiento del Tilt.
En fin rortega creo que es todo un éxito.

Estaba conmigo Turruk, que es bastante exigente y lo piensa probar con esta versión mañana, y dado que su traker es bastante mas pesado que el mio, podremos sacar mas conclusiones.

Ahora solo falta pulir un poco lo del botón de Home, que pensando un poco he llegado a una idea, tan solo consiste en que ya que tenemos 2 botones y el de calibración se tiene que aguantar 5", se podia hacer que el home se fijara, apretando el de calibración y el de Home al mismo tiempo durante 2".
Pero bueno eso ya es otra cosa, lo importante es que el Traker ha mejorado bastante. :biggrin2: :laugh:

Me alegro un montón. A ver Turruk que conclusiones saca.
Por cierto, ayer me llegó el servo aquel que me recomendaste, segurametne es igual al que comentas. Lo mismo lo monto para probarlo.
Hoy le he dedicado tiempo a mi nuevo ZMR250 V2, dejando todo el tema del tracker de lado a la espera de recibir noticias.

rortega
12/09/2015, 23:25
Por cierto, ayer me llegó el servo aquel que me recomendaste, segurametne es igual al que comentas. Lo mismo lo monto para probarlo.

Simba, me encanta el servo, no tien nada que ver con el el que estoy usando en el tilt. Estoy por comprar otro para el PAN. No recuerdo muy bien el brico que hacías para ponerlo a 360 grados, pero supongo que lo de las dos resistencias también valdrá, no?

marcoasj
13/09/2015, 00:01
Enviado desde mi SM-G900F mediante Tapatalk

Simba
13/09/2015, 00:07
Si claro lo único que hay que hacer es poner las 2 resistencias de 2k2, en lugar del potenciómetro y eliminar el tope mecánico, que tiene la corona del eje del servo, lo mas fácil es eliminar el tope que es metálico con la Dremel y listo.
Y con este servo de Pan, por supuesto que notaras mucha mejora, creo que se debe a el par alto que tiene, en las proximidades del 0 y esto se nota mucho en el valor del mínimo de servo que en mi caso es de solo 1, dejando todo el control al PID que es lo mejor.

Lo que no se es como te puede funcionar con los servos de velas :blink:.

marcoasj
13/09/2015, 00:18
No, no influye.

Pero me ha dado la impresión de que todo andaba ahí muy suelto.

Lo de los valores de PID por consola seríe es así:

P400

Pone la P a 400. Si quieres cambiar la I igual, pero con I. Y lo mismo para la D.

Así puedes encontrar los valores que mejor te van más fácilmente, luego ya los cambias en el config.h
No entiendo porque flashea correctamente por usbasp en el com1 y en cambio no acepta los valores que le meto por la consola.

Dejo vídeo ( lo he cortado un poco en la carga del firm )

https://youtu.be/BK7NIa2DZ8c

Ayuda pleaseeee que llevó 5 horaaaaaas...( como me acuerdo de simba)[emoji28] [emoji28] [emoji28] [emoji28]

Enviado desde mi SM-G900F mediante Tapatalk

Simba
13/09/2015, 00:23
No se si volver a repetirlo, por que creo que ya lo comente, pero como ya va habiendo mas gente, con el traker en marcha lo comentare.
En la pestaña principal del Open360traker, casi al final están las formulas del PID, y en ellas al final hay un filtro que determina la salida 0, para el servo tilt, es decir de default pone 10 y -10, yo he bajado a 1 y -1, es decir que antes tenia un posible error de hasta 20º, y ahora lo tengo en un error de 2º, es este pedazo resalto en negrita el cambio :

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
}


Con esto y con un ajuste bueno de los PID, se consigue mas precisión, pero exige un mejor ajuste del PID.

Lo cuento por que a mi me ha ido bien, pero depende de cada cual.

Simba
13/09/2015, 00:32
marcoasj, puede que tu problema sea que estas utilizando un USBASP, y lo que necesitas es un FDTI.
Dentro de mi ignorancia, creo que para comandar la consola necesitas comunicar el Arduino por el puesto serie.

marcoasj
13/09/2015, 01:09
marcoasj, puede que tu problema sea que estas utilizando un USBASP, y lo que necesitas es un FDTI.
Dentro de mi ignorancia, creo que para comandar la consola necesitas comunicar el Arduino por el puesto serie.

Si, ya lo habia pensado, pero es que no se como conectar el FTDI al FRQMAX2

ese es el tema.......y la cosa es que no puedo probar...:sad::sad::sad:

marcoasj
13/09/2015, 03:36
Bien, pues ahora ya si que no entiendo nada.

Le estoy metiendo la simulación con el programa del NEMEA SIMULATOR por la uart del tracker y el LCD muestra el movimiento de la simulación, pero los servos del tracker no se mueven.......

https://youtu.be/f59DqQDR57Y



Enviado desde mi SM-G900F mediante Tapatalk

rortega
13/09/2015, 08:12
No entiendo porque flashea correctamente por usbasp en el com1 y en cambio no acepta los valores que le meto por la consola.

Dejo vídeo ( lo he cortado un poco en la carga del firm )

https://youtu.be/BK7NIa2DZ8c

Ayuda pleaseeee que llevó 5 horaaaaaas...( como me acuerdo de simba)[emoji28] [emoji28] [emoji28] [emoji28]

Enviado desde mi SM-G900F mediante Tapatalk
Por el USBsap no puedes enviarle las órdenes, debes conectarlo vía serie una vez subido el firm, bien por ftdi o bien por bluetooth

rortega
13/09/2015, 08:17
No se si volver a repetirlo, por que creo que ya lo comente, pero como ya va habiendo mas gente, con el traker en marcha lo comentare.
En la pestaña principal del Open360traker, casi al final están las formulas del PID, y en ellas al final hay un filtro que determina la salida 0, para el servo tilt, es decir de default pone 10 y -10, yo he bajado a 1 y -1, es decir que antes tenia un posible error de hasta 20º, y ahora lo tengo en un error de 2º, es este pedazo resalto en negrita el cambio :

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
}


Con esto y con un ajuste bueno de los PID, se consigue mas precisión, pero exige un mejor ajuste del PID.

Lo cuento por que a mi me ha ido bien, pero depende de cada cual.
Voy a meterlo como parámetro en el config.h, te parece? Pero ya no voy a subir versión hasta que haya unos cuantos cambios significativos.

rortega
13/09/2015, 08:50
Bien, pues ahora ya si que no entiendo nada.

Le estoy metiendo la simulación con el programa del NEMEA SIMULATOR por la uart del tracker y el LCD muestra el movimiento de la simulación, pero los servos del tracker no se mueven.......

https://youtu.be/f59DqQDR57Y



Enviado desde mi SM-G900F mediante Tapatalk

Varias preguntas, que podrían ayudar resolver el entuerto:



Qué configuración estás usando: GPS_TELEMETRY o SERVOTEST?
Usas GPS Local?
Qué versión has subido?

Responde a esas preguntas y pega tu config.h aquí.

marcoasj
13/09/2015, 11:01
Varias preguntas, que podrían ayudar resolver el entuerto:



Qué configuración estás usando: GPS_TELEMETRY o SERVOTEST?
Usas GPS Local?
Qué versión has subido?

Responde a esas preguntas y pega tu config.h aquí.

Bueno pues:

1º.- La del video es la del config.h que pongo, con GPS_TELEMETRY, pero he probado con SERVOTEST y hace lo mismo,( o eso creo, no se mueve, pero no puedo ver los datos en el LCD)( no he probado lo de la distancia de los 10m, pero creo que en SERVOTEST es 0)

2º.- Si uso GPS LOCAL.

3º.- Al tener el FRQMAX, utilizo la última que colgó vaweraider. No se si esto influira en lo que digo.

#ifndef CONFIG_H
#define CONFIG_H

/* Config file
* created by Samuel Brucksch
*
*/

//#define DEBUG

/** PID Values
*
*/
#define P 1900 //default 2200
#define I 280 //default 280
#define D 20000 //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 GPS_TELEMETRY
/* #### 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

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

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 2200

/* #### Pan servo 0° adjustment ####
*
* Enter PWM value of Servo for not moving
*/
#define PAN_0 1480

/* #### 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 35

/* #### 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 -1

/* #### 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 1600

/* #### 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
//#define MTK
#define GPS_BAUDRATE 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

/* ### 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/new-liquidcrystal/downloads
*
*/
#define LCD_DISPLAY I2C
#define LCD_SIZE_ROW 2 // default 2

/* ### 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

Guillesan
13/09/2015, 11:06
Desde el campo te respondo Marco.
Tu usas FRQMax. Hazme una foto del conector a la izquierda de donde conectas los servos a la placa , puede que no estés dando 5v a los servos

marcoasj
13/09/2015, 11:10
Desde el campo te respondo Marco.
Tu usas FRQMax. Hazme una foto del conector a la izquierda de donde conectas los servos a la placa , puede que no estés dando 5v a los servos
Pero entonces no se moverían tampoco cuando hago el servotest normal no??

http://images.tapatalk-cdn.com/15/09/13/bc5039ca6f3b0e2058fb80846cf524a8.jpg



Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 11:17
Ok esta bien, debe. Ser otra cosa

marcoasj
13/09/2015, 11:52
Ok esta bien, debe. Ser otra cosa
El gpslocal lanza esto en debug...

http://images.tapatalk-cdn.com/15/09/13/1042f3659036ff7c586a7d4b8c797927.jpg



sobra alguna trama ???

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 14:58
Claro, solo debes dejar configurado gga las otras no están soportadas por el software

rortega
13/09/2015, 15:38
El gpslocal lanza esto en debug...

sobra alguna trama ???

Enviado desde mi SM-G900F mediante Tapatalk

Las tramas GGA las veo muy vacías, con ausencia de datos entre coma y coma, no?

Simba
13/09/2015, 16:48
Voy a meterlo como parámetro en el config.h, te parece? Pero ya no voy a subir versión hasta que haya unos cuantos cambios significativos.
OK. yo empece a ver que me centraba mejor, y el valor depende del servo y de los PID.
Esto lo que hace es evitar el rebote y oscilación cerca del 0, pero es como un recurso de circunstancias si no hay otro método que ponga a 0 el servo, lo mejor es poner unos PID que respondan bien, y quitarle protagonismo a este truco.

Guillesan
13/09/2015, 19:02
El gpslocal lanza esto en debug...

http://images.tapatalk-cdn.com/15/09/13/1042f3659036ff7c586a7d4b8c797927.jpg



sobra alguna trama ???

Enviado desde mi SM-G900F mediante Tapatalk

Esta fotografia sera seguramente al iniciar el gps, que no esta fijado, por que o no ve satelites o por que acaba de conectarse.

rortega
13/09/2015, 19:06
OK. yo empece a ver que me centraba mejor, y el valor depende del servo y de los PID.
Esto lo que hace es evitar el rebote y oscilación cerca del 0, pero es como un recurso de circunstancias si no hay otro método que ponga a 0 el servo, lo mejor es poner unos PID que respondan bien, y quitarle protagonismo a este truco.
Lo implementé y lo subí esta mañana al repositorio tilt-easing. Como no es significativo, no lo anuncié...

marcoasj
13/09/2015, 19:14
Bueno, después de muchas peleas he conseguido ver el debug del tema, aunque sigue sin responder cuando le meto por el simulador.

Al final conectando usbasp y ftdi a la vez, para no volverme loco. cada uno por un com distinto.

http://images.tapatalk-cdn.com/15/09/13/5bb14f3310ebc0d627ab1d7d2fa7ddda.jpg

Pero por mucho que pruebo valores soy incapaz de quitarle el rebote

https://youtu.be/lxnJL03b5oM




Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 19:18
Veo que en P: tienes un valor negativo, estas seguro que es así como te funciona ?

marcoasj
13/09/2015, 20:03
Veo que en P: tienes un valor negativo, estas seguro que es así como te funciona ?
Funciona así y con el mismo valor en positivo, en negativo vibra menos.

Por otro lado no se si tengo bien configurado el gps local. Parece que no se me graba

http://images.tapatalk-cdn.com/15/09/13/4a77a8c909dc56d048c376f9c9b4de65.jpg

http://images.tapatalk-cdn.com/15/09/13/c5aeaf383af6168d66b0747622648a32.jpg


No se si esta bien así,

https://youtu.be/s1o_J1L4BCU



Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 20:13
Marco debes configurar en el U-Center de Ublox que este gps solo salga la trama gga y con 1hz o 2hz como maximo, yo uso velocidad 38400, pero tambien podria ser 9600

Simba
13/09/2015, 20:13
marcorasj, estoy casi seguro que tienes el servo de Pan con giro invertido, yo ya lo experimente.

Tienes que poner el valor minimo de servo en negativo, y el las formulas del PID que comente antes, poner en negativo el P, el I y el D.

Otra forma mas sencilla es cambiar el sentido de giro del servo.

Lo se por que yo ya pase por lo mismo y me costo bastante darme cuenta.

marcoasj
13/09/2015, 20:29
Guillermo, sólo he podido dejarlo así,

https://youtu.be/jKMf6CYnFLU

Esta bien ??

Simba, he probado a ponerlos todos en negativo y es lo mismo, dentro de un ratito pondré un vídeo.



Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 20:31
Guillermo, sólo he podido dejarlo así,

https://youtu.be/jKMf6CYnFLU

Esta bien ??

Simba, he probado a ponerlos todos en negativo y es lo mismo, dentro de un ratito pondré un vídeo.



Enviado desde mi SM-G900F mediante Tapatalk
No es suficiente , debes dejar solo gga.
Revisa youtube , por favor se hace dificil desde aqui , de como se configura las tramas nmea , para dejar solo gga.
Lo siento.

marcoasj
13/09/2015, 20:46
No es suficiente , debes dejar solo gga.
Revisa youtube , por favor se hace dificil desde aqui , de como se configura las tramas nmea , para dejar solo gga.
Lo siento.
Ok, no te preocupes, si yo sólo necesitó saber si esta bien o no. Vale, Sólo líneas que empiecen por gga

Otra cosa, creó que lo de la simulación tiene que ver con la distancia al objetivo, como veis es lo único que no se actualiza,

https://youtu.be/Pvkkm8-a4JU


La altura en cambio si se actualiza.



Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/09/2015, 20:48
Marco si usas Gps local, en LCD debería verse lis satélites S: xx , si no está fijado no puede saber la distancia hasta el avión D:xxxxx

marcoasj
13/09/2015, 21:03
Marco si usas Gps local, en LCD debería verse lis satélites S: xx , si no está fijado no puede saber la distancia hasta el avión D:xxxxx

OK, luego probaré un par de cosas antes de irme a la cama.

Simba
13/09/2015, 21:04
Guillermo, sólo he podido dejarlo así,

https://youtu.be/jKMf6CYnFLU

Esta bien ??

Simba, he probado a ponerlos todos en negativo y es lo mismo, dentro de un ratito pondré un vídeo.



Enviado desde mi SM-G900F mediante Tapatalk
Todos pero ¿donde???
En el config.h NO, se cambia en las formulas del PID, y el minimo valor de servo, en - pero ese si en el config.h

rortega
13/09/2015, 21:24
Ok, no te preocupes, si yo sólo necesitó saber si esta bien o no. Vale, Sólo líneas que empiecen por gga

Otra cosa, creó que lo de la simulación tiene que ver con la distancia al objetivo, como veis es lo único que no se actualiza,

https://youtu.be/Pvkkm8-a4JU


La altura en cambio si se actualiza.



Enviado desde mi SM-G900F mediante Tapatalk
Hasta que no le des a la barra de desplazamiento del Thortel en el simulador el avión virtual no se mueve. Cuando empieza a moverse ya se va actualizando la sustancia.

marcoasj
14/09/2015, 08:23
Todos pero ¿donde???
En el config.h NO, se cambia en las formulas del PID, y el minimo valor de servo, en - pero ese si en el config.h


Vale, eso no lo he probado, yo lo cambiaba todo en el config.h. probaré a cambiarlo en la formula, y el minimo valor del servo. otra cosa que he observado es que el servo del pan lleva menos velocidad cuando busca la posición de izq a dcha que cuando lo hace al reves. de izq a dcha va lento y de dcha a izq perfecto. Tambien que el servo del tilt mete unas leches que te c****. cuando va de 1 grado en 1 grado bien, pero cuando se mueve 3 seguidos pega un golpe con un rebote importante.

Hasta que no le des a la barra de desplazamiento del Thortel en el simulador el avión virtual no se mueve. Cuando empieza a moverse ya se va actualizando la sustancia.

Si, ya lo se, en el video solo puse el avion alejandose y cogiendo altura para ver si se movia el tilt.


Marco si usas Gps local, en LCD debería verse lis satélites S: xx , si no está fijado no puede saber la distancia hasta el avión D:xxxxx


La simulación del tracker funcionó, pero no correctamente y solo cuando el gps local fijo satelites. Lo unico correcto que daba era la altura. luego en la simulación la LAT y la LON me daban en grados igual pero en minutos y segundos distintas y me daba como fijados 32 satelites. El tracker seguia algo, pero no se el que.

No es suficiente , debes dejar solo gga.
Revisa youtube , por favor se hace dificil desde aqui , de como se configura las tramas nmea , para dejar solo gga.
Lo siento.

Con el u-center conseguí dejar solo las tramas GGA, desactivando los mensajes de las otras tramas (posición, y demas). pero a 38400 no me funcionaba, cambie a 38400 y 1 Hz en el u-center, y luego cambié en el config.h el GPS_BAUDRATE a 38400 y no me funcionó. lo hice 3 veces con mucho cuidado y nada. en cambio a 9600 si habia comunicacion, per oya digo que con valores extraños.

UFF¡¡ Menuda panzada que me he pegado este finde......bueno, algo habré aprendido

:biggrin2::biggrin2:

marcoasj
14/09/2015, 12:18
Y qué casualidad, metiendo en el MIN_PAN_SPEED valores negativos los templores desaparecen, ya sólo queda afinar PIDs, que lo intentaré mañana, me caigo de sueño.

Pues no os lo vais a creer, pero en este finde me he leido 932 posts con este....


:eek::eek::eek::eek:

marcoasj
14/09/2015, 12:21
Otra cosa interesante, en la misma formula, al final de todo está el establecimiento de error, o ventana (filtro) en la cual si el error esta dentro de esa ventana, el servo permanece parado.
Bien pues por defecto esta entre 10 y -10, pues nosotros gracias al servo Digital, lo tenemos entre 1 y -1, y no oscila para nada.

A ver si va a ser esto ¡¡ que yo lo cambié a 1 y -1 y tengo el servo de los alemanes....

:blink::blink:

Simba
14/09/2015, 13:00
El servo de los alemanes cual es??

Simba
14/09/2015, 13:15
Lo del 1 y -1 no afecta a lo que te pasa, ya te comente que era posible que tu servo tenga el giro invertido y entonces tienes que cambiar el sentido en la formula de los PID en la 1ª pestaña, no en el config.h

marcoasj
14/09/2015, 14:10
El servo de los alemanes cual es??

El servo 360º monte el que en el foro aleman aconsejaban <br />
http://www.banggood.com/GWS-S35-STD-Continuous-Rotation-Servo-p-69028.html?p=7Y21131527640201504T<br />


Enviado desde mi SM-G900F mediante Tapatalk

Simba
14/09/2015, 14:26
El servo 360º monte el que en el foro aleman aconsejaban <br />
http://www.banggood.com/GWS-S35-STD-Continuous-Rotation-Servo-p-69028.html?p=7Y21131527640201504T<br />


Enviado desde mi SM-G900F mediante Tapatalk

Pues ese servo es correcto, luego todo lo que comente de poner negativo los PID, te olvidas.
Tu problema será otro, y lo siento por que creía que ya lo teníamos.

Simba
14/09/2015, 14:31
Lo primero que tienes que hacer, es buscar el valor de #define PAN_0 1547 // default 1470

Tienes que ajustar lo mas que puedas al valor que el servo no se mueve

marcoasj
14/09/2015, 18:08
Rortega, estoy intentando compilar tu última version, y me da este error.

http://images.tapatalk-cdn.com/15/09/14/858d692299a7f6f460e1537584a18d84.jpg

Me falta alguna librería o algo ??

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
14/09/2015, 18:28
A ver si me entero, que hace AÑOS que no tocó una línea de código,

Amv-open360tracker sustituye a open360tracker ??

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
14/09/2015, 18:33
Perdón, que descomprimí encima....

Enviado desde mi SM-G900F mediante Tapatalk

rortega
14/09/2015, 19:03
Perdón, que descomprimí encima....

Enviado desde mi SM-G900F mediante Tapatalk

La versión que ahora mismo están usando los compañeros, funcionando, es:

https://github.com/raul-ortega/amv-open360tracker/archive/tilt-easing.zip (https://github.com/raul-ortega/amv-open360tracker/archive/tilt-easing.zip)

Lo suyo es eso, que lo descomprimas en una carpeta a parte.

Y sí, de momento sustituye a la original porque se han corregido algunas cosillas, en especial si no usas GPS Local y quieres que el servo de tilt amortigue un poco en las paradas. En ella, como he ido comentando, se han ido introducciendo parámetros nuevos. Están todos explicados en el config.h (en inglés).

Y por lo que cuenta Jaime, el firmware para el FRQ MAX es el mismo, así que éste debería valerte.

Ve tomándote la cosa con calma, que son demasiadas piezas las que tiene el rompecabezas, y para unirlas todas y que funcione hay que dar muchos pasos...esperemos que vaya bien.

marcoasj
14/09/2015, 19:46
Ok funcionando la versión tilt easing aparentemente bien, Pero no se que pasa con la latitud y longitud que no coincide, y no consigo poner el simulador cerca para ver como se mueve el tilt.

Funcionando con gps local

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
14/09/2015, 19:46
Dejo vídeo

https://youtu.be/gYLMgcjltVw

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
14/09/2015, 19:48
Como el avión simulado esta tan lejos, aunque gire no se nota

Enviado desde mi SM-G900F mediante Tapatalk

rortega
14/09/2015, 19:57
Dejo vídeo

https://youtu.be/gYLMgcjltVw

Enviado desde mi SM-G900F mediante Tapatalk

En el simulador te muetras las coordenadas en grados y minutos.

En el tracker te las muestra en grados decimales.

Son el mismo perro pero con distinto collar.

marcoasj
14/09/2015, 20:32
En el simulador te muetras las coordenadas en grados y minutos.

En el tracker te las muestra en grados decimales.

Son el mismo perro pero con distinto collar.
Me cago en m**** que lo P****. Si es que ya no veo, ya no veo...[emoji43] [emoji43] [emoji43] [emoji43] [emoji43]

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
14/09/2015, 21:19
Esto va tomando cuerpo, no se yo si me he pasado de tamaño, pero....
Venga pongo unas fotos para que haya críticas, constructivas eh. jajaja
http://images.tapatalk-cdn.com/15/09/14/9d9f2ee189c67d826ec4d433432de79e.jpghttp://images.tapatalk-cdn.com/15/09/14/70faf2b927c64a164c33ecb8078d2a90.jpghttp://images.tapatalk-cdn.com/15/09/14/1fb1fd231825027e88944872905c303f.jpghttp://images.tapatalk-cdn.com/15/09/14/6c20101a8b854665014cc5f203dea2c6.jpghttp://images.tapatalk-cdn.com/15/09/14/2f065bd5f36cc2ef5fa332c7f91505c3.jpg

TURRUK
14/09/2015, 21:30
Esto va tomando cuerpo, no se yo si me he pasado de tamaño, pero....
Venga pongo unas fotos para que haya críticas, constructivas eh. jajaja
http://images.tapatalk-cdn.com/15/09/14/9d9f2ee189c67d826ec4d433432de79e.jpghttp://images.tapatalk-cdn.com/15/09/14/70faf2b927c64a164c33ecb8078d2a90.jpghttp://images.tapatalk-cdn.com/15/09/14/1fb1fd231825027e88944872905c303f.jpghttp://images.tapatalk-cdn.com/15/09/14/6c20101a8b854665014cc5f203dea2c6.jpghttp://images.tapatalk-cdn.com/15/09/14/2f065bd5f36cc2ef5fa332c7f91505c3.jpg


Hola esto ya palabra mayor, si señor mola!!! :plane:

Simba
14/09/2015, 21:33
Turruk pasame lo de Paco

Simba
14/09/2015, 21:38
Guillesan, ¿ que ventajas tiene el utilizar el Mega ?

Guillesan
14/09/2015, 22:12
Guillesan, ¿ que ventajas tiene el utilizar el Mega ?

Pues , empece a usar Mega cuando pensabamos que los micros 328 de arduino uno y demas no podian con la decodificacion de RVOSD por ir a 115200 y tramas muy largas, todo y asi no funciono hasta que aparecio rortega, el crack, y lo soluciono , vimos que si puede ser usado un arduino uno o el FRQMax que usa ese micro, pero en las pruebas que he realizado en la mesa, me explico sin mecanica , creo todo corre mas liviano , ademas mega tiene varios puertos serial reales , y dejan al micro con mas tiempo de computacion al no tener que atender al serial virtual que se usa en los otros.
Tiene mas memoria para posteriores ampliaciones, por ejemplo en uno si se compila en debug segun el protocolo usado ya se queja en compilacion que no cabe...
En fin eso es mas o menos mi parecer.

Simba
14/09/2015, 22:16
O sea resumiendo, poder usar el puerto ftdi y el uard al mismo tiempo cosa que con la Crius no se puede

Guillesan
14/09/2015, 22:29
O sea resumiendo, poder usar el puerto ftdi y el uard al mismo tiempo cosa que con la Crius no se puede

Tienes varios uarts, serial, serial1, etc en total 3.
Para la entrada de telemetria se usa serial, y para el gps local serial1.
Son reales no virtual y el micro no trabaja emulando un puerto seria para el gps por ejemplo.

rortega
14/09/2015, 22:49
Tienes varios uarts, serial, serial1, etc en total 3.
Para la entrada de telemetria se usa serial, y para el gps local serial1.
Son reales no virtual y el micro no trabaja emulando un puerto seria para el gps por ejemplo.
Una crius aio pro podría ser una buena solución...

Guillesan
14/09/2015, 23:01
Una crius aio pro podría ser una buena solución...
Hola crack, no conozco esa placa, la mega la compre para probar mi teoria de los puertos serie, antes de que tu lo solucionaras, me refiero al RVOSD.
Por tenerla y por que me da en la nariz que va mas suelta es por lo que voy a usarla en esta antena .

Guillesan
14/09/2015, 23:10
Vale ya he visto la Crius aio pro , ok esta basada en mega , lo funcional es que tiene integrado casi todo lo que se necesita, brujula y demas , esta interesante.

rortega
14/09/2015, 23:14
Esto va tomando cuerpo, no se yo si me he pasado de tamaño, pero....
Venga pongo unas fotos para que haya críticas, constructivas eh. jajaja..

Impresionantes las dimensiones que toma el invento ¿Vas a envair un sputnik al espacio?

rortega
14/09/2015, 23:15
Vale ya he visto la Crius aio pro , ok esta basada en mega , lo funcional es que tiene integrado casi todo lo que se necesita, brujula y demas , esta interesante.

Exacto, la crius aio pro es al arduino mega como la crius se al arduino uno/pro mini... Y a la hora de pinchar los cables, es mejor, creeme.

Guillesan
14/09/2015, 23:15
Impresionantes las dimensiones que toma el invento ¿Vas a envair un sputnik al espacio?

Ya, me parece que igual me he pasao de tamaño, pero es que tiene que ser fuerte por que aparte de antenas llevara encima varios equpios rx , rvgs , opentx , ya ves.
Pero en fin ya sabes ande o no ande ...........

Guillesan
14/09/2015, 23:17
Exacto, la crius aio pro es al arduino mega como la crius se al arduino uno/pro mini... Y a la hora de pinchar los cables, es mejor, creeme.
Ya veo ya que es mas facil de conexiondo, pero es que ya tengo la mega aqui y joder es que todo son gastos tu me entiendes todo y asi no descarto liarme con la aio

marcoasj
14/09/2015, 23:18
Esto va tomando cuerpo, no se yo si me he pasado de tamaño, pero....
Venga pongo unas fotos para que haya críticas, constructivas eh. jajaja
http://images.tapatalk-cdn.com/15/09/14/9d9f2ee189c67d826ec4d433432de79e.jpghttp://images.tapatalk-cdn.com/15/09/14/70faf2b927c64a164c33ecb8078d2a90.jpghttp://images.tapatalk-cdn.com/15/09/14/1fb1fd231825027e88944872905c303f.jpghttp://images.tapatalk-cdn.com/15/09/14/6c20101a8b854665014cc5f203dea2c6.jpghttp://images.tapatalk-cdn.com/15/09/14/2f065bd5f36cc2ef5fa332c7f91505c3.jpg
Si señor !!!, yo me hice otra pensando que la del kit alemán era pequeña y ahora la mia me parece pequeña




Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
14/09/2015, 23:20
Veremos como se comporta , por fuerza no sera el tilt es un servo de 30 kg, y el pan un digital de 10 kg .....
Rortega seria esta la placa crius ?
http://www.dx.com/es/p/crius-all-in-one-pro-v1-0-multiwii-megapirate-flight-controller-149346#.Vfc5jXtYGYQ

marcoasj
14/09/2015, 23:21
Borrado

Guillesan
14/09/2015, 23:22
O esta mas barata
http://www.goodluckbuy.com/crius-all-in-one-pro-flight-controller-v2-0-lastest-ver-pirate-mwc-arduplaneng-multiwii.html

Guillesan
14/09/2015, 23:24
Bueno pues inventó competente funcional, los tembleques es porque va todo suelto. En cuanto lo prepare bien empiezo a probar el tema vídeo.

Enviado desde mi SM-G900F mediante Tapatalk

Cierto debe ser todo lo montado muy recio y solidario con el montaje, todo lo que sea vibraciones le sientan mal, ademas me he dado cuenta de que la brujula montada como accesorio exerno segun donde se coloque le afectan los campos magneticos de los motores de los servos.

marcoasj
14/09/2015, 23:25
Bueno pues invento funcionando 100%. Los tembleques son porque va todo suelto.

https://youtu.be/SwjWwzug0Vk

Ahora a probar el diversity del FRQMax

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
14/09/2015, 23:26
Bueno pues invento funcionando 100%. Los tembleques son porque va todo suelto.

https://youtu.be/SwjWwzug0Vk

Ahora a probar el diversity del FRQMax

Enviado desde mi SM-G900F mediante Tapatalk
Felicidades , me alegro mucho te funcione, animo y al toro.

Guillesan
14/09/2015, 23:29
Marco una cosa mas , el conector sma de la antena helical esta sufriendo de lo lindo, ojo por que creo terminara rompiendo, seria mejor la antena se apoyara mas en el brazo tilt.

marcoasj
14/09/2015, 23:34
Marco una cosa mas , el conector sma de la antena helical esta sufriendo de lo lindo, ojo por que creo terminara rompiendo, seria mejor la antena se apoyara mas en el brazo tilt.
Ok, a ver que me invento para amortiguar el mov, la verdad es que sufre de lo lindo.

Enviado desde mi SM-G900F mediante Tapatalk

rortega
14/09/2015, 23:36
O esta mas barata
http://www.goodluckbuy.com/crius-all-in-one-pro-flight-controller-v2-0-lastest-ver-pirate-mwc-arduplaneng-multiwii.html

Sí, esa tenía algún problemilla corregido con resepcto a la 1.0. Yo la tenía montada en mis dos primeros multis.

Guillesan
14/09/2015, 23:37
Sí, esa tenía algún problemilla corregido con resepcto a la 1.0. Yo la tenía montada en mis dos primeros multis.
Serviria para nuestro proposito ? lo digo por tenerlo en cuenta, para mas adelante., me refiero a la http://www.goodluckbuy.com/crius-all-in-one-pro-flight-controller-v2-0-lastest-ver-pirate-mwc-arduplaneng-multiwii.html

rortega
14/09/2015, 23:43
Yo creo que sí, pero no OS lancéis, que lo mismo no hace falta...

Guillesan
14/09/2015, 23:45
Yo creo que sí, pero no OS lancéis, que lo mismo no hace falta...

No, entiendo aunque no vendra ya de 27$ jajajajaja.
La verdad es que es mas contenida y facil de conectar , en fin me abstendre de darle al click.

marcoasj
15/09/2015, 08:18
Felicidades , me alegro mucho te funcione, animo y al toro.

Bueno llegados a este punto y antes de seguir no me queda mas remedio que agradecer y de que manera, la ayuda, sin la cual evidentemente estoy seguro de que yo no hubiera podido llegar hasta donde lo he hecho (de momento). he tenido la oportunidad de releerme el hilo ENTERO¡¡¡ y veo mis propios mensajes del principio en los que ni me sentia capaz ni tenia los conocimientos:biggrin2::biggrin2:

MUCHAS GRACIAS ¡¡¡

A Guillermo por compartir su ilusión y sus conocimientos y por estar siempre ahi, A Simba, por su tenacidad y sus ganas de aprender que nos han contagiado a todos, A Rortega y waveraider........ ¡¡Vaya par de maquinas ¡¡, y a Juan trillo, (que me he enterao que empieza de aventuras y que espero que le vaya bien) por su ayuda desinteresada desde que aterrize en este foro.

bueno, y a todos los demás que en algun momento me han ayudado a resolver alguna cuestión..........


Bien, me ha quedado como una despedida JAJAJAJA... pero de eso nada, que ahora empiezo con la segunda parte.......la telemetria del avión que no tengo ni Z.......

Así que guillermo ya me estas contando como saco la telemetria del modulo de 1 W de orange....JAJAJAJA


:laugh::laugh::laugh:

rortega
15/09/2015, 17:42
Bueno llegados a este punto y antes de seguir no me queda mas remedio que agradecer y de que manera, la ayuda, sin la cual evidentemente estoy seguro de que yo no hubiera podido llegar hasta donde lo he hecho (de momento). he tenido la oportunidad de releerme el hilo ENTERO¡¡¡ y veo mis propios mensajes del principio en los que ni me sentia capaz ni tenia los conocimientos:biggrin2::biggrin2:

MUCHAS GRACIAS ¡¡¡

A Guillermo por compartir su ilusión y sus conocimientos y por estar siempre ahi, A Simba, por su tenacidad y sus ganas de aprender que nos han contagiado a todos, A Rortega y waveraider........ ¡¡Vaya par de maquinas ¡¡, y a Juan trillo, (que me he enterao que empieza de aventuras y que espero que le vaya bien) por su ayuda desinteresada desde que aterrize en este foro.

bueno, y a todos los demás que en algun momento me han ayudado a resolver alguna cuestión..........


Bien, me ha quedado como una despedida JAJAJAJA... pero de eso nada, que ahora empiezo con la segunda parte.......la telemetria del avión que no tengo ni Z.......

Así que guillermo ya me estas contando como saco la telemetria del modulo de 1 W de orange....JAJAJAJA


[emoji23][emoji23][emoji23]
Gracias a tí por la parte que me toca...

rortega
16/09/2015, 08:22
Pocas filigranas se pueden ya hacer en el código fuente, me explico: llevo varios días en mi empeño de programar una interfaz de línea de comandos para el tracker, que permita por puerto serie configurar en tiempo real todos los parámetros, o al menos los más susceptibles de ser modificados, para no tener que subir el firma cada vez, con todas las molestias que supone.

No sé si conocéis el CLI de baseflight, el firm de la NAZE32...pues algo similar, que le metes comandos set ...

Pues llegado a un punto, al compilar ya empiezan a aparecer mensajes de que el sketch / y las variables están a punto de petar la memoria, y que se puede volver inestable, y así es, no se puede avanzar mucho más. Y tampoco hay mucho que se pueda optimizar, he probado distintas técnicas y bufff, una locura...que estoy por dejarlo por imposible.

Para este caso una placa con atmega2560 podría ser una solución.

Guillesan
16/09/2015, 08:28
Noticias mañaneras, gracias rortega.
Por mi parte como sabes estoy probando justamente una Mega, si terminas esta aplicación CLI yo la probaría aunque entiendo que es laborioso, tu decides que ya as currado un montón, en tus manos lo dejo . Saludoshttp://images.tapatalk-cdn.com/15/09/15/422a07b12fcfac081e2ffe63d4af99e2.jpghttp://images.tapatalk-cdn.com/15/09/15/f505eb7342b753e6bbe51a4b40feec9d.jpg

Simba
16/09/2015, 13:42
Hola, yo si se trata de mejorar, estoy dispuesto a comprar la Crius que comentabais de tipo Mega, pero antes habría que concretar en que se mejora, por si a cada cual según vea, le interesa o no cambiar a otra placa.

Basados en la telemetria Orange OpenLRS, sabemos que funciona bastante bien, casi igual a sistemas profesionales, y la única limitación la veo en el alcance de la Telemetria del OpenLRS, aunque ni siquiera esto es problema, si se monta una buena antena.

Si con otra placa se puede experimentar, otros tipos de transmisión de Telemetria, como por ejemplo por vídeo, hay que tener muy claro antes de empezar, que no están exentos de problemas, de perdida de telemetria, por falta de calidad de vídeo y otras razones. Yo he sido testigo en muchas ocasiones con sistema de MFD, que empezaba a pitar la falta de telemetria, por no ser de suficiente calidad la señal de vídeo.
En fin que todo tiene su pro y su contra, nada es perfecto y un equipo como el nuestro, basado en OpenLRS bien acondicionado y con antenas adecuadas, puede dar mucho mas juego que lo que muchos puedan pensar.

Yo lo que veo es que lo actual funciona bastante bien, y una vez conseguido el perfil de ajuste, que cada uno necesite según el setup que monte, pues ya está.

Ahora si hay que ir se va, vale que por cacharear que no sea.

P.D. : Le estoy montando dos antenas directivas, 1,2g y 433Mhz, con repetidor incluido, al Kit de los alemanes, a ver si lo reviento :facepalm: :ansioso:.

Un saludo y que no decaiga.

Simba
16/09/2015, 16:46
Bueno como no decís nada, pongo estas fotos para que les saquéis faltas, no va de coña, lo que quiero es que Guillesan y los que que nos siguen, que saben de esto de las antenas y los repetidores, comenten si ven algún problema o tienen alguna sugerencia.
De lo que se trata es de mejorar en lo posible, por medio de la critica constructiva.

Las frecuencias son:
Video 1,2 + repetidor 5,8
Mando Taranis 2,4 repetidor 433.

Guillesan
16/09/2015, 16:53
Coño Simba después decís de la mía que si la NASA que si peazo antena, pues la tuya no se queda corta no.
Una gozada.
Pregunta, el servo pan puede con ese peso?
El del tilt veo que as compensado con el RX de 1.2
Solo decir que por gusto propio no me gustan el tema repetidor, en especial el de video, lo digo por que cada vez que se conversiónan señales algo se queda por el camino, yo prefiero cable claro esta si puede ser de ahí que me gustara el tema slip ring por lo demás lo dicho ole.
Ya pondrás un vídeo del tema moviendose que para los cacharreros es lo que nos gusta.
Un saludo

TURRUK
16/09/2015, 17:08
Simba tu no paras de so prender, a ver si para este viento malo yo quiero ver como va!!!:ansioso:

Simba
16/09/2015, 17:22
Guillesan, el repe de video ya lo vengo usando hace bastante tiempo, y si quieres que te diga la verdad, no noto ninguna perdida de calidad, lo único que noto es que se me quejan los compis, por que este canal me lo he agenciao :ansioso::rolleyes2:.
El servo de Pan lo mueve sin esfuerzo, y el tema balanceo ademas de poner el Rx lo mas atrás posible, ya llevaba un muelle en el servo tilt (copia del de MFD) que en horizontal cuando mas peso soporta el servo, esta con el muelle a equilibrio o sea que no hace fuerza.

Lo que mas me preocupa es el tema de la influencia del 433 con el 1,2 con esos 20cm de distancia.
En tierra no se aprecia nada y todo parece correcto, a ver en vuelo cuando mejore el viento que comenta Turruk si lo probamos.

Otra cosa, he tenido que hacer dos failsafe, uno en el Rx de 2,4 y otro en el Rx de 433, lo digo por que parece tonto, pero si no te puedes llevar una sorpresa.

rortega
16/09/2015, 17:24
Bueno como no decís nada, pongo estas fotos para que les saquéis faltas, no va de coña, lo que quiero es que Guillesan y los que que nos siguen, que saben de esto de las antenas y los repetidores, comenten si ven algún problema o tienen alguna sugerencia.
De lo que se trata es de mejorar en lo posible, por medio de la critica constructiva.

Las frecuencias son:
Video 1,2 + repetidor 5,8
Mando Taranis 2,4 repetidor 433.
Madre mía! Esos servos pueden con todo eso??? Ahora entiendo tu preocupación por amortiguar las paradas.

rortega
16/09/2015, 17:28
Por cierto simba, a ver si lo entiendo, te llega la telemetría por la taranis y la retransmite desde ella al tracker usando el orange, o simplemente tienes un orange en el avión y se la bandas al del tracker?

Simba
16/09/2015, 17:29
Madre mía! Esos servos pueden con todo eso??? Ahora entiendo tu preocupación por amortiguar las paradas.
Los servos no trabajan casi nada, están en equilibrio el del Pan por el rodamiento axial ladisusan, y el Tilt por medio del muelle y si no se contrapesa, el caso es que este todo en equilibrio.
Yo creo que el tema de servos de 10 Kg es mas para una respuesta buena a partir de 0 y cerca del 0, y si son digitales mejor que mejor.

Simba
16/09/2015, 17:39
Por cierto simba, a ver si lo entiendo, te llega la telemetría por la taranis y la retransmite desde ella al tracker usando el orange, o simplemente tienes un orange en el avión y se la bandas al del tracker?
Lo ultimo, el Rx orange del avión manda la Telemetria en el traker tengo el Tx Orange, que tiene el puerto serie directo al UART de la Crius, y el mando del Tx Orange son los PPM que salen del Rx de 2,4 de ta Taranis.

La verdad es que es todo bastante sencillo, y funciona de P.M., y por cierto de latencia y retrasos para mi que soy bastante milindris, no noto nada, cuando vuele lo comentare, y no se pero incluso pruebo un Micro Quad250.

Comento que lo del repetidor de mando, hace unos años ya que estuvimos tocando el tema, y un compañero del foro (no recuerdo el NIK) creo que de la Rioja, nos explico que ellos lo utilizaban mucho sobre todo en invierno, que con el frio que hace, ellos volaban desde dentro del coche, calentitos y sin problemas.

Guillesan
16/09/2015, 18:23
Guillesan, el repe de video ya lo vengo usando hace bastante tiempo, y si quieres que te diga la verdad, no noto ninguna perdida de calidad, lo único que noto es que se me quejan los compis, por que este canal me lo he agenciao :ansioso::rolleyes2:.
El servo de Pan lo mueve sin esfuerzo, y el tema balanceo ademas de poner el Rx lo mas atrás posible, ya llevaba un muelle en el servo tilt (copia del de MFD) que en horizontal cuando mas peso soporta el servo, esta con el muelle a equilibrio o sea que no hace fuerza.

Lo que mas me preocupa es el tema de la influencia del 433 con el 1,2 con esos 20cm de distancia.
En tierra no se aprecia nada y todo parece correcto, a ver en vuelo cuando mejore el viento que comenta Turruk si lo probamos.
Otra cosa, he tenido que hacer dos failsafe, uno en el Rx de 2,4 y otro en el Rx de 433, lo digo por que parece tonto, pero si no te puedes llevar una sorpresa.

Hola, mira filisofia china, si funciona no tocar, si te va bien estupendo si señor.
Una cosa mas podrias poner una foto del sistema del muelle en el servo tilt.
Usas lawmate para video 1.2 estos rx son un poco mas duros a las interferencias de 433 , en fin estriba tambien en tener un poco de suerte tambien.
Gracias.

Simba
16/09/2015, 18:30
Joer Guillesan, yo no creo en la suerte, si va o no va siempre es por algo ¿NO?.
Te hago la foto del muelle, que con un poco de suerte le das las vueltas justas. :ansioso::facepalm::facepalm:.

Guillesan
16/09/2015, 18:43
Joer Guillesan, yo no creo en la suerte, si va o no va siempre es por algo ¿NO?.
Te hago la foto del muelle, que con un poco de suerte le das las vueltas justas. :ansioso::facepalm::facepalm:.
Por algo si por saber , por tecnica por ..... chiripa, yo lo he visto, jajajajaja
Venga te espero la fotico.

Simba
16/09/2015, 18:52
Afoticos del muelle, es de cuerda de piano de 1mm.

Guillesan
16/09/2015, 18:54
Ok tomo nota, muchas gracias Simba, seguimos pa bingo

Simba
16/09/2015, 18:57
De nada.
Una cosa si no es suficiente con uno, se le puede poner otro muelle en el otro brazo, es cuestión de peso y vueltas, hay que is probando.

Guillesan
16/09/2015, 19:08
Ok

rortega
16/09/2015, 19:08
Lo ultimo, el Rx orange del avión manda la Telemetria en el traker tengo el Tx Orange, que tiene el puerto serie directo al UART de la Crius, y el mando del Tx Orange son los PPM que salen del Rx de 2,4 de ta Taranis.

La verdad es que es todo bastante sencillo, y funciona de P.M., y por cierto de latencia y retrasos para mi que soy bastante milindris, no noto nada, cuando vuele lo comentare, y no se pero incluso pruebo un Micro Quad250.

Comento que lo del repetidor de mando, hace unos años ya que estuvimos tocando el tema, y un compañero del foro (no recuerdo el NIK) creo que de la Rioja, nos explico que ellos lo utilizaban mucho sobre todo en invierno, que con el frio que hace, ellos volaban desde dentro del coche, calentitos y sin problemas.
La caña! Entendido.

marcoasj
16/09/2015, 19:10
Bueno como no decís nada, pongo estas fotos para que les saquéis faltas, no va de coña, lo que quiero es que Guillesan y los que que nos siguen, que saben de esto de las antenas y los repetidores, comenten si ven algún problema o tienen alguna sugerencia.
De lo que se trata es de mejorar en lo posible, por medio de la critica constructiva.

Las frecuencias son:
Video 1,2 + repetidor 5,8
Mando Taranis 2,4 repetidor 433.
Que fuerte' tiene una pinta profesional total.....

Enviado desde mi MediaPad M1 8.0 mediante Tapatalk

rortega
16/09/2015, 23:26
Os dejo aquí un pequeño vídeo demostración que acabo de grabar, de lo que podría ser la nueva Interfaz de Línea de Comandos (CLI ó Command Linea Interface) del tracker:

https://www.youtube.com/watch?v=PRWNqLB8hak

Aún está un poco verde, quedan muchas cosas que pulir, pero finalmente he podido avanzar sorteando el principal problema de la falta de memoria.

De momento sólo configura los 4 parámetros relacionados con los PIDs, y aunque no lo he probado en el tracker directamente, estoy casi seguro de que funciona.

La idea sería configurar desde consola todos aquellos parámetros configurables, a exepción de aquellos que implican un gran incremento del archivo .hex que subimos finalmente a la placa.

Los #define que se usan para DEBUG, SERVOTEST y protocolos de telemetría, se quedarían fuera del CLI, porque el meterlos implicaría compilar todo el código fuente para meterlo dentro del hex, lo cual es casi imposible, a no ser que se reescribiera todo intentando optimizarlo al máximo, cosa casi imposible. Quizás el SERVOTEST, por la gran utilidad que tiene, se podría incorporar al CLI, pero ya se verá.

De momento estoy contento porque estaba atascado, y el haber conseguido echarlo a andar puede suponer un avance considerable:


No es necesario compilar y subir el firm cada vez que se cambia un parámetro.
No haría falta conectar el FTDI, lo podríamos hacer directamente por Bluetooth, ya no haría falta abrir la tapa superior del tracker ni sacar hacia fuera ningún conector o cable (salvo que se quieisera actualziar el firm).
Se aber la puerta a la posibilidad de usar una aplicación externa que permita configurar el tracker desde una interfaz gráfica.

Pido disculpas por la calidad del vídeo, pero es lo que da el programa que he instalado para ello: Rylstim Screen Recorded (http://www.sketchman-studio.com/download/Rylstim-Screen-Recorder.exe). Os dejo el link porque puede ser interesante tene una forma en la que grabar la pantalla y no depender de un móvil o una cámara, para cuando queramos enseñar en el foro los problemas que tenemos con el firm, el simulador, etc...

Simba
17/09/2015, 14:23
Una pregunta de nivel pardillo.
¿ Por que no se utiliza una placa de tipo Nace 32, Fip 32+,etc,etc ?, es decir de 32 bits, que pasa que no hay nada de 32 bits en el mundo Arduino, o que se puedan rodar programas de Arduino.

Lo digo desde el mas profundo desconocimiento, pero como de oído se, que el gran salto en las placas de control, vino con las Nace 23 bits, me llama la atención que estemos con las de 16 bits.

Sl2.

Simba
17/09/2015, 14:35
Joer si antes lo pienso antes lo encuentro, esto del google es la leche.
He visto esto, quizas sea la punta de lanza de nuestra tecnologia cacharrera:

http://rduinostar.com/noticias/arduino-due-32-bits/

rortega
17/09/2015, 14:40
Una pregunta de nivel pardillo.
¿ Por que no se utiliza una placa de tipo Nace 32, Fip 32+,etc,etc ?, es decir de 32 bits, que pasa que no hay nada de 32 bits en el mundo Arduino, o que se puedan rodar programas de Arduino.

Lo digo desde el mas profundo desconocimiento, pero como de oído se, que el gran salto en las placas de control, vino con las Nace 23 bits, me llama la atención que estemos con las de 16 bits.

Sl2.
8 bits, estamos con 8 bits, no 16.
El tema está en que estamos modificando/mejorando un firmware desarrollado sobre arduino para 8 bits. Portarlo a plataforma 32 bits no es moco de pavo, hay que saber muchísimo de programación sobre la arquitectura ARM Cortex M, tanto en C++ como en ensamblador (se te pondrían los bellos de puntas si ves el tocho de folios de la arquitectura de este tipo de procesadores).

Es cierto que arduino también tiene versión 32 bits que podría simplificar algo, pero estamos trabajando con un código ya desarrollado, y portarlo requiere mucho tiempo.

Yo había pensado en portarlo a naze32, siguiendo la misma línea de desarrollo que se había utilizado con la portabilidad del código de Multiwii, pero de momento parece que funciona a 8 bits bastante decentemente. Ya veremos si más adelante damos el salto...

Simba
17/09/2015, 14:54
Vale tio, que conste que yo no quiero achuchar, solo era una jodida curiosidad, solo eso, que a ti te comentan algo y te lanzas en plan camicace :laugh:.
No compañero tiempo al tiempo, ya quisiera yo saber algo de programación, la verdad es que hace por lo menos 30 años, le pegaba algo al Basic basico, pero no pase de unos cuantos juegos de consola de aquella época.

Pero se de buena tinta el lio de riñones que tiene todo este tinglao y el trabajo que cuesta.

Simba
17/09/2015, 20:30
Hola de nuevo, siento monopolizar el hilo, pero creo que tengo que explicar un problema que he tenido, si no a mas de uno le puede salir humo.

NO CONECTAR EL PUERTO UART CON SUS CUATRO TERMINALES, AL PUERTO SERIE DEL ORANGE OPENLRS, solo conectar el Rx y GND.

El puerto serie del Orange OpenLRS, solo se puede alimentar a 3.3v, y del UART salen 5V, por lo tanto se puede freir el Orange, es como cuando se le conecta un FTDI de 5v al Orange y este se se queda frito.
Yo en principio Guillesan he tenido mucha suerte :rolleyes2:, y no lo he jodido de milagro.
El caso es que en un principio y por error, tenia alimentado el Orange con la tensión de 5v del bec de la Crius, y estuve haciendo pruebas bastante tiempo, sin apreciar nada, (no me lo explico).

Hoy me di cuenta y cambie la alimentación del Orange a 12V, (todo lo del UART seguía igual) y al conectar he notado que salia un hilillo de humo de los cables del UART, he desconectado y puesto a cavilar no encuentro nada mal conectado, lo único es lo que he comentado, quizás al alimentar el Orange a 12v, tener el + del UART hay algún conflicto, no llego a entenderlo.

El caso es que conectando del UART solo el Rx y el GND, todo funciona correcto y creo que al final no he jodido nada, raro en mi por que normalmente no tengo tanta suerte.

¿Alguna sugerencia??

rortega
18/09/2015, 00:06
Hola de nuevo, siento monopolizar el hilo, pero creo que tengo que explicar un problema que he tenido, si no a mas de uno le puede salir humo.

NO CONECTAR EL PUERTO UART CON SUS CUATRO TERMINALES, AL PUERTO SERIE DEL ORANGE OPENLRS, solo conectar el Rx y GND.

El puerto serie del Orange OpenLRS, solo se puede alimentar a 3.3v, y del UART salen 5V, por lo tanto se puede freir el Orange, es como cuando se le conecta un FTDI de 5v al Orange y este se se queda frito.
Yo en principio Guillesan he tenido mucha suerte :rolleyes2:, y no lo he jodido de milagro.
El caso es que en un principio y por error, tenia alimentado el Orange con la tensión de 5v del bec de la Crius, y estuve haciendo pruebas bastante tiempo, sin apreciar nada, (no me lo explico).

Hoy me di cuenta y cambie la alimentación del Orange a 12V, (todo lo del UART seguía igual) y al conectar he notado que salia un hilillo de humo de los cables del UART, he desconectado y puesto a cavilar no encuentro nada mal conectado, lo único es lo que he comentado, quizás al alimentar el Orange a 12v, tener el + del UART hay algún conflicto, no llego a entenderlo.

El caso es que conectando del UART solo el Rx y el GND, todo funciona correcto y creo que al final no he jodido nada, raro en mi por que normalmente no tengo tanta suerte.

¿Alguna sugerencia??


Menuda suerte...

Leyéndote me entra una duda ¿Las señales de los hilos tx/rx, van a nivel TTL 3.3 en los dos dispositivos a ambos extremos? Imagino que sí, porque de no serlo también habría problemas ¿No?

Por otroa lado, necesito que me refresques la memoria ¿Al final usas como funicón de easing EASE_OUT_QRT o EASE_OUT_CIRC?¿Cuál de las dos es la que te va bien? Lo digo para eliminar del código fuente la/s que no sirva/n.

rortega
18/09/2015, 01:48
Por si alguien quiere empezar a trastear, aquí tenéis una primera version "EXPERIMENTAL" que permite la configuración mediante la interfaz de línea de comandos (CLI):

https://github.com/raul-ortega/amv-open360tracker/archive/remote-settings.zip

Número de Versión

El número de versión 0.7, para que no haya confusión. Yo, de momento, me limitaría a subirla a la placa con los servos desconectados, por lo que pueda pasar.

Si habéis usado alguna vez el CLI de una Naze32 con Baseflight, veréis que me he inspirado ligeramente en su forma de proceder.

Aunque todos los parámetros son configurables, los relacionados con LCD, monitorización de la batería y gps local no tendrán efecto sobre el tracker, pues aún están por implementar. Los que sí tienen efecto los he dejado todos comentados en el config.h

Primer Inicio

La primera vez que se inicia la controladora tras la carga del firmware, entrará automáticamente en modo CLI. El motivo es simple, los valores por defecto son cargados automáticamente y podría provocar que los servos se activen, sobre todo si no son los mismos con los que se diseñó el software, en especial el PAN, que se pondría poner a girar sin parar.

La consola espera nuestras órdenes, per oantes de nada recomiendo activar el retorno de carro y el line feed en la consola.

Así que lo primero es teclear help y luego pulsar enter. Nos aparecerá un listado con todos los comandos disponibles. Los que lleven un asterisco delante no funcionan.

Modificar parámetros

Si tecleamos set y pulsamos enter, mostrará un listado de todos los parámetros disponibles y su valor en la forma:

set parámetro=valor

No hay mucho que explicar aquí, basta con teclear exactamente el comando completo del parámetro que queremos configurar, cambiando únicamente el valor (los comandos se teclean en minúsculas siempre).

Por ejemplo, si quiero poner la P de los PIDs a 400:

set P=400

y pulsamos enter.

Para ver si el parámetro se ha modificado, tecleamos set y pulsamos enter, mostrándose todos los parámetros nuevamente.

Salvar los cambios





Para que los cambios realizados en la configuraicón tengan efecto, hay que salvarlos primero. Para ello tecleamos save y pulsamos enter. Todos los parámetros serán guardados permanentemente en la EEPROM, así que, aunque quitemos la alimentación, estos se cargarán en el próximo inicio.
Al salvar la controladora hace un pseudo reinicio, realiza la carga de los parámetros, e inicia el LCD, los servos, etc... En este inicio ya no entramos en el modo CLI, dejándose de mostrar información por la consola.

Entrar en modo CLI

Para volver a entrar en el modo CLI, tenemos que teclear ### y pulsar enter. La consola espera nuevamente a que enviemos comandos.

Estando en este modo por segunda vez, y en sucesivas veces, el tracker no dejará de realizar su cometido, seguirá en funcionamiento.

Los cambios no tendrá efecto sobre el tracker hasta que no hagamos save nuevamente, tras lo cual se producirá un reinicio. No es por tanto neceario recalcar la importancia de:

No salvar los cambios mientras se está haciendo uso del tracker y tenemos el avión en vuelo.


Configuración por defecto

Para volver a los valores por defecto de los parámetros de configuración, teclear defaults y pulsar enter.

Si hacemos uso a continuación del comando set, veremos que los parámetros por defecto se han cargado.

Una vez más, es necesario hacer un save para que los parámetros por defecto se guarden, el tracker se reinicie y tengan efecto sobre él.

Comando feature

Este comando tiene triple función:


Mostrar el listado de características activadas (entre ellas: lcd, easing, gps local, monitor de batería y servotest.
Activar una característica
Desactivar una característica.


Tecleando feature y pulsando enter, muestra la lista de las que están activadas.

Tecleando feature y el nombre de la característica y pulsando enter, esta se activará si no lo estaba, o bien se desactivará si lo estaba.

Esta función de activar/esactivar la característica también se puede realizar con el correspondiente comando set, por ejemplo, los siguientes dos comandos son equivalentes:set easing=1
feature easing
suponiendo que estaba desactivada.

Para desactivarla podemos ejecutar cualquiera de los dos siguientes:set easing=0
feature easing

Tests

Sería de gran utilidad si alguien lo va probando y va mencionando los posibles fallos que se puedan encontrar. Yo lo he probado en mi tracker antes de implementar el forzado de entrar en modo CLI por primera vez. Al ser mi servo distinto a los recomendados, con los parámetros por defecto se puso el servo de pan dar vueltas, pero al meter el valor adecuado y salvar se detuvo y funcionó como de costumbre.

No he verificado que el efecto easing funcione correctamente, si alguien lo prueba y lo verifica por mí, puedo dedicarme a seguir avanzando.

Por otro lado, cosa que no he verificado, el tracker debería ser configurable desde las aplicaciones tipo consola que hay para android, si usamos bluetooth. Esa es otra cosa que alguien podría verificar (la idea final es la de crear una app para android que permita configurar el tracker vía bluetooth).

Simba
18/09/2015, 08:01
La ese out circ es la que que estoy usando y mara mi es la mejor

rortega
18/09/2015, 08:54
La ese out circ es la que que estoy usando y mara mi es la mejor
Anulé en el código precisamente esa, ja ja ja. Bueno es simple volver a ponerla. Las otras dos se van a quedar fuera.

Simba
18/09/2015, 09:00
Lo del nivel TTL 3.3 en los dos dispositivos, supongo que es mucho suponer que los dos son a 3.3v, pero los 5v de alimentación seguro que no son iguales, UART pone claramente 5V y en el puerto Orange pone 3.3V.

Otra cosa, en todo esto que estas preparando de CLI, supongo que esta dirigido a utilizar otro tipo de placa Crius, me refiero a una como la que comentabais, que tenga puerto mini USB directo, y que no entre en conflictos con los puertos. Se trabajaría igual que con la Nace 32, enchufar el cable USB y listo.
O bien hacerlo todo por Bluetooht, pero no entiendo como.

rortega
18/09/2015, 09:20
Lo del nivel TTL 3.3 en los dos dispositivos, supongo que es mucho suponer que los dos son a 3.3v, pero los 5v de alimentación seguro que no son iguales, UART pone claramente 5V y en el puerto Orange pone 3.3V.

Otra cosa, en todo esto que estas preparando de CLI, supongo que esta dirigido a utilizar otro tipo de placa Crius, me refiero a una como la que comentabais, que tenga puerto mini USB directo, y que no entre en conflictos con los puertos. Se trabajaría igual que con la Nace 32, enchufar el cable USB y listo.
O bien hacerlo todo por Bluetooht, pero no entiendo como.

No, de momento está enfocado a trabajar con las que estamos usando, y por el mismo puerto por donde le metes la telemetría. Lo único que cuando estás en modo CLI, la telemetría no le llega al tracker. En tu caso que tienes metida la telemetría directamente por orangerx es más complicado, claro, pero si la metieras por bluetooth, entonces tendrías la opción de conectarte y configurarla como explico. No sé como lo tienes conectado exactamente, pero creo que sería desconectar el orangerx y conectarle un bluetooth...

Más que nada está pensado para no desmontar el tracker y subirle el firm cuando queremos modificar un parámetro. Yo el día que monte definitivamente el tracker, sacaré un conector fuera de la caja para enchufar o un ftdi o un bluetooth. No obsante, al ritmo que crece el código lo mismo mañana estoy metiendo una crius aio pro.

Simba
18/09/2015, 12:34
Pues la conexión mia es directa entre el Orange y el UART, y ponerle un Bluetooth, a 5 cm escasos de distancia es un poco de risa, pero bueno es una solución aunque no me gusta.
Para cambiar parámetros tendría que desconectar el puerto del Orange, y meterle en esos mismos cables el Bluetooth, cosa que tampoco me gusta por que cuanto menos se toque el Orange mejor.

Igual me espero a que te decidas por la Crius aio pro, y en esta supongo que sera como en la Nace32 con el puerto usb.

marcoasj
18/09/2015, 12:40
Anulé en el código precisamente esa, ja ja ja. Bueno es simple volver a ponerla. Las otras dos se van a quedar fuera.
Pues a mi la que me va bienes la otra.....la del frenado al final del recorrido. Creó que puede pasar que al tener distintas configuraciones hardware la cosa funcione diferente según lo que hayamos montado....

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
18/09/2015, 12:43
Otra duda que tengo es sobre la capacidad del FrqMax, los que tenemos esta placa no se cuanto aumento de cantidad de código podrán soportar.......

Enviado desde mi SM-G900F mediante Tapatalk

Simba
18/09/2015, 12:50
Pues a mi la que me va bienes la otra.....la del frenado al final del recorrido. Creó que puede pasar que al tener distintas configuraciones hardware la cosa funcione diferente según lo que hayamos montado....

Enviado desde mi SM-G900F mediante Tapatalk
La easi out circ, es tal como dices la que frena al final, por eso se llama Out y lo de Circle es para que la curva de aceleración sea mas rápida.
Se acelera mas rapida que la función Quad, pero se amortigua al final igual o mejor.
Yo después de probar mucho con el servotest, me di cuenta que la respuesta era mas rápida y la amortiguación era eficaz, lego en el GPS simulado me convenció y al probar ya en vuelo me termino de convencer.
Supongo que lo mejor seria una vez en el campo de vuelo, ir probando diferentes valores y sacar el mejor para cada cual.

Simba
18/09/2015, 12:58
Muy importante para sacar conclusiones, que el conjunto de todo el Traker este firme o rígido, vamos que no se doble como el chicle, y soporte sin flexar cuando se mueve.
Yo estoy en proceso de una segunda mecánica, en caja de plástico que me estoy pensando en reforzarla lo mas que pueda para evitar flexiones en lo posible.

rortega
18/09/2015, 13:10
Pues la conexión mia es directa entre el Orange y el UART, y ponerle un Bluetooth, a 5 cm escasos de distancia es un poco de risa, pero bueno es una solución aunque no me gusta.
Para cambiar parámetros tendría que desconectar el puerto del Orange, y meterle en esos mismos cables el Bluetooth, cosa que tampoco me gusta por que cuanto menos se toque el Orange mejor.

Igual me espero a que te decidas por la Crius aio pro, y en esta supongo que sera como en la Nace32 con el puerto usb.
Bueno, en tu caso ya lo tienes bien ajustado y ahora su uso no te aporta ventajas, pero si empezaras de cero imagino que te vendría bien el no tener que conectar y desconectar continuamente para cargar el firm y probar los nuevos ajustes.

Lo de migrar a la crius aio pro o controladora de 32 bits lo iremos viendo conforme se avance.

rortega
18/09/2015, 13:11
Pues a mi la que me va bienes la otra.....la del frenado al final del recorrido. Creó que puede pasar que al tener distintas configuraciones hardware la cosa funcione diferente según lo que hayamos montado....

Enviado desde mi SM-G900F mediante Tapatalk
Volveré pues a poner la opción de usar una de las dos funciones.

rortega
18/09/2015, 13:12
Otra duda que tengo es sobre la capacidad del FrqMax, los que tenemos esta placa no se cuanto aumento de cantidad de código podrán soportar.......

Enviado desde mi SM-G900F mediante Tapatalk
Si tiene un atmega328 y no se le ha añadido memoria externa, es exactamente lo mismo.

rortega
18/09/2015, 13:13
La easi out circ, es tal como dices la que frena al final, por eso se llama Out y lo de Circle es para que la curva de aceleración sea mas rápida.
Se acelera mas rapida que la función Quad, pero se amortigua al final igual o mejor.
Yo después de probar mucho con el servotest, me di cuenta que la respuesta era mas rápida y la amortiguación era eficaz, lego en el GPS simulado me convenció y al probar ya en vuelo me termino de convencer.
Supongo que lo mejor seria una vez en el campo de vuelo, ir probando diferentes valores y sacar el mejor para cada cual.
Simba a ver si la próxima vez que vueles grabas el sistema funcionando, tengo curiosidad por verlo.

marcoasj
18/09/2015, 13:16
Muy importante para sacar conclusiones, que el conjunto de todo el Traker este firme o rígido, vamos que no se doble como el chicle, y soporte sin flexar cuando se mueve.
Yo estoy en proceso de una segunda mecánica, en caja de plástico que me estoy pensando en reforzarla lo mas que pueda para evitar flexiones en lo posible.


Tienes razon, hasta que no lo pruebe con el montaje final, nada de nada, ya visteis como se movia el aparatito......

marcoasj
18/09/2015, 13:18
Volveré pues a poner la opción de usar una de las dos funciones.

La versión del CLI tiene las dos todavia
???

Simba
18/09/2015, 13:19
Simba a ver si la próxima vez que vueles grabas el sistema funcionando, tengo curiosidad por verlo.
Lo intentare pero sabes lo que pasa, que cuando estas en el lio ya solo falta el hacer de caneraman o de director de cine :laugh:, yo vuelo siempre con gafas y no es lo mismo que por monitor, pero bueno le diré a TurruK que me grave algo mientras vuelo.

rortega
18/09/2015, 16:24
La versión del CLI tiene las dos todavia
???
Ahora ya sí.

rortega
18/09/2015, 16:59
La versión del CLI tiene las dos todavia
???
set easing=1 para out- quart
set easing=2 para out-circ
set easing=0 para desactivarlo (feature easing)

rortega
18/09/2015, 17:00
Lo intentare pero sabes lo que pasa, que cuando estas en el lio ya solo falta el hacer de caneraman o de director de cine [emoji23], yo vuelo siempre con gafas y no es lo mismo que por monitor, pero bueno le diré a TurruK que me grave algo mientras vuelo.
Pon la gopro sola a grabar prenda (como dice mi suegra)

Simba
18/09/2015, 21:08
Hola, estoy produciendo un video del traker, en cuanto termine lo subo a Youtube.
Las pruebas de hoy son muy buenas en todo menos el el resultado de la mierda (con perdón) de antena Yagi de 1,2g, un desastre de antena vamos una estafa monumental.
Al margen de esto el Repetidor y la Moxon de 433 una verdadera gozada, funciona de maravilla y todo autónomo en el propio Traker, que no hace falta ni Bloutooth.
A la Moxon le he metido un 3º elemento a forma de prueba y la verdad resulta y da según teoría +2db, que en total serán unos 5 o 6 db, la verdad es que se nota en el RSSI.

Simba
18/09/2015, 21:22
Espero que os guste y sirva para salir de dudas:
https://youtu.be/7mY_J5hPdOo

rortega
18/09/2015, 21:59
Me resulta impresionante que el kit de "cartón" soporte todo el peso de la antena, menudo tinglado le tienes montado. Parece que responde muy bien a las pasadas cercas, no pensaba que lo haría tan bien. Eso dará tranquilidad a la hora de volar lejos, sabes que la antena va a estar apuntando a donde debe.

Máginfica demostración gráfica, gracias por compartirla.

rortega
18/09/2015, 22:12
Ya he fusionado la versión tilt-easing en la master, siendo por tanto el firm amv-open360trakcer v0.5 la versión oficial:

https://github.com/raul-ortega/amv-open360tracker

He incluido descripciones y explicaciones de que mejoras se han realizado con respecto al proyecto original de los alemanes (Simba, con tu permiso lo voy a poner en el README de la página del proyecto a modo de desmotración).

Simba
18/09/2015, 22:27
A que mola el vidreo, hasta yo me he sorprendido al verlo :rolleyes2:.
Venga animaros los que estéis con el cacharreo, que ya lo esta dejando rortega pulidito y reluciente.

Por cierto Guillesan si sabes de alguna Yagui de 1,2 buena buena, me refiero a testada por ti y de confianza, por favor pon el enlace de donde se puede comprar.
La miá es una porquería, esta noche la desmonto a ver que le han metido en el radiador para acoplar impedancias.
Al final me tocara hacerme una.

Guillesan
18/09/2015, 22:34
A que mola el vidreo, hasta yo me he sorprendido al verlo :rolleyes2:.
Venga animaros los que estéis con el cacharreo, que ya lo esta dejando rortega pulidito y reluciente.

Por cierto Guillesan si sabes de alguna Yagui de 1,2 buena buena, me refiero a testada por ti y de confianza, por favor pon el enlace de donde se puede comprar.
La miá es una porquería, esta noche la desmonto a ver que le han metido en el radiador para acoplar impedancias.
Al final me tocara hacerme una.

Bueno queria hacer un post , mañana con un video de mi antena para como tu demostrar que funcionan y lo hacen bien para que si es posible se animen mas compas a montarlo.
Dicho esto con respecto a las antenas yagi 1.2 yo he probado dos concretamente, tengo una de 4 elementos que si funciono bien, la usamos para un vuelo de 10 km y no se le vio decaer el video, pero, y siempre hay uno, mi pregunta es como no usas polarizacion circular, te dire que desde que uso, usamos , helicals y skywplanar , hay un antes y un despues en lo que se refiere a la recepcion de video.
Mi opinion y mi consejo si me lo permites es que uses una helical si tu quieres no muy grande pero lo fundamental es que polarize circular creo que veras una mejoria sustancial.
Tambien te ofrezco enviarte la yagi que mentaba anteriormente, la pruebas y ya me diras.

rortega
18/09/2015, 22:58
Bueno queria hacer un post , mañana con un video de mi antena para como tu demostrar que funcionan y lo hacen bien para que si es posible se animen mas compas a montarlo...

Pues ya estás tardando, je je. Lo vamos a poner tambíen en la página del proyecto.

Guillesan
18/09/2015, 23:01
Pues ya estás tardando, je je. Lo vamos a poner tambíen en la página del proyecto.

Me ha costado un monton la mecanica de la antena grande rortega, de hecho aun falta afinar algunas cosas, pero ya se mueve , en esta como sabes uso Mega, asi que tambien sera de demostracion con esta placa, el protocolos era gracias a ti RVOSD, por video. OK

Simba
18/09/2015, 23:49
Pues respecto a las helical, la tengo experimentada en 5,8 y Turruk tiene una para 1,2 pero bueno tenemos nuestras ideas al respecto, ir ban bien y sobre todo la de Sircana de 5,8 es una joya y en esta frecuencia si que es totalmente recomendable, pero en 1,2 lo siento pero no y sobre todo en aviones que no van hacer acrobacia lejana.
Nuestra opinión es que con una antena dipolo bien cortado, (sintonizado) y bien situado en el avión, ademas de ser super sencillo y aerodinamico, el rendimiento, siempre que este suficientemente vertical, es superior a las circulares, y la antena de Rx pues es considerablemente mas compleja y pesada una helical que una Biquad o doble Biquad, y si una Yagui funciona bien tienes con 7 elementos mas de 10db y es mucho mas pequeña y sencilla.

Si que es cierto que en distancia y si en los giros te inclinas mucho, pierdes calidad de video, pero solo en los giros cerrados y volando tipo travesía, no se tienen que cerrar mucho los giros.
A nosotros nos gusta probarlo todo, y luego casi siempre optamos por lo que funciona relativamente bien y es lo mas sencillo, lo bueno si sencillo dos veces bueno.

Y gracias por el ofrecimiento si mandas la Yagui seguro que le hacemos un reportaje.

Por cierto he destripado la Yagui y creo saber el porque del fracaso, es lo de siempre el control de calidad de los chinos.
El radiador que es de aluminio anodizado o lo que sea, tiene una película que es bastante aislante, y no hacia contacto con masa, lo he atravesado y metido un tornillo rosca chapa, y ya hace contacto, faltara probarla a ver que pasa.

rortega
19/09/2015, 00:41
Ya está funcionando la versión experimental con configuración por CLI:

https://github.com/raul-ortega/amv-open360tracker/archive/remote-settings.zip

He verificado y funciona:



servotest: tras activar la característica y salvar entra en este modo y se puede enviar comandos para mover los servos, etc...
PIDS: configurables y tienen efecto tras salvar.
tilt0 y tilt90: el cambio de los parámetros surte efecto tras salvar.
easing, easing_steps, easing_min_angle, easing_milis aparentemente se aplican bien, pero a estas horas veo menos que un grillo pisado.
pan0: también va bien.
min_pan_speed: de momento no acepta valores negativos, lo solucionaré.
offset: funciona bien.

El resto de parámetros están sin verificar, o bien la característica en cuestión aún no está programada para que sea configurable a pesar de poder modificar el parámetro en el CLI.


Se puede probar sin miedo, eso sí, bajo vuestra propia responsabilidad.


Quien pretenda usarlo que siga escrupulosamente las instrucciones que dí en el post: http://www.aeromodelismovirtual.com/showpost.php?p=474553&postcount=1367

diegojjd
19/09/2015, 09:20
Impresionado. Gracias a todos por este trabajo. Yo creo que esta semana llegarán las últimas piezas que me faltan para meterme con la mécánica y entonces trataré de meterme en harina con el max...

rortega
19/09/2015, 09:36
Ya está funcionando la versión experimental con configuración por CLI:

https://github.com/raul-ortega/amv-open360tracker/archive/remote-settings.zip

He verificado y fun..

He detectado un pequeño bug, en algunas ocasiones algún comando parece no terminar de ejecutarse, y no responden con el Ok final. No tiene mayor importancia, simplemente basta con reescribir el comando y volver a pulsar enter (lo corregiré en sucesivas actualizaciones).

rortega
19/09/2015, 23:40
Avances en el desarrollo, ya es configurable el lcd desde el CLI.

Aquí os dejo la lista de parámetros ya en funcionamiento y verificados:



servotest: tras activar la característica y salvar entra en este modo y se puede enviar comandos para mover los servos, etc...
P,I,D: configurables y tienen efecto tras salvar.
tilt0, tilt90: el cambio de los parámetros surte efecto tras salvar.
easing, easing_steps, easing_min_angle, easing_milis: aparentemente se aplican bien.
pan0: se aplica correctamente.
min_pan_speed: funciona, aunque aún no acepta valores negativos (en algunos modelos de servos es necesario meter valores negativos para que funcione bien).
offset: se aplica correctamente.
lcd: si lo configuramos a cero se desactiva el LCD Display tras salvar (el parámetro lcd_model no está operativo aún). Si lo configuramos a 1, el LCD Display se encenderá y mostrará datos.
lcd_rows: testado para 2 filas.
lcd_addr: ahora es necesario introducir el valor como entero decimal. Para los valores hexadecimales típicos usad:

- 0x20 --> 32
- 0x27 --> 39
- 0x3F --> 63


start_track_dist: el parámetro es configurable desde el CLI. Se ha verificado su funcionamiento.
declination: configurable desde el CLI, pendiente verificar su funcionamiento en campo de vuelo.

Instrucciones completas y descarga:
(https://github.com/raul-ortega/amv-open360tracker/tree/remote-settings)
https://github.com/raul-ortega/amv-open360tracker/tree/remote-settings

Guillesan
19/09/2015, 23:45
Avances en el desarrollo, ya es configurable el lcd desde el CLI.

Aquí os dejo la lista de parámetros ya en funcionamiento y verificados:



servotest: tras activar la característica y salvar entra en este modo y se puede enviar comandos para mover los servos, etc...
P,I,D: configurables y tienen efecto tras salvar.
tilt0, tilt90: el cambio de los parámetros surte efecto tras salvar.
easing, easing_steps, easing_min_angle, easing_milis: aparentemente se aplican bien.
pan0: se aplica correctamente.
min_pan_speed: funciona, aunque aún no acepta valores negativos (en algunos modelos de servos es necesario meter valores negativos para que funcione bien).
offset: se aplica correctamente.
lcd: si lo configuramos a cero se desactiva el LCD Display tras salvar (el parámetro lcd_model no está operativo aún). Si lo configuramos a 1, el LCD Display se encenderá y mostrará datos.
lcd_rows: testado para 2 filas.
lcd_addr: ahora es necesario introducir el valor como entero decimal. Para los valores hexadecimales típicos usad:

- 0x20 --> 32
- 0x27 --> 39
- 0x3F --> 63


start_track_dist: el parámetro es configurable desde el CLI. Se ha verificado su funcionamiento.
declination: configurable desde el CLI, pendiente verificar su funcionamiento en campo de vuelo.

Instrucciones completas y descarga:
(https://github.com/raul-ortega/amv-open360tracker/tree/remote-settings)
https://github.com/raul-ortega/amv-open360tracker/tree/remote-settings

Joder rortega, chico, lo tuyo es vicio casi.
Menudo currazo te estas pegando.
Por mi parte vas mas deprisa tu programando que yo probando .
Venga intento probarlo de nuevo, y claro muchas , muchas gracias.
Un saludo

rortega
19/09/2015, 23:57
Joder rortega, chico, lo tuyo es vicio casi.
Menudo currazo te estas pegando.
Por mi parte vas mas deprisa tu programando que yo probando .
Venga intento probarlo de nuevo, y claro muchas , muchas gracias.
Un saludo

Cuando lo vayas a probar, tú concretamente tienes que modificar este trozo de código del archivo .ino para que acepte tu LCD:


#ifdef LCD_BANGGOOD_SKU166911
LiquidCrystal_I2C lcd(LCD_I2C_ADDR,16,LCD_SIZE_ROW);
#else // Nueva Linea introducida
/*lcd.begin(LCD_SIZE_COL, LCD_SIZE_ROW); // GUILLESAN LCD ???
lcd.setBacklightPin(3, POSITIVE); // GUILLESAN LCD ???
lcd.setBacklight(HIGH); // GUILLESAN LCD ???*/
LiquidCrystal_I2C lcd(LCD_I2C_ADDR, 2, 1, 0, 4, 5, 6, 7);
#endif

rortega
20/09/2015, 00:00
Joder rortega, chico, lo tuyo es vicio casi.
Menudo currazo te estas pegando...

Tiempo es lo que me sobra últimamente, y como me puse a ello, ahora no hay quien me pare, jajaja. Hoy sábado ha sido un día tonto, de esos de niebla y frío en los que no te apetece salir fuera. Mañana toca pateo, bosque, vuelo con el Spidex Micro... desconectar...

Guillesan
20/09/2015, 00:02
Ok entiendo, ya posteare pruebas

Simba
20/09/2015, 02:09
Venga maquinas, felicidades por los avances.
sl2.

Simba
20/09/2015, 21:43
Hola, reporto ultimo vuelo Traker360 con repetidor 2,4/433.

Antena Tx Telemetria Moxon 3 elem.

Tx Orange con 400mW en antena y Telemetria 100mW.

Distancia máxima 7,2 Km y seguimiento perfecto.

marcoasj
20/09/2015, 23:40
Joer gente, si es que a mi no me da tiempo.....


Bueno afinando vídeo, ya queda poco...

https://youtu.be/FKqLZ5-eMLI

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
20/09/2015, 23:51
Me sigue pasando una cosa que no se como hacer para que no ocurra. Cuando enciendo el tracker, el tilt va a la posición 0 grados a toda velocidad, y al parar hace un efecto rebote, que se pone a vibrar y no se para.

https://youtu.be/HPved5GFZbk

Enviado desde mi SM-G900F mediante Tapatalk

rortega
21/09/2015, 08:09
Hola, reporto ultimo vuelo Traker360 con repetidor 2,4/433.

Antena Tx Telemetria Moxon 3 elem.

Tx Orange con 400mW en antena y Telemetria 100mW.

Distancia máxima 7,2 Km y seguimiento perfecto.
Con telemetría 100mw, pues sí que llegan lejos. Y el tracker supongo que apuntando siempre a su sitio...la verdad que es un buen invento el de estos alemanes.

rortega
21/09/2015, 08:19
Me sigue pasando una cosa que no se como hacer para que no ocurra. Cuando enciendo el tracker, el tilt va a la posición 0 grados a toda velocidad, y al parar hace un efecto rebote, que se pone a vibrar y no se para.

https://youtu.be/HPved5GFZbk

Enviado desde mi SM-G900F mediante Tapatalk

¿Has probado a cambiar la posición del servevo? Me refiero a sacar rotarlo un poquito para que el punto 0 no sea el tope físico del servo. Tendrás que ajustar nuevamente los valores para el 0 y para el 90. Como sólo necesitas 90 de los 180 grados que tendrás, puedes desplazarlo.

Por otro lado no sé si el firmware que hayas cargado tiene algo que ver. Con los que están usando Simba o Guillesan no han reportado ese problema, y en las pruebas que yo hago constantemente con la que tengo en desarrollo tampoco he visto ese problema.

marcoasj
21/09/2015, 08:43
¿Has probado a cambiar la posición del servevo? Me refiero a sacar rotarlo un poquito para que el punto 0 no sea el tope físico del servo. Tendrás que ajustar nuevamente los valores para el 0 y para el 90. Como sólo necesitas 90 de los 180 grados que tendrás, puedes desplazarlo.

Por otro lado no sé si el firmware que hayas cargado tiene algo que ver. Con los que están usando Simba o Guillesan no han reportado ese problema, y en las pruebas que yo hago constantemente con la que tengo en desarrollo tampoco he visto ese problema.
Si, el tope físico lo tengo en unos -10 grados. Me pasaba lo mismo con el pan, pero no al encender, sino al buscar la posición N, pero con la solución de simba del margen de los diez grados de error se acabó el problema. Lo que pasa es que para el tilt en arranque no se puede hacer. Si enciendo y esta en la posición cero no hay problema. Ya no se me ocurre nada. ¿Ha nadie le ha pasado con el tilt ?

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
21/09/2015, 09:07
Rortega, se me olvido decir que el firm que tengo es tu modificación antes del CLI.

Salu2

Simba
21/09/2015, 09:19
Prueba con un servo independiente suelto y fuera del Traker a ver si te lo hace así sabremos si es la mecánica o la electronica

marcoasj
21/09/2015, 10:01
Prueba con un servo independiente suelto y fuera del Traker a ver si te lo hace así sabremos si es la mecánica o la electronica
Ok buena idea. Cuando llegue lo pruebo.
Salu2.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
21/09/2015, 11:23
Con telemetría 100mw, pues sí que llegan lejos. Y el tracker supongo que apuntando siempre a su sitio...la verdad que es un buen invento el de estos alemanes.
rortega confirmo, SI siempre apuntando como una flecha y totalmente estable.
De lo que se trata es de tomar datos, para ver el limite operativo del sistema Telemetria Traker.

Como sabéis yo monto el Tx Orange LRS, directamente en el traker y con una pequeña antena direccional de angulo muy ancho y poca ganancia, pero que dará unos +-4 db, (lo que nos daria una comparativa similar a que estuviéramos transmitiendo +- 250mW en el avión), esto unido a que el Traker siempre esta apuntando, esos 100mW que transmite el Rx del avión, nos permite llegar considerablemente lejos.

Yo en mi zona y volando muy cerca de zona industrial y de alta densidad de población, que es el peor de los escenarios posibles, por la gran cantidad de generación de interferencias (mundo wifi, repetidores de telefonía y central y torres de energía de muy alta tensión, etc,etc...), puedo estar seguro de que el enlace telemetria y mando, funciona al 100% en un radio de 7 Km.
En el caso de volar sobre zona campestre y libre de ruido eléctrico, estoy casi seguro que la distancia de enlace, en las mismas condiciones de antenas y potencias, puede llegar a mas de 12 Km, no se decir cuanto mas por no haber probado y ademas carecer de autonomía.

Resumiendo, que como no se pretende batir ningún récord, estoy muy satisfecho del limite operativo, que está muy por encima de mis necesidades, pues suelo volar en un radio maximo de 4 Km y solo ocasionalmente me puedo ir mas lejos para hacer alguna prueba.

rortega
21/09/2015, 13:28
Estoy investigando la posibilidad de pasar a 32bits, pero no con la basada en arduino, sino con otras placas basadas en procesadores SMT32, por el estilo a la que lleva la NAZE32. Esta placa resulta un poco cara comparándolas con el sin fin de placas para desarrollo que existen con este tipo de procesadores. Por 9 dólares, más los 6 o 7 que cueste un magnetómetro se tiene una solución barata.

Cuando termine la versión del CLI voy a pedir alguna, y un magnetómetro, y voy a hacer pruebas.

marcoasj
21/09/2015, 13:57
rortega confirmo, SI siempre apuntando como una flecha y totalmente estable.
De lo que se trata es de tomar datos, para ver el limite operativo del sistema Telemetria Traker.

Como sabéis yo monto el Tx Orange LRS, directamente en el traker y con una pequeña antena direccional de angulo muy ancho y poca ganancia, pero que dará unos +-4 db, (lo que nos daria una comparativa similar a que estuviéramos transmitiendo +- 250mW en el avión), esto unido a que el Traker siempre esta apuntando, esos 100mW que transmite el Rx del avión, nos permite llegar considerablemente lejos.

Yo en mi zona y volando muy cerca de zona industrial y de alta densidad de población, que es el peor de los escenarios posibles, por la gran cantidad de generación de interferencias (mundo wifi, repetidores de telefonía y central y torres de energía de muy alta tensión, etc,etc...), puedo estar seguro de que el enlace telemetria y mando, funciona al 100% en un radio de 7 Km.
En el caso de volar sobre zona campestre y libre de ruido eléctrico, estoy casi seguro que la distancia de enlace, en las mismas condiciones de antenas y potencias, puede llegar a mas de 12 Km, no se decir cuanto mas por no haber probado y ademas carecer de autonomía.

Resumiendo, que como no se pretende batir ningún récord, estoy muy satisfecho del limite operativo, que está muy por encima de mis necesidades, pues suelo volar en un radio maximo de 4 Km y solo ocasionalmente me puedo ir mas lejos para hacer alguna prueba.


En cuanto lo tenga operativo probaré con el Rx de 1W de telemetria, pero he pedido un transmisor de vídeo también de 1W, porque creo que con el de 250mw que tengo creo que me voy a quedar antes sin vídeo que sin mando. No obstante me interesa probar el de 250mw con la antena helical direccional del tracker para ver el alcance. Recuerdo que el vídeo lo tengo en 5.8.

Esta es la antena.....11 dbi

http://www.hobbyking.com/hobbyking/store/__55628__Aomway_11dbi_7_Turn_5_8GHz_Helical_Antenna_RHCP_SMA_RP_.html

Me falta acabar la parte del mando para empezar a hacer pruebas. Alguien que me diga como saca la telemetría por cable del mando y la mete en el tracker ( es decír donde hay que pinchar en el módulo de orange de 433Mhz para sacarla ). En cuanto termine esto empiezo las pruebas.....

Salu2.

Simba
21/09/2015, 15:50
En cuanto lo tenga operativo probaré con el Rx de 1W de telemetria, pero he pedido un transmisor de vídeo también de 1W, porque creo que con el de 250mw que tengo creo que me voy a quedar antes sin vídeo que sin mando. No obstante me interesa probar el de 250mw con la antena helical direccional del tracker para ver el alcance. Recuerdo que el vídeo lo tengo en 5.8.

Esta es la antena.....11 dbi

http://www.hobbyking.com/hobbyking/store/__55628__Aomway_11dbi_7_Turn_5_8GHz_Helical_Antenna_RHCP_SMA_RP_.html

Me falta acabar la parte del mando para empezar a hacer pruebas. Alguien que me diga como saca la telemetría por cable del mando y la mete en el tracker ( es decír donde hay que pinchar en el módulo de orange de 433Mhz para sacarla ). En cuanto termine esto empiezo las pruebas.....

Salu2.
Lo que preguntas de como sacar la telemetria del Orange, es relativamente sencillo.
Cuando lo flaseaste, supongo que le conectarías un ftdi, pues ese es el sitio por donde se saca.
Tienes que sacar solo 2 cables, uno del terminal que pone Tx y otro del GND.
El que sale del Tx lo conectas en ¿?¿?¿? tu sistema que creo que es el de waverrider, preguntales en el hilo del chisme y seguro te comentan.

No tiene mas eso solo Tx y GND.

Simba
21/09/2015, 15:56
Te comento que yo hice un vuelo de pruebas con video en 5,8g con 500mW y antena Sircana helical, a un maximo de 10Km con bastante nieve, pero hasta los 9 Km el video era bastante bueno.

rortega
21/09/2015, 16:05
Lo que preguntas de como sacar la telemetria del Orange, es relativamente sencillo.
Cuando lo flaseaste, supongo que le conectarías un ftdi, pues ese es el sitio por donde se saca.
Tienes que sacar solo 2 cables, uno del terminal que pone Tx y otro del GND.
El que sale del Tx lo conectas en ¿?¿?¿? tu sistema que creo que es el de waverrider, preguntales en el hilo del chisme y seguro te comentan.

No tiene mas eso solo Tx y GND.
Y si quieres hacerlo sin cables...

http://www.itluxembourg.lu/site/using-ultimate-lrs-with-a-bluetooth-module/

marcoasj
21/09/2015, 21:23
Bueno lo del servo fuera no lo hace. Estoy convencido de que es por lo endeble que es la caja de plastico que no es nada estable y se mueve con solo mirarla. A ver si me invento algo para hacer mas estable el nexo con el tripode

Lo que preguntas de como sacar la telemetria del Orange, es relativamente sencillo.
Cuando lo flaseaste, supongo que le conectarías un ftdi, pues ese es el sitio por donde se saca.
Tienes que sacar solo 2 cables, uno del terminal que pone Tx y otro del GND.
El que sale del Tx lo conectas en ¿?¿?¿? tu sistema que creo que es el de waverrider, preguntales en el hilo del chisme y seguro te comentan.

No tiene mas eso solo Tx y GND.


Perfecto voy a ello.

Y si quieres hacerlo sin cables...

http://www.itluxembourg.lu/site/using-ultimate-lrs-with-a-bluetooth-module/

OK. los modulos estan en camino..

Gracias.

waverider
21/09/2015, 22:56
En el interior del chisme tienes el pin tx, rx , 5v, gnd etiquetados. :rolleyes2: Suerte

rortega
21/09/2015, 23:38
Ya está completada la versión con CLI:

https://github.com/raul-ortega/amv-open360tracker/tree/remote-settings

Al fina de la introducción está la lista completa de parámetros, para que sirve cada uno y los valores que admite.

Todo lo referente a gps local y monitorización de batería no lo puedo verificar, no tengo aquí ni gps ni resistencias para montar un divisor de tensión y probarlo. Sé que hay un pequeño error en el valor de corrección para la monitoriazación de batería, que ya modificaré mañana.

Desde el config.h tenemos que modificar aún estos parámetros:

MEGA
Protocolos
BAUDS
Y mi modelo de LCD.

Esos son los únicos parámetros que han quedado en el config.h. El resto son modificables desde el CLI.

El parámetro min_pan_speed ya admite valores negativos, pero en mi tracker provoca que no se mueva, asi que sólo puedo poner valores positivos y jugar con los PIDs o el error. Posiblemente haya omitido el cambio de la fórmula en negativos como había indicado Simba en su momento. Este tema lo revisaré con calma en los próximos días.

Sólo he probado el protocolo GPS TELEMETRY, no he compilado en otros protocolos, es algo que tengo pendiente revisar por si el código sobrepasara la memoria del atmega328p. ES algo que voy a resvisar también en los próximos días, teniendo previsto pegarle un repaso al código para intentar reducirlo al máximo una vez compilado, pues he llegado al tope, ya no cabe más (de ahí que esté pensando en dar el salto a 32 bits).

De momento se puede subir y testear para ir depurando errores y hacer mejoras, supongo que ya me dirá alguno que para compilar en el protocola tal o cual no hay espacio de memoria suficiente.

Ahí queda eso...

rortega
21/09/2015, 23:43
Para los que lleguen tarde, decir que la versón v0.5 (master en github) (https://github.com/raul-ortega/amv-open360tracker) es la que actualmente es estable, y está probada y revisada por los compañeros.

Si vas a poner tu tracker en producción usa ésta y no la del CLI, pues es sólo con propósito experimental y no está completamente verificada.

caliwhite
23/09/2015, 08:48
Hola buenas a todos;
Después de un parón obligatorio vuelvo a la carga con el tracker, podría decirme alguien como conectar un modulo bluetouch para hacer la simulación con el gps desde el Pc. Pues he visto un vídeo de el maestro rortega y me gustaría hacer lo mismo, ya que todo el rato se me enredan los cables del ftdi.
Hay que configurar el modulo bluetouch?
Donde se conecta en el puerto serie o en el uard?, tengo que modificar la multiwwi con arduino?

marcoasj
23/09/2015, 09:12
Hola buenas a todos;
Después de un parón obligatorio vuelvo a la carga con el tracker, podría decirme alguien como conectar un modulo bluetouch para hacer la simulación con el gps desde el Pc. Pues he visto un vídeo de el maestro rortega y me gustaría hacer lo mismo, ya que todo el rato se me enredan los cables del ftdi.
Hay que configurar el modulo bluetouch?
Donde se conecta en el puerto serie o en el uard?, tengo que modificar la multiwwi con arduino?


http://www.itluxembourg.lu/site/usin...etooth-module/

marcoasj
23/09/2015, 09:26
Para los que lleguen tarde, decir que la versón v0.5 (master en github) (https://github.com/raul-ortega/amv-open360tracker) es la que actualmente es estable, y está probada y revisada por los compañeros.

Si vas a poner tu tracker en producción usa ésta y no la del CLI, pues es sólo con propósito experimental y no está completamente verificada.

No me habia dado cuenta...

amv-open360tracker v0.5

Novedades en esta versión:

Efecto de amortiguación para el servo tilt.
La telemetría RVSOD ahora funciona.
Problemas de compilación con LCD sin GPS local resueltos.
Problemas de visualización de datos resueltos.

Pero esta la tengo yo ??

rortega
23/09/2015, 10:00
No me habia dado cuenta...

amv-open360tracker v0.5

Novedades en esta versión:

Efecto de amortiguación para el servo tilt.
La telemetría RVSOD ahora funciona.
Problemas de compilación con LCD sin GPS local resueltos.
Problemas de visualización de datos resueltos.

Pero esta la tengo yo ??
Tú tienes FRQMAX? Si ka respuesta es sí, entonces no ka tienes. De todos modos tenerla es cuestión de bajársela, configurar parámetros y tostar la placa. Se supone que esa placa a todos los efectos es como un Arduino, así que no deberías tener mayores problemas. No obstante para salir de dudas pregunta a waverider, si es su placa la que tienes.

rortega
23/09/2015, 10:04
Hola buenas a todos;
Después de un parón obligatorio vuelvo a la carga con el tracker, podría decirme alguien como conectar un modulo bluetouch para hacer la simulación con el gps desde el Pc. Pues he visto un vídeo de el maestro rortega y me gustaría hacer lo mismo, ya que todo el rato se me enredan los cables del ftdi.
Hay que configurar el modulo bluetouch?
Donde se conecta en el puerto serie o en el uard?, tengo que modificar la multiwwi con arduino?
El bluetooth va en el uart de la crius (supongo que es tu caso), y debes tener desconectado el ftdi porque no pueden convivir juntos.

Previamente debes configurar el módulo bluetooth a los baudios deseados, 4800 y 9600 deberían ir bien.

En el config.h del firm debes tener el parámetro BAUDS con el mismo valor que configures el bluetooth.

marcoasj
23/09/2015, 10:16
Tú tienes FRQMAX? Si ka respuesta es sí, entonces no ka tienes. De todos modos tenerla es cuestión de bajársela, configurar parámetros y tostar la placa. Se supone que esa placa a todos los efectos es como un Arduino, así que no deberías tener mayores problemas. No obstante para salir de dudas pregunta a waverider, si es su placa la que tienes.

No me refiero a la placa, que si es FRQMAX2, sino a la versión del firm. Yo he flasheado la placa con la ultima versión antes del CLI. Mi pregunta es si esta versión ya tenia el easing tilt.

Tambien me gustaría saber si al iniciar los servos se puede poner un retardo para resolver el problema del efecto rebote que expuse anteriormente, pero no localizo la función initservos, que creo que es en la que habría que meter el retardo..

inicializa servo
si el tilt no esta en 0
mover un paso
retardo
endif

rortega
23/09/2015, 10:31
Si en el LCD te aparece verion 0.5 entonces tienes esa función. Pero debes comprobar el config.h para ver si la tienes activada, y qué valores tienes en los parámetros.

Por defecto yo lo subí activado con la función out-circ, 15 pasos, y ángulo mínimo 2 grados.

En cuanto al problema del retardo, no he terminado de entenderte, sé cual es tú problema, pero no he entendido cómo lo quieres sortear.

marcoasj
23/09/2015, 11:05
Si en el LCD te aparece verion 0.5 entonces tienes esa función. Pero debes comprobar el config.h para ver si la tienes activada, y qué valores tienes en los parámetros.

Por defecto yo lo subí activado con la función out-circ, 15 pasos, y ángulo mínimo 2 grados.

En cuanto al problema del retardo, no he terminado de entenderte, sé cual es tú problema, pero no he entendido cómo lo quieres sortear.


Debe de haber una función que inicializa los servos y los pone en los grados correspondientes. el tilt a 0 grado y el pan esperando a tener satelites para para posicionarse hacia el Norte.

Me interesa la función que pone el tilt a 0 grados.
No la veo, y no se exactamente como funciona. no se si hace el recorrido en un bucle grado a grado hasta que es Cero ( y en tal caso meteria un delay para que lo haga mas despacio, es decir bajarle el speed al servo al moverse
) o si lo hace con mandando un pulso continuo al servo....en fin que como no la encuentro no se como se inicializa. No se si me explico........

marcoasj
23/09/2015, 11:09
Cuando el tilt se mueve con pasos de 2 en 2 grados no se me produce el efecto rebote. Al moverse 3 grados de un golpe ya si. Necesitaría que al inicializar los servos lo hiciera como en el easing tilt...

https://youtu.be/HPved5GFZbk

Simba
23/09/2015, 11:29
marcosasj tu problema no es de firm, es mas bien de tipo mecánico y me da la sensación que el servo rebota, por que hace tope mecánico al final del recorrido. Tu mismo comentaste que con un servo fuera del traker no te lo hacia.
OK.
sl2

rortega
23/09/2015, 11:32
Debe de haber una función que inicializa los servos y los pone en los grados correspondientes. el tilt a 0 grado y el pan esperando a tener satelites para para posicionarse hacia el Norte.

Me interesa la función que pone el tilt a 0 grados.
No la veo, y no se exactamente como funciona. no se si hace el recorrido en un bucle grado a grado hasta que es Cero ( y en tal caso meteria un delay para que lo haga mas despacio, es decir bajarle el speed al servo al moverse
) o si lo hace con mandando un pulso continuo al servo....en fin que como no la encuentro no se como se inicializa. No se si me explico........
Vale, ya te entiendo. Lo hace del tirón. La función se llama initServos() y está en el archivo servos.h y manda exactamente un pulso que es el doble del valor del pulso del tilt0.

Esa es la forma en la que se inicializan los registros/contadores para generar la onda cuadrada correcta.

Tengo mis serias dudas de que se pueda aplicar ahí también el efecto amortiguación.

Simba
23/09/2015, 11:37
De no ser un efecto rebote mecánico, puede que el problema lo tengas en una realimentación por el cableado del servo, algo así como una interferencia que se provoca el mismo, en tal caso yo le pondría en el cable una ferrita, de echo yo le tengo puesta una a cada servo por si acaso, y de paso lo filtras por di da alguna interferencia en Video.

rortega
23/09/2015, 11:37
Vale, ya te entiendo. Lo hace del tirón. La función se llama initServos() y está en el archivo servos.h y manda exactamente un pulso que es el doble del valor del pulso del tilt0.

Esa es la forma en la que se inicializan los registros/contadores para generar la onda cuadrada correcta.

Tengo mis serias dudas de que se pueda aplicar ahí también el efecto amortiguación.
Yo probaría a cambiar en el config.h el valor del tilt 0 por un valor mayor, y luego coger el brazo donde vas a colocar la antena y desplazarlo unos grados para que se quede horizontal. Me dijiste que ya lo has hecho, pero como tienes mucho margen, yo le metería un poco más.

Simba
23/09/2015, 11:38
+1

rortega
23/09/2015, 11:39
De no ser un efecto rebote mecánico, puede que el problema lo tengas en una realimentación por el cableado del servo, algo así como una interferencia que se provoca el mismo, en tal caso yo le pondría en el cable una ferrita, de echo yo le tengo puesta una a cada servo por si acaso, y de paso lo filtras por di da alguna interferencia en Video.
Joder Simba, no se me había ocurrido, si es eso bendito seas.

Simba
23/09/2015, 11:42
rortega ¿como llevas el montaje? ya tengo ganas de que lo pruebes en vuelo.

rortega
23/09/2015, 11:49
rortega ¿como llevas el montaje? ya tengo ganas de que lo pruebes en vuelo.
Mal, porque me cepillé un motor y un variador del zmr250 con el que quiero probarlo, además tengo problemas con el módulo TX DJT FrSKy, creo que lo quemé hace unos meses por quitar la antena sun haberlo apagado, y como voy pidiendo componentes poco a poco a Banggood para que no me claven portes, ni aduanas los suizos, pues tengo como x pedidos rulando con un par de días o tres entre pedido y pedido , asegurándome que han sacado un envió para hacer el siguiente, así que entre otros, el gps está en proceso.

rortega
23/09/2015, 11:52
Mal, porque me cepillé un motor y un variador del zmr250 con el que quiero probarlo, además tengo problemas con el módulo TX DJT FrSKy, creo que lo quemé hace unos meses por quitar la antena sun haberlo apagado, y como voy pidiendo componentes poco a poco a Banggood para que no me claven portes, ni aduanas los suizos, pues tengo como x pedidos rulando con un par de días o tres entre pedido y pedido , asegurándome que han sacado un envió para hacer el siguiente, así que entre otros, el gps está en proceso.
Y una cosa pendiente que tengo es averiguar como sacar la telemetría del DJT para meterla en el tracker, y me veo pidiendo más componentes y haciendo líos.

rortega
23/09/2015, 12:02
El GPS se lo enchufo a la naze32, la cual tiene una salida hacia una de las entradas del receptor FrSKy, que manda la telemetría al TX DJT. Hasta ahí bien, pero me falta implementar el circuito conversor para transformar la señal y enviarla al tracker.

Simba
23/09/2015, 12:03
¿Dispones del sistema Orange openLRS?, yo es lo que estoy usando tanto en los aviones como en los Micros 250, es lo mas simple y lo mas barato y si al final montas el Tx en el Traker, con un simple Rx de Frsky para los PPM listo.
Si lo tuyo es simplificar y utilizar solo 2,4 Frsky, y 5,8 en vídeo, pues no está nada mal, sabiendo de las limitaciones, pero para los Micros 250 sera perfecto, ya que al estar el Traker apuntando siempre, se gana mucho en vídeo, pero solo en video.

Simba
23/09/2015, 12:18
El GPS se lo enchufo a la naze32, la cual tiene una salida hacia una de las entradas del receptor FrSKy, que manda la telemetría al TX DJT. Hasta ahí bien, pero me falta implementar el circuito conversor para transformar la señal y enviarla al tracker.
Yo estuve mirando como hacerlo con la Taranis, y creía que tenia que utilizar un GPS de Frsky para telemetria serie, enchufado al Rx Frsky como uno mas de los sensores, y luego en la Taranis sacar por el puerto serie la telemetria.
Pensaba que esta telemetria seria entendida por la versión del Traker para Frsky, y que solo se tenia que conectar a la entrada del UART.

De no ser correcto lo que digo, ya me dirás como hacerlo, pues tenia pensado utilizar 2,4 de mando Taranis para volar un velero de llano con el Traker, pero al final ire otra ver a parar al Orange LRS, que para mi esta resultando una maravilla.

marcoasj
23/09/2015, 12:27
De no ser un efecto rebote mecánico, puede que el problema lo tengas en una realimentación por el cableado del servo, algo así como una interferencia que se provoca el mismo, en tal caso yo le pondría en el cable una ferrita, de echo yo le tengo puesta una a cada servo por si acaso, y de paso lo filtras por di da alguna interferencia en Video.

EL efecto es el siguiente:

El servo cuando no esta en 0 grado y se inicializa va a toda velocidad y cuando llega a 0 se para en seco. EL Peso del brazo de aluminio hace que la cantidad de movimiento que lleva(P) que es igual a Masa(m)*Velocidad(v) no pueda se absorbida por la caja, que es de plastico y que se deforma. Cuando la caja quiere recuperar su forma normal arrastra el brazo de aluminio y lo mueve -X grados (supongo que mas de -3 grados, porque con 2 ya no lo hace) y se produce el mismo efecto de deformación de la caja de plastico pero en sentido inverso. En ese momento el servo intenta llevar el brazo a 0 grados y hace otro movimiento brusco y wel ciclo vuelve a empezar. Como habéis observado en el video si se frena un poco el brazo (yo lo hago con el dedo como podeis ver) el efecto cada vez es menor hasta que desaparece.

SOLUCIONES (3)
Primera - Cambiar la Caja. (menudo lio y follón, y ahora que esta acabada)
Segunda - disminuir la velocidad del servo tilt al hacer ese movimiento.
Tercera - Poner el servo a cero grados manualmente antes de encender ( que es la que hago ahora, pero es un rollo, y aveces se olvida.

Simba
23/09/2015, 12:35
Supongo que lo has probado, pero si sujetas y rigidizas o haces que no flexe la caja, sujetándola con la mano, solo la caja y dejando el brazo suelto, ¿también lo hace?, es bastante llamativo, si quisieras que lo hiciese no te saldría.
Es como si le pusieras el muelle que llevo yo, pero en mi caso no ,lo hace ni de coña.

Simba
23/09/2015, 12:39
Si nestas seguro que el problema es que flexa la caja, siempre puedes rigidizarla por medio de algún perfil de aluminio, o haciendo una U interiormente o por el exterior de la caja, entre los dos lados que aguantan el brazo, es decir entre el servo y la parte contraria.

rortega
23/09/2015, 12:42
¿Dispones del sistema Orange openLRS?, yo es lo que estoy usando tanto en los aviones como en los Micros 250, es lo mas simple y lo mas barato y si al final montas el Tx en el Traker, con un simple Rx de Frsky para los PPM listo.
Si lo tuyo es simplificar y utilizar solo 2,4 Frsky, y 5,8 en vídeo, pues no está nada mal, sabiendo de las limitaciones, pero para los Micros 250 sera perfecto, ya que al estar el Traker apuntando siempre, se gana mucho en vídeo, pero solo en video.
Tengo orange RX y TX en España en un avión, lo uso allí cuando voy de vacaciones. Pero aquí tengo los dos micros (uno que ya tengo en el que no es viable montar GPS, y el nuevo zmr250 que estoy montando), ambos con frsky, así que no voy a meterle orange ahora, porque tendría que comprar otro TX para tenerlo aquí

TURRUK
23/09/2015, 12:47
EL efecto es el siguiente:

El servo cuando no esta en 0 grado y se inicializa va a toda velocidad y cuando llega a 0 se para en seco. EL Peso del brazo de aluminio hace que la cantidad de movimiento que lleva(P) que es igual a Masa(m)*Velocidad(v) no pueda se absorbida por la caja, que es de plastico y que se deforma. Cuando la caja quiere recuperar su forma normal arrastra el brazo de aluminio y lo mueve -X grados (supongo que mas de -3 grados, porque con 2 ya no lo hace) y se produce el mismo efecto de deformación de la caja de plastico pero en sentido inverso. En ese momento el servo intenta llevar el brazo a 0 grados y hace otro movimiento brusco y wel ciclo vuelve a empezar. Como habéis observado en el video si se frena un poco el brazo (yo lo hago con el dedo como podeis ver) el efecto cada vez es menor hasta que desaparece.

SOLUCIONES (3)
Primera - Cambiar la Caja. (menudo lio y follón, y ahora que esta acabada)
Segunda - disminuir la velocidad del servo tilt al hacer ese movimiento.
Tercera - Poner el servo a cero grados manualmente antes de encender ( que es la que hago ahora, pero es un rollo, y aveces se olvida.

Hola, otra cosa y con servotest te hace lo mismo, que servo usas .:rolleyes:
Y con caja de plastico no tiene sentido que te hace estos efectos.

Simba
23/09/2015, 13:09
Tengo orange RX y TX en España en un avión, lo uso allí cuando voy de vacaciones. Pero aquí tengo los dos micros (uno que ya tengo en el que no es viable montar GPS, y el nuevo zmr250 que estoy montando), ambos con frsky, así que no voy a meterle orange ahora, porque tendría que comprar otro TX para tenerlo aquí
Vale, pues lo dicho cuando tengas solucionado el tema telemetria Frsky, me lo dices y veremos si lo puedo utilizar.
Como te comentaba pretendía poner en marcha el tema Frsky, para una versión Traker sencilla, con antena pequeña de 5,8 helical y Fatshark circular en el velero.

marcoasj
23/09/2015, 13:33
Hola, otra cosa y con servotest te hace lo mismo, que servo usas .:rolleyes:
Y con caja de plastico no tiene sentido que te hace estos efectos.

Pues el servo es este.

http://www.hobbyking.com/hobbyking/store/__39340__HXT_6_9kg_39_2g_16sec_Twin_bearing_Digital_Servo_EU_Warehouse_.html



....que es digital, a ver si va a ser por eso......

marcoasj
23/09/2015, 13:44
marcosasj tu problema no es de firm, es mas bien de tipo mecánico y me da la sensación que el servo rebota, por que hace tope mecánico al final del recorrido. Tu mismo comentaste que con un servo fuera del traker no te lo hacia.
OK.
sl2

Cuando digo que no lo hace me refiero a que el servo se queda quieto, pero sin el brazo de aluminio puesto. con el brazo no se como probarlo fuera, porque debería estar en una estructura rigida......no se....

Simba
23/09/2015, 13:52
Al final no se si lo has probado con otro servo distinto fuera del Traker y sin brazo, o lo que has echo es desconectar el brazo y probar el mismo servo.
Define mejor la maniobra y si es lo 2º que he puesto, no me vale OK.

Simba
23/09/2015, 13:59
Tienes otro servo distintos? ?? Cambialo en el Traker y vemos para mi que es el puto servo

TURRUK
23/09/2015, 14:02
Pues el servo es este.

http://www.hobbyking.com/hobbyking/store/__39340__HXT_6_9kg_39_2g_16sec_Twin_bearing_Digital_Servo_EU_Warehouse_.html



....que es digital, a ver si va a ser por eso......

Hola y por que no probas con otro para descartar los problema, si es servo o placa de control , por que el firm no creo , por que a nosotros hacia lo mismo.:rolleyes:

marcoasj
23/09/2015, 14:25
Tienes otro servo distintos? ?? Cambialo en el Traker y vemos para mi que es el puto servo

Esta tarde probaré con otro. lo que pasa es que es pequeño, de 4gr,

Veremos que pasa...

marcoasj
23/09/2015, 14:27
Al final no se si lo has probado con otro servo distinto fuera del Traker y sin brazo, o lo que has echo es desconectar el brazo y probar el mismo servo.
Define mejor la maniobra y si es lo 2º que he puesto, no me vale OK.

hice lo primero, servo distinto fuera del tracker y sin brazo. Esta tarde cuando lo haga lo grabo y lo vemos.

Simba
23/09/2015, 14:27
Necesitas un servo santa aunque sea de 2Kgr. Y lo montas en el Traker con el brazo y todo

Simba
23/09/2015, 14:28
Santa no Standar quería decir

Guillesan
23/09/2015, 14:36
Hola, como dije pongo un video del funcionamiento de mi antena.
Los datos de funcion son:
Placa Crius (la version de firmware es la original sin retoques)
Servo pan : analogico , el modelo es el inicialmente refereido en la pagina alemana.
Servo tilt : tower pro 10 Kg analogico.
Telemetria: mavlink (extraida del osd MyFlyDream)
recibida en tx lrsmax
por bluetooh se lleva a la antena , uso los modulos HC-05 y Hc-06
velocidad de telemetria: 9600
Data rate de subida LRSMax a RX rxMax 19200 (telemetria 100mW)
Estoy preparando una nueva , mas grande, que lleva placa arduinoMega y que tendra el firmware modificado por el monstruo rortega para funcionar con telemetria RVOSD. En cuanto realmente este operativo subo los videos pertinentes.
El vuelo fue una tarde con bastante viento.
Subo dos videos

https://www.youtube.com/watch?v=8drDBAuhT6s
https://www.youtube.com/watch?v=HoaEX1JLEdU

Simba
23/09/2015, 15:48
Guillesan, ¿para que sirve la antena fija? supongo que tienes las 2 antenas conectadas a un diversiti, pero no entiendo el porque de utilizar 2 receptores, cuando el Traker siempre está orientado al avión.

Yo antes utilizaba un diversiti, pero era cuando no tenia el Traker y tenia que orientar la antena a mano.

Sl2.

rortega
23/09/2015, 16:10
Yo estuve mirando como hacerlo con la Taranis, y creía que tenia que utilizar un GPS de Frsky para telemetria serie, enchufado al Rx Frsky como uno mas de los sensores, y luego en la Taranis sacar por el puerto serie la telemetria.
Pensaba que esta telemetria seria entendida por la versión del Traker para Frsky, y que solo se tenia que conectar a la entrada del UART.

De no ser correcto lo que digo, ya me dirás como hacerlo, pues tenia pensado utilizar 2,4 de mando Taranis para volar un velero de llano con el Traker, pero al final ire otra ver a parar al Orange LRS, que para mi esta resultando una maravilla.
Mi intención es sacar la telemetría desde el módulo DJT de FrSky, que lo llevo pinchado en una emisora Turnigy 9x. Por tanto necesito un circuito conversor de la señal, que viene invertida (un valor alto es bajo un un bajo es alto). O me monto un pequeño circuito con resistencias y transistor, o meto un arduino nano o similar como intermediario que haría las veces de conversor, leyendo por un par de pines y lanzando los datos por puerto serie.

Guillesan
23/09/2015, 16:18
Guillesan, ¿para que sirve la antena fija? supongo que tienes las 2 antenas conectadas a un diversiti, pero no entiendo el porque de utilizar 2 receptores, cuando el Traker siempre está orientado al avión.

Yo antes utilizaba un diversiti, pero era cuando no tenia el Traker y tenia que orientar la antena a mano.

Sl2.
Pues si uso diversity.
Lo llevo en la maleta por lo que desde la antena me bajan dos videos y dos audios.
El material de recepcion es heredado de una instalacion anterior, es decir ya lo tenia por lo que como no costaba nada mas que unas soldaduras instale el segundo rx por seguridad mayormente.
Realmente el diversity bascula de tarde en tarde, por que como dices la señal de la patch siempre esta ganando a la omni.

rortega
23/09/2015, 19:20
Ya tengo Telemetría por bluetooth. Al final he encontrado un mod que consiste en abrir el módulo DJT y soldar dos cablecillos, RX y TX, en dos pistas, y tomar a parte GND y 5V del propio conector del módulo DJT. Pongo un conector fuera, pincho el módulo Bluetooth, y listo. Ahora con una app de android, FrSKy Dashboard, veo la telemetría en el teléfono, de momento voltaje y rssi. Ya cuando tenga el GPS veré también esos datos y ya podré enlazarlo con el tracker, espero.

Así me ha quedado

http://images.tapatalk-cdn.com/15/09/23/027e3047495b324967ff1ee440f03d53.jpg

El mod está en esta página: http://projects.onomato.biz/projects/android-dash/wiki/BlueTooth

Te todas las variantes, es la última, la de abajo del todo, esa ed la que yo he hecho.

He asumido el riesgo porque este módulo lo tengo cascado y me da problemas de alcance. Así que si va bien cuando tenga el nuevo hago lo mismo.

marcoasj
23/09/2015, 20:25
Necesitas un servo santa aunque sea de 2Kgr. Y lo montas en el Traker con el brazo y todo
Bueno, al final antes de nada he hecho un poco de bricolaje y he reforzado la base

http://images.tapatalk-cdn.com/15/09/23/1d3e523411c8290fcc4e2be1bd519dc2.jpg

http://images.tapatalk-cdn.com/15/09/23/6dfe21ec3e32a42a815c4b8bf2d17be9.jpg

Y fijaos que resultado.

https://youtu.be/HPb3fIpHbNI


Creó que el servo tiene muchísima fuerza
....de mas... Y que la caja no absorbía el golpe.....

De todas maneras investigaré lo de la inicialización de servo para que lo haga despacito, tipo bajada de flaps.....

Enviado desde mi SM-G900F mediante Tapatalk

rortega
23/09/2015, 20:37
Bueno, al final antes de nada he hecho un poco de bricolaje y he reforzado la base

http://images.tapatalk-cdn.com/15/09/23/1d3e523411c8290fcc4e2be1bd519dc2.jpg

http://images.tapatalk-cdn.com/15/09/23/6dfe21ec3e32a42a815c4b8bf2d17be9.jpg

Y fijaos que resultado.

https://youtu.be/HPb3fIpHbNI


Creó que el servo tiene muchísima fuerza
....de mas... Y que la caja no absorbía el golpe.....

De todas maneras investigaré lo de la inicialización de servo para que lo haga despacito, tipo bajada de flaps.....

Enviado desde mi SM-G900F mediante Tapatalk
Pues sí, tiene mejor pinta. Haré un intento de integración de easing en la función initservos para ver si funciona, y te cuento.

marcoasj
23/09/2015, 20:38
Pues sí, tiene mejor pinta. Haré un intento de integración de easing en la función initservos para ver si funciona, y te cuento.
Ok máquina, espero tus progresos.....[emoji28] [emoji106]

Enviado desde mi SM-G900F mediante Tapatalk

rortega
23/09/2015, 21:02
Ok máquina, espero tus progresos.....[emoji28] [emoji106]

Enviado desde mi SM-G900F mediante Tapatalk

Sin haberle metido mano aún (estoy cenando y luego tengo sesión de skype con mi mujer), le estoy dando vueltas a la perola y no termino de verlo claro. El problema es que no conocemos la posición en la que se encuentra el servo antes de moverlo por primera vez. Para conocer su posición inical la única forma sería metiendo un sensor de por medio que nos dé el ángulo de inclinación.

Hay que darle por huevos una primera posición, y sea la que sea, si no sabemos donde está por primera vez, va a pegar la castaña seguro. No se puede aplicar un efecto de amortiguación usando la misma técnica que hasta ahora si no sabemos el recorrido que tiene que hacer.

Lo único que se me ocurre es asegurarnos que se va a la posición cero antes de apagar el tracker, para que la siguiente vez que se encienda el aplicar el pulso inicial no lo mueva.

marcoasj
23/09/2015, 21:30
Sin haberle metido mano aún (estoy cenando y luego tengo sesión de skype con mi mujer), le estoy dando vueltas a la perola y no termino de verlo claro. El problema es que no conocemos la posición en la que se encuentra el servo antes de moverlo por primera vez. Para conocer su posición inical la única forma sería metiendo un sensor de por medio que nos dé el ángulo de inclinación.

Hay que darle por huevos una primera posición, y sea la que sea, si no sabemos donde está por primera vez, va a pegar la castaña seguro. No se puede aplicar un efecto de amortiguación usando la misma técnica que hasta ahora si no sabemos el recorrido que tiene que hacer.

Lo único que se me ocurre es asegurarnos que se va a la posición cero antes de apagar el tracker, para que la siguiente vez que se encienda el aplicar el pulso inicial no lo mueva.
Como sabe el tracker en la inicialización que llega a cero ???

Enviado desde mi SM-G900F mediante Tapatalk

rortega
23/09/2015, 21:35
Como sabe el tracker en la inicialización que llega a cero ???

Enviado desde mi SM-G900F mediante Tapatalk

El tracker no sabe que llega a cero, lo da por hecho, porque le hemos dicho que un pulso muy concreto lo pone en esa posición. La electrónica que lleva el servo, junto con el potenciómetro, hace que pare de girar en ese lugar con ese pulso y no en otro. El confía en que ese pulso que tu le dices que es el cero es el cero.

rortega
23/09/2015, 21:38
El tracker no sabe que llega a cero, lo da por hecho, porque le hemos dicho que un pulso muy concreto lo pone en esa posición. La electrónica que lleva el servo, junto con el potenciómetro, hace que pare de girar en ese lugar con ese pulso y no en otro. El confía en que ese pulso que tu le dices que es el cero es el cero.

Lo que sí sabe el tracker es el tiempo aproximado que puede tardar en llegar a la posición. Nosotros estimamos que como mucho puede tardar 15 milisegundos en alcanzar una posición, podría tardar incluso menos, dependiendo del servo lo bueno y caro que sea. Pero en 15 milisegundos seguro que ya está en su sitio, pero eso tampoco nos dice gran cosa.

marcoasj
23/09/2015, 21:42
Lo que sí sabe el tracker es el tiempo aproximado que puede tardar en llegar a la posición. Nosotros estimamos que como mucho puede tardar 15 milisegundos en alcanzar una posición, podría tardar incluso menos, dependiendo del servo lo bueno y caro que sea. Pero en 15 milisegundos seguro que ya está en su sitio, pero eso tampoco nos dice gran cosa.
Jo** !! No se me ocurre nada. Habría que meter antes una función para acercar el servo a cero, pero como no sabemos la posición actual es imposible !!.

Enviado desde mi SM-G900F mediante Tapatalk

rortega
23/09/2015, 22:10
Yo me pregunto, con la de vuelta que le da Simba al asunto ¿Cómo se apaña para evitar el trancazo inicial si apaga el tracker estando apuntando hacia arriba? Imagino que no lo apagarás hasta que no está completamente horizontal ¿No?

diegojjd
23/09/2015, 22:12
¿Y un interruptor que haga de fin de carrera y que no inicie el movimiento si no está activado? Desde mi ignorancia... Así sabe dónde está el servo antes de empezar el movimiento sin ningún sensor.

Enviado desde mi thl 5000 mediante Tapatalk

Simba
23/09/2015, 22:14
Chicos tengo nuevos datos de rendimiento, me la he jugado un poco por el tema de autonomía, y me ha venido justo pero he llegado con telemetria perfecta y vídeo perfecto, a 11,75 Km es de echo mi récord de distancia, y he llegado con solo un 8% de bateria.
La antena de vídeo es una Yagi autoconstruida de 7 elementos

La RSSI no bajo de 10%.

La telemetria no se perdió en ningún momento, pitando la perdida de paquetes muy de tarde en tarde y de forma testimonial.

El vídeo muy bueno en todo el recorrido, y podría seguro haber ido mucho mas lejos.

El comportamiento del Traker360 sencillamente perfecto

Los 100 mW de Telemetria del Orange OpenLRS, dan para mucho mas de lo que podría parecer.

marcoasj
23/09/2015, 22:19
Chicos tengo nuevos datos de rendimiento, me la he jugado un poco por el tema de autonomía, y me ha venido justo pero he llegado con telemetria perfecta y vídeo perfecto, a 11,75 Km es de echo mi récord de distancia, y he llegado con solo un 8% de bateria.
La antena de vídeo es una Yagi autoconstruida de 7 elementos

La RSSI no bajo de 10%.

La telemetria no se perdió en ningún momento, pitando la perdida de paquetes muy de tarde en tarde y de forma testimonial.

El vídeo muy bueno en todo el recorrido, y podría seguro haber ido mucho mas lejos.

El comportamiento del Traker360 sencillamente perfecto

Los 100 mW de Telemetria del Orange OpenLRS, dan para mucho mas de lo que podría parecer.
Pues si con 100mW estamos así, no se donde nos vamos a ir con los RX de 1W.......

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
23/09/2015, 22:22
¿Y un interruptor que haga de fin de carrera y que no inicie el movimiento si no está activado? Desde mi ignorancia... Así sabe dónde está el servo antes de empezar el movimiento sin ningún sensor.

Enviado desde mi thl 5000 mediante Tapatalk
Te refieres a que lo encieda el brazo ???

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
23/09/2015, 22:23
Chicos tengo nuevos datos de rendimiento, me la he jugado un poco por el tema de autonomía, y me ha venido justo pero he llegado con telemetria perfecta y vídeo perfecto, a 11,75 Km es de echo mi récord de distancia, y he llegado con solo un 8% de bateria.
La antena de vídeo es una Yagi autoconstruida de 7 elementos

La RSSI no bajo de 10%.

La telemetria no se perdió en ningún momento, pitando la perdida de paquetes muy de tarde en tarde y de forma testimonial.

El vídeo muy bueno en todo el recorrido, y podría seguro haber ido mucho mas lejos.

El comportamiento del Traker360 sencillamente perfecto

Los 100 mW de Telemetria del Orange OpenLRS, dan para mucho mas de lo que podría parecer.
Bien Simba, buscando los maximos, ok
Felicidades.

diegojjd
23/09/2015, 22:26
Te refieres a que lo encieda el brazo ???

Enviado desde mi SM-G900F mediante Tapatalk

Sí, en un punto determinado del recorrido se activa un pulsador que indica que el brazo está en determinado ángulo. Así se puede empezar sabiendo dónde inicia el movimiento. Si no está en ese punto puede dar un mensaje de error o buscarlo a velocidad lenta. Una vez que ya lo pulsa puede iniciar el movimiento con las fórmulas de amortiguación / aceleración que ya están por ahí... y moverse a la velocidad que necesite sin dar semejante sacudida inicial.

Aún estoy juntando material... realmente no sé con qué me voy a encontrar en el montaje, pero no me pierdo un post.

Simba
23/09/2015, 22:27
El secreto son las antenas como siempre. Más vale una buena antena que un porro de watios.
Y desde luego nuestro magnífico TRAKER 360.

rortega
23/09/2015, 22:33
Chicos tengo nuevos datos de rendimiento, me la he jugado un poco por el tema de autonomía, y me ha venido justo pero he llegado con telemetria perfecta y vídeo perfecto, a 11,75 Km es de echo mi récord de distancia, y he llegado con solo un 8% de bateria.
La antena de vídeo es una Yagi autoconstruida de 7 elementos

La RSSI no bajo de 10%.

La telemetria no se perdió en ningún momento, pitando la perdida de paquetes muy de tarde en tarde y de forma testimonial.

El vídeo muy bueno en todo el recorrido, y podría seguro haber ido mucho mas lejos.

El comportamiento del Traker360 sencillamente perfecto

Los 100 mW de Telemetria del Orange OpenLRS, dan para mucho mas de lo que podría parecer.

:worthy::worthy::worthy::worthy:

rortega
23/09/2015, 22:51
Sí, en un punto determinado del recorrido se activa un pulsador que indica que el brazo está en determinado ángulo. Así se puede empezar sabiendo dónde inicia el movimiento. Si no está en ese punto puede dar un mensaje de error o buscarlo a velocidad lenta. Una vez que ya lo pulsa puede iniciar el movimiento con las fórmulas de amortiguación / aceleración que ya están por ahí... y moverse a la velocidad que necesite sin dar semejante sacudida inicial.

Aún estoy juntando material... realmente no sé con qué me voy a encontrar en el montaje, pero no me pierdo un post.

¿Buscarlo a velocidad lenta? ¿Cómo? No termino de entender a lo que te refieres. Si no está en ese punto intermedio, estamos en las mismas, tienes que enviarlo a algún otro punto de un trancazo, y con una antena pesada sigue siendo el mismo problema.

Lo de la velocidad lenta no existe, tu mueves el servo de un punto a otro siempre a la misma velocidad, rápido, mejor dicho, muy rápido, lo que ocurre es que si ese recorrido lo fraccionas en pasos (que es lo que hacemos en con el efecto easing), en los primerso pasos recorre una mayor distancia, pero luego vamos reduciendo esas distancas en cada paso, de modo que en la parte final se agolpan muchos tramos muy cortos. Con esto lo que hacemos es que engañamos a la incercia, si parásemos en el primer tramo, pegaría una castaña, pero en lugar de parar seguimos moviendo la antena, otor pasito, y otro, y otro, que al ser cada vez más corto la antena pierde inercia (que me corrijan los físicos que seguro digo alguna varbaridad).

El problema es que si tampoco conocemos ese punto intermedio, tenemos que recorrer una distancia ¿cuál? a mucha velocidad...

diegojjd
23/09/2015, 22:59
Mi servo de rotación continua con un pulso de 1500 está quieto. Si el pulso es de 1000 va a todo lo que puede en un sentido y si es de 2000 va a todo lo que da hacia el sentido opuesto. Según se desplaza del pulso de 1500 aumenta la velocidad de giro. Tengo entendido que esto es así para el pan, pero en el tilt no lo tengo tan claro. Supongo que se utiliza un servo normal y que el primer pulso que emite es 1500 (centrar) y va para allá a todo lo que da. En ese caso el interruptor seria una condición necesaria para iniciar el movimiento del servo. Si no está centrado no se inicia el movimiento del tilt. No quiero llenar el hilo de elucubraciones. Ya tendré el cacharro entre manos para hacer aportaciones con más fundamento.

Enviado desde mi thl 5000 mediante Tapatalk

marcoasj
23/09/2015, 23:15
Bueno, pues para colmo ahora yo no se que co** pasa que no enciende.....

Como muerta.....

https://youtu.be/a7WJmeQ40WY



Enviado desde mi SM-G900F mediante Tapatalk

Simba
23/09/2015, 23:16
Vamos a ver, el problema es que ese servo de 5 € es muy malo, lo le deis vueltas que no es otra cosa, el dichoso servo no es capaz de hacer un 0 de posición sin rebotar alrededor del 0, si encima no esta firme y tiende a oscilar el conjunto, pues aun peor.
Por naturaleza un servo que funcione bien, cuando llega a la posición que se le ordene, se para y punto. Pegara castaña o no pero se para, no empieza a oscilar, eso lo hace por que es muy malo.
Es mi opinión una opinión como otra cualquiera.

marcoasj
23/09/2015, 23:34
Bueno, pues para colmo ahora yo no se que co** pasa que no enciende.....

Como muerta.....

https://youtu.be/a7WJmeQ40WY



Enviado desde mi SM-G900F mediante Tapatalk
Me cago en s*********!!!! Nada! Que no enciende. La he desconectado de todo y vuelto a conectar y nada.
La madre que me P*****!!!!!!
Esto si que es una P*****. No sabéis el cabreo que tengo!!!!!!

Enviado desde mi SM-G900F mediante Tapatalk

rortega
23/09/2015, 23:50
Me cago en s*********!!!! Nada! Que no enciende. La he desconectado de todo y vuelto a conectar y nada.
La madre que me P*****!!!!!!
Esto si que es una P*****. No sabéis el cabreo que tengo!!!!!!

Enviado desde mi SM-G900F mediante Tapatalk

vaya racha...

Simba
23/09/2015, 23:55
Tranquilo marcoasj, que no cunda el panico.
A ver si lo que te pasa es que de tanto probar se ha flipao la placa y tienes que volver a flasearla.
Mira a ver si se deja flasear con la versión que tenias.

Suerte.

marcoasj
23/09/2015, 23:56
Tranquilo marcoasj, que no cunda el panico.
A ver si lo que te pasa es que de tanto probar se ha flipao la placa y tienes que volver a flasearla.
Mira a ver si se deja flasear con la versión que tenias.

Suerte.
Voy a ello

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
23/09/2015, 23:57
Tranquilo marcoasj, que no cunda el panico.
A ver si lo que te pasa es que de tanto probar se ha flipao la placa y tienes que volver a flasearla.
Mira a ver si se deja flasear con la versión que tenias.

Suerte.
De lo nervioso que me he puesto ni se me había ocurrido...[emoji3]

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 00:00
Con esa placa que tienes no se, pero si no te dejara flasear con ftdi, deberías cargar de nuevo el boutloader. a mi no es la primera vez que me ha ocurrido con una flip32 o similares.

marcoasj
24/09/2015, 00:09
Con esa placa que tienes no se, pero si no te dejara flasear con ftdi, deberías cargar de nuevo el boutloader. a mi no es la primera vez que me ha ocurrido con una flip32 o similares.
Se ha flasheado correctamente y sin errores, pero sigue igual de muerta. Ni con las dos baterías 3s ni con el cable. Parece que no recibe corriente.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 00:14
Lo siento ya no se que decirte.
Animo a ver si alguien te da alguna idea.

marcoasj
24/09/2015, 00:16
Lo siento ya no se que decirte.
Animo a ver si alguien te da alguna idea.
Mejor esperaré instrucciones de waveraider, que no me atrevo a tocar, no vaya a ser que empeore.

[emoji27] [emoji27] [emoji27] [emoji27] [emoji27]

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
24/09/2015, 00:16
Gracias de todos modos

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
24/09/2015, 16:58
Hola a todos. Finalmente he podido probar la mecánica con la telemetria RVOSD. No ha sido muy satisfactorio .
Resumo:
Placa : arduino Mega
Versión : v05 Amv
Al parecer y es una teoría parece como que el software no conversióna bien el dato Course con el heading de la antena , por qué lo digo pues recibiendo telemetria no se equilibran esos dos valores , que sería lo normal, pero si desconecto el avión la estación RVGS como es normal se queda con la última posición recibida y lo envía a la antena y probado varias veces esta situación en pel LCD curiosamente los datos se paran pero parecidas. Pongo fotos para mejor explicación
Aquí se ve H:026 A:262
26/26
http://images.tapatalk-cdn.com/15/09/24/ad1d5c735735b60ef52353a923977048.jpg
H:031 A: 313
31/31

http://images.tapatalk-cdn.com/15/09/24/01e3a1ba0da2e76225a12ed2fb962bf4.jpg
No sé si es casualidad o no. Veremos si el monstruo rortega indaga y me saca de dudas.
Un saludo

rortega
24/09/2015, 17:43
Hola a todos. Finalmente he podido probar la mecánica con la telemetria RVOSD. No ha sido muy satisfactorio .
Resumo:
Placa : arduino Mega
Versión : v05 Amv
Al parecer y es una teoría parece como que el software no conversióna bien el dato Course con el heading de la antena , por qué lo digo pues recibiendo telemetria no se equilibran esos dos valores , que sería lo normal, pero si desconecto el avión la estación RVGS como es normal se queda con la última posición recibida y lo envía a la antena y probado varias veces esta situación en pel LCD curiosamente los datos se paran pero parecidas. Pongo fotos para mejor explicación
Aquí se ve H:026 A:262
26/26
http://images.tapatalk-cdn.com/15/09/24/ad1d5c735735b60ef52353a923977048.jpg
H:031 A: 313
31/31

http://images.tapatalk-cdn.com/15/09/24/01e3a1ba0da2e76225a12ed2fb962bf4.jpg
No sé si es casualidad o no. Veremos si el monstruo rortega indaga y me saca de dudas.
Un saludo
O es sólo un problema de visualización de datos? La antena sigue bien al avión?

Guillesan
24/09/2015, 17:51
No pongo un vídeo para explicarlohttps://vimeo.com/140322878

Y esto lo que sale en el RVGS

https://vimeo.com/140323091

Si desconecto el refresco de la telemetria la última se queda
https://vimeo.com/140323428

Y reiníciado la antena

https://vimeo.com/140323625

Observa el dato satélites!!

Guillesan
24/09/2015, 17:54
Curioso una vez más parada la telemetria

http://images.tapatalk-cdn.com/15/09/24/52544423e72960bb7652657575a77b46.jpg

rortega
24/09/2015, 18:06
Curioso una vez más parada la telemetria

http://images.tapatalk-cdn.com/15/09/24/52544423e72960bb7652657575a77b46.jpg
Podría tener una explicación simple, un error de cálculo por dividir por 10 el dato.

rortega
24/09/2015, 18:11
Tú me dices que el heading (H) de la antena y el ángulo, o course del avión, (A que esta junto al heading), deberían ser iguales ¿No? Por lo menos si mueves el avión en las proximidades del tracker (pocos metros) ¿Verdad? Lo digo porque cuando el avión esté en la conchinchina, esos dos números no tienen por que ser iguales ¿Estamos de acuerdo? (Todo ésto lo comento porque necesito tener las ideas muy claras antes de buscar la fuente del problema, que me tiro todo el día dándole a las teclas y estoy fundido mentalmente).

rortega
24/09/2015, 18:12
Tú me dices que el heading (H) de la antena y el ángulo, o course del avión, (A que esta junto al heading), deberían ser iguales ¿No? Por lo menos si mueves el avión en las proximidades del tracker (pocos metros) ¿Verdad? Lo digo porque cuando el avión esté en la conchinchina, esos dos números no tienen por que ser iguales ¿Estamos de acuerdo? (Todo ésto lo comento porque necesito tener las ideas muy claras antes de buscar la fuente del problema, que me tiro todo el día dándole a las teclas y estoy fundido mentalmente).

Me cito a mi mismo. Yo entiendo que el course, o ángulo (A) es la dirección a la que apunta el morro del avión con respecto al norte cuanto está en vuelo ¿Verdad?

Guillesan
24/09/2015, 18:17
Eso es , el seguimiento se realiza cuando esos dos datos se igualan, el dato Course varía mucho pero en el vídeo ves que la antena no intenta acercarse a ese dato si embargo cuando paró la telemetria se ve que la antena se para en datos parecidos como en mi ultima foto 031/313 , es curioso que lo dígitos sean iguales si obviamos el cero inicial 31/31(3)
Por eso digo que igual no conversióna bien ese dato.
Y una cosa por favor no te sientes forzado rortega solo faltaría tú hazlo a tu comodidad vale

rortega
24/09/2015, 18:27
borrado, el dibujo no valía...

rortega
24/09/2015, 18:30
Eso es , el seguimiento se realiza cuando esos dos datos se igualan, el dato Course varía mucho pero en el vídeo ves que la antena no intenta acercarse a ese dato si embargo cuando paró la telemetria se ve que la antena se para en datos parecidos como en mi ultima foto 031/313 , es curioso que lo dígitos sean iguales si obviamos el cero inicial 31/31(3)
Por eso digo que igual no conversióna bien ese dato.
Y una cosa por favor no te sientes forzado rortega solo faltaría tú hazlo a tu comodidad vale

Lo hago con todo el placer del mundo, es sólo que necesito aclararme bien. El dibujo que pongo el avión vuela con un ángulo de 262 grados con respecto a "su norte", mientras que el tracker apunta hacia 26 grados con respecto al suyo, que por supuesto, aunque sean el mismo norte, están para ellos en una posición muy distinta.

rortega
24/09/2015, 18:37
Vuelvo a subir el dibujo que en el anterior no se ve bien

61797

rortega
24/09/2015, 18:46
Guille, estás moviendo el avión como pongo en los dibujos?

61798

Si es como lo estoy pintando, no habría ningún error, no tienen por qué ser iguales esos datos, y se parecerían tanto porque ha dado la casualidad de que le éstas dando vueltas al avíon casi en el mismo punto todo el tiempo, mientras miras al LCD para comprobar datos.

Guillesan
24/09/2015, 18:51
Las pruebas las he hecho con el avión en tierra, por una vez si lo he movido a mano, pero la antena no lo sigue, ni mucho menos.
Yo digo que se equiparan por comparación s lo que me hace la otra pequeña con mavlink. Gira hasta que esos dos datos son iguales.

rortega
24/09/2015, 18:58
Las pruebas las he hecho con el avión en tierra, por una vez si lo he movido a mano, pero la antena no lo sigue, ni mucho menos.
Yo digo que se equiparan por comparación s lo que me hace la otra pequeña con mavlink. Gira hasta que esos dos datos son iguales.

Es que ese dato de Course que te da el RVOSD yo creo que no tiene nada que ver con lo que en otros protocolos aparece en el campo A:, me explico. En GPS Telemetry, por ejemplo, el dato A: no lo devuelve el protocolo, sino que lo calcula el tracer a partir de las coordenadas donde se encuentra el avión. El firmware le dice al tracker, picha, tienes que apuntar a la A:, y se mueve hasta que se igualan. Pero me da a mí que en el RVOSD, ese dato sólo nos dice en que dirección se mueve el avión, con lo cual no nos sirve para nada, solo a título informativo, y puede que estemos confundiendo al tracker al pasárselo ¿Puede ser cierto lo que digo?

Editado: sólo para corregir faltas.

rortega
24/09/2015, 19:03
Es que ese dato de Course que te da el RVOSD yo creo que no tiene nada que ver con lo que en otros protocolos aparece en el campo A:, me explico. En GPS Telemetry, por ejemplo, el dato A: no lo devuelve el protocolo, sino que lo calcula el tracer a partir de las coordenadas donde se encuentra el avión. El firmware le dice al tracker, picha, tiens que apuntar a la A:, y se mueve hasta que se igualan. Pero me da a mí que en el RVOSD, ese dato sólo nos dice en que dirección se mueve el avión, con lo cual no nos sirve para nada, solo a título informativo, y puede que estemos confundiendo al tracker al pasñárselo ¿Puede ser cierto lo que digo?

Si ésto que digo es cierto, efectivamente los datos son distintos y deberían ser iguales, de hecho lo estoy comprobando ahora mismo con el protocolo GPS Telemetry, mi tracker apunta siempre buscando igualar la H a la A.

A parte, se está dando la casualidad de estar moviendo tu el avión ahí en el mismo sitio, de modo que parece que hemos partido el dato por 10, pero es pura casualidad, y en parte se debe al propio significado que tiene ese dato course que nos manda RVSOD.

Guillesan
24/09/2015, 19:06
Pues es muy posible , estás en lo cierto.
Entonces que piensas debo revisar por qué no sigue el avión? No se dime igual no está haciendo las cuentas bien con este protocolo

rortega
24/09/2015, 19:08
Pues es muy posible , estás en lo cierto.
Entonces que piensas debo revisar por qué no sigue el avión? No se dime igual no está haciendo las cuentas bien con este protocolo

No sigue al avión porque creo que le estamos pasando en el código ese dato al tracker para que lo iguale, y claro, no apunta hacia donde está el avión, estará apuntando en la misma dirección en la que el avión esté apuntando su morro, creo.

Voy a revisar el código, y no le voy a pasar ese dato, y te lo subo para que lo vuelvas a cargar.

Guillesan
24/09/2015, 19:09
Ok, eres COJONUDO

rortega
24/09/2015, 19:19
Ok, eres COJONUDO

Sólo se ha visto afectado un archivo, el .ino, por lo que no es necesario que lo bajes todo otra vez, así no machacas la configuración:

https://github.com/raul-ortega/amv-open360tracker/blob/master/amv-open360tracker/amv-open360tracker.ino

Lamentablemente no puedo probarlo, pero es posible que ahora funcione bien.

rortega
24/09/2015, 19:31
Sólo se ha visto afectado un archivo, el .ino, por lo que no es necesario que lo bajes todo otra vez, así no machacas la configuración:

https://github.com/raul-ortega/amv-open360tracker/blob/master/amv-open360tracker/amv-open360tracker.ino

Lamentablemente no puedo probarlo, pero es posible que ahora funcione bien.

Bueno, sí que tienes que hacer la ñapa en ese mismo archivo para lo del LCD.

Guillesan
24/09/2015, 19:35
Ok , como siempre, bajo , compiló y pruebo.
Gracias amigo

Guillesan
24/09/2015, 20:22
Realizada la prueba, el comportamiento a cambiado y mucho pero y siempre hay uno los datos H y A ahora se equiparan pero la antena no mira hacia el avión, lo he movido todo lo lejos y en circulo que he podido. No puedo seguir hoy se ha hecho de noche , mañana sigo, pero ya digo ahora el movimiento parece lógico

rortega
24/09/2015, 20:23
Realizada la prueba, el comportamiento a cambiado y mucho pero y siempre hay uno lis día datos H y A ahora se equiparan pero la antena no mira hacia el avión, lo he movido todo lo lejos y en circulo que he podido. No puedo seguir hoy se ha hecho de noche , mañana sigo, pero ya digo ahora el movimiento parece lógico

Bueno pues mañana lo afinamos...

Guillesan
24/09/2015, 20:28
Ok un saludo y por no sé cuántas veces más, gracias.
Si logramos usar la telemetria por vídeo será un puntazo

marcoasj
24/09/2015, 21:40
Vuelvo a subir el dibujo que en el anterior no se ve bien

61797
Hay que ver lo que se avanza con una buena explicación y un buen dibujo........[emoji106]

Bueno comentaros que mi placa viaja hacia la base de reparaciones. Esta visto que las placas de este tracker son viajeras como las de turruk y simba. A ver que tal. Hoy se ven las cosas distintas, pero ayer me lleve un disgusto de los buenos.



Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
24/09/2015, 22:11
Hay que ver lo que se avanza con una buena explicación y un buen dibujo........[emoji106]

Bueno comentaros que mi placa viaja hacia la base de reparaciones. Esta visto que las placas de este tracker son viajeras como las de turruk y simba. A ver que tal. Hoy se ven las cosas distintas, pero ayer me lleve un disgusto de los buenos.



Enviado desde mi SM-G900F mediante Tapatalk
Siento te hayas quedado en parada.
Una pregunta , los servos los alimentas por la placa de frqmax, si es asi ten en cuenta que pueden haber picos de consumo no deseables y que pueden llevar a la fuente incluida en la placa a "cascar".
Si estoy en lo cierto yo lo hago siempre, alimento los servos separadamente y eso se lo comente a Jaime (waverider) y por eso en placa hay un conector al efecto para darle los 5 o 6 v a los servos exteriormente.

Simba
24/09/2015, 23:00
Pues los que utilizamos la Crius alimentamos la placa con un Bec salida a 5V, y de la Crius se alimentan los servos, o sea que todo sale de la Crius.

Yo al principio y con tanto ajuste, por aquello de no saber por donde tirar cuando no funcionaba, pensé en poner directamente del Bec + y - a los servos para que no pasaran por la Crius, pero todo se quedo en nada, ya que todo empezó a funcionar bien, y al final los servos se alimentan a través de la Crius, y sin ningún problema.

Lo sencillo si bueno 2 veces bueno.

Sl2.

Guillesan
24/09/2015, 23:04
Pues los que utilizamos la Crius alimentamos la placa con un Bec salida a 5V, y de la Crius se alimentan los servos, o sea que todo sale de la Crius.

Yo al principio y con tanto ajuste, por aquello de no saber por donde tirar cuando no funcionaba, pensé en poner directamente del Bec + y - a los servos para que no pasaran por la Crius, pero todo se quedo en nada, ya que todo empezó a funcionar bien, y al final los servos se alimentan a través de la Crius, y sin ningún problema.

Lo sencillo si bueno 2 veces bueno.

Sl2.

Si Simba todo funciona bien hasta que deja de hacerlo, segun los servos que se usen tienen puntas de consumo que pueden joder no solo una pista del circuito sino la fuente de alimentacion, son transitorios pero a veces duran mas de la cuenta, y......
Ademas como dije hace dias el pico tambien repercute en el video, ya se que a ti no te toco , pero si sucede y la solucion sino perfecta pero muchas veces efectiva es separar las alimentaciones.

marcoasj
24/09/2015, 23:17
Si Simba todo funciona bien hasta que deja de hacerlo, segun los servos que se usen tienen puntas de consumo que pueden joder no solo una pista del circuito sino la fuente de alimentacion, son transitorios pero a veces duran mas de la cuenta, y......
Ademas como dije hace dias el pico tambien repercute en el video, ya se que a ti no te toco , pero si sucede y la solucion sino perfecta pero muchas veces efectiva es separar las alimentaciones.
Tengo una batería de 5000 3s con la que alimento la placa. Cuanto necesitaría para alimentar servos independientemente? Consumen poco no ??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 23:25
Marcoasj, ¿necesariamente tienes que alimentar a 12v?
Yo lo que llevo es un Ubec Turnigy de 8 --15 Am, concretamente este que esta mas que testado en mis Helis que nte aseguro consumen mas que el traker:http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html

Con el alimento todo.

No creo que sea necesario tanto pero ya que lo tenia y por si aca, se lo metí.

marcoasj
24/09/2015, 23:27
Marcoasj, ¿necesariamente tienes que alimentar a 12v?
Yo lo que llevo es un Ubec Turnigy de 8 --12 Am, concretamente este que esta mas que testado en mis Helis que nte aseguro consumen mas que el traker:http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html

Con el alimento todo.

No creo que sea necesario tanto pero ya que lo tenia y por si aca, se lo metí.
La placa del FrqMax va a 12v. Ten en cuenta que tiene que alimentar además a dos receptores de vídeo de 5.8 y su placa correspondiente.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 23:32
De todo lo que tienes y con diferencia, lo que mas te consume y puede ocasionar algún problema a la placa de control, son los servos que como dice Guillesan pueden ocasionar picos de fuertes consumos, si se traban los servos o hay algún problema, por lo tanto para asegurar es bueno tener una fuente, que pueda dar todo lo que se necesita en un momento dado.
Yo no se lo que tiene tu placa, pero si puedes alimentar independiente los servos a 5v le metería sin dudar el Ubec que te puse.

marcoasj
24/09/2015, 23:35
De todo lo que tienes y con diferencia, lo que mas te consume y puede ocasionar algún problema a la placa de control, son los servos que como dice Guillesan pueden ocasionar picos de fuertes consumos, si se traban los servos o hay algún problema, por lo tanto para asegurar es bueno tener una fuente, que pueda dar todo lo que se necesita en un momento dado.
Yo no se lo que tiene tu placa, pero si puedes alimentar independiente los servos a 5v le metería sin dudar el Ubec que te puse.
Tengo uno, pero quería reservarlo para alimentar el gps del avión. ¿Como alimentáis vosotros el gps del avion??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 23:39
Muy sencillo, en este proyecto de GPS directo y el Orange, todo es sencillo, tan solo tienes que sacar + y - de donde se conectan los servos, y del puerto serie el Rx.
No cometais el error garrafal, de sacar todo del puerto serie, que puede hacer resetear el Rx en vuelo, lo digo por experiencia.

Concreto, + y - del puerto de servos, y del puerto serie solo el Rx, OK.

Simba
24/09/2015, 23:42
¿Que pasa que no se mete nadie mas con el traker360?.

Sera la vuelta al cole y todo eso ¿NO?

Guillesan
24/09/2015, 23:43
Una foto :
Amarillo= tx
Naranja= rx
Rojo= positivo (como un servo)
Marrón=negativo (como un servo)
http://images.tapatalk-cdn.com/15/09/24/9aed34c660f836306db00b1808d7bccc.jpg

marcoasj
24/09/2015, 23:43
¿Que pasa que no se mete nadie mas con el traker360?.

Sera la vuelta al cole y todo eso ¿NO?
Jajajajá, ya te digo.....

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
24/09/2015, 23:44
Una foto :
Amarillo= tx
Naranja= rx
Rojo= positivo (como un servo)
Marrón=negativo (como un servo)
http://images.tapatalk-cdn.com/15/09/24/9aed34c660f836306db00b1808d7bccc.jpg
Perfecto Guillermo [emoji106] [emoji106]

Enviado desde mi SM-G900F mediante Tapatalk

Simba
24/09/2015, 23:46
Guillesan te sobra el Tx de orange.

Guillesan
24/09/2015, 23:46
Perfecto Guillermo [emoji106] [emoji106]

Enviado desde mi SM-G900F mediante Tapatalk


De hecho solo se necesita conectar tx del Gps a rx del openlrs.
Ojo con los Gps algunos solo aguantan 3,6 v como el de la foto de ahí el diodo en serie en el cable rojo de los 5v

Simba
24/09/2015, 23:49
Guillesan ¿que antena le tienes puesta a ese Orange ?

Guillesan
24/09/2015, 23:49
Es de 868 una chiquitina que se usaba con los rx DMD

Guillesan
24/09/2015, 23:51
Aquí se aprecia mejor
http://images.tapatalk-cdn.com/15/09/24/790998ddc4546b69cd1df60f2176b6fc.jpg

Simba
24/09/2015, 23:51
Si es que no puede ser, la foto es la foto, ya me habia dado cuenta , secreto secreto.

Guillesan
24/09/2015, 23:52
Secreto jajaja y eso

Simba
24/09/2015, 23:55
No nada ya me entiendes con el LRSMAX y todo eso, yo tengo un Orange cambiado y a la espera de iniciar pruebas de vuelo, pero de momento como me esta funcionando todo bien en 433, no tengo prisa y ademas es que no doy abasto con todo.

Guillesan
24/09/2015, 23:59
Yo el 868 lo tengo modificado de hace ya tiempo, antes incluso de la salida de los LRSMax.
Use DMD poco tiempo, pero pude ver las bonanzas de esa frecuencia.

marcoasj
25/09/2015, 00:01
Yo el 868 lo tengo modificado de hace ya tiempo, antes incluso de la salida de los LRSMax.
Use DMD poco tiempo, pero pude ver las bonanzas de esa frecuencia.
Ustedes 2 se lo estarán pasando en grande, pero vamos yo.......ni Z.

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
25/09/2015, 00:05
Tienes razón Marco a veces puede que hablemos casi crípticamente.
En la foto ves un rx Orange openlrs, hobbyking los vende con un módulo rfm22b la Pla ca chiquita soldada que es la parte de radiofrecuencia ósea 433 pero el fabricante también los tiene en 868 y 915 Mhz y yo lo sustituí por uno de ellos, así el rx pasa a trabajar en esa frecuencia, que es más limpia que la 433 en mi opinion.

marcoasj
25/09/2015, 00:05
Tengo una batería de 5000 3s con la que alimento la placa. Cuanto necesitaría para alimentar servos independientemente? Consumen poco no ??

Enviado desde mi SM-G900F mediante Tapatalk
A ver, repito la pregunta. De cuanto le meto la batería de los servos, ???

Enviado desde mi SM-G900F mediante Tapatalk

rortega
25/09/2015, 00:07
Pues los que utilizamos la Crius alimentamos la placa con un Bec salida a 5V, y de la Crius se alimentan los servos, o sea que todo sale de la Crius.

Yo al principio y con tanto ajuste, por aquello de no saber por donde tirar cuando no funcionaba, pensé en poner directamente del Bec + y - a los servos para que no pasaran por la Crius, pero todo se quedo en nada, ya que todo empezó a funcionar bien, y al final los servos se alimentan a través de la Crius, y sin ningún problema.

Lo sencillo si bueno 2 veces bueno.

Sl2.

+1

Simba
25/09/2015, 00:07
La verdad es que si, hoy ando todo el día haciendo esta antena que pongo en foto, es una mejora de la del ultimo vuelo:

Guillesan
25/09/2015, 00:08
Todo el FRQMax funciona a 5v de ahí que lleve una fuente que baja a ese voltaje lo que le pongas. Si alimentas con 6v también funcionaria, pero mi consejo es que separes los servos.

marcoasj
25/09/2015, 00:08
Tienes razón Marco a veces puede que hablemos casi crípticamente.
En la foto ves un rx Orange openlrs, hobbyking los vende con un módulo rfm22b la Pla ca chiquita soldada que es la parte de radiofrecuencia ósea 433 pero el fabricante también los tiene en 868 y 915 Mhz y yo lo sustituí por uno de ellos, así el rx pasa a trabajar en esa frecuencia, que es más limpia que la 433 en mi opinion.
Se agradece la explicación hombre.

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
25/09/2015, 00:40
Todo el FRQMax funciona a 5v de ahí que lleve una fuente que baja a ese voltaje lo que le pongas. Si alimentas con 6v también funcionaria, pero mi consejo es que separes los servos.
Pues no entiendo para que se alimenta la entrada a 12v si luego se baja a 5v, ¿para que se hace esto ?
Ok un saludo y por no sé cuántas veces más, gracias.
Si logramos usar la telemetria por vídeo será un puntazo


Enviado desde mi SM-G900F mediante Tapatalk

Mariete
25/09/2015, 07:17
Parece ser que en este hilo está el protocolo del Antenatracker de MFD pero no lo puedo descargar porque por algún motivo no me deja registrarme. ¿Podéis descargarlo vosotros?

https://translate.google.es/translate?hl=es&sl=de&u=http://fpv-community.de/showthread.php%3F26174-Neue-%25DCbertragungswege-f%25FCr-den-MyFlyDream-AAT-Auto-Antenna-Tracker&prev=search

Esto permitiría, con algunos cambios en el software del Antena Tracker 360, utilizar la mecánica del MFD con esta electrónica para poderla utilizar con otros protocolos a parte del propio de MFD.

rortega
25/09/2015, 08:44
Parece ser que en este hilo está el protocolo del Antenatracker de MFD pero no lo puedo descargar porque por algún motivo no me deja registrarme. ¿Podéis descargarlo vosotros?

https://translate.google.es/translate?hl=es&sl=de&u=http://fpv-community.de/showthread.php%3F26174-Neue-%25DCbertragungswege-f%25FCr-den-MyFlyDream-AAT-Auto-Antenna-Tracker&prev=search

Esto permitiría, con algunos cambios en el software del Antena Tracker 360, utilizar la mecánica del MFD con esta electrónica para poderla utilizar con otros protocolos a parte del propio de MFD.

Lo que trataba de decirte en el otro hilo, es que creo que se trata del mismo código original del open360tracker que estamos mejorando aquí. Los que intervienen en el foro alemán son las mismas personas y hablan de lo mismo.

El protocolo MyFlyDream está integradon en el del open360tracker, pero aún ninguno de los compañeros lo hemos probado. Ya está testado el GPS Telemetry, con y sin GPS Local con telemetría a través de openlrs (orangerx). Y ahora está Guillesan progando el protocolo RVSOD, al cual le hemos corregido fallos graves, y ahora estamos afinando un fallo menor.

Yo estoy seguro que ese código original lo ha probado muy poquita gente por las cosas que le hemos corregido. Si te animas a probar el código con el MyFlyDream lo podemos depurar (seguro que tiene el problema del dato de Azimut que tiene el RVSOD).

La versión con las mejoras las puedes encontrar aquí:

https://github.com/raul-ortega/amv-open360tracker

Si decides descargarlo y configurarlo, tienes que poner en el config.h

#define MFD

Y tener en cuenta que si no usas un GPS Local no te va a funcionar, según cita el autor en el mismo config.h. Pero eso no tiene por que ser un problema, pues igual que lo hemos solucionada par GPS Telemetry, lo podemos solucionar para MFD.

¡Anímate a probarlo!

marcoasj
25/09/2015, 08:55
Pues no entiendo para que se alimenta la entrada a 12v si luego se baja a 5v, ¿para que se hace esto ?



Enviado desde mi SM-G900F mediante Tapatalk

joer, no lo habia entendido, la bajada a 5 es para la parte de los servos.......


Cuanto mas lo pienso mas estoy con la teoria de guillesan de que hay que separa la alimentación para evitar problemas.....

Creo que el pulso inicial de inicialización de servos genera algún tipo de pico no deseado.....(con las pruebas de la vibración lo habré encendido y apagado como 100 veces.) y pasa factura.......

marcoasj
25/09/2015, 08:57
joer, no lo habia entendido, la bajada a 5 es para la parte de los servos.......


Cuanto mas lo pienso mas estoy con la teoria de guillesan de que hay que separa la alimentación para evitar problemas.....

Creo que el pulso inicial de inicialización de servos genera algún tipo de pico no deseado.....(con las pruebas de la vibración lo habré encendido y apagado como 100 veces.) y pasa factura.......

Lo que voy a intentar probar es alimentar los servos separadamente pero con la misma bateria, con un BEC por medio como decia simba.
Pero bueno, hasta que no tenga el aparatito de vuelta.....na de na ¡¡¡¡¡

Simba
25/09/2015, 12:19
Lo que trataba de decirte en el otro hilo, es que creo que se trata del mismo código original del open360tracker que estamos mejorando aquí. Los que intervienen en el foro alemán son las mismas personas y hablan de lo mismo.

El protocolo MyFlyDream está integradon en el del open360tracker, pero aún ninguno de los compañeros lo hemos probado. Ya está testado el GPS Telemetry, con y sin GPS Local con telemetría a través de openlrs (orangerx). Y ahora está Guillesan progando el protocolo RVSOD, al cual le hemos corregido fallos graves, y ahora estamos afinando un fallo menor.

Yo estoy seguro que ese código original lo ha probado muy poquita gente por las cosas que le hemos corregido. Si te animas a probar el código con el MyFlyDream lo podemos depurar (seguro que tiene el problema del dato de Azimut que tiene el RVSOD).

La versión con las mejoras las puedes encontrar aquí:

https://github.com/raul-ortega/amv-open360tracker

Si decides descargarlo y configurarlo, tienes que poner en el config.h

#define MFD

Y tener en cuenta que si no usas un GPS Local no te va a funcionar, según cita el autor en el mismo config.h. Pero eso no tiene por que ser un problema, pues igual que lo hemos solucionada par GPS Telemetry, lo podemos solucionar para MFD.

¡Anímate a probarlo!
No termino de entender todo ese berenjenal de MFD.
¿Que es lo que se pretende, utilizar en el avión un OSD MFD y que funcione en nuestro Traker360 ??, Guillesan ya lo ha probado con el protocolo Mavlink, y Telemetria orange.

O es que se quiere utilizar el Traker MFD (mecenica solo), para utilizarlo con la electronica y soft de nuestro traker360.

Siempre me queda la duda de como entender en tierra, el protocolo el que sea, sacándolo del vídeo como hace MFD. Supongo que se necesitara una electrónica especial para decodificar la info del Vídeo, y que ni la Crius ni el Arduino lo pueden hacer.

En fin no entiendo como se puede enredar tanto la cosa, cuando funciona como estamos demostrando con el sistema GPS directo y el Orange.

Entiendo que se puede mejorar el enlace Telemetria, trabajando por vídeo y que hay compañeros que no utilizan el sistema Orange OpenLRS, y necesiten bajar la Telemetria por Vídeo, pero que no esperen mejoras sustanciales con respecto a las que estamos teniendo.

Por Vídeo solo se puede esperar, una tasa de datos de posición mas elevada, diría que como MFD a 5Hz, en lugar de los 2Hz del Orange, pero esto realmente no representa en la practica ninguna mejora, salvo en los momentos que estamos a 40m de distancia y 40m de altura y volamos a mas de 40Km/h, en ese caso la antena se mueve con un poco pero poco menos saltos, vamos que no justifica nada de nada.


No lo entiendo.

marcoasj
25/09/2015, 12:36
No termino de entender todo ese berenjenal de MFD.
¿Que es lo que se pretende, utilizar en el avión un OSD MFD y que funcione en nuestro Traker360 ??, Guillesan ya lo ha probado con el protocolo Mavlink, y Telemetria orange.

O es que se quiere utilizar el Traker MFD (mecenica solo), para utilizarlo con la electronica y soft de nuestro traker360.

Siempre me queda la duda de como entender en tierra, el protocolo el que sea, sacándolo del vídeo como hace MFD. Supongo que se necesitara una electrónica especial para decodificar la info del Vídeo, y que ni la Crius ni el Arduino lo pueden hacer.

En fin no entiendo como se puede enredar tanto la cosa, cuando funciona como estamos demostrando con el sistema GPS directo y el Orange.

Entiendo que se puede mejorar el enlace Telemetria, trabajando por vídeo y que hay compañeros que no utilizan el sistema Orange OpenLRS, y necesiten bajar la Telemetria por Vídeo, pero que no esperen mejoras sustanciales con respecto a las que estamos teniendo.

Por Vídeo solo se puede esperar, una tasa de datos de posición mas elevada, diría que como MFD a 5Hz, en lugar de los 2Hz del Orange, pero esto realmente no representa en la practica ninguna mejora, salvo en los momentos que estamos a 40m de distancia y 40m de altura y volamos a mas de 40Km/h, en ese caso la antena se mueve con un poco pero poco menos saltos, vamos que no justifica nada de nada.


No lo entiendo.
Supongo que será para los que tiene MFD pero sin el tracker y quieran construirse el 360....

Enviado desde mi SM-G900F mediante Tapatalk

rortega
25/09/2015, 12:41
No termino de entender todo ese berenjenal de MFD.
¿Que es lo que se pretende, utilizar en el avión un OSD MFD y que funcione en nuestro Traker360 ??, Guillesan ya lo ha probado con el protocolo Mavlink, y Telemetria orange.

O es que se quiere utilizar el Traker MFD (mecenica solo), para utilizarlo con la electronica y soft de nuestro traker360.

Siempre me queda la duda de como entender en tierra, el protocolo el que sea, sacándolo del vídeo como hace MFD. Supongo que se necesitara una electrónica especial para decodificar la info del Vídeo, y que ni la Crius ni el Arduino lo pueden hacer.

En fin no entiendo como se puede enredar tanto la cosa, cuando funciona como estamos demostrando con el sistema GPS directo y el Orange.

Entiendo que se puede mejorar el enlace Telemetria, trabajando por vídeo y que hay compañeros que no utilizan el sistema Orange OpenLRS, y necesiten bajar la Telemetria por Vídeo, pero que no esperen mejoras sustanciales con respecto a las que estamos teniendo.

Por Vídeo solo se puede esperar, una tasa de datos de posición mas elevada, diría que como MFD a 5Hz, en lugar de los 2Hz del Orange, pero esto realmente no representa en la practica ninguna mejora, salvo en los momentos que estamos a 40m de distancia y 40m de altura y volamos a mas de 40Km/h, en ese caso la antena se mueve con un poco pero poco menos saltos, vamos que no justifica nada de nada.


No lo entiendo.
Yo la verdad es que tampoco sé si hay alguna electrónica de por medio como en el caso del RVOSD, pero el código del open360teacker tiene programado el decodificador de tramas para MFD. En cuanto a mejoras me refiero a depurar ese código por si tiene errores como el de RVOSD, pero en temas de rendimiento/eficiencia de comunicación del MFD no me meto en absoluto.

Opino también que si va bien con telemetría directa, no se necesita nada más, el animar a usar MFD es sólo por cuestión de mejoras del firmware sólo y exclusivamente, y porque alguien quiera empeñarse en hacer uso de esta característica del firma. Lo mismo puede sacar las tramas directamente del OSD en tierra y quiere aprovecharlo como está haciendo Guillesan.

Para mí hacerlo funcionar es un simple reto a superar.

Simba
25/09/2015, 12:42
Supongo que será para los que tiene MFD pero sin el tracker y quieran construirse el 360....

Enviado desde mi SM-G900F mediante Tapatalk
Si pero siempre necesitaran que el Traker360 con nuestra Electronica sea capaz de entender decodificar, la telemetria del Vídeo, cosa que no se como, esa es la cuestión.

Yo he tenido y vendido un Traker MFD sin extrenar y lo conozco un poco por que Turruk lo tiene en funcionamiento, bueno lo tenia por que actualmente solo vuela con el Traker360 Jijij Jiji, y en el avíon sigue teniendo el AP MFD.

marcoasj
25/09/2015, 12:43
Si pero siempre necesitaran que el Traker360 con nuestra Electronica sea capaz de entender decodificar, la telemetria del Vídeo, cosa que no se como, esa es la cuestión.

Yo he tenido y vendido un Traker MFD sin extrenar y lo conozco un poco por que Turruk lo tiene en funcionamiento, bueno lo tenia por que actualmente solo vuela con el Traker360 Jijij Jiji, y en el avíon sigue teniendo el AP MFD.
Pues esa es la historia creó, conseguir el trozo de código que sepa leer el MFD e insertarlo en el open360

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
25/09/2015, 12:46
Parece ser que en este hilo está el protocolo del Antenatracker de MFD pero......

Esto creó que quería decir Mariete no??


Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
25/09/2015, 12:48
Esto creó que quería decir Mariete no??


Enviado desde mi SM-G900F mediante Tapatalk
Me refiero a depurarlo.....

Enviado desde mi SM-G900F mediante Tapatalk

Simba
25/09/2015, 12:57
Si esa creo que es la historia.

Mirar, el Traker MFD, al recibir directamente la telemetria por Vídeo, tiene la ventaja de ser autónomo en el seguimiento, no necesita estar conectado a otro sistema, pero resulta que yo tampoco necesito de ningún otro sistema.

No se si habéis notado en mis vídeos, que yo no tengo ningún enlace físico con el traker360, el chisme una vez alimentado y con el Hom echo, se puede quedar en un extremo del campo, y yo estar en la sombra tranquilamente.
El Tx Orange LRS Manda control y recibe Telemetria, directamente desde el Traker360, es totalmente autónomo y yo tranquilamente controlo el avión con la emisora en 2,4g.
Aparentemente el que me ve que estoy volando puede que ni se entere que el Traker esta haciendo el seguimiento del Avión.

De verdad que es algo que yo jamas me lo imaginaba que fuera tan sencillo de poner un marcha, bueno lo de sencillo lo podemos decir ahora que ya un poco y un mucho entre todos, ya lo tenemos depurado y funcionando al 100%.

Vaya royo que me he liao, pido perdón por lo pesao.

Sl2

Guillesan
25/09/2015, 12:58
Hola, el OSD MFD tiene varias posibilidades de telemetria, creo , no estoy seguro que todas están basadas en mavlink. Los primeros modelos bajaban los datos por audio y hayan conserva esa opción ( en el setup) old , lo abandonaron y pasaron a telemetria por vídeo , en su antena habrá la electrónica asociada para decodificarlo pero a diferencia de RVOSD está todo cerrado en la mecánica, también tiene la posibilidad de extraer la telemetria por su puerto data en formato mavlink mínimo 9600 , es el que estoy usando yo en mi antena pequeña, con muy buenos resultados.

Simba
25/09/2015, 13:05
Hola, el OSD MFD tiene varias posibilidades de telemetria, creo , no estoy seguro que todas están basadas en mavlink. Los primeros modelos bajaban los datos por audio y hayan conserva esa opción ( en el setup) old , lo abandonaron y pasaron a telemetria por vídeo , en su antena habrá la electrónica asociada para decodificarlo pero a diferencia de RVOSD está todo cerrado en la mecánica, también tiene la posibilidad de extraer la telemetria por su puerto data en formato mavlink mínimo 9600 , es el que estoy usando yo en mi antena pequeña, con muy buenos resultados.
Utilizas mavlink mínimo 9600, conectado al puerto serie del Rx Orange, pero a que velocidad de refresco de GPS ¿a 5 hz ?.

Es interesante ese dato, pues si mavlink puede meter 5Hz en el serial de Orange, seria cuestión de ver el porque el NMEA no puede entrar a mas de 2Hz en el Orange.

marcoasj
25/09/2015, 13:06
bueno, esto es lo que hay en el fichero

MFD AAT Control Protocol


(1) Serial protocol parameter:
TTL level, baudrate 19200 bps (default) / 38400bps
8 data bits, 1 stop bit, no parity

(2) control command

1) Test command
Send char 'N' to point north with elevation angle of 0 degrees
Send char 'E' to point deast with elevation 30 degrees
Send char 'S' to point south with elevation angle of 0 degrees
Send char 'W' to point west with elevation angle of 60 degrees

2) Standby command
Send char '#' to tell the AAT that coordinates are not set. This allows you manual rotation of the AAT.

3) Coordinates set command
Send char 'X' to tell the AAT that coordinates are set. Tracking will start if object is more than 10m away from AAT.

4) Link failure, enter offline mode
Send char '@' to tell the AAT that there is a connection failure. This allows you manual rotation of the AAT.

5) direction and elevation control commands
'D' + distance + 'H' + height + 'A' + target azimuth + '*' + checksum + <LF>

D: distance in meters - positive values only INTEGER
H: height relative to start point - positive/negative height possible, but minimal antenna angle is limited to 0° INTEGER
A: azimuth in degrees 0 - 359
Checksum: unsigned int 8bit, Sum up all chars of the "D***H***A*" string. Intermediate overflow discarded.
<LF>: Newline \n, ASCII code 0x0A

Example: D1001H120A265*??\n
distance: 1001m
height: 120m
azimuth: 265°

rortega
25/09/2015, 13:31
Pues esa es la historia creó, conseguir el trozo de código que sepa leer el MFD e insertarlo en el open360

Enviado desde mi SM-G900F mediante Tapatalk
No lo quiero afirmar categóricamente, pero mucho me temo que eso no sea posible, no cabe en la memoria de la crius más código como para hacer eso también. Las tramas le tienen que entrar de momento en modo texto y por puerto serie.

marcoasj
25/09/2015, 13:34
No lo quiero afirmar categóricamente, pero mucho me temo que eso no sea posible, no cabe en la memoria de la crius más código como para hacer eso también. Las tramas le tienen que entrar de momento en modo texto y por puerto serie.

Una pregunta desde mi mas absoluta ignorancia.....

¿el compilador compila todo el código o solo lo que se defina en el config.h?

Guillesan
25/09/2015, 14:06
Utilizas mavlink mínimo 9600, conectado al puerto serie del Rx Orange, pero a que velocidad de refresco de GPS ¿a 5 hz ?.

Es interesante ese dato, pues si mavlink puede meter 5Hz en el serial de Orange, seria cuestión de ver el porque el NMEA no puede entrar a mas de 2Hz en el Orange.

Hola Simba , mira el refresco ciertamente no lo se, pero ten en cuenta que el Openlrs debe trabajar con la version especial para transmitir mavlink llamada gitsly

https://github.com/openLRSng/openLRSng/tree/gitsly ,

que insisto no se concretamente en que consiste la diferencia con respecto al estandar.

rortega
25/09/2015, 14:08
Una pregunta desde mi mas absoluta ignorancia.....

¿el compilador compila todo el código o solo lo que se defina en el config.h?
Sólo lo que se defina en el config.h.

Es cierto que al compilar queda memoria, pero a nada que le metas 4 líneas de código se va a llenar, y más aún si agregas una librería ya programada por un tercero (ese supuesto código que hayan realizado).

Pero para saber si sí o su no, lo primero es ver de qué código fuente estamos hablando y qué hace exactamente. Yo dije que se referían al decodificador de tramas MFD que lleva ya el firm que usamos porque, en lo poco que ví traducido del link que pasaste, me pareció entender que hablaban del mismo código del open360tracker.

Mariete
25/09/2015, 14:14
A ver, que parece que la he liado al no explicarme bien:

En ese fichero (que, por cierto, muchas gracias Marcoasj por bajarlo y ponerlo) está el protocolo para controlar la mecánica del MFD AAT directamente (por ejemplo desde el tracker360).

¿Para que?

Bueno, pues esto, que en principio puede parecer una tontería abre las puertas a muchas cosas interesantes para los que ya tenemos un MFD AAT y no queremos o podemos cambiarlo (yo ni puedo ni quiero, luego lo explico).

Entre otras cosas permite el poder utilizar el tracker MFD (la mecánica) con "volables" que no tengan el MFD AP (Autopilot). De alguna forma esto, "compatibiliza" el MFD AAT con Eagle Tree, Multiwii, APM, Cleanflight, Baseflight, y muchos más.

¿Por qué yo no quiero ni puedo quitar el MFD AAT?: Porque para mi ha resultado un sistema muy fiable y completamente plug&play. Tengo puesto en mis dos aviones principales para Long Range el MFD AP y utilizo Dragonlink (por lo que no tengo otra forma sencilla de bajarme la telemetría sin meterme a instalar radio modems o similares).

Tengo otros aviones con Eagle Tree Vector, voy a instalar en otro una Naze, y voy a utilizar como segundo equipo "barato" para que las cosas no se disparen de precio un OpenLRS, que ya tengo. Esto me permitirá tener tracker para estos "aviones de segunda".

Además, resulta que tengo el FRQMAX2, de manera que solo con implementar el protocolo (si es que no lo está ya, que yo creo que está a medias, por lo que he buceado en el código) tendré el "eslabón perdido".

Seguramente hay muchos más casos de uso pero es solamente para dar la justificación de por qué es interesante soportar el MFD AAT.

rortega
25/09/2015, 14:24
A ver, que parece que la he liado al no explicarme bien:

En ese fichero (que, por cierto, muchas gracias Marcoasj por bajarlo y ponerlo) está el protocolo para controlar la mecánica del MFD AAT directamente (por ejemplo desde el tracker360).

¿Para que?

Bueno, pues esto, que en principio puede parecer una tontería abre las puertas a muchas cosas interesantes para los que ya tenemos un MFD AAT y no queremos o podemos cambiarlo (yo ni puedo ni quiero, luego lo explico).

Entre otras cosas permite el poder utilizar el tracker MFD (la mecánica) con "volables" que no tengan el MFD AP (Autopilot). De alguna forma esto, "compatibiliza" el MFD AAT con Eagle Tree, Multiwii, APM, Cleanflight, Baseflight, y muchos más.

¿Por qué yo no quiero ni puedo quitar el MFD AAT?: Porque para mi ha resultado un sistema muy fiable y completamente plug&play. Tengo puesto en mis dos aviones principales para Long Range el MFD AP y utilizo Dragonlink (por lo que no tengo otra forma sencilla de bajarme la telemetría sin meterme a instalar radio modems o similares).

Tengo otros aviones con Eagle Tree Vector, voy a instalar en otro una Naze, y voy a utilizar como segundo equipo "barato" para que las cosas no se disparen de precio un OpenLRS, que ya tengo. Esto me permitirá tener tracker para estos "aviones de segunda".

Además, resulta que tengo el FRQMAX2, de manera que solo con implementar el protocolo (si es que no lo está ya, que yo creo que está a medias, por lo que he buceado en el código) tendré el "eslabón perdido".

Seguramente hay muchos más casos de uso pero es solamente para dar la justificación de por qué es interesante soportar el MFD AAT.
Juer, poned el link que lo visite y lo vea, lo mismo lo habéis puesto y se me ha pasado, o estaba en el hilo del foro alemán, pero con el móvil se me ha debido pasar. Gracias.

Mariete
25/09/2015, 14:49
El link era solo el enlace al foro alemán donde tienen puesto el protocolo del MFD AAT (que está pegado aquí, 6 mensajes más arriba).

https://translate.google.es/translate?hl=es&sl=de&u=http://fpv-community.de/showthread.php%3F26174-Neue-%25DCbertragungswege-f%25FCr-den-MyFlyDream-AAT-Auto-Antenna-Tracker&prev=search

rortega
25/09/2015, 14:49
Ya no hece falta, ya lo he encontrado.

Entonces, a ver si me he enterado bien, quieres usar el firm del open360tracker para recibir telemetría de Mavlink, Frsky, GPS por telemetría directa, etc.. pero olvidarte de la cajita de "cartón" que tehemos con dos servos, y controlar en su lugar la mecánica del tracke del MFD ¿No?

Es decir, modificar el firm para que envíe esos comandos al tracker físico MFD. Sólo tendría por tanto que construir esas tramas con las órdenes concretas y enviarlo al enchufárselas al MFD ¿No?

Si es eso, si me parece viable, aunque con matices. En primer lugar necesitaríamos una placa basada en mega que maneje otro puerto para la salida serie (ya usa un softserial para entrada de gps local y un serie para entrada de telemetría). Y otra cosa, si le envías la orden ¿Cómo sabemos que ha alcanzado el ángulo de heading al que lo hemos mandado?¿Nos podemos fiar a ciega de que lo hace bien y apunta a su sitio?¿Hay alguna forma de que el tracker MFD devuelva al firm de la crius algún mensaje para decirle que ya lo ha alcanzado, para simplificar y no tene que reprogramarlo todo?...

rortega
25/09/2015, 14:52
Ya no hece falta, ya lo he encontrado.

Entonces, a ver si me he enterado bien, quieres usar el firm del open360tracker para recibir telemetría de Mavlink, Frsky, GPS por telemetría directa, etc.. pero olvidarte de la cajita de "cartón" que tehemos con dos servos, y controlar en su lugar la mecánica del tracke del MFD ¿No?

Es decir, modificar el firm para que envíe esos comandos al tracker físico MFD. Sólo tendría por tanto que construir esas tramas con las órdenes concretas y enviarlo al enchufárselas al MFD ¿No?

Si es eso, si me parece viable, aunque con matices. En primer lugar necesitaríamos una placa basada en mega que maneje otro puerto para la salida serie (ya usa un softserial para entrada de gps local y un serie para entrada de telemetría). Y otra cosa, si le envías la orden ¿Cómo sabemos que ha alcanzado el ángulo de heading al que lo hemos mandado?¿Nos podemos fiar a ciega de que lo hace bien y apunta a su sitio?¿Hay alguna forma de que el tracker MFD devuelva al firm de la crius algún mensaje para decirle que ya lo ha alcanzado, para simplificar y no tene que reprogramarlo todo?...

Me repondo a mi mismo en la última cuestión. La crius tiene mag y puede situarse sobre el tracker, así que es una pregunta un tanto absurda...

marcoasj
25/09/2015, 14:55
A ver, que parece que la he liado al no explicarme bien:

En ese fichero (que, por cierto, muchas gracias Marcoasj por bajarlo y ponerlo) está el protocolo para controlar la mecánica del MFD AAT directamente (por ejemplo desde el tracker360).

¿Para que?

Bueno, pues esto, que en principio puede parecer una tontería abre las puertas a muchas cosas interesantes para los que ya tenemos un MFD AAT y no queremos o podemos cambiarlo (yo ni puedo ni quiero, luego lo explico).

Entre otras cosas permite el poder utilizar el tracker MFD (la mecánica) con "volables" que no tengan el MFD AP (Autopilot). De alguna forma esto, "compatibiliza" el MFD AAT con Eagle Tree, Multiwii, APM, Cleanflight, Baseflight, y muchos más.

¿Por qué yo no quiero ni puedo quitar el MFD AAT?: Porque para mi ha resultado un sistema muy fiable y completamente plug&play. Tengo puesto en mis dos aviones principales para Long Range el MFD AP y utilizo Dragonlink (por lo que no tengo otra forma sencilla de bajarme la telemetría sin meterme a instalar radio modems o similares).

Tengo otros aviones con Eagle Tree Vector, voy a instalar en otro una Naze, y voy a utilizar como segundo equipo "barato" para que las cosas no se disparen de precio un OpenLRS, que ya tengo. Esto me permitirá tener tracker para estos "aviones de segunda".

Además, resulta que tengo el FRQMAX2, de manera que solo con implementar el protocolo (si es que no lo está ya, que yo creo que está a medias, por lo que he buceado en el código) tendré el "eslabón perdido".

Seguramente hay muchos más casos de uso pero es solamente para dar la justificación de por qué es interesante soportar el MFD AAT.
De nada, espero haberte ayudado. Salu2

Enviado desde mi SM-G900F mediante Tapatalk

Mariete
25/09/2015, 14:56
Entonces, a ver si me he enterado bien, quieres usar el firm del open360tracker para recibir telemetría de Mavlink, Frsky, GPS por telemetría directa, etc.. pero olvidarte de la cajita de "cartón" que tehemos con dos servos, y controlar en su lugar la mecánica del tracke del MFD ¿No?


Exacto!

Es decir, modificar el firm para que envíe esos comandos al tracker físico MFD. Sólo tendría por tanto que construir esas tramas con las órdenes concretas y enviarlo al enchufárselas al MFD ¿No?


Eso es. Aunque es posible que el firmware ya lo contemple (aunque sea a medias) porque parece ser que estaba previsto por los alemanes lo que pasa es que lo no llegaron a hacer.


Si es eso, si me parece viable, aunque con matices. En primer lugar necesitaríamos una placa basada en mega que maneje otro puerto para la salida serie (ya usa un softserial para entrada de gps local y un serie para entrada de telemetría). Y otra cosa, si le envías la orden ¿Cómo sabemos que ha alcanzado el ángulo de heading al que lo hemos mandado?¿Nos podemos fiar a ciega de que lo hace bien y apunta a su sitio?¿Hay alguna forma de que el tracker MFD devuelva al firm de la crius algún mensaje para decirle que ya lo ha alcanzado, para simplificar y no tene que reprogramarlo todo?...


Bueno, siempre se puede utilizar el puerto del GPS local para esto (perdiendo esa funcionalidad).

Del resto ni idea, creo que nadie sabe si el MFD Tracker devuelve algo o no. Habría que investigar (o que preguntar a los alemanes, que seguro avanzaron algo).

rortega
25/09/2015, 15:00
De nada, espero haberte ayudado. Salu2

Enviado desde mi SM-G900F mediante Tapatalk
Sí, sí, al ver el copy paste del archivo me ha aclarado muchas dudas. Eso es viable hacerlo, y simple, la limitación podría estar en el número de puertos serie, la crius se solo tiene uno, así que sobre mega con mag o ctius aiopro fijo que va.

Simba
25/09/2015, 15:18
Mariete, si lo que quieres es manejar la mecánica del Traker de MFD, tu siempre dices MECANICA, pero por lo visto te refieres al Traker completo con su placa de control y los servos, y pretendes que con la placa y soft que se utiliza en el Traker BARATO 360, se pueda controlar el MFD.

Pues lo mas fácil que puedes hacer, es sacar fuera de la caja del traker MFD, los cables de los servos, y estos cuando los quieras utilizar con la electrónica y sofware del Traker360, los conectas y a rular, no necesitas nada mas.
Bueno la verdad es que quedaría mas chulo que todo se controlara por sofware.
Por cierto el puerto el puerto de comunicación del Traker MFD, es bidireccional o solo sirve para sacar datos de posición. ¿?¿?¿?

Mariete
25/09/2015, 15:58
Mariete, si lo que quieres es manejar la mecánica del Traker de MFD, tu siempre dices MECANICA, pero por lo visto te refieres al Traker completo con su placa de control y los servos, y pretendes que con la placa y soft que se utiliza en el Traker BARATO 360, se pueda controlar el MFD.

Pues lo mas fácil que puedes hacer, es sacar fuera de la caja del traker MFD, los cables de los servos, y estos cuando los quieras utilizar con la electrónica y sofware del Traker360, los conectas y a rular, no necesitas nada mas.
Bueno la verdad es que quedaría mas chulo que todo se controlara por sofware.
Por cierto el puerto el puerto de comunicación del Traker MFD, es bidireccional o solo sirve para sacar datos de posición. ¿?¿?¿?


Bueno, si hiciera eso dejaría de funcionar con el MFD AP y no es lo que quiero.

Cuando digo "mecánica" me refiero a la parte del tracker que contiene la mecánica, aunque tiene su propia inteligencia. Lo digo así porque el "Driver" del tracker que es la cajita azul del MFD AAT, que contiene el descodificador que extrae la telemetría que envía el MFD AP desde el avión por el audio o el video, no sería necesario utilizarlo.

Si es bidireccional, ni idea. Es lo que decía al final de mi mensaje anterior.

Simba
25/09/2015, 16:09
Bueno, si hiciera eso dejaría de funcionar con el MFD AP y no es lo que quiero.

Cuando digo "mecánica" me refiero a la parte del tracker que contiene la mecánica, aunque tiene su propia inteligencia. Lo digo así porque el "Driver" del tracker que es la cajita azul del MFD AAT, que contiene el descodificador que extrae la telemetría que envía el MFD AP desde el avión por el audio o el video, no sería necesario utilizarlo.

Si es bidireccional, ni idea. Es lo que decía al final de mi mensaje anterior.

Esto, ¿estas seguro que la cajita azul, es la que tiene el descodificador de vídeo?, que yo sepa es en la electrónica de la caja superior, la que tiene los servos, la que recibe los datos de las antenas, o sea el vídeo y el audio, es la que maneja y descodifica los datos de posición, para controlar los servos, y manda la información de vídeo (solo vídeo) + los datos de posición y control de datos del GPS local, los manda a través del slinring, a la cajita azul, que es donde te conectas para ver el vídeo.

¿Es así o estoy equivocado?

Simba
25/09/2015, 16:29
Por cierto, la cajita azul, también hace otras cosas, como son el mando de calibración del magnetómetro, y el ajuste del control del servo pan, lo que nosotros en el Traker360, llamamos ajuste del 0 (cero) del servo Pan, y esto si que seria una muy buena herramienta, a implementar en nuestro Traker, ya que es la parte mas cabrona de ajustar, y que sin que esto esté bien no funciona nada, seria estupendo poder ajustar este valor por medio de un pulsador y la ayuda del soft correspondiente, pero seria en otro tipo de placa de control claro.

rortega
25/09/2015, 18:16
Por cierto, la cajita azul, también hace otras cosas, como son el mando de calibración del magnetómetro, y el ajuste del control del servo pan, lo que nosotros en el Traker360, llamamos ajuste del 0 (cero) del servo Pan, y esto si que seria una muy buena herramienta, a implementar en nuestro Traker, ya que es la parte mas cabrona de ajustar, y que sin que esto esté bien no funciona nada, seria estupendo poder ajustar este valor por medio de un pulsador y la ayuda del soft correspondiente, pero seria en otro tipo de placa de control claro.

Habrá que ir tomando nota, pues con la versión de CLI los parámetros ya residen en la EEPROM y no es necesario recompilar. Podríamos dar la orden de calibrar el servo mediante pulsador, como bien dices, ir pasándole pulsos hasta que con las mediciones del mag detecte que no hay oscilaciones durante x segundos, y dejar almacenado ese valor como valor pan0. Previamente habría que calibrar el mag...

He estado varios días atrás optimizando código en la versión CLI y ha bajado algo, un pelín, lo estaba haciendo con la idea de que no hubiese problemas de compilación con otros protocolos. Sigo teniendo en mente reclutar una placa de 32bits y adaptar el código para acabar con los problemas de memoria y de puertos, y empezar a generarme nuevos problemas, ja ja ja...pero antes me gustaría ver que el RVOSD va fino...

Guillesan
25/09/2015, 18:18
Hola he podido hacer una prueba de campo con el avión en tierra.
Teniendo seguro que la antena en reposo apunta correctamente al norte, cuando recibe telemetria gira al revés del movimiento del avión, todo y así en el LCD H y A se equiparan pero como se ve espero en el vídeo el movimiento es contrario.
Ahí está rortega cuando puedas me comentas.
https://vimeo.com/140442430

rortega
25/09/2015, 18:24
Guillesan, eso va a ser el dato longitud que va mal de signo.

rortega
25/09/2015, 18:25
El cabrón del tracker te huye, te vuelve la cara, jajaja

rortega
25/09/2015, 18:28
Me sabe mal que te hayas desplazado al campo para probarlo, espero que hayas aprovechado para volar un rato.

Guillesan
25/09/2015, 18:29
Puede que en este segundo vídeo se aprecie mejor, parto de 0 grados y mueve el avión hacia el este y oeste y se ve como gira a la inversahttps://vimeo.com/140443705

Guillesan
25/09/2015, 18:30
Hola rortega , buenas, no es en mi casa, no he ido al campo

rortega
25/09/2015, 18:32
Hola rortega , buenas, no es en mi casa, no he ido al campo
Comprueba si hay diferencia de signo en la coordenada longitud del LCD del tracker con respecto al del LCD del RVOSD

Guillesan
25/09/2015, 18:34
Te refieres en el sketch?

Guillesan
25/09/2015, 18:47
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.

rortega
25/09/2015, 18:51
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.

Guillesan
25/09/2015, 18:53
Te lo agradezco , esto está casi a punto caramelo.

rortega
25/09/2015, 18:56
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...

rortega
25/09/2015, 18:58
Simba ¿Cuando tu te descargas alguna versión de las que yo modifico, vuelves a hacer el cambio en la fórmula?

rortega
25/09/2015, 19:01
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...

rortega
25/09/2015, 19:13
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.

Guillesan
25/09/2015, 19:16
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.

rortega
25/09/2015, 19:48
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.

Guillesan
25/09/2015, 19:52
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.

rortega
25/09/2015, 20:14
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?

rortega
25/09/2015, 20:31
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...

Simba
25/09/2015, 20:31
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.

rortega
25/09/2015, 20:33
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.

Simba
25/09/2015, 20:35
No Guillesan esta en Barcelona y el meridiano 0 pasa por Castellón muy cerca de donde estoy yo.

rortega
25/09/2015, 20:37
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????

Simba
25/09/2015, 20:38
Yo Oste, Guillesan Este

rortega
25/09/2015, 20:39
Yo Oste, Guillesan Este

Y OFFSET???

Simba
25/09/2015, 20:42
Yo 6

Simba
25/09/2015, 20:43
Vamos insignificante del orden de 0.01°

rortega
25/09/2015, 20:48
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:


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;
}

Guillesan
25/09/2015, 21:03
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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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

Simba
25/09/2015, 21:14
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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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
25/09/2015, 21:17
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
25/09/2015, 21:22
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

rortega
25/09/2015, 21:34
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.

Simba
25/09/2015, 21:38
Pero has cambiado los PID a negativo?????

rortega
25/09/2015, 21:52
Sin tocar el código fuente, y con esta configuración en el config.h ya me lo hace bien estando en el Este:

#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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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

Guillesan
25/09/2015, 21:55
Perdon me he perdido, que as cambiado ?

rortega
25/09/2015, 22:04
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.

Guillesan
25/09/2015, 22:07
Sobre los PIDs nada a decir
Declination, igual
pero OFFSET 2700 , no puedo , en espera telemetria mi antena no mirara norte.
MIN_PAN_SPEED 50 sobre este dato no me pronuncio, debo probarlo

rortega
25/09/2015, 22:09
Sobre los PIDs nada a decir
Declination, igual
pero OFFSET 2700 , no puedo , en espera telemetria mi antena no mirara norte.
MIN_PAN_SPEED 50 sobre este dato no me pronuncio, debo probarlo

He puesto MIN_PAN_SPEED a 0 y ya no traquetea.

Simba
25/09/2015, 22:10
Has visto mi valor de mi pan speed lo tengo a 1 . Cuanto más lo subas menos trabajan los PID o sea que mal.

rortega
25/09/2015, 22:11
Sobre los PIDs nada a decir
Declination, igual
pero OFFSET 2700 , no puedo , en espera telemetria mi antena no mirara norte.
MIN_PAN_SPEED 50 sobre este dato no me pronuncio, debo probarlo

Yo cuando enciendo el tracker no mira la norte. Pero en cuanto echa a andar el avión y se separa 10 metros, se gira y hace bien el seguimiento.

Guillesan
25/09/2015, 22:12
Bueno pues mañana pruebo de nuevo.

rortega
25/09/2015, 22:21
Has visto mi valor de mi pan speed lo tengo a 1 . Cuanto más lo subas menos trabajan los PID o sea que mal.

Sí, sí, me he fijado.

Yo creo que no tiene mucho sentido todo lo que está pasando, dependiendo de la configuración de esos valores se invierte.

Por ejemplo ahora, si me paso al oeste, con esa configuración estoy como antes, se me invierten OESTE y ESTE, y nore y sur siguen bien. Sin embargo en la zona de Guillesan me va perfecto.

Opino que los cálculos son un cipote monumental, esos PIDS y demás parámetros no deberían afectar tanto como para llegar a invertir los puntos cardinales.

Creo que el comportamiento debería ser normal con todos esos parámetros a cero, sólo que se pasaría unos gradillos a un lado u a otro, pero no 180, y ya se irían ajustando para que no se pasara esos gradillos y no vibrase. Creo que ese algoritmo de cálculo de PIDs es, con perdon, un mojón. Siento mucho si alguien se ofende con esta expresión, pero es que no puede ser así.

Mariete
25/09/2015, 22:21
Esto, ¿estas seguro que la cajita azul, es la que tiene el descodificador de vídeo?, que yo sepa es en la electrónica de la caja superior, la que tiene los servos, la que recibe los datos de las antenas, o sea el vídeo y el audio, es la que maneja y descodifica los datos de posición, para controlar los servos, y manda la información de vídeo (solo vídeo) + los datos de posición y control de datos del GPS local, los manda a través del slinring, a la cajita azul, que es donde te conectas para ver el vídeo.

¿Es así o estoy equivocado?


Estar seguro no estoy seguro, es deducción mía.

Yo deduzco que es el driver el que decodifica porque hay gente que utiliza el driver (sin el resto del tracker) solamente para la función Flytogether (ver en pantalla, en el OSD, la posición de los compañeros como si fuera un mapa con la distancia y diferencia de altura a la que están). Precisamente el driver se vende suelto para esto (cuesta unos $50).

rortega
25/09/2015, 22:52
Estoy mirando el histórico de cambios del config.h del original y es curioso como pasan en Abril, de ésto:

-#define P 2200 //default 2200
-#define I 280 //default 280
-#define D 20000 //default 20000

a esto otro:

+#define P 2500 //default 2200
+#define I 80 //default 280
+#define D 1000 //default 20000

Y veo en tu config.h, Guillesan, que tienes los PIDs antiguos aún, lo que indica que tenías funcionando en el tracker un versión algo antigua, y que ha variado mucho desde entonces hasta la que he empezado a modificar yo...

rortega
25/09/2015, 22:56
Estoy mirando el histórico de cambios del config.h del original y es curioso como pasan en Abril, de ésto:



a esto otro:



Y veo en tu config.h, Guillesan, que tienes los PIDs antiguos aún, lo que indica que tenías funcionando en el tracker un versión algo antigua, y que ha variado mucho desde entonces hasta la que he empezado a modificar yo...

Es precisamente en esa fecha en la que meten en la fórmula el MIN_PAN_SPEED, que es lo que creo que está liando parte del cacao.

Ese es uno de los problemas, a parte hay otros dos, por un lado que creo que no tiene en cuenta que un avión puede estar volando en un lado u otro del meridiano cero, que a su vez afecta a que tengamos que poner un OFFSET exagerado, cuando ninguno le hemos dado la vuelta a la placa.

Guillesan
25/09/2015, 23:22
Sí, sí, me he fijado.

Yo creo que no tiene mucho sentido todo lo que está pasando, dependiendo de la configuración de esos valores se invierte.

Por ejemplo ahora, si me paso al oeste, con esa configuración estoy como antes, se me invierten OESTE y ESTE, y nore y sur siguen bien. Sin embargo en la zona de Guillesan me va perfecto.

Opino que los cálculos son un cipote monumental, esos PIDS y demás parámetros no deberían afectar tanto como para llegar a invertir los puntos cardinales.

Creo que el comportamiento debería ser normal con todos esos parámetros a cero, sólo que se pasaría unos gradillos a un lado u a otro, pero no 180, y ya se irían ajustando para que no se pasara esos gradillos y no vibrase. Creo que ese algoritmo de cálculo de PIDs es, con perdon, un mojón. Siento mucho si alguien se ofende con esta expresión, pero es que no puede ser así.

Pues puede que si, no se si estas trabajando sobre un programa , mal definido de base.

Simba
25/09/2015, 23:28
Pero que estáis diciendo?
Yo ya no entiendo nada .
Pero si funciona de P. M. Yo estoy volando día si y día también y no faya nada de nada todo OK.
O es que estáis hablando de otra cosa.

rortega
25/09/2015, 23:43
Pero que estáis diciendo?
Yo ya no entiendo nada .
Pero si funciona de P. M. Yo estoy volando día si y día también y no faya nada de nada todo OK.
O es que estáis hablando de otra cosa.

Sí, claro que funciona, eso no te lo niego, pero a base de cambiar y darle la vuelta a parámetros y ajustar...Pero tu prueba a pone algunos de los parámetros como los tengo yo y a ponerte a volar al otro lado del meridiano, verás como el tracker te huye y te mira para otro lado...jajajaja.

Guillesan
25/09/2015, 23:53
Sí, claro que funciona, eso no te lo niego, pero a base de cambiar y darle la vuelta a parámetros y ajustar...Pero tu prueba a pone algunos de los parámetros como los tengo yo y a ponerte a volar al otro lado del meridiano, verás como el tracker te huye y te mira para otro lado...jajajaja.

Pues fijaros en mi, yo tengo las dos versiones
La pequeña que funciona estupendamente, seria la opinion de Simba
Y la grande que le esta dando un coñazo del 10 a rortega.
Asi que veremos mañana si termina poniendose "de cara" y no me huye ......
igual es que le da verguenza jajajajaja.

Simba
25/09/2015, 23:54
Pues no se, eso te pasa por que estas con el simulador, si estuvieras volando real, no te pasaría Jijij jaja. :laugh:.
Lo del sentido + o - de los PID y del Min pan servo, nos dimos cuenta a base de probar una y mil cosas, que empezaba a funcionar racionalmente, y todo era causado por que el servo de Pan estaba con giro invertido, y o se cambia el sentido de los PID, o se cambia el sentido del servo, cualquiera de las dos soluciones vale.
Al final al montar el servo actual con sentido igual al de los alemanes, la cosa se tubo que volver a poner sin los PID invertidos, para seguir funcionando igual.
Yo no se si haré algún vuelo pasando de Castellon, unos 40 Km de donde estoy yo que es por donde pasa el meridiano de Grenwich, y quizás se vuelva Loco el traker, pero algo me dice que no sera así, ya que a mi con Longitud en - me funciona bien, y a Guillesan con Longitud + también le funciona bien, o es que ahora no le funciona a Guillesan.

rortega
25/09/2015, 23:55
if(PID <= -500)
PID = -500;
if (Error[0] > 10){
- PWMOutput = PAN_0+PID;
+ PWMOutput = PAN_0 + PID + MIN_PAN_SPEED;
}else if(Error[0] < -10){
- PWMOutput = PAN_0+PID;
+ PWMOutput = PAN_0 + PID - MIN_PAN_SPEED;
} else {
PWMOutput = PAN_0;
}

Mirad ésto, en el sistema de control de versioens git, las líneas precedidas de un - indican que esa linea desaparece, y las precedidas de un + que se agregan. Las resalto en rojo y en verde para que se vean mejor.

El MIN_PAN_SPEED antes no existía, por eso cuando lo ponemos a 0 nos va mejor.

El problema de vernos obligados a poner el offset a 2700 está en la función getErorr que puse más abajo, fijo que sí. Y que los puntos cardinales se desplacen 180 grados podría estar en esos valores tan altos de PID, mezclado con el efecto del MIN_PAN_SPEED.

Guillesan
25/09/2015, 23:56
Una preguntilla, seria posible descargarme el programa que tengo flasheado en la antena pequeña, hace tanto tiempo que ya ni me acuerdo como estaban los parametros.
Es decir coger de la placa Crius la configuracion.

rortega
25/09/2015, 23:59
Pues no se, eso te pasa por que estas con el simulador, si estuvieras volando real, no te pasaría Jijij jaja. :laugh:.
Lo del sentido + o - de los PID y del Min pan servo, nos dimos cuenta a base de probar una y mil cosas, que empezaba a funcionar racionalmente, y todo era causado por que el servo de Pan estaba con giro invertido, y o se cambia el sentido de los PID, o se cambia el sentido del servo, cualquiera de las dos soluciones vale.
Al final al montar el servo actual con sentido igual al de los alemanes, la cosa se tubo que volver a poner sin los PID invertidos, para seguir funcionando igual.
Yo no se si haré algún vuelo pasando de Castellon, unos 40 Km de donde estoy yo que es por donde pasa el meridiano de Grenwich, y quizás se vuelva Loco el traker, pero algo me dice que no sera así, ya que a mi con Longitud en - me funciona bien, y a Guillesan con Longitud + también le funciona bien, o es que ahora no le funciona a Guillesan.

Calla, calla, que me acuerdo de los tropecientos paquetitos que no me terminan de llegar. Y riete Simba, riete, pero cada vez vuelas más lejos, un día te pasas de los 40 km y ya no ves más a tu avión...estás avisado...:biggrin:

rortega
26/09/2015, 00:01
Una preguntilla, seria posible descargarme el programa que tengo flasheado en la antena pequeña, hace tanto tiempo que ya ni me acuerdo como estaban los parametros.
Es decir coger de la placa Crius la configuracion.

No lo he hecho nunca, pere es posible bajarse el binario y tal cual subirlo a otra controladora, pero no se puede ver la configuración ni nada de código, es ya todo compilado, habría que ser un experto en ingeniería inversa y conocer muy bien la arquitectura del procesador para saber que es cada cosa.

Simba
26/09/2015, 00:03
Joer, sape culebra no tientes la suerte :icon_twisted::icon_twisted::icon_twisted:, me iré para el sur no sea que Murfi me entere :laugh::laugh:

Guillesan
26/09/2015, 00:03
Mirad ésto, en el sistema de control de versioens git, las líneas precedidas de un - indican que esa linea desaparece, y las precedidas de un + que se agregan. Las resalto en rojo y en verde para que se vean mejor.

El MIN_PAN_SPEED antes no existía, por eso cuando lo ponemos a 0 nos va mejor.

El problema de vernos obligados a poner el offset a 2700 está en la función getErorr que puse más abajo, fijo que sí. Y que los puntos cardinales se desplacen 180 grados podría estar en esos valores tan altos de PID, mezclado con el efecto del MIN_PAN_SPEED.

Vamos a ver el OFFSET segun pone el comentario en el programa es para ajustar la brujula hacia el norte si es que no puedes mecanicamente montarla con la flecha en esa direccion,bien.
En esta antena grande estoy usando un gps + brujula, todo en uno.
Este hardware es diferente a la Crius de la antena pequeña, por lo que al ponerla en la caja y no tener en ese gps ninguna flecha que me indique hacia donde la tengo que montar, lo que hice fue ajustar el offset para que las antenas en reposo miraran hacia el norte, pienso que lo hecho es racional, claro esta que el resultado parece que no es operativo.

Guillesan
26/09/2015, 00:04
No lo he hecho nunca, pere es posible bajarse el binario y tal cual subirlo a otra controladora, pero no se puede ver la configuración ni nada de código, es ya todo compilado, habría que ser un experto en ingeniería inversa y conocer muy bien la arquitectura del procesador para saber que es cada cosa.

OK va a ser que no...

rortega
26/09/2015, 00:06
Vamos a ver el OFFSET segun pone el comentario en el programa es para ajustar la brujula hacia el norte si es que no puedes mecanicamente montarla con la flecha en esa direccion,bien.
En esta antena grande estoy usando un gps + brujula, todo en uno.
Este hardware es diferente a la Crius de la antena pequeña, por lo que al ponerla en la caja y no tener en ese gps ninguna flecha que me indique hacia donde la tengo que montar, lo que hice fue ajustar el offset para que las antenas en reposo miraran hacia el norte, pienso que lo hecho es racional, claro esta que el resultado parece que no es operativo.

Bueno, podría ser que en tu caso si sea correcto ¿Pero y en el mío? Mi brújula si apunta al norte ¿2700 de offset? Te digo yo que ese código del tracker lo han probado 4, y tres somos nosotros, de los cuales uno sólo vuela en el Oeste (Simba), que le ha tenido que dar la vuelta a las fórmulas en la versión antigua.

Guillesan
26/09/2015, 00:07
Bueno, podrái ser que en tu casi si sea correcto ¿Pero y en el mío? Mi brújula si apunta al norte ¿2700 de offset? Te digo yo que ese código del tracker lo han probado 4, y tres somos nosotros.

Bueno Rangarid el aleman me consta que si le funcionaba, subio un video , usaba FRSKY como telemetria

Simba
26/09/2015, 00:10
Entonces ¿quieres decir que si le pongo el simulador y vuelo partiendo de mi posición real, hacia el Este ?
El traker me seguira (simulado) hasta llegar al meridiano 0, y luego empezara a seguirme invertido, o sea que si voy al Sur el Traker apuntara hacia el Norte, y si desde el mas allá del meridiano, doy la vuelta el traker en lugar de apuntar al Este, apuntara al Oeste.

Joder (perdón) que lio nos estamos haciendo.

¿lo has probado tu ya )

Guillesan
26/09/2015, 00:12
No en mi prueba solo he subido un par de videos, no se si los as visto donde se ve como la antena gira al inverso del movimiento del avion, que desplazo yo en tierra.

Simba
26/09/2015, 00:13
Bueno, podría ser que en tu caso si sea correcto ¿Pero y en el mío? Mi brújula si apunta al norte ¿2700 de offset? Te digo yo que ese código del tracker lo han probado 4, y tres somos nosotros, de los cuales uno sólo vuela en el Oeste (Simba), que le ha tenido que dar la vuelta a las fórmulas en la versión antigua.
QUE NO QUE LO DE LAS FORMULAS ERA POR EL SERVO INVERTIDO.

Guillesan
26/09/2015, 00:14
Bueno probare mañana a invertir esos valores, sera por probar.

Simba
26/09/2015, 00:20
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.

rortega
26/09/2015, 00:25
Entonces ¿quieres decir que si le pongo el simulador y vuelo partiendo de mi posición real, hacia el Este ?
El traker me seguira (simulado) hasta llegar al meridiano 0, y luego empezara a seguirme invertido, o sea que si voy al Sur el Traker apuntara hacia el Norte, y si desde el mas allá del meridiano, doy la vuelta el traker en lugar de apuntar al Este, apuntara al Oeste.

Joder (perdón) que lio nos estamos haciendo.

¿lo has probado tu ya )

Sí, a eso me refiero, y eso es lo que me sucede.

Guillesan
26/09/2015, 00:27
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
}

Bueno Simba flasheado con esos valores negativos, mañana lo pruebo, ya pondre resultados.

Simba
26/09/2015, 00:31
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.

rortega
26/09/2015, 00:34
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.

rortega
26/09/2015, 00:35
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.

Simba
26/09/2015, 00:35
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M. :rolleyes2:

rortega
26/09/2015, 00:38
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.

rortega
26/09/2015, 00:40
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M. :rolleyes2:

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.

Guillesan
26/09/2015, 00:42
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

TURRUK
26/09/2015, 01:06
Mañana mas me voy al catre, pero que conste que my Traker y el de Turruk funcionan de P.M. :rolleyes2:

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.:rolleyes:

rortega
26/09/2015, 08:18
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.:rolleyes:

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:


¿Un servo de giro continuo de 360º es capaz de girar a distintas velocidades?
¿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...

Simba
26/09/2015, 10:34
Mi dudas son dos:


¿Un servo de giro continuo de 360º es capaz de girar a distintas velocidades?
¿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. :ansioso::ansioso::ansioso:

Que seáis felices.

Simba
26/09/2015, 11:07
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.

Guillesan
26/09/2015, 14:24
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.

Simba
26/09/2015, 15:17
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.

marcoasj
26/09/2015, 15:27
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

marcoasj
26/09/2015, 15:37
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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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

marcoasj
26/09/2015, 15:41
http://images.tapatalk-cdn.com/15/09/26/a1612e98739d4130c926a960030e1b27.jpg


http://images.tapatalk-cdn.com/15/09/26/7ab3d0b9d46ff98f3eb1f4aec1ca0d14.jpg

Enviado desde mi SM-G900F mediante Tapatalk

Simba
26/09/2015, 16:15
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)

marcoasj
26/09/2015, 16:16
Ok, en cuanto vuelva la placa de vuelta se los pongo.

Enviado desde mi SM-G900F mediante Tapatalk

rortega
26/09/2015, 18:18
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.

Guillesan
26/09/2015, 20:37
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.

rortega
26/09/2015, 20:56
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

Simba
26/09/2015, 22:41
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
26/09/2015, 22:52
Guillesan cuando puedas me pones una foto, que se vea como tienes montado el magnetometro.
Gracias.

marcoasj
27/09/2015, 00:24
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

marcoasj
27/09/2015, 00:29
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

rortega
27/09/2015, 07:14
É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.

Simba
27/09/2015, 10:43
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
27/09/2015, 10:46
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.

rortega
27/09/2015, 12:09
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.

rortega
27/09/2015, 12:13
Guillesan, has probado ya???

Simba
27/09/2015, 13:19
Pues si rortega, pienso igual que tu, creo que estas en lo cierto y lastima que yo no pueda ayudarte en la programación, pero creo que con eso que comentas, de controlar con varios pulsos concretos seria una solución limpia y mucho mas efectiva.
Eso si con la ayuda del filtro de parada (la ventada de angulo permitido), que creo que eso si seria efectivo.

Creo que con el otro tema de meridiano 0, ya empiezo a comprender el tema.
Corrígeme, pero creo que el problema se establece al estar el Traker360, en distinto cuadrante del avión, cuando uno está al Este y el otro al Oeste de meridiano, cuando la diferencia es negativa.
Los Germánicos como están lejos del meridiano, ni lo han pensado.
La solución parece fácil de implementar con un condicional en la formula.

Esto ultimo y un poco la comprensión del problema, me lo ha comentado un compañero que entiende algo del tema, (es ingeniero aeronáutico y también sabe algo de programación), y no entiende como han sido tan mendrugos de no haber puesto la solución.

Sl2

rortega
27/09/2015, 13:25
Pues si rortega, pienso igual que tu, creo que estas en lo cierto y lastima que yo no pueda ayudarte en la programación, pero creo que con eso que comentas, de controlar con varios pulsos concretos seria una solución limpia y mucho mas efectiva.
Eso si con la ayuda del filtro de parada (la ventada de angulo permitido), que creo que eso si seria efectivo.

Creo que con el otro tema de meridiano 0, ya empiezo a comprender el tema.
Corrígeme, pero creo que el problema se establece al estar el Traker360, en distinto cuadrante del avión, cuando uno está al Este y el otro al Oeste de meridiano, cuando la diferencia es negativa.
Los Germánicos como están lejos del meridiano, ni lo han pensado.
La solución parece fácil de implementar con un condicional en la formula.

Esto ultimo y un poco la comprensión del problema, me lo ha comentado un compañero que entiende algo del tema, (es ingeniero aeronáutico y también sabe algo de programación), y no entiende como han sido tan mendrugos de no haber puesto la solución.

Sl2

Porque creo que no ha reportado nadie el error, que ésto se lo ha guisado y comido una persona sola, el único que ha programado y probado el tracker, y que hasta que no se ha puesto gente a montarlo y usarlo no se han experimentado problemas.

Suele suceder en programación que un informático está siempre desarrollando y hace siempre las mismas pruebas, da los mismos pasos, y hasta que no llega el software a manos de un usuarios normales, que hacen las cosas de otroa manera, sin pensar como informáticos, no empiezan a aflorar los fallos.

En el caso del algoritmo de RVOSD pasaba eso, nadie lo había probado, hasta que Guillesan se empeñó, y se ha visto que estaba literalmente sin terminar, o estaba terminado sin testear.

rortega
27/09/2015, 14:28
Creo que ya sé por qué el OFFSET es 900 por defecto, podría deberse a que el magnetómetro de la crius está desviado 90 grados con respecto a la flechita blanca. Pero claro, cara al usuario final, el offset debería ser 0, porque a lo que le damos vuelta es a la placa y no al magnetómetro.

Lo he descubierto dándole vueltas a la fórmula que calcula el heading y poniendo tanto offset como declinación a 0 para que no influya a la fórmula. Compilo subo y cuando apunto el tracker al Norte en el display me muestra 90 grados.

En esa funnción hace una operación módulo 3600, que tampoco tiene mucha explicación, porque por más vueltas que le demos al al tracker en el mismo sentido, nunca sobrepasa el valor de 360 grados, empezando de cero nuevamente en cada vuelta.

A parte hay un par de multiplicaciones por M_PI, cuando mirando otros ejemplos de implementación del MAG, esas multiplicaciones deberían ser PI. Ésto no produce ninguna diferencia, pero lo he dejado así para seguir pera seguir lo que parece un estandar en las implementaciones. M_PI y PI parecen ser lo mismo (3.1415....).

Resumiendo, añadíamos 2700 (270 grados) para compensar ese desplazamiento de 90 grados, de modo que así nos apunta a 360, o lo que es lo mismo, a cero. El poner 2700 y no 270, es porque el magnetómetro nos devuelve los datos en radianes/10, y al pasarlo a grados haqy que multiplicar por 180 grados * 10.

Mi intención es modificar esa fórmula para que la flecha y el offset de la crius tenga la lógica humana de a pie. Flecha al norte offset 0, flecha al este offset 90, flecha al sur offset 180, flecha al oeste offset 270. Y por supuesto sin multiplicar por 10.

Simba
27/09/2015, 14:35
OK pues adelante y luego lo de los pulsos pasando del control actual de PID, eso estoy deseando probarlo.

Simba
27/09/2015, 18:27
Bueno, resulta que buscando me encuentro con algo muy parecido o practicamente igual, al calculo del PID utilizado en nuestro Traker.

Parece ser que si utiliza un sistema real de PID, un metodo de acumulador utilizado en Arduino, para poder utilizar la función Integral y Derivativa, con una cierta logica, que yo no alcanzo a entender, pero que habitualmente es lo se utiliza en Arduino.
Pongo enlace por si interesa:
http://blog.solutions-cubed.com/pid-motor-control-with-an-arduino/

rortega
27/09/2015, 19:21
Bueno, resulta que buscando me encuentro con algo muy parecido o practicamente igual, al calculo del PID utilizado en nuestro Traker.

Parece ser que si utiliza un sistema real de PID, un metodo de acumulador utilizado en Arduino, para poder utilizar la función Integral y Derivativa, con una cierta logica, que yo no alcanzo a entender, pero que habitualmente es lo se utiliza en Arduino.
Pongo enlace por si interesa:
http://blog.solutions-cubed.com/pid-motor-control-with-an-arduino/

Fíjate lo que dice...:

"This is similar in operation to a hobby servo, but the potentiometer provides the control signal instead of a pulse from a receiver (and of course you are using a motor, not an RC servo)."

Estoy trabajando en el lío, y no estoy muy lejos de tenerlo...

Simba
27/09/2015, 19:42
Si, esta claro que el sistema de PID utilizado es similar al que utiliza un servo radiocontrol, pero tienes que tener en cuenta un detalle, en el servo de Pan al utilizar un servo 360º, este ya no tiene la referencia de error, que le suministraba el potenciómetro sustituido.

En este caso el error se lo suministra el calculo de posición, pero esta información no la tiene directamente el servo, el cual en nuestro caso se comporta como un simple motor, con dos sentidos de giro y un cierto control de velocidad, pero no de posición.
Para conseguir un mínimo control de posición, se necesita algo mas que decirle que gire en el sentido de reducir el error, creo que se necesita modular el pulso de control, no a saltos en función de la magnitud del error, si no de forma continua, en función de la magnitud de la desviación, y eso solo lo puede hacer un sistema de control PID.

Es para pegarle una buena pensada, por que tiene su miga.

marcoasj
27/09/2015, 19:48
Si, esta claro que el sistema de PID utilizado es similar al que utiliza un servo radiocontrol, pero tienes que tener en cuenta un detalle, en el servo de Pan al utilizar un servo 360º, este ya no tiene la referencia de error, que le suministraba el potenciómetro sustituido.

En este caso el error se lo suministra el calculo de posición, pero esta información no la tiene directamente el servo, el cual en nuestro caso se comporta como un simple motor, con dos sentidos de giro y un cierto control de velocidad, pero no de posición.
Para conseguir un mínimo control de posición, se necesita algo mas que decirle que gire en el sentido de reducir el error, creo que se necesita modular el pulso de control, no a saltos en función de la magnitud del error, si no de forma continua, en función de la magnitud de la desviación, y eso solo lo puede hacer un sistema de control PID.

Es para pegarle una buena pensada, por que tiene su miga.
A ver si me estoy enterando, sibse cambia el tema lo que se conseguirá es que se envíen pulsos de control del servo cuya fuerza será proporcional al lo lejos que estemos de la dirección correcta. Es decir mayor error en ángulo, mayor pulso que devendrá en mayor velocidad, y conforme se acerque al error cero menor pulso. Correcto ??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
27/09/2015, 20:13
Si pero con matices.
Esa acción que parece fácil tiene que tener implícita un control PID, pero creo que es necesario.

rortega
27/09/2015, 21:22
No hablo mucho porque estoy a punto de volverme loco...Hay algo que no hago bien, o un error en algún sitio que no termino de congsguir lo que busco. Creo que mañana seguiré...

Simba
27/09/2015, 21:37
Ok un buen descanso hace ver lo que no se ve cansado.
Buenas noches

rortega
28/09/2015, 00:54
He conseguido el mismo comportamiento, sin control de PIDs, con el OFFSET a 0 para la crius. Me falta quitar el problema de volar al este o al oeste, que ya me imagino donde está el error.

La función getError() queda al final así:

int getHeading() {
while (!readRawAxis());

double heading = atan2((magADC[1]* magGain[1]) - magZero[1], (magADC[0]* magGain[0]) - magZero[0]) ;

if (heading < 0)
heading += 2 * PI;

if (heading > 2 * PI)
heading -= 2 * PI;

#ifdef CRIUS_SE
#define MAG_CORRECTION 270
#else
#define MAG_CORRECTION 0
#endif

return (int)(heading*180/M_PI+MAG_CORRECTION+DECLINATION+OFFSET)%360;
}Coloca la corrección de 270 grados si tenemos una crius y trabajamos en grados a partir de ahora (antes trabajaba en grados multiplicado por 10), lo que nos permitirá indicar un offset en grados en caso de que cambiemos la placa de posición.

La función getError() queda así:

void getError(void)
{

delta=trackerPosition.heading-targetPosition.heading/10;
if (delta > 180) {
delta -= 360;
}
else if (delta < -180) {
delta += 360;
}

}Ya no metemos los errores sucesivos en el array Error[], pues no necesitamos realizar calculos con ellos. Usamos una variable llamda delta en su lugar. Nuevamente, trabajamos en grados, sin pultiplicar por 10.

La función calculatePID() quedaría así:

void calculatePID(void)
{

int PAN_SPEED;

PAN_SPEED=map(abs(delta), MIN_DELTA, 180, MIN_PAN_SPEED, MAX_PAN_SPEED);

if(abs(delta)<=MIN_DELTA)
PWMOutput = PAN_0;
if (delta<0)
PWMOutput = PAN_0 + PAN_SPEED;
else if(delta>0)
PWMOutput = PAN_0 - PAN_SPEED;

#if SERVOTEST
Serial.print(" PAN_0: ");Serial.print(PAN_0);
Serial.print(" PAN_SPEED: ");Serial.print(PAN_SPEED);
Serial.print(" PWMOutput: ");Serial.println(PWMOutput);
#endif

}La clave estaría en:

PAN_SPEED=map(abs(delta), MIN_DELTA, 180, MIN_PAN_SPEED, MAX_PAN_SPEED);


que mapea (asigna de forma proporional) valores entre MIN_PAN_SPEED y MAX_PAN_SPEED para el gradiente de errores que van desde MIN_DELTA hasta 180.

De esta forma, cuando el tracker va llegando a la posición donde se encuentra el avión, se va reduciendo la velocidad de giro poco a poco, y por el contrario, si se encuentra lejos, intenta moverse lo más rápido posible.

Ya no harían falta en el config.h los parámetros P, I, D y MAX_PID_ERROR. Para configurar esta nueva forma de mover el tracker, se usarían los siguientes parámetros:

#define CRIUS_SE
#define MIN_DELTA 1
#define MIN_PAN_SPEED 0
#define MAX_PAN_SPEED 300
#define DECLINATION 0
#define OFFSET 0

MIN_DELTA: EL ángulo mínimo entre el tracker y el avión a partir del cual ya dejamos de mover el tracker, consideramos que hemos llegado al objetivo.
MIN_PAN_SPEED: El valor mínimo en milisegundos a los que tenemos que incrementar el pulso definido en PAN_0 para que el tracker se mueva a la velocidad más lenta.
MAX_PAN_SPEED: El valor mínimo en milisegundos a los que tenemos que incrementar el pulso definido en PAN_0 para que el tracker se muev a la velocidad más rápida.
DECLINATION: Sin cambios, sigue teniendo la misma función.
OFFSET: Ahora se introduce en grados, y puede ir de -180 a 180, o de 0 a 360.

Estos cambios implican también algunos cambios menores para poder visualizar en el LCD los datos correctamente, pues se estaban trabajando con las mismas unidades pero multiplicadas por 10. También tendré que repasar el modo SERVOTEST para que vaya en sintonía con los cambios introducidos en las funciones.



De momento en mi tracker tiene el mismo comportamiento que tenía con el control con PIDs, pero ahora la configuración es más intuitivas y sencilla.

rortega
28/09/2015, 01:27
Ahí dejo un vídeo del comportamiento del tracker con los mismos parámetros del post anterior:

https://www.youtube.com/watch?v=p8XK42Zvl4s

El tracketeo se debe en su mayor parte a lo mal montados que están la caja y el servo.

Mañana intentaré corregir el problema del meridiano 0 y ajustaré parámetros para afinarlo lo más posible.

rortega
28/09/2015, 08:02
La parte que no he contado de la historia, es que podemos aplicar distintas funciones maps (con dos bastaría) en función del delta, o aplicarla únicamente en el tramo donde más cerca estemos de alcancar el ángulo mínimo, o incluso crearnos nuestra propia función función de transformación.

De todas formas creo que no va a ser necesario tanto lío porque como ya dije, al menos mi servo no va a distintas y tan variadas velocidades, va o muy rápido, o lento, o casi parándose, pero poco más.

Todo ésto son elucubraciones mías, no hay nignún copy paste de ningún sitio, sólo le he dado forma a lo que llevaba rondando mi cabeza bastante tiempo. No sé si al final será más o menos efectivo que lo que hay ahora mismo, pero tengo claro que será mucho más intuitivo de configurar para afinarlo, si es que se puede afinar.

En el cálculo con parámetros PID, aunque no lo he comprobado con datos, tengo clarísimo que esos cálculos de PIDs, metiendo además de por medio el MIN_PAN_SPEED y demás, era para conseguir hacer una curva de respuesta muy parecida a la de una honda cuadrada, en la que quizás el flanco de subida tiene cierta pendiente, es decir, pasar un valor alto cuando está lejos el objetivo, y pasar valores próximos al pulso de parada cuando casi lo alcanzamos.

rortega
28/09/2015, 08:24
61831

La función map que he aplicado está representada con la línea contínua recta.

La línea curva discontínua sería quizás lo más adecuado aplicar (interpretarla de derecha a izquierdas).

TURRUK
28/09/2015, 09:41
Hola señor Rortega, me gusta este concepto de ajustes simples de PID y restos ,mi pregunta, se queda lo mismo o mas aun fino? Para personas que se anima hacer este tracker se simplifica mucho .Gracias.

marcoasj
28/09/2015, 09:43
61831

La función map que he aplicado está representada con la línea contínua recta.

La línea curva discontínua sería quizás lo más adecuado aplicar (interpretarla de derecha a izquierdas).
Vaya Currada que te has pegao......[emoji106]

Por cierto algun avance en el mov del tilt ??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
28/09/2015, 10:17
rortega, creo entender lo que pretendes pero me faltan datos, en principio opino que lo del MIN_PAN_SPEED, fue una solución que le diaron por alguna razón que desconozco, y se ha quedado sin hacer ninguna falta, puesto que nosotros la llevamos a 0 y es como mejor funciona.

Yo lo llevo solo con la función PID, y la ventana del filtro de paro servo, también esta al mínimo, a 1 y -1, lo cual quiere decir que prácticamente solo esta trabajando el PID.
Con todo lo que estas haciendo, se mejorara la interpretación del error, y eso mejorara la respuesta, pero creo que esto no eliminara el PID, pues siempre se necesitara la función PID para hacer un control fino y sin oscilaciones.

marcoasj
28/09/2015, 10:19
rortega, creo entender lo que pretendes pero me faltan datos, en principio opino que lo del MIN_PAN_SPEED, fue una solución que le diaron por alguna razón que desconozco, y se ha quedado sin hacer ninguna falta, puesto que nosotros la llevamos a 0 y es como mejor funciona.

Yo lo llevo solo con la función PID, y la ventana del filtro de paro servo, también esta al mínimo, a 1 y -1, lo cual quiere decir que prácticamente solo esta trabajando el PID.
Con todo lo que estas haciendo, se mejorara la interpretación del error, y eso mejorara la respuesta, pero creo que esto no eliminara el PID, pues siempre se necesitara la función PID para hacer un control fino y sin oscilaciones.
Totalmente de acuerdo, a mi me dejó de oscilar el pan con la ventana de error del PID.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
28/09/2015, 11:12
Estoy probando 2 servos de Pan 360º, y me da el maximo de desviación del 0, con +- 200ms, es decir que con 1500ms están parados y con 1300ms está a máxima velocidad en un sentido y con 1700ms al maximo en sentido contrario, o sea tenemos una ventana de control de +-200ms.
Este es el rango maximo que deberíamos tener para la variable de error, pues ir mas lejos de esos valores no es significativo.

Esta probado sin carga en los servos, pero creo que es bastante real, no necesitaríamos mas rango que esa ventana de +-200ms.
Si se consigue con lo que estas haciendo, acotar el rango de error a esos valores de respuesta del servo, se conseguiría una mejor resolución.

Si es necesario podría hacer un vídeo, pero solo si es necesario.

rortega
28/09/2015, 12:35
Hola señor Rortega, me gusta este concepto de ajustes simples de PID y restos ,mi pregunta, se queda lo mismo o mas aun fino? Para personas que se anima hacer este tracker se simplifica mucho .Gracias.
No me ha dado tiempo para probar a afinar, pero ahora es de suponer que conseguirlo será más intuitivo, espero.

rortega
28/09/2015, 12:37
Vaya Currada que te has pegao......[emoji106]

Por cierto algun avance en el mov del tilt ??

Enviado desde mi SM-G900F mediante Tapatalk
Para resolver tu problema no, de momento. Pero sigo con ello en mente, no me he olvidado.

rortega
28/09/2015, 12:50
rortega, creo entender lo que pretendes pero me faltan datos, en principio opino que lo del MIN_PAN_SPEED, fue una solución que le diaron por alguna razón que desconozco, y se ha quedado sin hacer ninguna falta, puesto que nosotros la llevamos a 0 y es como mejor funciona.

Yo lo llevo solo con la función PID, y la ventana del filtro de paro servo, también esta al mínimo, a 1 y -1, lo cual quiere decir que prácticamente solo esta trabajando el PID.
Con todo lo que estas haciendo, se mejorara la interpretación del error, y eso mejorara la respuesta, pero creo que esto no eliminara el PID, pues siempre se necesitara la función PID para hacer un control fino y sin oscilaciones.
Es que yo creo que no hay mucho lugar a las oscilaciones, o llegas al punto exacto o te quedas retrasado, porque estamos siguiendo siempre al avión. Si éste no cambia de dirección repentinamente, nunca lo sobrepasamos, porque en la parte final el servo se mueve muy lento.

Esos traqueteos no son oscilaciones, es la holgura de mi mal montaje. Cuando el tracker alcanza al avión, si este se va alejando en la misma dirección a la que apunta, o se acerca directo a él , se queda quietecito.

Yo lo que trato de explicar es que el control de PID que teníamos hasta ahora, lo que hace no es corregir oscilaciones, lo que hace es intentar conseguir una curva en el ancho del pulso muy parecida a la que he pintado, reduciendo la velocidad si se estrecha el ángulo o aumentando si se ensancha. Es como si se hubiese intentado aprovechar el código para conseguir un comportamiento muy concreto. No termino de explicarme bien, pero es como si le pones ruedas a una tabla de surf, se diseñaron para navegar por el agua, pero tú le haces un apaño y la usas para otra cosa.

De todos modos puedo estar equivocado.

rortega
28/09/2015, 12:51
Estoy probando 2 servos de Pan 360º, y me da el maximo de desviación del 0, con +- 200ms, es decir que con 1500ms están parados y con 1300ms está a máxima velocidad en un sentido y con 1700ms al maximo en sentido contrario, o sea tenemos una ventana de control de +-200ms.
Este es el rango maximo que deberíamos tener para la variable de error, pues ir mas lejos de esos valores no es significativo.

Esta probado sin carga en los servos, pero creo que es bastante real, no necesitaríamos mas rango que esa ventana de +-200ms.
Si se consigue con lo que estas haciendo, acotar el rango de error a esos valores de respuesta del servo, se conseguiría una mejor resolución.

Si es necesario podría hacer un vídeo, pero solo si es necesario.
No, no hace falta, lo entiendo perfectamente.

Simba
28/09/2015, 13:13
Mira, según lo veo yo, y me baso en mi experiencia profesional, toda acción necesariamente tiene una reacción, y si pop ejemplo mueves algo a la izquierda salvo que el ajuste final sea muy muy lento, o te pasas o no llegas.
Esto es física pura y dura, y en un control de posición que es en lo que estamos, tenemos que mover el traker de la posición A a la B, en el menor tiempo posible, lo mas exacto posible y sin rebotes en lo posible, y todo esto que yo sepa solo es posible con un control de tipo PID.

Con P tenemos proporcional al error, la fuerza para mover el bicho lo mas rápidamente posible.

Con I tenemos el control sobre el 0 de posición, lo mas exacto posible, y se basa en la integral en el tiempo del error, en el programa utiliza una función acumulador.

Con D que es la menos importante, tenemos la aceleración necesaria para que arranque el movimiento con viveza, y también es función del tiempo, pero actuá como fuerza antagonista a la P, es decir si se mueve lento acelera y si se mueve rápido decelera. Es la que se encarga de amortiguar sobre el punto 0, y se nota mucho cuando ajustamos con el servotes.

Estos valores son muy importantes para que funcione fino, pero no son complicados de ajustar, sobre todo partiendo de unos valores conocidos, pues los Traker son todos muy similares (si no ponemos servos muy raros).

rortega
28/09/2015, 14:23
Mira, según lo veo yo, y me baso en mi experiencia profesional, toda acción necesariamente tiene una reacción, y si pop ejemplo mueves algo a la izquierda salvo que el ajuste final sea muy muy lento, o te pasas o no llegas.
Esto es física pura y dura, y en un control de posición que es en lo que estamos, tenemos que mover el traker de la posición A a la B, en el menor tiempo posible, lo mas exacto posible y sin rebotes en lo posible, y todo esto que yo sepa solo es posible con un control de tipo PID.

Con P tenemos proporcional al error, la fuerza para mover el bicho lo mas rápidamente posible.

Con I tenemos el control sobre el 0 de posición, lo mas exacto posible, y se basa en la integral en el tiempo del error, en el programa utiliza una función acumulador.

Con D que es la menos importante, tenemos la aceleración necesaria para que arranque el movimiento con viveza, y también es función del tiempo, pero actuá como fuerza antagonista a la P, es decir si se mueve lento acelera y si se mueve rápido decelera. Es la que se encarga de amortiguar sobre el punto 0, y se nota mucho cuando ajustamos con el servotes.

Estos valores son muy importantes para que funcione fino, pero no son complicados de ajustar, sobre todo partiendo de unos valores conocidos, pues los Traker son todos muy similares (si no ponemos servos muy raros).
Sí, si lo entiendo, pero no trato de decir que no hay que usar un sistema de control PID, trato de decir que tal sistema PID no parecía estar empleado como tal. De todos modos, con la nueva implementación el efecto debería ser igual, pues si te pasas también corriges, y de forma proporcional al error.

Simba
28/09/2015, 14:53
Entonces entiendo que la nueva implementación, sustituye al control PID actual, pero con otro principio de control.
Pues se prueba y se sale de dudas.

Lo que si que te digo es que para mi sera un nuevo sistema o algoritmo de control, pero en sistemas de control, incluso en aquellos que son de respuesta super lenta, como son los controles termicos (control de temperatura de un horno), el sistema PID es insustituible, salvo que se asuma de antemano, una oscilación de temperatura de x grados, alrededor del punto de consigna.
Pero bueno todo consiste en probar.

Simba
28/09/2015, 19:03
Hola rortega, no se si te lo vas a creer, pero me acabo de enterar de por donde llevas las cosas.
Resulta que esta mañana he tenido Hospitalitis con mi Sra. suegra, o sea que la he tenido que llevar temprano al Hospital (al final nada grabe, una chorrada), pero el caso es que estaba con el Movil y el Tapatalk, y entre unas cosas y otras, no me he enterado de los posts anteriores, ni del video de tu traker.
Resumiendo que después de leerlo todo, veo que los progresos pueden ser muy buenos, sobre todo si los traqueteos son por la mecánica, habrá que ver eso.

Un saludo

rortega
28/09/2015, 19:19
Hola rortega, no se si te lo vas a creer, pero me acabo de enterar de por donde llevas las cosas.
Resulta que esta mañana he tenido Hospitalitis con mi Sra. suegra, o sea que la he tenido que llevar temprano al Hospital (al final nada grabe, una chorrada), pero el caso es que estaba con el Movil y el Tapatalk, y entre unas cosas y otras, no me he enterado de los posts anteriores, ni del video de tu traker.
Resumiendo que después de leerlo todo, veo que los progresos pueden ser muy buenos, sobre todo si los traqueteos son por la mecánica, habrá que ver eso.

Un saludo
No es mi intención sustituir el sistema ahora, es más, voy a resolver el tema del offset y el tema del meridiano para que no haya más problemas con eso, porque ahora mismo es lo más simple y creo que más urgente.

Con respecto a los PIDs mi intención es comprender mejor cómo y por qué lo han implementado así, y tratar de mejorarlo para que no nos topemos más con los problemas de ajustes, que son incomprensibles. Hoy me he dedicado un rato a mirar en detalle la función calculatePID y estoy empezando a comprender el por qué de algunas cosas.

Lo ideal sería desarrollarlo de tal forma que se autoajuste. Me explico, hacer que el tracker por sí sólo calcule su rango de pulsos que lo llevan de estar parado a alcanzar la máxima velocidad, y a partir de ahí ajustar todos los parámetros que intervienen en el control PID para que la curva de respuestas contenga la menor oscilación posible.

rortega
28/09/2015, 19:23
No es mi intención sustituir el sistema ahora, es más, voy a resolver el tema del offset y el tema del meridiano para que no haya más problemas con eso, porque ahora mismo es lo más simple y creo que más urgente.

Con respecto a los PIDs mi intención es comprender mejor cómo y por qué lo han implementado así, y tratar de mejorarlo para que no nos topemos más con los problemas de ajustes, que son incomprensibles. Hoy me he dedicado un rato a mirar en detalle la función calculatePID y estoy empezando a comprender el por qué de algunas cosas.

Lo ideal sería desarrollarlo de tal forma que se autoajuste. Me explico, hacer que el tracker por sí sólo calcule su rango de pulsos que lo llevan de estar parado a alcanzar la máxima velocidad, y a partir de ahí ajustar todos los parámetros que intervienen en el control PID para que la curva de respuestas contenga la menor oscilación posible.
Como no hay espacio en memoria para muchas florituras, mi idea es realizar un sketch por separado que nos devuelva los valores de PID y demás parámetros (PAN_0, MIN_PAN_SPEDD)... más adecuado, y a posteriori en el sketch principal ajustar esos valores lo mínimo si fuera necesario.

TURRUK
28/09/2015, 19:31
Hola rortega, no se si te lo vas a creer, pero me acabo de enterar de por donde llevas las cosas.
Resulta que esta mañana he tenido Hospitalitis con mi Sra. suegra, o sea que la he tenido que llevar temprano al Hospital (al final nada grabe, una chorrada), pero el caso es que estaba con el Movil y el Tapatalk, y entre unas cosas y otras, no me he enterado de los posts anteriores, ni del video de tu traker.
Resumiendo que después de leerlo todo, veo que los progresos pueden ser muy buenos, sobre todo si los traqueteos son por la mecánica, habrá que ver eso.

Un saludo

Hola quiero añadir sobre comentarios de Simba, en el vidoe se ve la mita vuelta bien y otra la mita ya empieza hacer como con holguras. Post anterior el Simba explicaba a uno de foro es fundamental montar el mecanica del tracker, tiene que encajar perfecto, si no por una parte de cranaje se separa y se produce holguras y empieza "baile". Esto doto , señores vamos por buen camino!:plane:

rortega
28/09/2015, 19:38
Hola quiero añadir sobre comentarios de Simba, en el vidoe se ve la mita vuelta bien y otra la mita ya empieza hacer como con holguras. Post anterior el Simba explicaba a uno de foro es fundamental montar el mecanica del tracker, tiene que encajar perfecto, si no por una parte de cranaje se separa y se produce holguras y empieza "baile". Esto doto , señores vamos por buen camino![emoji14]lane:
Además siempre me las hace en la misma zona, eso seguramente es por lo mal encajado que debe estar el anillo. Con la versión con control PIDS también me lo hace.

Simba
28/09/2015, 19:48
Muy interesante, la verdad es que si.

Yo, y no es por llevarte la contraria nada de eso, he estado estudiando dentro de mis limitaciones, el comportamiento del PID actual, y llego a la conclusión de que funcionar funciona, con la condición eso sí de que los valores de PID aportados, estén dentro de unos parámetros que no hagan inútiles los resultados de las formulas.

Creo que si los valores son correctos, el sistema funciona razonablemente bien, y la prueba es como me funciona a mi.
Supongo que tu lo tienes mas que estudiado.
Si los parámetros son demasiado grandes, el sistema deja de funcionar como PID, y solo trabaja como todo-nada y gracias al filtro de tarada 0, si no las oscilaciones serian continuas.

Pero si la mecánica esta bien, y se tienen los valores correctos, se puede ver perfectamente y reconocer las acciones de control en el servotest.

Pero bueno eso es historia ahora lo que toca es probar los nuevos controles y aprender a manejarlos.

Simba
28/09/2015, 19:51
Además siempre me las hace en la misma zona, eso seguramente es por lo mal encajado que debe estar el anillo. Con la versión con control PIDS también me lo hace.
Es posible que las coronas no estén centradas, que los ejes no estén centrados y como resultado en una zona los dientes están algo sueltos, y en la contraria estén muy apretados.

rortega
28/09/2015, 19:57
Es posible que las coronas no estén centradas, que los ejes no estén centrados y como resultado en una zona los dientes están algo sueltos, y en la contraria estén muy apretados.
Es más que probable, porque la rueda dentada no cabía en el piñón del servo y tuve que rebajar el agujero a mano y luego pegarlo al piñón con pegamento. Tengo que pedir un servo idéntico al que puse en el tilt, el que tú me recomendaste, pero voy a necesitar comprar una rueda dentada nueva, esa ya no me vale. Alguna sugerencia?

Simba
28/09/2015, 20:01
Si al principio del hilo ponian un enlace luego lo miro que no estoy en casa

TURRUK
28/09/2015, 20:23
Como no hay espacio en memoria para muchas florituras, mi idea es realizar un sketch por separado que nos devuelva los valores de PID y demás parámetros (PAN_0, MIN_PAN_SPEDD)... más adecuado, y a posteriori en el sketch principal ajustar esos valores lo mínimo si fuera necesario.

Hola, si esto esta bien y tema de refrescos de GPS de telemetria orange solo soporta 2hz , como entiendo mas velocidad de refresco mejor no. Si conforme esta si Orange podria soportar mas velocidad tracker ira mas fino digo yo.:rolleyes:

rortega
28/09/2015, 20:53
Hola, si esto esta bien y tema de refrescos de GPS de telemetria orange solo soporta 2hz , como entiendo mas velocidad de refresco mejor no. Si conforme esta si Orange podria soportar mas velocidad tracker ira mas fino digo yo.:rolleyes:
No te he entendido [emoji15]

Simba
28/09/2015, 21:03
Traduzco quiere decir que con más refresco de gps ira más fino.
Claro siempre que se pueda con otra telemetria que no sea el Orange

Simba
28/09/2015, 21:29
Es más que probable, porque la rueda dentada no cabía en el piñón del servo y tuve que rebajar el agujero a mano y luego pegarlo al piñón con pegamento. Tengo que pedir un servo idéntico al que puse en el tilt, el que tú me recomendaste, pero voy a necesitar comprar una rueda dentada nueva, esa ya no me vale. Alguna sugerencia?
Estos son los engranajes :
http://www.diotronic.com/componentes-mecanicos/varios/motores-electricos/surtido-de-engranajes-mod-1_r_209_7118.aspx

TURRUK
28/09/2015, 21:34
Traduzco quiere decir que con más refresco de gps ira más fino.
Claro siempre que se pueda con otra telemetria que no sea el Orange

:biggrin2::icon_redface::facepalm:

Simba
28/09/2015, 21:36
No pasa NA, yo si que lo entendía :laugh:.

TURRUK
28/09/2015, 21:38
No pasa NA, yo si que lo entendía :laugh:.[/quote]

:-11::tongue2:

rortega
28/09/2015, 21:50
Estos son los engranajes :
http://www.diotronic.com/componentes-mecanicos/varios/motores-electricos/surtido-de-engranajes-mod-1_r_209_7118.aspx

Esto me cuesta con portes 42,57 € traérmelo aquí :mad:

Simba
28/09/2015, 21:55
Dime el que necesitas y te mando uno, que en la bolsa vienen 4 de cada y tengo de sobras.

rortega
28/09/2015, 22:02
Dime el que necesitas y te mando uno, que en la bolsa vienen 4 de cada y tengo de sobras.

Estoy pensando en comprarlo pero enviármelo a mi domicilio en España, este fin de semana estaré allí, imagion que de aquí al lunes me llegará. Es el que venía en el kit, el que va en el lado del servo.

Simba
28/09/2015, 22:11
Si, es el que yo tuve que cambiar, por que el del Kit que es de impresión 3d es bastante malo, bueno y que en uno de los multiples enganches de cables, durante los primeros ajustes antes del Bluetooth, se me partio.

Estos que te he puesto son mucho mas fuertes, pero tendrás que agrandar el agujero de fijación con una broca 1/2 mm de menos que el eje del servo, para que entre a presión y el ranurado del servo se abra camino en el nylon para que no se deslice.
El eje del servo Tooberpro es metálico y se clava bien.

manreg
28/09/2015, 22:13
Esto me cuesta con portes 42,57 € traérmelo aquí :mad:

En eBay los tienes por unos 11€ + envio.
Buscalos por Cebek engranajes modo. 1


http://www.ebay.es/itm/SURTIDO-ENGRANAJES-MODULO-1-ACCESORIOS-ROBOTICA-CEBEKIT-C-6084-/181878092445?hash=item2a58c7729d

Simba
28/09/2015, 22:15
Si son los mismos.

rortega
28/09/2015, 22:40
En eBay los tienes por unos 11€ + envio.
Buscalos por Cebek engranajes modo. 1


http://www.ebay.es/itm/SURTIDO-ENGRANAJES-MODULO-1-ACCESORIOS-ROBOTICA-CEBEKIT-C-6084-/181878092445?hash=item2a58c7729d

Bueno, pues ya están comprados, ahí en eBay. Si no llegan a tiempo le digo a mi mujer que me los envíe por correo ordinario y listo.

rortega
28/09/2015, 22:41
He desplazado el servo un milímetro y ya se ha quitado el tracketeo. Nada que ver con lo que vísteis en el vídeo. Voy a ajustar los parámetros que haciendo pruebas los cambié y voy a grabar otro vídeo.

rortega
29/09/2015, 00:02
Aquí tenéis el vídeo. Como podréis observar, ahora no hay tracketeo, aunque está tan apretado todo que en algún punto casi tira hacia arriba la caja. Hay un punto en el que está tan apretado que al servo le cuesta hacer el movimiento más lento y casi se queda atascado.

https://www.youtube.com/watch?v=eWEPvwHICjQ

He subido el código a una nueva rama, por si alguien quiere probarlo también. He numerado la versión como 0.5B para que se pueda distinguir de la versión master.

No la uséis como firm definitivo para vuestro tracker, hay muchas cosas que son necesarias modificar para que todas las funcionalidades estén operativas:

https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs

Simba
29/09/2015, 00:29
Pues a primera vista la verdad es que promete, el movimiento parece fluido y si luego con seguimiento real, apunta sin retraso al avión pues ya lo tenemos.
¿Lo has probado con servotest?. Es para ver si la respuesta se comporta igual o mejor que como antes.

Seguro que Turruk ya lo esta probando, y si no a mas tardar mañana lo tiene probado en casa.
En cuanto lo pongas volable lo probamos en vuelo.

rortega
29/09/2015, 00:33
Pues a primera vista la verdad es que promete, el movimiento parece fluido y si luego con seguimiento real, apunta sin retraso al avión pues ya lo tenemos.
¿Lo has probado con servotest?. Es para ver si la respuesta se comporta igual o mejor que como antes.

Seguro que Turruk ya lo esta probando, y si no a mas tardar mañana lo tiene probado en casa.
En cuanto lo pongas volable lo probamos en vuelo.

No, no lo he probado con SERVOTEST, estoy liado con el tema del meridiano 0. El problema está en una llamada a la función

TinyGPS::course_to

De la librería TinyGPS, que o bien está mal, o simplente hay que llamarla de formas distintas, dependiendo de si la longitud (y/o latitud) es positiva o negativa.

Por cierto ¿Se sabe algo de las pruebas de Guillesan?

TURRUK
29/09/2015, 00:43
Pues a primera vista la verdad es que promete, el movimiento parece fluido y si luego con seguimiento real, apunta sin retraso al avión pues ya lo tenemos.
¿Lo has probado con servotest?. Es para ver si la respuesta se comporta igual o mejor que como antes.

Seguro que Turruk ya lo esta probando, y si no a mas tardar mañana lo tiene probado en casa.
En cuanto lo pongas volable lo probamos en vuelo.

Estoy a punto para probar :tongue2::baba:

Simba
29/09/2015, 00:47
Estoy a punto para probar :tongue2::baba:
Venga ataca que mañana lo quiero en vuelo :-11:

Bueno en vuelo no que no tenemos la licencia de rortega :rolleyes2:

Simba
29/09/2015, 00:49
Guillesan creo que estaba haciéndose un reset. :biggrin2:

TURRUK
29/09/2015, 00:51
No, no lo he probado con SERVOTEST, estoy liado con el tema del meridiano 0. El problema está en una llamada a la función

TinyGPS::course_to

De la librería TinyGPS, que o bien está mal, o simplente hay que llamarla de formas distintas, dependiendo de si la longitud (y/o latitud) es positiva o negativa.

Por cierto ¿Se sabe algo de las pruebas de Guillesan?



Hola, a revisar los parametros para probar, en primera pestaña open 360ºde programa, el servotest esta como desactivado, es a si. :rolleyes:

Simba
29/09/2015, 00:51
Yo también me voy a resetear, mañana mas.
Buenas noches.

rortega
29/09/2015, 00:53
Hola, a revisar los parametros para probar, en primera pestaña open 360ºde programa, el servotest esta como desactivado, es a si. :rolleyes:

Sí.

Yo me voy a la cama...no rompas nada :biggrin:

Mañana más...

TURRUK
29/09/2015, 00:57
Sí.

Yo me voy a la cama...no rompas nada :biggrin:

Mañana más...

Ok :wink2:

TURRUK
29/09/2015, 02:00
Venga ataca que mañana lo quiero en vuelo :-11:

Bueno en vuelo no que no tenemos la licencia de rortega :rolleyes2:

Hola ya eh probado con simulador de GPS , da sensacion buena bastante fino , no podria probar con servotest me da error de compilar no se , por eso pregunte a Rortega que el esta desactivado, bueno es como beta, seguro se aregla. A ver si prueba Simba y luego a volar...:plane:

rortega
29/09/2015, 07:30
Hola ya eh probado con simulador de GPS , da sensacion buena bastante fino , no podria probar con servotest me da error de compilar no se , por eso pregunte a Rortega que el esta desactivado, bueno es como beta, seguro se aregla. A ver si prueba Simba y luego a volar...[emoji14]lane:
La única forma de saber si va bien es en vuelo. Lo del servotest a ver si me da tiempo esta tarde, pero no prometo nada, tengo que preparar el viaje.

La única explicación de que vaya más fluido es la resolución a la que giramos. Antes os movíais de 0.1 en 0.1 grados al estar calculados los heading de tracker y el objetivo de 0 a 1800 (grados multiplicados por 10) y haber puesto vosotros un 1 en el valor con el que se comparaba el error, lo que provocaba que se enviasen al tracker más pulsos mayores que PAN0 sin ser necesarios, lo que provocaba que el procesador emplease más tiempo en esperar la ejecución de cada pulso.

Enviar 10 pulsos pwm para recorrer un grado tiene más coste en tiempo de procesador que enviar solo 1, cuando el efecto es el mismo, con un solo pulso se mueve a la más baja velocidad hasta que lo detenemos, pues nuestros servos modificados no tienen tanto rango de velocidades.

rortega
29/09/2015, 08:31
Otro problema que desaparece es el de las oscilaciones. Antes teníamos unos valores muy altos de P y unos valores bajos, o muy bajos de I y D con respecto a P, tan bajos que a la hora de influir en el incremento del pulso era como si tuviéramos únicamente un sistema PID en el que la I y la D no intervienen (en otras implementacones de PID, hay quien deja la I y la D a 0, y únicamente se corrige el error proporcional, es decir, medimos el error cada vez, y aumentamos el pulso en función del tamaño del error, pero nos olvidamos del acumulador y de errores y de la pendiente).

Tal y como estaban configurados esos parámetros e integrado el cálculo de PIDs con un rango de pulso tan amplio, con una resolución tan pequeña de corrección de ángulos, aplicado a un sistema de servos donde no necesitamos tanta precisión, lo que se estaba consiguiendo era eso, un sistea que aparentemente lo único que influía era la P, eso explicaría el que se produjesen tantas vibraciones si no regresábamos a los valores de PID a 5000, 100 y 1000 respectivamente,y/ o bajábamos el MIN_PAN_SPEED y el valor de comparación del error.

Todo ésto en mi caso...en el vuestro el ajuste irá en función del pulso máximo y mínimo que soporte vuestros servos, siendo necesario quizas diseñar una función que mapee los grados a incremento de pulsos en forma de curva exponencial invertida en el tramo más cercano al error mínimo, y un pulso casi constante más próximo al incremento máximo que impulse el servo a su máxima velocidad.

Lo de que vaya más lento en las proximidades a su vez puede ser un buen sistema de amortiguación si se diseña esa función "ideal" que describa el la curva de pulsos en función del error que mejor se ajuste a nuestros servos.

Ojalá esté en lo cierto y funcione como pienso ...

marcoasj
29/09/2015, 08:35
Otro problema que desaparece es el de las oscilaciones. Antes teníamos unos valores muy altos de P y unos valores bajos, o muy bajos de I y D con respecto a P, tan bajos que a la hora de influir en el incremento del pulso era como si tuviéramos únicamente un sistema PID en el que la I y la D no intervienen (en otras implementacones de PID, hay quien deja la I y la D a 0, y únicamente se corrige el error proporcional, es decir, medimos el error cada vez, y aumentamos el pulso en función del tamaño del error, pero nos olvidamos del acumulador y de errores y de la pendiente).

Tal y como estaban configurados esos parámetros e integrado el cálculo de PIDs con un rango de pulso tan amplio, con una resolución tan pequeña de corrección de ángulos, aplicado a un sistema de servos donde no necesitamos tanta precisión, lo que se estaba consiguiendo era eso, un sistea que aparentemente lo único que influía era la P, eso explicaría el que se produjesen tantas vibraciones si no regresábamos a los valores de PID a 5000, 100 y 1000 respectivamente,y/ o bajábamos el MIN_PAN_SPEED y el valor de comparación del error.

Todo ésto en mi caso...en el vuestro el ajuste irá en función del pulso máximo y mínimo que soporte vuestros servos, siendo necesario quizas diseñar una función que mapee los grados a incremento de pulsos en forma de curva exponencial invertida en el tramo más cercano al error mínimo, y un pulso casi constante más próximo al incremento máximo que impulse el servo a su máxima velocidad.

Lo de que vaya más lento en las proximidades a su vez puede ser un buen sistema de amortiguación si se diseña esa función "ideal" que describa el la curva de pulsos en función del error que mejor se ajuste a nuestros servos.

Ojalá esté en lo cierto y funcione como pienso ...
Desde luego mi experiencia es que me volví loco cambiando los valores y la sensación era precisamente esa, que el único cambio que parecía influir era el de la P.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
29/09/2015, 12:13
Bueno chicos, he estado hablando largo rato con Turruk, y las conclusiones que observa despumes de muchas pruebas con el simulador, ya no son tan buenas como parecía al principio.
Turruk me pide que yo lo pruebe también, para tener mas información y sacar conclusiones, y que comente yo los resultados de sus pruebas.

Bien pues TurruK llega a la conclusión, que no funciona tan fino como con la versión PID real, con la nueva versión el error de angulo durante el seguimiento es del orden de 4º o 5 º, el seguimiento lo hace pero siempre con mucho error, y también va a golpes en algunos momentos.

Ha estado probando alternativamente las dos versiones, y le gusta mucho mas la antigua, por que se nota que el PID trabaja bien, y el seguimiento es prácticamente perfecto con errores del orden de 1º a 0º, ademas que el seguimiento es mas natural y fluido.

Es posible que en la nueva versión se tengan que ajustar los valores mejor, pero me consta que Turruk es bastante buen probador y no encuentra los valores correctos para que funcione al menos como la versión de los PIDs.

Me sabe mal por rortega y las horas que le ha dedicado al tema, pero no podemos decir lo que no es, de momento funciona bastante peor que el antiguo, y nosotros que hemos volado ya bastantes veces, cerca del Traker y bastante lejos, vemos que funciona perfecto y solo está limitado por la frecuencia del GPS a 2hz, que se nota solo si se vuela muy cerca si no, ni siquiera es importante.

Lo voy a probar y comento pero con lo que Turruk me reporta, no creo que vea diferencias.

Sl2.

rortega
29/09/2015, 12:40
Bueno chicos, he estado hablando largo rato con Turruk, y las conclusiones que observa despumes de muchas pruebas con el simulador, ya no son tan buenas como parecía al principio.
Turruk me pide que yo lo pruebe también, para tener mas información y sacar conclusiones, y que comente yo los resultados de sus pruebas.

Bien pues TurruK llega a la conclusión, que no funciona tan fino como con la versión PID real, con la nueva versión el error de angulo durante el seguimiento es del orden de 4º o 5 º, el seguimiento lo hace pero siempre con mucho error, y también va a golpes en algunos momentos.

Ha estado probando alternativamente las dos versiones, y le gusta mucho mas la antigua, por que se nota que el PID trabaja bien, y el seguimiento es prácticamente perfecto con errores del orden de 1º a 0º, ademas que el seguimiento es mas natural y fluido.

Es posible que en la nueva versión se tengan que ajustar los valores mejor, pero me consta que Turruk es bastante buen probador y no encuentra los valores correctos para que funcione al menos como la versión de los PIDs.

Me sabe mal por rortega y las horas que le ha dedicado al tema, pero no podemos decir lo que no es, de momento funciona bastante peor que el antiguo, y nosotros que hemos volado ya bastantes veces, cerca del Traker y bastante lejos, vemos que funciona perfecto y solo está limitado por la frecuencia del GPS a 2hz, que se nota solo si se vuela muy cerca si no, ni siquiera es importante.

Lo voy a probar y comento pero con lo que Turruk me reporta, no creo que vea diferencias.

Sl2.

Efectivamente, no se puede decir lo que no es, y para eso estáis probando. No hay problema alguno en currar, plasmar una teoría y luego hacer las pruebas, en eso consiste mi trabajo diario, estoy acostumbrado.

No obstante, hay que tener en cuenta que yo estoy usando un servo muy distinto al vuestro, por lo que en mi caso no hay gran diferencia entre usar un sistema u otro, pero esto no justifica en absoluto que debamos sustituirlo.

Contaba lo de modular la curva de pulsos con respecto a los grados como posible mejora teniendo en cuanta los servos tan precisos que tenéis. Otra posiblidad sería volver un paso atrás, para realizar los cálculos de heading en múltiplos de 10 y así obtener nuevamente mayor resolución, y poder trabjar con errores de ángulo entre 0 y 1, que es lo que conseguías cambiando el 10 por un 1 en el código donde se compara Error[0].

En cuanto al error de 4 grados cuando está detenido yo también lo he notado mirando al LCD, ésto puede deberse en parte también al no trabjar en múltiplos de 10 cuando pasamos de radianes a grados, unido a las oscilacionees del magnetómetro por interferencias de la crius que también son manejados en grados ahora (la pescadilla que se muerde la cola).

Pero vamos, que si no funciona, no funciona. Voy a esperar a tus resultados y si me confirmas que va mal, doy marcha atrás y nos quedamos como estábamos, aparcando este tema y avanzando en otras cuestions, que es lo más práctico.

Simba
29/09/2015, 13:10
Bueno pues ya puedo comentar mis primeros resltados.
Esto es para volverse locos, pero bueno es normal que con tantas pruebas tengamos errores.
A mi me va bastante mejor que a Turruk, yo diria que con un error de +-2º y con pasajes de 0º, o sea algunas veces perfecto y otras al entrar en la ventana de error corrige con +-2º, esto si se vuela a unos 600m, si vuelo mas cerca se mantiene el error pero es mas difícil de ver por la rapido que cambia, pero yo diría que se mantiene, y si se vuela mas lejos los periodos de error 0 aumentan.

Si puedo are un video, pero quisiera probar otra vez la versión anterior y sacar un video para comparar.

TURRUK
29/09/2015, 13:27
Bueno pues ya puedo comentar mis primeros resltados.
Esto es para volverse locos, pero bueno es normal que con tantas pruebas tengamos errores.
A mi me va bastante mejor que a Turruk, yo diria que con un error de +-2º y con pasajes de 0º, o sea algunas veces perfecto y otras al entrar en la ventana de error corrige con +-2º, esto si se vuela a unos 600m, si vuelo mas cerca se mantiene el error pero es mas difícil de ver por la rapido que cambia, pero yo diría que se mantiene, y si se vuela mas lejos los periodos de error 0 aumentan.

Si puedo are un video, pero quisiera probar otra vez la versión anterior y sacar un video para comparar.

Hola, puede ser que con tantas pruebas ayer por la noche te vuelve loco ,:biggrin2: y por otra parte yo lo tocaba los valores para ver la diferencia por eso me no iba tan fino . Si simba he probado y bien, la unica forma apreciar es ir campo y volar.:plane:

Simba
29/09/2015, 13:36
Bueno si la verdad es que la prueba buena es volando.

Una cosa mas que observo, es que el offset necesario para mover el servo son esos +-2 grados y se mantiene dentro de la zona llamemos muerta, pero cuando sale y llega a la zona de offset, es como si le faltara el factor corrector de la Integral, que es para lo que es la Integral, para corregir el offset.
Luego pruebo con la versión anterior, ahora me voy a hacer la comida, que si no luego me castigan.:rolleyes2:

Perdon edito me confundir Derivativa por Integral.

Simba
29/09/2015, 14:32
Bueno pues ya he probado otra vez con la versión PIDs normal, y sin lugar a dudas funciona mejor, no es que la ultima funcione mal, pero se nota mucha mas precisión en la PIDs normal.

En esta versión el error es de +-1º pero con zonas muy amplias de error 0º, y se nota que siempre trata de reducir el Offset, es como si tubiéramos dos controles, uno del PID y otro de la ventana de 0 Pan, que yo la tengo a 1 y -1, pero estoy pensando que si no fuera por las perturbaciones o interferencia que puedan haber sobre el Magnetometro, incluso la ventana se podría reducir o eliminar, por que si algunas veces se para el control es por que esta en zona de Pan 0.

Los vídeos para mi son un coñazo, pues no es mi fuerte lo de editar vídeos, pero ya pondré algo aunque en resumen es lo que he puesto.

Simba
29/09/2015, 15:32
Pues ya están los videos el primero es con la ultima versión sin PIDs.

El segundo con la anterior u activos los PIDs

https://youtu.be/cJzl8uJ1D4c


https://youtu.be/tD08P8WqNTg

Simba
29/09/2015, 17:05
Este otro video es con los PIDs pero con ventana de Pan 0 a 0,5º, y el rango maximo de actuación de PWM a 200ms, es una prueba para ver si se mejora algo.
Compararlo con el anterior Vídeo.


https://youtu.be/HhmWGPGyn6w

Simba
29/09/2015, 17:10
Creo que se aprecia en este ultimo un poco mas, pero en el anterior también, que el cambio de posición según le llegan las nuevas posiciones de GPS, no es dando un salto si no mas bien como corrigiendo de una posición a la otra, esto es debido a la acción PID, es como un movimiento mas fluido.

rortega
29/09/2015, 18:38
Creo que se aprecia en este ultimo un poco mas, pero en el anterior también, que el cambio de posición según le llegan las nuevas posiciones de GPS, no es dando un salto si no mas bien como corrigiendo de una posición a la otra, esto es debido a la acción PID, es como un movimiento mas fluido.
Sí, se nota la diferencia. Lo único que no me gusta del sistema de PIDs es ese paso que dá algunas veces hacia atrás.

rortega
29/09/2015, 18:40
Creo que se aprecia en este ultimo un poco mas, pero en el anterior también, que el cambio de posición según le llegan las nuevas posiciones de GPS, no es dando un salto si no mas bien como corrigiendo de una posición a la otra, esto es debido a la acción PID, es como un movimiento mas fluido.
De todos modos el salto de posición a posición en el sistema nuevo puede ser más por el tema de la resolución que por otra cosa, que se para al llegar al margen de error.

Simba
29/09/2015, 18:44
Creo que no es el PID es o debe ser una perturbación que se produce aleatoria mente. Como una interferencia que la interpreta como variación de posición.
Esto demuestra que el sistema está vivo y reacciona. Normalmente se corrige en lo posible con la Derivativa si se puede.

caliwhite
29/09/2015, 20:45
Os presento a mi tracker, todavía le falta algún retoque y ajuste , pero esto promete. Agradecer a Guillesan, Simba y sobretodo al maestro rortega y seguro que me dejo a alguien más la ilusión y paciencia que están poniendo en este proyecto, que al parecer aún el Sr. rortega pretende perfeccionar.
Gracias.

http://vid1172.photobucket.com/albums/r565/caliwhite1/VID_20150929_192655_zps14qspxgk.mp4

rortega
29/09/2015, 21:34
Os presento a mi tracker, todavía le falta algún retoque y ajuste , pero esto promete. Agradecer a Guillesan, Simba y sobretodo al maestro rortega y seguro que me dejo a alguien más la ilusión y paciencia que están poniendo en este proyecto, que al parecer aún el Sr. rortega pretende perfeccionar.
Gracias.

http://vid1172.photobucket.com/albums/r565/caliwhite1/VID_20150929_192655_zps14qspxgk.mp4

Enhorabuena, te está quedando de lujo. ¿Al final con qué versión estás funcionando?¿La original o la v0.5 que he mos ido retocando por aquí?

Simba
29/09/2015, 22:10
Hola caliwhite, me alegra mucho que valláis saliendo y presentando vuestro Traker mi enhorabuena, parece que lo tienes montado en plan fino fino, te recomiendo que le des una mano de pintura o de laca, te durara mucho mas.

Un saludo.

Simba
29/09/2015, 22:21
Una cosa caliwhite estudiando tu vídeo, me sorprende mucho la respuesta de Pan, ¿tienes alguna modificación personal? veo que el movimiento es totalmente continuo.
O quizás ¿estas utilizando un simulador de GPS que tiene por lo menos 5Hz de refresco de posición ?.
Si es eso ultimo nos sacaría de dudas con respecto al típico funcionamiento que se ve en nuestros vídeos.
Por otro lado en Tilt me da que no tienes la ultima version con filtro easi.

rortega
29/09/2015, 22:43
Una cosa caliwhite estudiando tu vídeo, me sorprende mucho la respuesta de Pan, ¿tienes alguna modificación personal? veo que el movimiento es totalmente continuo.
O quizás ¿estas utilizando un simulador de GPS que tiene por lo menos 5Hz de refresco de posición ?.
Si es eso ultimo nos sacaría de dudas con respecto al típico funcionamiento que se ve en nuestros vídeos.
Por otro lado en Tilt me da que no tienes la ultima version con filtro easi.

Pues sí, así parece, también he visto que estaba bastante fino...

Por cierto, no le pongáis la tapa superior al tracker, que no me he podido quedar quieto y estoy progando la modificación pero con mayor resolución de error. Ahora podemos indicar cosas como MIN_DELTA 0.1 ...

caliwhite
29/09/2015, 23:08
Enhorabuena, te está quedando de lujo. ¿Al final con qué versión estás funcionando?¿La original o la v0.5 que he mos ido retocando por aquí?

Hola buenas estoy utilizando tu versión v0.5.
Para mover el tracker estoy utilizando el simulador que tu colgaste con un modulo bluetouch en el uart.

Simba
29/09/2015, 23:13
Pues algo nos pasa en el simulador que va diferente.
¿A cuantos hz tienes el simulador?

caliwhite
29/09/2015, 23:13
Una cosa caliwhite estudiando tu vídeo, me sorprende mucho la respuesta de Pan, ¿tienes alguna modificación personal? veo que el movimiento es totalmente continuo.
O quizás ¿estas utilizando un simulador de GPS que tiene por lo menos 5Hz de refresco de posición ?.
Si es eso ultimo nos sacaría de dudas con respecto al típico funcionamiento que se ve en nuestros vídeos.
Por otro lado en Tilt me da que no tienes la ultima version con filtro easi.

El servo que utilizo para el Pan es el alemán, para el tilt uno que tenia por aquí que esta sin modificar a 360º.
El Tilt me tiene un poco mareado no consigo dejarlo fino.

Simba
29/09/2015, 23:18
Pero por favor dinos que frecuencia te da el simulador ¿cuantos hz le metes al traker?????????

caliwhite
29/09/2015, 23:25
Pero por favor dinos que frecuencia te da el simulador ¿cuantos hz le metes al traker?????????

Esto es lo que utilizo para mover el tracker.
http://i1172.photobucket.com/albums/r565/caliwhite1/simulator_zpsrz18p5yi.jpg

caliwhite
29/09/2015, 23:31
Este es el config.h que tengo funcionando.
Siento no poder responder a tus preguntas pues estoy muy verde en el tema, todo lo que veis lo he aprendido de vosotros y lo que no a base de machacar :-beg::-beg::-beg:

#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 2500 //5000 //default 2200
#define I 250//100 //default 280
#define D 1500 //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
/* #### 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 1990 // 2025 // default 2025

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 1000// 1200 // default 1050

/* ### 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 10 // 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 -10 // 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 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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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
29/09/2015, 23:42
Vale pues no me cuadra nada ya que estas utilizando baudrate a 9600, y el GPS lo tienes 1000ms, o sea a 1hz.
Nosotros tenemos baudrate a 4800 y el GPS a 500ms, es decir a 2hz.

Esto es algo que sospechaba y es que el simulador no sabemos realmente a que hz trabaja, a mi no me dejaba subir de 4800 y aunque le tengo puesto 2hz el parpadeo del led siempre es igual, es a frecuencia de 1hz.

Por lo que sea a ti te funciona con mas velocidad de refresco,

Simba
29/09/2015, 23:55
Llevamos Turruk y yo un mosqueo del 15, no entendemos como puede ir así de fino (el Pan), y acabo de ver otra vez el vídeo y al final, se ve claramente cuando le quita la tapa, que el led azul parpadea a 1hz, lo tienes a 1hz seguro tal como ponias en el configurador.

Lo único que podemos pensar es que el servo que montas, el recomendado por los alemanes, tenga ese tipo de funcionamiento, que esté todo pensado para ese servo concreto.
Nosotros Turruk y yo tenemos ese servo comprado, pero lo desestimamos por que el Digital Toowerpro, lo tenemos montado y funciona bastante bien, pero seguro que mañana se de uno que ya lo esta cambiando, a que si Turruk.

De todas formas creo que yo lo llegue a probar sin montar en el Traker y no le vi nada particular, sera cuestión de volver a comprobar.

caliwhite
30/09/2015, 00:08
Como puedo mejorar el comportamiento del tilt, como le bajo velocidad?

Simba
30/09/2015, 00:14
Yo el filtro lo tengo así:

#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

marcoasj
30/09/2015, 00:15
Como puedo mejorar el comportamiento del tilt, como le bajo velocidad?
En eso estamos, pero es un tema delicado, porque no tenemos mucho control sobre el tilt.

Desde luego de todos los tracker hasta la fecha el tuyo es el que mejor respuesta tiene sin duda.

Enviado desde mi SM-G900F mediante Tapatalk

caliwhite
30/09/2015, 00:19
En eso estamos, pero es un tema delicado, porque no tenemos mucho control sobre el tilt.

Desde luego de todos los tracker hasta la fecha el tuyo es el que mejor respuesta tiene sin duda.

Enviado desde mi SM-G900F mediante Tapatalk

Gracias, pues lo único que he echo a sido montar concienzudamente la mecánica, ya que el resto he ido copiando lo que los compañeros reportaban.

Simba
30/09/2015, 00:20
Otra cosa creo que ya se el porque de que te valla tan fino, acabo de probar el servo de los alemanes y es infinitamente mas lento, que todos los que he probado y son 4.
Tiene una velocidad muchísimo mas baja, y una resolución sobre el punto de Pan 0 lo menos 4 veces mas ampliada, o sea que tienes que variar muchos ms en +- el Pan 0, para que empiece a moverse y lo hace súper lento.

Esto no quiere decir que al final sea mejor, pero a la vista de como va, si luego sigue con velocidad el avión sera un éxito, pero hay que probarlo en vuelo y ver si tiene caña para seguir el avión cuando se vuela a menos de 100m del Traker.

Simba
30/09/2015, 00:23
Veis lo que pasa cuando la gente saca sus trastos, es muyyy interesante ver lo que hacemos todos y todos aprendemos. :-11:

Un saludo me voy al catre.

Simba
30/09/2015, 00:32
Caliwite seria de gran ayuda, que hicieras un vídeo como los que he puesto yo antes, que se pueda leer bien los datos del LCD, es para ver realmente que resolución de error, tienes en el seguimiento.
Si resulta que tienes un error del orden como lo que me da a mi el mio, sera la leche merengada.

Bueno ahora si que me voy.

Gracias.

caliwhite
30/09/2015, 00:35
Ok, mañana ahora ya me voy a la piltra, buenas noches

rortega
30/09/2015, 01:57
Si no va bien prometo que es la última que subo sobre a este tema...es tan sólo un intento más. Algunas notas:


MIN_DELTA: admite ya valores entre 0 y 1, por ejemplo 0.1, 0.5 ..., pues se ha subido otra vez la resolución de cálculo de ángulos.




MIN_PAN_SPEED: No se debe poner a 0, debe tener un valor mínimo, he probado 5, 10, 12 y 15. En mi caso 12 y 15 son los que mejor van. El tracker llega a obtener error 0, y corrige ante oscilaciones del mag. Si se baja más, incluso llegando a cero, es el culpable de que se pare 4 o más grados antes de llegar al objetivo. Y si se sube mucho, el tracker tendrá muchas oscilaciones, pues se pasará una y otra vez del objetivo, de un lado a otro, por apliar una velocidad más alta de la necesaria.





MAX_PAN_SPEED: no ha cambiado.




MAP_ANGLE: Nuevo parámetro. Es tan solo para especificar el ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades. Con valores entre 90 y 180 se comporta bien, si lo reducimos mucho llega demasiado pronto al objetivo y se producen muchas oscilaciones.

La he numerado como 0.5C.


https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs

rortega
30/09/2015, 02:01
Veis lo que pasa cuando la gente saca sus trastos, es muyyy interesante ver lo que hacemos todos y todos aprendemos. :-11:

Un saludo me voy al catre.


+100

rortega
30/09/2015, 02:03
Si no va bien prometo que es la última que subo sobre a este tema...es tan sólo un intento más. Algunas notas:


MIN_DELTA: admite ya valores entre 0 y 1, por ejemplo 0.1, 0.5 ..., pues se ha subido otra vez la resolución de cálculo de ángulos.




MIN_PAN_SPEED: No se debe poner a 0, debe tener un valor mínimo, he probado 5, 10, 12 y 15. En mi caso 12 y 15 son los que mejor van. El tracker llega a obtener error 0, y corrige ante oscilaciones del mag. Si se baja más, incluso llegando a cero, es el culpable de que se pare 4 o más grados antes de llegar al objetivo. Y si se sube mucho, el tracker tendrá muchas oscilaciones, pues se pasará una y otra vez del objetivo, de un lado a otro, por apliar una velocidad más alta de la necesaria.




MAX_PAN_SPEED: no ha cambiado.




MAP_ANGLE: Nuevo parámetro. Es tan solo para especificar el ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades. Con valores entre 90 y 180 se comporta bien, si lo reducimos mucho llega demasiado pronto al objetivo y se producen muchas oscilaciones.

La he numerado como 0.5C.


https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs


He intentado hacer vídeo, pero la luz de la lámpara se refleja en el LCD y no se ven los datos. Por la mañana intentaré grabar un vídeo.

rortega
30/09/2015, 09:10
Ahí está el vídeo, con:

min delta: 0.2
min pan speed: 12
max pan speed: 300
mapa angle: 180

Al tener un margen de error tan pequeño y una velocidad mínima, corrige, se pasa y vuelve. Si bajamos el min pan speed ligeramente y subimos el margen de error se parará en +-2 grados y se puerden las oscilaciones, con un detrimento de la fluidez.

Ésto no sustituye al PID pero sirve para comprender muchas cosas, entre ellas que los servos modificados a 360 contínuos sin una lotería en la precisión.

No son errores de mag. Cuando le acercas el móvil se desplaza x grados y punto, las oscilaciones son por culpa de la velocidad mínima, que para colmo varía en función de si vas a izda o derecha.

En resumen, el PID funciona bien, mi modificación también, sin los servos los que son imprecisos.

marcoasj
30/09/2015, 09:19
Ahí está el vídeo, con:

min delta: 0.2
min pan speed: 12
max pan speed: 300
mapa angle: 180

Al tener un margen de error tan pequeño y una velocidad mínima, corrige, se pasa y vuelve. Si bajamos el min pan speed ligeramente y subimos el margen de error se parará en +-2 grados y se puerden las oscilaciones, con un detrimento de la fluidez.

Ésto no sustituye al PID pero sirve para comprender muchas cosas, entre ellas que los servos modificados a 360 contínuos sin una lotería en la precisión.

No son errores de mag. Cuando le acercas el móvil se desplaza x grados y punto, las oscilaciones son por culpa de la velocidad mínima, que para colmo varía en función de si vas a izda o derecha.

En resumen, el PID funciona bien, mi modificación también, sin los servos los que son imprecisos.
No veo el vídeo rortega......

Enviado desde mi SM-G900F mediante Tapatalk

rortega
30/09/2015, 09:33
Ups, disculpas, salía pitando para el curro:

https://youtu.be/2qUy0rV9WZk

Simba
30/09/2015, 17:18
Entonces que??? A ver si Turruk cuenta algo

rortega
30/09/2015, 19:17
Este otro vídeo también lo grabé esta mañana, pero no he tenido tiempo de subirlo. Esta vez trataba de darle al vuelta a la base para ponerlo en alguna posición para que se viese el movimiento sin los problemas derivado del mal montaje:

https://www.youtube.com/watch?v=Wc1gEBar1i4

Simba
30/09/2015, 19:29
Parece ser que Turruk ha probado en vuelo la última versión con el servo de los alemanes y esta muy contento va muy fino y dice que ya lo deja así.
Mañana 2° día de vuelo y espero estar de testigo si me convence lo probare yo también.

rortega
30/09/2015, 20:19
Parece ser que Turruk ha probado en vuelo la última versión con el servo de los alemanes y esta muy contento va muy fino y dice que ya lo deja así.
Mañana 2° día de vuelo y espero estar de testigo si me convence lo probare yo también.

Cuando dices última versión te refieres a esta última 0.5C ???? Pues si lo dice Turruk...amén :biggrin2:

A ver si pone por aquí los valores de los parámetros.

Tú te has reservado tu opinión de los vídeos y prefieres verlo en vivo y en directo mañana, supongo... :biggrin:

Simba
30/09/2015, 20:29
Si hoy estaba en Barcelona pero ya voy de regreso.
La versión es creo la 0.5c y el servo el lento de los alemanes.
Dice que es hasta hoy la combinación que más le gusta que se mueve sin saltos de forma continuada. Le da un error de 2 o 3° en el LCD pero no pierde calidad de vídeo.
En vuelo cercano no tiene suficiente velocidad para seguir perfecto pero cerca no importa por que la señal de video es muy fuerte y no se pierde nada.
Es todo lo que he podido entender.
Al final se queda sin los PIDs y con el servo de los germanos.
Yo me reservo la opinión hasta mañana.

rortega
30/09/2015, 20:32
Si hoy estaba en Barcelona pero ya voy de regreso.
La versión es creo la 0.5c y el servo el lento de los alemanes.
Dice que es hasta hoy la combinación que más le gusta que se mueve sin saltos de forma continuada. Le da un error de 2 o 3° en el LCD pero no pierde calidad de vídeo.
En vuelo cercano no tiene suficiente velocidad para seguir perfecto pero cerca no importa por que la señal de video es muy fuerte y no se pierde nada.
Es todo lo que he podido entender.
Al final se queda sin los PIDs y con el servo de los germanos.
Yo me reservo la opinión hasta mañana.

Yo creo que al final la clave es el servo, ésto que he hecho lo único que hace, si es que lo hace bien, es más intiutivo el ajuste para los que se pierden con el concepto de PIDs.

TURRUK
30/09/2015, 23:35
Cuando dices última versión te refieres a esta última 0.5C ???? Pues si lo dice Turruk...amén :biggrin2:

A ver si pone por aquí los valores de los parámetros.

Tú te has reservado tu opinión de los vídeos y prefieres verlo en vivo y en directo mañana, supongo... :biggrin:

Hola señor Rortega confirmo personalmente, la prueba satisfecha a ver si mañana grabo el video ,y a si se sale de dudas, me gusta esta ultima version 05 C . Gracias por este curo :worthy::plane:
Estos mi configuraciones.


#define*CRIUS_SE************// Discomment if using Multiwii Crius SE v2.5 board
#define*MIN_DELTA*****0.3***//Angulo mínimo en grados entre el heading del tracker y el del avion, si es mayor que este ángulo movemos el tracker.
#define*MIN_PAN_SPEED**10***//Cantidad mínima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define*MAX_PAN_SPEED*300***//Cantidad máxima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define*MAP_ANGLE******50***//Ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades.

Simba
01/10/2015, 18:10
Siguiendo con las pruebas hoy he grabado 2 vídeos, para que veamos todos como se comporta el servo d los Alemanes, con la mecánica de Turruk y la ultima versión de rortega, creo que es la v0.5c.
Decir que en lineas generales me gusta el desplazamiento de Pan lineal y fluido, pero no tanto el angulo de offset que se mantiene y en muchas ocasiones llega a 8º, el vídeo se ve claramente.

Fuera de vídeo se ha volado a mas de 1000m y se nota que la antena permanece quieta parada, hasta que la ventana de error supera entre 6º y 8º, y aunque esto no se nota en el vídeo, se supone que de volar mucho mas lejos, 8º son muchos grados.

Comenta Turruk que se podría rebajar el offset, ajustando algún parametro, que se podria llegar a unos 2º o 3º pero que bajarlo mas supone el entrar en oscilación, el lo ha probado con el simulador.

Conclusiones:
El servo recomendado por los Alemanes, es diferente a todos los probados, es muchísimo mas lento y la configuración del mismo, no corresponde como a la de un servo normal, de echo lo he desmontado y he visto que el procedimiento electrónico de control es bastante diferente, si queréis lo explico. El caso es que es super lento y el offset en el punto central es bastante grande, y es por ese motivo que los alemanes le tienen puesto un parámetro de mínimo servo Pan de 50ms, por que si no fuera así, ni siquiera se mueve.

Como dice Turruk, para gusto son los colores, que cada cual elija por que hay para elegir.

A mi me gusta que el offset sea lo mas cerca de 0º, si se vuela cerca como si se vuela lejos.
En el caso de mi Traker con los PIDs tradicionales, con un servo normal, el offset es de 0º a 1º, si se vuela cerca no hay servo ni Traker que pueda con la velocidad del vuelo cercano, pero desde un vuelo a 100m hasta muy muy lejos, el offset se mantiene igual entre 0º y 1º.

Desgraciadamente mi servo, el que he desmontado, lo desmonte por que por una tontería me equivoque al conectarlo, y me lo de cargado con lo cual no he podido probarlo, pero visto lo visto no se si me interesa comprar otro, ya que con su configuración y lentitud, dudo mucho que pueda superar el resultado de mi Traker con la versión PIDs tardicional y el servo Towerpro que utilizo, y en Tilt pues tal como esta esta bastante bien y me cabecea bastante menos que el de Turruk.

Luego pongo los vídeos.

Simba
01/10/2015, 18:16
https://youtu.be/L29BTLgHrog

https://youtu.be/BAAddxePa6k

rortega
01/10/2015, 18:18
Siguiendo con las pruebas hoy he grabado 2 vídeos, para que veamos todos como se comporta el servo d los Alemanes, con la mecánica de Turruk y la ultima versión de rortega, creo que es la v0.5c.
Decir que en lineas generales me gusta el desplazamiento de Pan lineal y fluido, pero no tanto el angulo de offset que se mantiene y en muchas ocasiones llega a 8º, el vídeo se ve claramente.

Fuera de vídeo se ha volado a mas de 1000m y se nota que la antena permanece quieta parada, hasta que la ventana de error supera entre 6º y 8º, y aunque esto no se nota en el vídeo, se supone que de volar mucho mas lejos, 8º son muchos grados.

Comenta Turruk que se podría rebajar el offset, ajustando algún parametro, que se podria llegar a unos 2º o 3º pero que bajarlo mas supone el entrar en oscilación, el lo ha probado con el simulador.

Conclusiones:
El servo recomendado por los Alemanes, es diferente a todos los probados, es muchísimo mas lento y la configuración del mismo, no corresponde como a la de un servo normal, de echo lo he desmontado y he visto que el procedimiento electrónico de control es bastante diferente, si queréis lo explico. El caso es que es super lento y el offset en el punto central es bastante grande, y es por ese motivo que los alemanes le tienen puesto un parámetro de mínimo servo Pan de 50ms, por que si no fuera así, ni siquiera se mueve.

Como dice Turruk, para gusto son los colores, que cada cual elija por que hay para elegir.

A mi me gusta que el offset sea lo mas cerca de 0º, si se vuela cerca como si se vuela lejos.
En el caso de mi Traker con los PIDs tradicionales, con un servo normal, el offset es de 0º a 1º, si se vuela cerca no hay servo ni Traker que pueda con la velocidad del vuelo cercano, pero desde un vuelo a 100m hasta muy muy lejos, el offset se mantiene igual entre 0º y 1º.

Desgraciadamente mi servo, el que he desmontado, lo desmonte por que por una tontería me equivoque al conectarlo, y me lo de cargado con lo cual no he podido probarlo, pero visto lo visto no se si me interesa comprar otro, ya que con su configuración y lentitud, dudo mucho que pueda superar el resultado de mi Traker con la versión PIDs tardicional y el servo Towerpro que utilizo, y en Tilt pues tal como esta esta bastante bien y me cabecea bastante menos que el de Turruk.

Luego pongo los vídeos.
He visto el vídeo de Turruk y la verdad es que el movimiento se ve fluído, pero es cierto que 8 grados son muchos grados.

Yo creo que con tu servo y ajustadon PIDs y
,o mi versión, van a ser casi lo mismo, así que no tendría mucha justificación sustituirlo.

rortega
01/10/2015, 18:21
He visto el vídeo de Turruk y la verdad es que el movimiento se ve fluído, pero es cierto que 8 grados son muchos grados.

Yo creo que con tu servo y ajustadon PIDs y
,o mi versión, van a ser casi lo mismo, así que no tendría mucha justificación sustituirlo.
Cerca de la pista parece muy lento

Simba
01/10/2015, 18:45
Si, se nota mucho mas que en mi Traker, aunque eso tendría en pase, lo malo es que tiene mucho offset en todas las distancias.
Este servo básicamente es un motor con 2 sentidos de giro, controlando la velocidad por un transistor para cada sentido de marcha, y pilotado por un Chip que traduce anchura de pulso a voltios de salida.

Me hubiera gustado probar ese servo, pero por las pruebas de Turruk, con la versión PIDs normales en el simulador, no parece mejorar nada y con tu versión funciona incluso mejor, no se el motivo, pero deduzco que es por el gran offset y baja velocidad, que la sensación es de fluidez y movimiento continuo, pero a mi y a falta de ajustar algún parámetro para reducir el offset, no me termina de gustar.

Simba
01/10/2015, 22:20
No se si con tanto y tanto tema sobre el Traker, algunos prefieren no salir y contarnos como van sus cacharros.
Si alguien tiene algún problema, que no dude en consultar que para eso estamos.

Bueno he vuelto a la carga con la versión PIDs v0.5, y me he puesto a bajar en la formula poco a poco de los 500ms de inicio hasta 50ms, probando resultado con el simulador.
Al final lo he dejado así:

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 >= 50)
PID = 50;
if (PID <= -50)
PID = -50;
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;


¿Porque este cambio?
Pues por que visto lo visto con el servo lento, y que los valores originales estaban en 500, entiendo que con un servo digamos normal, con muy pocos milisegundos de desplazamiento, es mas que suficiente y de paso al no meter el servo a toda caña, la respuesta podría ser mejor.

Pues bien creo que es cuestión de probar en vuelo, pues en el simulador la respuesta es apreciablemente mejor, los saltos de punto a punto de GPS son mas fluidos y la velocidad de seguimiento rápida no veo que baje, ya que con ese desplazamiento de maximo +-50ms mueve el servo con bastante velocidad.

El caso es que todo el programa, estaba diseñado para el dichoso servo lento, el cual solo empieza a moverse, con el mínimo de 50ms, y el nuestro (un servo normal) con esos mismos 50ms ya se pone a toda caña.

Tambien he probado a eliminar el filtro de ventana error, que yo lo tengo a +-1º, pero no me gusto la respuesta, por que sin filtro tiene ciertas indecisiones y tiende a rebotar alguna posición, o sea que con el filtro me funciona mucho mejor, lo considero necesario.

Falta probarlo el próximo día de vuelo y a rular, ya pienso que esto es definitivo, y que ya esta bien de tanto cambio, que seguro tenemos a la peña mosqueada.

Un saludo.

Simba
01/10/2015, 22:37
Vídeo con los últimos ajustes comentados

https://youtu.be/dkjMFpVYAFo

marcoasj
01/10/2015, 23:01
A ver si me llega la placa, y me pongo......

Enviado desde mi SM-G900F mediante Tapatalk

Simba
02/10/2015, 21:56
Hoy he probado los últimos ajustes en mi versión con PIDs activos, y en vuelo no termina de gustarme, rebota sobre el punto de control, cosa que no hacia con el simulador.

Tambien ha probado Turruk con nuevos ajustes, y ahora creo que ya le ha pegado en el clavo, el error que tenia lo ha dejado ya practicamente entre 0º y 1º tanto a 200m como a 4000 o sea que ya no tiene error apreciable.

Yo voy a probar esta versión, la 0.5c en cuanto pueda para determinar si con un servo normal, funciona igual de bien que a Turruk con el servo de los alemanes.
Espero que ajustando los parametros que ha puesto rortega, se pueda acondicionar cualquier servo con esta versión.

Creo que será la definitiva :-11:

sl2.

rortega
03/10/2015, 07:24
Hoy he probado los últimos ajustes en mi versión con PIDs activos, y en vuelo no termina de gustarme, rebota sobre el punto de control, cosa que no hacia con el simulador.

Tambien ha probado Turruk con nuevos ajustes, y ahora creo que ya le ha pegado en el clavo, el error que tenia lo ha dejado ya practicamente entre 0º y 1º tanto a 200m como a 4000 o sea que ya no tiene error apreciable.

Yo voy a probar esta versión, la 0.5c en cuanto pueda para determinar si con un servo normal, funciona igual de bien que a Turruk con el servo de los alemanes.
Espero que ajustando los parametros que ha puesto rortega, se pueda acondicionar cualquier servo con esta versión.

Creo que será la definitiva :-11:

sl2.
A ver que tal, sigo expectante.

Simba
03/10/2015, 08:47
rortega, te mande un MP ¿ no lo has visto?

Se trata de que la ultima versión 0.5c, por lo que sea ya no esta con la opción de #define*MAP_ANGLE******50***

No me la baje en su momento y no la encuentro, he quedado con Turruk para que ne la pase en un PEN, o sea que hoy no la podre probar.

Mira a ver que pasa en el GitHub.

Gracias.

rortega
03/10/2015, 08:50
rortega, te mande un MP ¿ no lo has visto?

Se trata de que la ultima versión 0.5c, por lo que sea ya no esta con la opción de #define*MAP_ANGLE******50***

No me la baje en su momento y no la encuentro, he quedado con Turruk para que ne la pase en un PEN, o sea que hoy no la podre probar.

Mira a ver que pasa en el GitHub.

Gracias.
No, no he visto el mensaje. Estoy en España y miro alguna que otra vez el foro, pero no me he fijado en los privados, le echaré un ojo en unos minutos, traigo el portátil conmigo.

Simba
03/10/2015, 08:54
OK, estare a la espera y si la puedo bajar, se la cargo antes de irme al campo y la pruebo.

Gracias y feliz estancia en nuestro queridisimo País.

rortega
03/10/2015, 09:03
OK, estare a la espera y si la puedo bajar, se la cargo antes de irme al campo y la pruebo.

Gracias y feliz estancia en nuestro queridisimo País.

El enlace es éste:

https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs/amv-open360tracker

El parámetro está en el config.h con valor 90. En media hora me voy al campo de vuelo, estoy atengo hasta entonces para que me confirmes que te la has bajado.

rortega
03/10/2015, 09:07
El enlace es éste:

https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs/amv-open360tracker

El parámetro está en el config.h con valor 90. En media hora me voy al campo de vuelo, estoy atengo hasta entonces para que me confirmes que te la has bajado.

Recuerda:



MIN_PAN_SPEED muy bajo (cerca de 0) hace que no llegues al objetivo.
MIN_PAN_SPEED alto hace que te pases del objetivo y entres en ciclo de vibraciones contínuas.
MAP_ANGLE cuanto más pequeño más influye en que la velocidad sea alta en las proximidades del objetivo.

Simba
03/10/2015, 09:08
Vale compañero ya esta bajado con #define MAP_ANGLE 90 .

Muchas gracia.

Simba
03/10/2015, 09:10
Una cosa, los valores que tienes por defecto son los tuyos de las pruebas con simulador ????

rortega
03/10/2015, 09:17
Una cosa, los valores que tienes por defecto son los tuyos de las pruebas con simulador ????
Esos valores sin de una de las mil pruebas que hice: el último vídeo que puse era:

min delta 0.2
min pan speed 12
max pan speed 300
map abgle 180

Simba
03/10/2015, 09:22
OK.
Turruk ayer llevaba estos y le iba que me ha convencido total, me olvido definitivamente de los PIDs :rolleyes2:.

min delta 0.1
min pan speed 12
max pan speed 253
map angle 20

Con respecto a la anterior que tenia mucho offset, solo le bajo el map angle a esos 20, y el resultado es espectacular.

Ya te cuento.

rortega
03/10/2015, 09:25
OK.
Turruk ayer llevaba estos y le iba que me ha convencido total, me olvido definitivamente de los PIDs :rolleyes2:.

min delta 0.1
min pan speed 12
max pan speed 253
map angle 20

Con respecto a la anterior que tenia mucho offset, solo le bajo el map angle a esos 20, y el resultado es espectacular.

Ya te cuento.
A disfrutar de los vuelos

Simba
03/10/2015, 14:10
Bueno pues después de todo el lio saca nuevas conclusiones, parece ser que a mi con el servo que tengo montado, (el Towerpro) no lo soporta y no deja de oscilar con la V 0.5c, le he cambiado parámetros hasta aburrirme y no ha habido forma de eliminarlos.

La conclusión que saco, es que tanto tu rortega como Turruk estáis utilizando un servo o lento o súper lento, y por eso funciona bien.

Yo ya he pedido otro servo GWS S35/STD, o sea el indicado los alemanes, y a la espera de que me llegue, he cargado la versión PIDs para seguir volando.

roetega confirma el servo que utilizas en las pruebas, mas que nada para salir de dudas, aunque según Turruk el cree que llevas el de velas trasformado.

Gracias.

rortega
03/10/2015, 15:00
Bueno pues después de todo el lio saca nuevas conclusiones, parece ser que a mi con el servo que tengo montado, (el Towerpro) no lo soporta y no deja de oscilar con la V 0.5c, le he cambiado parámetros hasta aburrirme y no ha habido forma de eliminarlos.

La conclusión que saco, es que tanto tu rortega como Turruk estáis utilizando un servo o lento o súper lento, y por eso funciona bien.

Yo ya he pedido otro servo GWS S35/STD, o sea el indicado los alemanes, y a la espera de que me llegue, he cargado la versión PIDs para seguir volando.

roetega confirma el servo que utilizas en las pruebas, mas que nada para salir de dudas, aunque según Turruk el cree que llevas el de velas trasformado.

Gracias.
Sí, un GWS para velas.

Simba
03/10/2015, 15:03
Vale purs ya lo tenemos, si la versión que le metí esta mañana es la correcta, sabemos seguro que el servo lento es imprescindible.

marcoasj
03/10/2015, 17:54
Bueno yo ya con la placa que controla el tracker reparada ( aunque no me va la 5.8 max de video ) esta mañana he vuelto a probar la versión normal 0.5. Con el servo de los alemanes


https://youtu.be/r2zfkU-V4T4

https://youtu.be/zct5_e6YYHE




Enviado desde mi SM-G900F mediante Tapatalk

Simba
03/10/2015, 19:39
Hola marcoasj, me alegro de que estés en la brecha otra vez.
Te aconsejo que ya que tu servo es el lento de los alemanes, pruebes a cargarle la versión 0.5c con los parametros de Turruk, que son estos:

#define CRIUS_SE // Discomment if using Multiwii Crius SE v2.5 board
#define MIN_DELTA 0.1 //Angulo mínimo en grados entre el heading del tracker y el del avion, si es mayor que este ángulo movemos el tracker.
#define MIN_PAN_SPEED 12 //Cantidad mínima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAX_PAN_SPEED 253 //Cantidad máxima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAP_ANGLE 20 //Ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades

Tiene que funcionarte mucho mejor, yo he probado esa versión con un servo normal de velocidad y el resultado no es tan espectacular, luego pongo video, pero con tu servo vas a alucinar lo bien que funciona.

marcoasj
03/10/2015, 20:04
Hola marcoasj, me alegro de que estés en la brecha otra vez.
Te aconsejo que ya que tu servo es el lento de los alemanes, pruebes a cargarle la versión 0.5c con los parametros de Turruk, que son estos:

#define CRIUS_SE // Discomment if using Multiwii Crius SE v2.5 board
#define MIN_DELTA 0.1 //Angulo mínimo en grados entre el heading del tracker y el del avion, si es mayor que este ángulo movemos el tracker.
#define MIN_PAN_SPEED 12 //Cantidad mínima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAX_PAN_SPEED 253 //Cantidad máxima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAP_ANGLE 20 //Ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades

Tiene que funcionarte mucho mejor, yo he probado esa versión con un servo normal de velocidad y el resultado no es tan espectacular, luego pongo video, pero con tu servo vas a alucinar lo bien que funciona.
Ok, a ver si encuentro un hueco y lo.pruebo.

Enviado desde mi SM-G900F mediante Tapatalk

caliwhite
04/10/2015, 02:08
Os dejo unos vídeos del comportamiento del tracker con los PID y sin ellos, por cierto no logro que me funcione con GPS local, haber si me comentáis el por que no funciona.
Un saludo.
https://youtu.be/Vq0TH4b3Rzk
https://www.youtube.com/watch?v=JVixvytsA-4
https://youtu.be/9Vy9tYb9mbM

Simba
04/10/2015, 13:34
Hola, según veo parece funcionar muy bien con la versión PIDs, ¿le has cambiado algo los valores de PID? lo veo mas fino si cabe que en tu primer vídeo.

En la versión 0.5c es cuestión de ajustar bien los parametros, aunque podias poner si no lo has echo ya, los valores que tiene Turruk que puse para Marcoasj, ha TurruK le funciona casi como te va a ti con los PID.

Esto es un come cocos, yo estoy tratando de conseguir el mejor resultado, con las dos versiones con y sin PID, y llego a la conclusión que depende muy mucho del servo a utilizar, el caso del servo que tu montas (el lento lento) las dos versiones estoy seguro que funcionan mejor que con cualquier otro servo.

Por lo tanto si hay que elegir un servo, prioritariamente hay que elegir el recomendado por losalemanes, el GWS S35/STD, y si se quiere utilizar otro servo normal, es posible y funciona bastante bien con los parámetros que yo utilizo, pero siempre es mas critico y difícil de ajustar.

Y visto como te funciona ti con los PIDs, lo probare cuando disponga del servo lento.

Lo del GPS Local, supongo que es cuestión de activar algo, rortega nos sacara de dudas en cuanto pueda.

Un saludo

caliwhite
04/10/2015, 15:16
Hola, según veo parece funcionar muy bien con la versión PIDs, ¿le has cambiado algo los valores de PID? lo veo mas fino si cabe que en tu primer vídeo.

En la versión 0.5c es cuestión de ajustar bien los parametros, aunque podias poner si no lo has echo ya, los valores que tiene Turruk que puse para Marcoasj, ha TurruK le funciona casi como te va a ti con los PID.

Esto es un come cocos, yo estoy tratando de conseguir el mejor resultado, con las dos versiones con y sin PID, y llego a la conclusión que depende muy mucho del servo a utilizar, el caso del servo que tu montas (el lento lento) las dos versiones estoy seguro que funcionan mejor que con cualquier otro servo.

Por lo tanto si hay que elegir un servo, prioritariamente hay que elegir el recomendado por losalemanes, el GWS S35/STD, y si se quiere utilizar otro servo normal, es posible y funciona bastante bien con los parámetros que yo utilizo, pero siempre es mas critico y difícil de ajustar.

Y visto como te funciona ti con los PIDs, lo probare cuando disponga del servo lento.

Lo del GPS Local, supongo que es cuestión de activar algo, rortega nos sacara de dudas en cuanto pueda.

Un saludo

Hola, en la versión 5c tiene introducidos los mismos valores que TurruK, personalmente me quedaré con la versión 5 con PDIs, aunque guardaré la configuración 5c, ya que todavia no lo he probado en vuelo.

los valores que tiene son los mismos que llevaba en el primer vídeo, lo único que he cambiado a sido;
#define TILT_EASING
#define TILT_EASING_STEPS 35 // default 10
#define TILT_EASING_MIN_ANGLE 2 // default 4
#define TILT_EASING_MILIS 15 //default 15.
Subiendo el valor EASING_STEPS el servo parece que va más lento y deja de hacerme efecto rebote, Quizás con un servo mas lento en el TILT mejoraría el movimiento, todo es probar.
Yo por lo pronto lo dejaré con la versión 5 con PDIs, quiero centrarme en como colocar los componentes que faltan y todavía tengo que resolver el tema de la telemetría ya que el equipo que tengo carece de ella.
Vosotros usáis el LRSMAx, que tal funciona, estoy barajando de cambiarme de equipo 433MHz, por que sino el tracker no podré utilizarlo o ¿existen otras alternativas para bajar la telemetría al tracker ? ya me comentareis.

Simba
04/10/2015, 15:36
Yo utilizo el Orange Open LRSng de Hobbyking, aunque aquí también lo tienes disponible en Desdelaire y con asistencia directa, es el sistema mas económico y robusto que conozco, (pero no por eso menos eficiente) a mi me va de maravilla, algunos lo han criticado sobre todo por desconocimiento y por que requiere unos mínimos conocimientos de configuración, pero vamos que está mas que superado y tienes un hilo dedicado al mismo, con bastante gente dispuesta a ayudar en lo que se necesite, incluido yo con todo lo que he aprendido.

Llegado el caso si lo necesitas ya explicaremos como instalar la Telemetria, con un simple GPS en el avión, y como sacarla del Tx para conectar con el Traker, es pan comido todo muy fácil.

rortega
04/10/2015, 17:15
Os dejo unos vídeos del comportamiento del tracker con los PID y sin ellos, por cierto no logro que me funcione con GPS local, haber si me comentáis el por que no funciona.
Un saludo.
https://youtu.be/Vq0TH4b3Rzk
https://www.youtube.com/watch?v=JVixvytsA-4
https://youtu.be/9Vy9tYb9mbM
Si la versión con PIDS te va bien no te marees mucho, lo que haré es fusionar ambas versiones en una y que se elija mediante config.h usar una u otra.

En el segundo vídeo veo que la distancia pasa de cero a 51 km del tirón [emoji15]. Por qué????

Cuando dices que no te funciona con GPS Local, que es exactamente lo que te pasa???

Simba
04/10/2015, 19:05
Buena idea rortega lo de fusionar las dos versiones.
Hoy he vuelto a volar con el Traker, ya no se volar sin el :laugh:, he vuelto a instalar la V.05 PIDs, y esta vez sin fallos por mi parte, resulta que las dos ultimas sesiones de pruebas, tenia metidos en el UART los 4 hilos, pese a haber indicado que solo se deben conectar el GND y Rx, y con este error se producen fenómenos de pequeñas variaciones continuas del Traker, como si estuviera apuntando y no viera el objetivo, con lo cual creía que era debido a los cambios que había realizado, pero me di cuenta ayer ya en casa.

Hoy sin problemas, una gozada de seguimiento y vuelo con seguimiento perfecto.

Corrección de error PID fijado en 60.
PIDs:
#define P 2500
#define I 60
#define D 200

caliwhite
04/10/2015, 19:07
Si la versión con PIDS te va bien no te marees mucho, lo que haré es fusionar ambas versiones en una y que se elija mediante config.h usar una u otra.

En el segundo vídeo veo que la distancia pasa de cero a 51 km del tirón [emoji15]. Por qué????

Cuando dices que no te funciona con GPS Local, que es exactamente lo que te pasa???

Hola, lo del tirón de 51 km no lo se porque, cuando comentas en arduino el gps , no realiza el seguimiento que efectúa el simulador de gps, solo actúa como una brújula.
He comparado los gps.h de version 3 y 5 y parece que hay cambios, pero yo no controlo el tema de arduino, solo se comentar y descomentar.
Un saludo.

rortega
04/10/2015, 20:23
Hola, lo del tirón de 51 km no lo se porque, cuando comentas en arduino el gps , no realiza el seguimiento que efectúa el simulador de gps, solo actúa como una brújula.
He comparado los gps.h de version 3 y 5 y parece que hay cambios, pero yo no controlo el tema de arduino, solo se comentar y descomentar.
Un saludo.
No entiendo lo que quieres decir.
Para que funcione con GPS Local debes "descomentar" el parámetro del config.h y poner los baudios según tengas configurado el GPS.

caliwhite
04/10/2015, 21:05
No entiendo lo que quieres decir.
Para que funcione con GPS Local debes "descomentar" el parámetro del config.h y poner los baudios según tengas configurado el GPS.

Hola buenas siento ser tan pesado, este es 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 2500 //5000 //default 2200
#define I 250//100 //default 280
#define D 1500 //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
/* #### 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 1990 // 2025 // default 2025

/* #### Tilt servo 90° adjustment ####
*
* Enter PWM value of Servo for pointing 90° up
*/
#define TILT_90 1000// 1200 // default 1050

/* ### 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 35 // 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 -10 // 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 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/new-liquidcrystal/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-Blue-Backlight-LCD-Display-Module-For-Arduino-p-950726.html
* Download and install this LiquidCrystal I2C library https://www.dropbox.com/s/e5p9q5tq6sn5m7o/LiquidCrystal_para_LCD_BANGGOOD_SKU166911_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

esta línea es la que tengo que descomentar #define BAUD 9600 // default 9600

rortega
04/10/2015, 21:18
Tú GPS es MTK??? Si no lo es debes comentar la línea:

#define MTK

Simba
04/10/2015, 22:14
rortega, yo llevo un parámetro de la formula PID, que he ido cambiando para ver de reducir la velocidad de accionamiento y simular en lo posible, el comportamiento del servo lento, el parámetro es este:
// limit the PID to the resolution we have for the PWM variable

Yo ahora lo llevo a 60 en lugar de los 500 que tiene de origen. De lo que se trata es de limitar los ms de mando sobre el servo, ya que un servo normal con +-60ms tiene mas que de sobra para mover el Traker, y de esta forma no pega los arreones que da con los +-500ms.

Si te parece se podía poner este parámetro con control desde el config.h, ya que es importante a la hora de utilizar un servo de velocidad normal en el Pan.

rortega
04/10/2015, 22:17
rortega, yo llevo un parámetro de la formula PID, que he ido cambiando para ver de reducir la velocidad de accionamiento y simular en lo posible, el comportamiento del servo lento, el parámetro es este:
// limit the PID to the resolution we have for the PWM variable

Yo ahora lo llevo a 60 en lugar de los 500 que tiene de origen. De lo que se trata es de limitar los ms de mando sobre el servo, ya que un servo normal con +-60ms tiene mas que de sobra para mover el Traker, y de esta forma no pega los arreones que da con los +-500ms.

Si te parece se podía poner este parámetro con control desde el config.h, ya que es importante a la hora de utilizar un servo de velocidad normal en el Pan.
De acuerdo, lo podemos incluir, tomo nota.

rortega
05/10/2015, 10:43
Simba, hoy haciendo el agujero a los engranajes he contado 20 dientes en lugar de los 18 que tiene el que viene con el kit. No es mucho, pero algo influye en la velocidad de giro del tracker.

marcoasj
05/10/2015, 10:57
Simba, hoy haciendo el agujero a los engranajes he contado 20 dientes en lugar de los 18 que tiene el que viene con el kit. No es mucho, pero algo influye en la velocidad de giro del tracker.
Lógicamente cuantos más dientes más lento.....


Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
05/10/2015, 10:58
Lógicamente cuantos más dientes más lento.....


Enviado desde mi SM-G900F mediante Tapatalk
Yo estoy pensando en po erle uno al tilt y darle la vuelta para bajar velocidad.....

Enviado desde mi SM-G900F mediante Tapatalk

Simba
05/10/2015, 11:19
Si será algo más lento y más fuerte pero apenas lo notarás en todo caso será mejor

Simba
05/10/2015, 12:11
Yo estoy pensando en po erle uno al tilt y darle la vuelta para bajar velocidad.....

Enviado desde mi SM-G900F mediante Tapatalk
Si es una buena idea si no tienes dificultades mecánicas de montaje, supongo que te refieres a poner el el servo el piñón pequeño y el grande en el brazo, la relación es de +- 2 a 1 el resultado el doble de fuerza y la mitad de velocidad, como el servo por muy lento que sea, sera de 0,2" 60º con lo cual en menos de 1/2" tienes los 90º.
Total que si, que es interesante y en mi caso en la caja de cartón piedra, por que no tengo sitio para montar nada mas, pero en otro Traker que estoy por montar en caja de plástico robustas y espaciosas, seguramente lo montare.
Todo es cuestión de las antenas y pesos que quieras montar, para una helicoidal de 5,8g, todo esto no te hace ninguna falta, de hecho ya ves mis antenas y no hay ningún problema.
Una cosa tiene de malo, y es que al tener mas dientes de por medio, el ajuste tiene que ser bueno, para que no tenga zona muerta entre piñones , y que al final oscile por falta de ajuste.

marcoasj
05/10/2015, 12:14
Si es una buena idea si no tienes dificultades mecánicas de montaje, supongo que te refieres a poner el el servo el piñón pequeño y el grande en el brazo, la relación es de +- 2 a 1 el resultado el doble de fuerza y la mitad de velocidad, como el servo por muy lento que sea, sera de 0,2" 60º con lo cual en menos de 1/2" tienes los 90º.
Total que si, que es interesante y en mi caso en la caja de cartón piedra, por que no tengo sitio para montar nada mas, pero en otro Traker que estoy por montar en caja de plástico robustas y espaciosas, seguramente lo montare.
Todo es cuestión de las antenas y pesos que quieras montar, para una helicoidal de 5,8g, todo esto no te hace ninguna falta, de hecho ya ves mis antenas y no hay ningún problema.
Una cosa tiene de malo, y es que al tener mas dientes de por medio, el ajuste tiene que ser bueno, para que no tenga zona muerta entre piñones , y que al final oscile por falta de ajuste.
Tengo que probar primero la 0.5c, y luego en vuelo. Hasta que no pruebe volando no lo voy a hacer, pero es la única solución que le veo al tema del tilt.....

Enviado desde mi SM-G900F mediante Tapatalk

Simba
05/10/2015, 12:19
Para la velocidad del Tilt no deberías tener problemas con el filtro easing, es cuestión de ralentizar todo lo que necesites, probar y probar hasta que veas que te gusta.

marcoasj
05/10/2015, 13:52
Para la velocidad del Tilt no deberías tener problemas con el filtro easing, es cuestión de ralentizar todo lo que necesites, probar y probar hasta que veas que te gusta.
Es que no me ha dado tiempo a nada este fin de semana. He estado fuera y llegue ayer. Y entre que la placa se fundió y se reparo ( que por cierto ya funciona 100%) y tal nada de nada. A ver si encuentro un hueco y me pongo al tema.

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
05/10/2015, 20:35
Dejo vídeo con la versión 0.5c. No tengo bien el offset y además problemas con la altura como vereis en el vídeo. Le he puesto una especie de freno fisico con una tuerca al tilt y parece que va mejor .No se que pasa el mío va a arreones y el de caliwhite va como deslizando....sacd conclusiones y contad, pq yo de tanto probar ya no veo NaDeNa....

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
05/10/2015, 20:36
https://youtu.be/p1LgiwU4qEE

Enviado desde mi SM-G900F mediante Tapatalk

rortega
05/10/2015, 20:39
https://youtu.be/p1LgiwU4qEE

Enviado desde mi SM-G900F mediante Tapatalk
Como siempre, un copy & paste del config.h vale más que mil palabras.

marcoasj
06/10/2015, 08:34
Como siempre, un copy & paste del config.h vale más que mil palabras.

Los problemas son despues del copy & paste, eso es lo raro. LA altura se me ha quedado en trescientos y pico metros y cuando se inicializa el tracker parte de esa altura, hasta que recibe datos de telemetria, pero lo que hace es sumarla a la que le envia el tracker (no tiene sentido).

El volver a la versión 0.5 normal ahora pasa lo mismo. es tomo si tomara de referencia la altura sobre el nivel del mar. Antes no lo hacia. He flasheado varias veces pensando que era por un mal flasheo y sigue igual. lo que si detecto es una ventana de error mas grande en la 0.5c, pero en general a mi personalmente me funciona mas suave la versión de los pids.

Otra cosa rara es que teniendo el mismo servo que turruk, con su configuración no coincide ni el pulso para parar, ni el minimo para ponerse en marcha......en fin que tuve que poner mis valores antiguos para que me funcionara bien (hablo de la versión del pid, por que la otra, la 0.5c con los valores de turruk va a castañazos, cosa que no comprendo.)

Estoy pensando que la forma de montar la mecanica influye determinantemente en el ajuste del tracker, por lo que estoy convencido que un AUTOAJUSTE inicial sería la solución ideal.

Salu2

Simba
06/10/2015, 09:38
Hola, para empezar pon literalmente que servo estas utilizando, no sea que lleves otro distinto de Turruk

Pon cambien la relación de dientes de las coronas, si son las del kit que pusimos, las que compro rortega, son las mismas que lleva Turruk.

Por lo demás no encuentro ninguna lógica para que te funcione distinto, y esto son 2x2 no hay nada mas.

rortega
06/10/2015, 10:33
Los problemas son despues del copy & paste, eso es lo raro. LA altura se me ha quedado en trescientos y pico metros y cuando se inicializa el tracker parte de esa altura, hasta que recibe datos de telemetria, pero lo que hace es sumarla a la que le envia el tracker (no tiene sentido).

El volver a la versión 0.5 normal ahora pasa lo mismo. es tomo si tomara de referencia la altura sobre el nivel del mar. Antes no lo hacia. He flasheado varias veces pensando que era por un mal flasheo y sigue igual. lo que si detecto es una ventana de error mas grande en la 0.5c, pero en general a mi personalmente me funciona mas suave la versión de los pids.

Otra cosa rara es que teniendo el mismo servo que turruk, con su configuración no coincide ni el pulso para parar, ni el minimo para ponerse en marcha......en fin que tuve que poner mis valores antiguos para que me funcionara bien (hablo de la versión del pid, por que la otra, la 0.5c con los valores de turruk va a castañazos, cosa que no comprendo.)

Estoy pensando que la forma de montar la mecanica influye determinantemente en el ajuste del tracker, por lo que estoy convencido que un AUTOAJUSTE inicial sería la solución ideal.

Salu2
Usas el simulador NMEA??? Cada vez que comiences la simulación debes poner la altitud a cero antes de pulsar home, o que se active el home al coger posición el GPS Local, si fuera tu caso. De lo contrario sucede exactamente lo que describes. No es un problema del firm, es un problema de no acordarse de que cuando acabas la simulación el "avión virtual" debe estar posado EB tierra para tener altitud cero.

Imagino que es eso lo que te está pasando.

En cuanto al config.h, los valores que hay por defecto al descargarte el firm, son los míos siempre, lo comento por si a caso.

Simba
06/10/2015, 10:48
+1

marcoasj
06/10/2015, 10:55
Usas el simulador NMEA??? Cada vez que comiences la simulación debes poner la altitud a cero antes de pulsar home, o que se active el home al coger posición el GPS Local, si fuera tu caso. De lo contrario sucede exactamente lo que describes. No es un problema del firm, es un problema de no acordarse de que cuando acabas la simulación el "avión virtual" debe estar posado EB tierra para tener altitud cero.

Imagino que es eso lo que te está pasando.

En cuanto al config.h, los valores que hay por defecto al descargarte el firm, son los míos siempre, lo comento por si a caso.
Utilizo gps local, es decir el tracker no se mueve hasta que fija posición. Antes cuando fijaba posición lo hacia en dirección y altura (0 metros ) ahora no. Ahora cuando fija satélites se posiciona en 000 pero la altura la fija a 367 metros (que curiosamente coincide más o menos con la altura al nivel del mar de donde estoy). Con gps local el botón home no me hace nada.

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
06/10/2015, 11:02
Cuando digo cosas raras me refiero a por ejemplo esto :
En la versión 0.5 normal poniendo offset 0 de me pone mirando al norte.
En la versión 0.5c poniendo offset 0 se me pone mirando al Este.

¿ tiene alguna explicación lógica ?

Enviado desde mi SM-G900F mediante Tapatalk

Simba
06/10/2015, 11:04
Si depende del offset que le pongas en el config.h.
Mira como lo tienes, rortega ya soluciono este tema para la 0.5c y se pone offset 0

Simba
06/10/2015, 11:05
Mira como tienes la posión de la brujula, ya te comente que lo tenias mal.

marcoasj
06/10/2015, 11:05
Si depende del offset que le pongas en el config.h.
Mira como lo tienes, rortega ya soluciono este tema para la 0.5c y se pone offset 0
No, si lo que digo es que pongo OFFSET CERO en los dos igual y cada uno hace una cosa......

Enviado desde mi SM-G900F mediante Tapatalk

rortega
06/10/2015, 11:05
Utilizo gps local, es decir el tracker no se mueve hasta que fija posición. Antes cuando fijaba posición lo hacia en dirección y altura (0 metros ) ahora no. Ahora cuando fija satélites se posiciona en 000 pero la altura la fija a 367 metros (que curiosamente coincide más o menos con la altura al nivel del mar de donde estoy). Con gps local el botón home no me hace nada.

Enviado desde mi SM-G900F mediante Tapatalk
Solo se me ocurre que le borres la flash completa a la controladora, usa para ello algún sketch que te bajes de la red.

marcoasj
06/10/2015, 11:06
Mira como tienes la posión de la brujula, ya te comente que lo tenias mal.
Pero estaría mal para las dos no??

Enviado desde mi SM-G900F mediante Tapatalk

rortega
06/10/2015, 11:06
Solo se me ocurre que le borres la flash completa a la controladora, usa para ello algún sketch que te bajes de la red.
Luego subes el firm y calibra el compass

Simba
06/10/2015, 11:08
Pero estaría mal para las dos no??

Enviado desde mi SM-G900F mediante Tapatalk
pues no se, pero se me ocurre que tienes que unificar criterios, pon la brujula como toca y luego vemos.

Simba
06/10/2015, 11:10
marcossj, aun no me dijiste el servo que utilizas (literal modelo)

rortega
06/10/2015, 11:15
No, si lo que digo es que pongo OFFSET CERO en los dos igual y cada uno hace una cosa......

Enviado desde mi SM-G900F mediante Tapatalk
En la versión 0.5c usa OFFSET 0 si tu magnetómetro apunta al frente. Y como no es una crius, comenta la línea define CRIUS_SE que está justo al principio del config.h.

En la 0.5 a secas hay que poner el OFFSET como lo ponías en versiones anteriores.

Yo cojo un vuelo en un rato, no sé si me daría tiempo, pero si pones aquí el config.h a lo mejor alguno vemos algo que se te haya pasado por alto.

marcoasj
06/10/2015, 11:17
Imposible, no estoy en casa, esta tarde lo pondré. Con respecto al offset, creo que esa va a ser la clave, la placa, que no lleva el magnetómetro integrado, y lo que es 0 para uno no lo va a ser para el otro, probablemente tenga razón simba, ya que creó que yo lo tengo girado 90°

Enviado desde mi SM-G900F mediante Tapatalk

Simba
06/10/2015, 11:20
Pues eso, poco a poco y una cosa detrás de otra.

rortega
06/10/2015, 11:41
Imposible, no estoy en casa, esta tarde lo pondré. Con respecto al offset, creo que esa va a ser la clave, la placa, que no lleva el magnetómetro integrado, y lo que es 0 para uno no lo va a ser para el otro, probablemente tenga razón simba, ya que creó que yo lo tengo girado 90°

Enviado desde mi SM-G900F mediante Tapatalk
Pues si son 90, en la 0.5C pon exactamente 90.

En las anteriores depende, por defecto era 900 creo recordar.

marcoasj
06/10/2015, 12:24
marcossj, aun no me dijiste el servo que utilizas (literal modelo)

Perdona simba, no me habia dado cuenta,
Es el de los alemanes, el que recomendó guillesan (por cierto donde anda, le ha pasado algo)

Este

http://www.banggood.com/GWS-S35-STD-Continuous-Rotation-Servo-p-69028.html

Salu2

marcoasj
06/10/2015, 12:26
Las coronas son las del Kit aleman, de plastico blanco.

Simba
06/10/2015, 17:08
Pues respecto a Guillesan no se nada, y si hay alguien en el foro que sepa algo, que de noticias por que lo echamos en falta hace unos cuantos dias.

El servo es el correcto, mismo que el de Turruk luego si a el le funciona bien, a ti te funcionara por lo menos igual, y las coronas del Kit alemán son prácticamente iguales.

Es cuestión de que lo revises bien todo y con los mismos parámetros tiene que funcionar igual.

Simba
06/10/2015, 17:16
Bueno si comparamos los que estamos funcionando bien y el tuyo, incluso el de caliwhite lleva la Crius, es una cuestión a tener en cuenta, mas que nada por precaución.
De todas formas lo que tu tienes es un Arduino, montado en otra placa y no se con que mas, pero al final no deja de ser un Arduino xxx.

Se de primera mano que Turruk probo por curiosidad, con un Arduino UNO, y un magnetómetro exterior, y según me dijo funcionaba igual de bien.

UTOPIAS
06/10/2015, 18:49
Hola amigos;

Después de un mes de trabajo sin fiestas, me dispongo a montar el sistema.
De momento, siguiendo las instrucciones de Guillesan, ya tenemos montada y funcionando la parte mecánica.
Ahora veremos la otra parte correspondiente a la electrónica, tengo todo el sistema completo de wadevire y la brújula pero de momento me falta un GPS que debo comprar.
Os estaba siguiendo , pero llegó un momento que me perdí con tantas modificaciones y configuraciones, me he vuelto a mirar todo el hilo, pero voy más perdido que un pulpo.
Menos mal que tengo cerca a "Sant Guillesan" .....
Ya iremos hablando.

Salud, suerte y sl2.

diegojjd
07/10/2015, 10:53
Yo atascado con la mecánica... A rehacer!

Enviado desde mi thl 5000 mediante Tapatalk

Simba
07/10/2015, 13:12
diegijjd, ¿que mecánica estas montando la de los alemanes o personal ?

diegojjd
07/10/2015, 14:40
Inventada con dos cajas estancas de luz, los piñones del kit.https://vimeo.com/141658631

En la parte de abajo el servo y piñón del pan. Arriba diáfano para los cacharros.

Una foto de los servos

http://images.tapatalk-cdn.com/15/10/07/7c79c6524d5839c152bb3d616e2f57e4.jpg

Y el movimiento del piñón central, versión uno. Tengo que hacer un taco nuevo más corto y mejor centrado.

https://vimeo.com/141659588

marcoasj
07/10/2015, 14:46
Inventada con dos cajas estancas de luz, los piñones del kit.https://vimeo.com/141658631

En la parte de abajo el servo y piñón del pan. Arriba diáfano para los cacharros.

Una foto de los servos

http://images.tapatalk-cdn.com/15/10/07/7c79c6524d5839c152bb3d616e2f57e4.jpg

Y el movimiento del piñón central, versión uno. Tengo que hacer un taco nuevo más corto y mejor centrado.

https://vimeo.com/141659588

Los videos no funcionan.......


Editado : Perdon creo que todavia se estan subiendo....

diegojjd
07/10/2015, 14:46
Otro intento.

https://vimeo.com/141661604

diegojjd
07/10/2015, 14:55
Y otro miniclip:

https://vimeo.com/141661963

Creo que cambiaré las cajas de plástico por contrachapado... Iré viendo.

Simba
07/10/2015, 14:59
Montas el servo de pan en la parte inferior???? . Parece más complicado y además tendras que

Simba
07/10/2015, 15:00
Pasar el control del servo por el slinring cosa poco aconsejable

diegojjd
07/10/2015, 15:21
Soy todo oidos y ojos... En principio pensaba ponerlo arriba, pero eso del taco queda tan gordo y en el centro que no cabe nada bien y la otra caja queda casi vacía. Ese taco tiene un agujero de 22 en el que encaja el slipring y encima suficiente superficie para atornillar el piñón grande también taladrado a 22. Para centrar todo usé un tubo de cobre de 22 y atornillé el conjunto. Todo rueda sobre un lazy susan de 8 pulgadas. He tenido que cortar los relieves de las cajas. No son planas por la parte inferior y molestaban los relieves. No queda fino... A ver si me animo a una v2 o sigo haciendo ñapas a esta.

También estoy con el gps en el orange para enviar la señal del gps directa. Las tramas que necesitamos son $GPRMC y $GPGGA pero desde el u-center no veo la opción de dejar solamente estas tramas. Es un programa muy extenso. Lo he puesto a 4800 baudios y a un hercio, pero me mete alguna trama más de las necesarias. En otra ocasión ya lo hice funcionar con el pc y el u-center sí entiende los datos y llegan sin problemas por telemetría. Ahí estoy trasteando los pocos ratos que saco. Aún muy lejos de entender vuestras disertaciones sobre el pid control y las fórmulas de amortiguado... pero todo se andará.

marcoasj
07/10/2015, 15:41
Y otro miniclip:

https://vimeo.com/141661963

Creo que cambiaré las cajas de plástico por contrachapado... Iré viendo.
Pues en cuanto las localices me avisas, pq yo las voy a cambiar en cuanto las encuentre.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
07/10/2015, 16:46
Soy todo oidos y ojos... En principio pensaba ponerlo arriba, pero eso del taco queda tan gordo y en el centro que no cabe nada bien y la otra caja queda casi vacía. Ese taco tiene un agujero de 22 en el que encaja el slipring y encima suficiente superficie para atornillar el piñón grande también taladrado a 22. Para centrar todo usé un tubo de cobre de 22 y atornillé el conjunto. Todo rueda sobre un lazy susan de 8 pulgadas. He tenido que cortar los relieves de las cajas. No son planas por la parte inferior y molestaban los relieves. No queda fino... A ver si me animo a una v2 o sigo haciendo ñapas a esta.

También estoy con el gps en el orange para enviar la señal del gps directa. Las tramas que necesitamos son $GPRMC y $GPGGA pero desde el u-center no veo la opción de dejar solamente estas tramas. Es un programa muy extenso. Lo he puesto a 4800 baudios y a un hercio, pero me mete alguna trama más de las necesarias. En otra ocasión ya lo hice funcionar con el pc y el u-center sí entiende los datos y llegan sin problemas por telemetría. Ahí estoy trasteando los pocos ratos que saco. Aún muy lejos de entender vuestras disertaciones sobre el pid control y las fórmulas de amortiguado... pero todo se andará.
Nada no te preocupes que lo solucionamos todo, esto no tiene secretos, quizás lo mas jodido sea hacer una mecánica que funcione bien suelta, que no tenga agarres mecánicos.
Lo demás iremos paso a paso, desde luego te aconsejo montar todo la electrónica y servos en la parte superior.

Lo del Ucenter también lo veremos, ya veras lo fácil que es.

Yo ahora voy a salir de casa, pero a la noche sacamos todas las dudas y lo que no para otro día.

sl2.

Simba
07/10/2015, 17:00
Nada Diego que me han cambiado los planes y me quedo en casa, si quieres algo soy todo tuyo :biggrin2:.

Simba
07/10/2015, 17:07
Lo del taco ese que has puesto, me parece innovador pero no le veo la necesidad, mas bien le veo muchos problemas.
Yo estoy montando mi V2, pero siempre como base de inspiración utilizo el de los alemanes, en este v2 lo monto sobre cajas de platico parecidas a las tuyas, pero al menos la superior es el doble de grande, por que estoy mas que harto de la miniatura del Kit aleman,aunque de momento es el que estoy utilizando y llevo hasta repetidor de 2,4 a 433.

rortega
07/10/2015, 18:03
Yo ya he encargado todo (o casi todo) lo que necesito para tener mi tracker funcionando (receptor 5.8, antena helicoidal, pulsadores, conectores...) en una semana estará todo aquí, espero.

marcoasj
07/10/2015, 18:09
Yo ya he encargado todo (o casi todo) lo que necesito para tener mi tracker funcionando (receptor 5.8, antena helicoidal, pulsadores, conectores...) en una semana estará todo aquí, espero.
Pues yo ya estoy buscando y he encontrado alguna caja de aluminio, pero como no se que tal se hace el bricolaje en aluminio pues todavía no me atrevo a pedir, pero desde luego mi experiencia con las de plástico estancas de electricista es que transmiten muchas vibraciones. No se si meterle un refuerzo como hice con la base o directamente pasarme al metal...

Enviado desde mi SM-G900F mediante Tapatalk

Simba
07/10/2015, 18:13
Ya estas otra vez en el curro ¿no?.
Muy bien en nada ya lo tienes en marcha, la antena helicoidal y Rx en el traker y una spironet en el avión, acuerdate de que sean las dos de la misma polarización.

Lo que no termino de entender, es por que utilizan el el Traker un diversiti con 2 receptores y dos antenas, una helical y otro omnidireccional. Eso era lo que yo tenia antes de tener un Traker360, cuando lo movía todo a mano, pero con un Traker360 funcionando, no lo entiendo.

diegojjd
07/10/2015, 18:14
Gracias! A ver si este llego a verlo en marcha que el de Jalves se me quedó en los hilvanes.

Enviado desde mi thl 5000 mediante Tapatalk

marcoasj
07/10/2015, 18:15
Ya estas otra vez en el curro ¿no?.
Muy bien en nada ya lo tienes en marcha, la antena helicoidal y Rx en el traker y una spironet en el avión, acuerdate de que sean las dos de la misma polarización.

Lo que no termino de entender, es por que utilizan el el Traker un diversiti con 2 receptores y dos antenas, una helical y otro omnidireccional. Eso era lo que yo tenia antes de tener un Traker360, cuando lo movía todo a mano, pero con un Traker360 funcionando, no lo entiendo.
Pues evitarte tener que apuntar la helicoidal direccional cuando el avión esta a tomar por C*** y no tener la seguridad de que apunta al avion

Enviado desde mi SM-G900F mediante Tapatalk

Simba
07/10/2015, 18:15
Pongo vídeo dedicado a Diegojjd, para que no tengas problemas con el U.Center.

https://youtu.be/mj-H7jSknX8

Simba
07/10/2015, 18:17
Pues evitarte tener que apuntar la helicoidal direccional cuando el avión esta a tomar por C*** y no tener la seguridad de que apunta al avion

Enviado desde mi SM-G900F mediante Tapatalk
Eso es cuando 2 cosas, o lo tienes en un tripode manual total, o cuando tienes una caca de Traker que no te fias un pelo, pero ninguna de las 2 son nuestro caso, :-11::ansioso:

marcoasj
07/10/2015, 18:18
Pongo vídeo dedicado a Diegojjd, para que no tengas problemas con el U.Center.

https://youtu.be/mj-H7jSknX8
Jajajajá que bueno, lo mismo que iba a hacer yo, cuando he visto los problemas que tenía Diego he pensado, o le hago un vídeo o este se tira una semana trasteando con el u-center......anda que no me dio guerra el jodio programa......[emoji28] [emoji28] [emoji28] [emoji28]

Enviado desde mi SM-G900F mediante Tapatalk

rortega
07/10/2015, 18:21
Ya estas otra vez en el curro ¿no?.
Muy bien en nada ya lo tienes en marcha, la antena helicoidal y Rx en el traker y una spironet en el avión, acuerdate de que sean las dos de la misma polarización.

Lo que no termino de entender, es por que utilizan el el Traker un diversiti con 2 receptores y dos antenas, una helical y otro omnidireccional. Eso era lo que yo tenia antes de tener un Traker360, cuando lo movía todo a mano, pero con un Traker360 funcionando, no lo entiendo.
Yo, parte de lo que cuesta un diversity, lo he invertido en un receptor 5.8 con grabadora incorporada, un aomway, la misma marca que el tx de vídeo de 200mw. No espero alejarme más de 300 metros con el micro 250.

Simba
07/10/2015, 18:26
Yo, parte de lo que cuesta un diversity, lo he invertido en un receptor 5.8 con grabadora incorporada, un aomway, la misma marca que el tx de vídeo de 200mw. No espero alejarme más de 300 metros con el micro 250.
Por que no tendrás autonomía, pero yo me he ido con el micro 250 a 1500m y por video el Traker y la helical, te podrías ir a mas de 7 Km, mi record con 5,8g es de 10 Km, y con vídeo perfecto hasta los 7 Km.

Con 500mW de Video

rortega
07/10/2015, 19:18
Por que no tendrás autonomía, pero yo me he ido con el micro 250 a 1500m y por video el Traker y la helical, te podrías ir a mas de 7 Km, mi record con 5,8g es de 10 Km, y con vídeo perfecto hasta los 7 Km.

Con 500mW de Video
Eso ya para cuando esté en España volando el Raptor con 500mw. Aquí estoy limitado a la zona de vuelo.

rortega
07/10/2015, 22:38
Para los que llegan rezagados, unas notas que resume como va le tema del firmware:



Estamos trabajando en nuestra propia versión del firmware, a partir del original, mejorándola poco a poco en la medida de lo posible, corrigiendo aquello que no funciona bien y añadiendo nuevas funcionalidades de las que carece la original.



La versión estable es la amv-open360tracker versión 0.5 que se encuentra en el repositiro en github: https://github.com/raul-ortega/amv-open360tracker. Se recomienda leer el readme, en el que podéis conocer las novedades, y saber exactamente que es lo que se corrige o mejora.



El firm, aunque estamos usándolo con la controladora de vuelo CRUIS SE, es totalmente compatible con arduino UNO y MEGA, a los que se le añade un magnetómetro. Con FRQ-MAX también es compatible, ya que a todos los efectos es como un arduino con magnetómetro. Aunque aún no se ha probado, es más que probable que también funcione correctamente en la CRIUS AIO Pro.



Además, estamos probando una ultima versión numerada con la letra C, amv-open360tracker versión 0.5C, en la que intentamos mejorar el funcionamiento del servo PAN presciendiendo del controlador mediante PIDs, intentando hacer la configuración más intuitiva con el objetivo de conseguir un comportamiento del seguimiento más fluido y preciso. Pero a cada uno le va de forma distinta, y hemos podido comprobar que depende mucho del servo que se use, en especial va bien con servos lentos. Si se usa el servo que recomiendan los alemanes, esa versión podría ir bastante bien, siempre y cuando se le dedique su tiempo a la configuración y pruebas. El enlace es éste : https://github.com/raul-ortega/amv-open360tracker/tree/Without-control-PIDs



Para ambas versiones se necesitan las librerías de TinyGPS y del LCD, las mismas que se usaban con la versión original, y la forma de instalarse es con Arduino, compilando el sketch y subiéndolo a la placa vía usb y/o ftdi.



El tracker se puede usar con y sin GPS local, en ambos casos va a funcionar igual, exceptuando que en el caso de no usar GPS local hay que pulsar el botón de HOME una vez que se reciben los satélites y coordenadas del avión.



Si estás montando el tracker y quieres probarlo, no es necesario poner en marcha un avión o multirrotor dotado de GPS. Podemos usar en su lugar un Simulador de tramas NMEA, un sofware que se ejecuta en el ordenador y que le envía vía puerto usb/ftdi/bluetooth a la controladora las tramas: http://kave.fi/Apps/NMEA-Simulator/NMEA-Simulator.zip (Nota: en este post (http://www.aeromodelismovirtual.com/showpost.php?p=472811&postcount=938) hay un pantallazo de la configuración del software).

marcoasj
07/10/2015, 22:55
A ver chicos echadme una mano. Estoy atascado con el tema de los módulos de bluetooth. Ninguno de los dos, ni el h05 ni el H 06 responde. He probado todas las velocidades de conexión, pero el programa de terminal acepta cualquier velocidad que le propongo y no recibo respuestas de los módulos. Con los dos me pasa lo mismo. También he intercambiado tx y rx en ambos por si acaso y nada. Dejo vídeo

https://youtu.be/LTo1s73Ldcw

Enviado desde mi SM-G900F mediante Tapatalk

TURRUK
07/10/2015, 23:13
A ver chicos echadme una mano. Estoy atascado con el tema de los módulos de bluetooth. Ninguno de los dos, ni el h05 ni el H 06 responde. He probado todas las velocidades de conexión, pero el programa de terminal acepta cualquier velocidad que le propongo y no recibo respuestas de los módulos. Con los dos me pasa lo mismo. También he intercambiado tx y rx en ambos por si acaso y nada. Dejo vídeo

https://youtu.be/LTo1s73Ldcw

Enviado desde mi SM-G900F mediante Tapatalk


Hola la HC6 y HC 5 soporta comandos AT , es seguro que tu lo sabes, HC5 por defecto tiene 38400 baud. A entrar a comandos AT tienes que apretar boton y a laves conectar usb , si parpadea lento, ya esta en modo de programacion. En consola de programa tienes que activar tres casillas, solo para este HC5, para HC 6 desactivar. Mira por tutoriales como escribir comandos AT. Es facil, cundo pillas truco. Suerte.

Simba
07/10/2015, 23:33
Marcosaj en eso si que no te puedo ayudar, lo siento pero el tema Buetooth me lo configuro Turruk :-11:.

rortega tengo una posible mejora, aunque la verdad es que no hace falta ningún cambio, solo es un concepto a tener en cuenta, bueno me explico.

Se trata de que cuando una antena direccional, sea del tipo que sea yagi, helical,Tatch, Biquad en fin la que sea, se apunta al avión vale, pero no necesariamente es el punto donde se recibe la mejor señal, y eso se nota sobre todo cuando se vuela lejos.
Pues bien se trata de poder corregir la dirección de la antena, tanto de Pan como de Tilt, para buscar ese punto mágico que es el que da la mejor señal.

¿Como hacerlo sobre la marcha? esa es la cuestión. Se podía meter un par de parámetros, para de forma externa mediante el portátil, cambiar o mejor dicho ajustar la posición optima, mediante el ajuste de Offset en Pan y el 0º de Tilt cuando lo tenemos casi en horizontal.

Esto solo es una idea a valorar, si lo veis interesante.

Sl2.

marcoasj
07/10/2015, 23:45
Hola la HC6 y HC 5 soporta comandos AT , es seguro que tu lo sabes, HC5 por defecto tiene 38400 baud. A entrar a comandos AT tienes que apretar boton y a laves conectar usb , si parpadea lento, ya esta en modo de programacion. En consola de programa tienes que activar tres casillas, solo para este HC5, para HC 6 desactivar. Mira por tutoriales como escribir comandos AT. Es facil, cundo pillas truco. Suerte.
Gracias turruk, creía que sería más sencillo.....buscaré los tutoriales.

Enviado desde mi SM-G900F mediante Tapatalk

rortega
07/10/2015, 23:48
Marcosaj en eso si que no te puedo ayudar, lo siento pero el tema Buetooth me lo configuro Turruk :-11:.

rortega tengo una posible mejora, aunque la verdad es que no hace falta ningún cambio, solo es un concepto a tener en cuenta, bueno me explico.

Se trata de que cuando una antena direccional, sea del tipo que sea yagi, helical,Tatch, Biquad en fin la que sea, se apunta al avión vale, pero no necesariamente es el punto donde se recibe la mejor señal, y eso se nota sobre todo cuando se vuela lejos.
Pues bien se trata de poder corregir la dirección de la antena, tanto de Pan como de Tilt, para buscar ese punto mágico que es el que da la mejor señal.

¿Como hacerlo sobre la marcha? esa es la cuestión. Se podía meter un par de parámetros, para de forma externa mediante el portátil, cambiar o mejor dicho ajustar la posición optima, mediante el ajuste de Offset en Pan y el 0º de Tilt cuando lo tenemos casi en horizontal.

Esto solo es una idea a valorar, si lo veis interesante.

Sl2.
Eso para la versión con CLI...

Simba
07/10/2015, 23:51
Pues si tienes razón.
Buenas noches me voy al catre.

marcoasj
08/10/2015, 08:42
Pongo vídeo dedicado a Diegojjd, para que no tengas problemas con el U.Center.

https://youtu.be/mj-H7jSknX8
Buenos días simba. He visto en el vídeo que deja activadas las sentencias GGA Y GPRMC para el gps del avión. Recuerdo que guilesan se empeñaba en dejar sólo las sentencias GGA porque decía que si activábamos las dos la cadena quedaba muy larga y se truncaba con lo que se perdían datos. ¿Tu lo tienes con las dos activadas en el avión y te funciona ?

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 08:51
Si correcto con las 2. Esto lo hacemos así desde el Traker Jalves no se muy bien el por qué pero creo que es por necesidad de mínima precisión.

marcoasj
08/10/2015, 09:03
Si correcto con las 2. Esto lo hacemos así desde el Traker Jalves no se muy bien el por qué pero creo que es por necesidad de mínima precisión.
Y en el tracker sólo GGA ?

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
08/10/2015, 09:04
O tu no tenias gps local no ?

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 09:27
Si lo tuve y con sólo gga pero lo retire por no ser necesario y simplificar. De echo el gps del video era el que llevaba el Traker

diegojjd
08/10/2015, 09:44
Vídeo visto y comprendido. Ni había llegado hasta ese menú. Gracias por aportar!

Enviado desde mi thl 5000 mediante Tapatalk

Simba
08/10/2015, 09:49
Marco si en el Traker solo gga pero a 9600. Si ves el video antes de cambiar nada estaba para el Traker. Ok.

marcoasj
08/10/2015, 09:50
Marco si en el Traker solo gga pero a 9600. Si ves el video antes de cambiar nada estaba para el Traker. Ok.
Y en el avión a 4800?

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 09:51
Ok.

Simba
08/10/2015, 10:25
Marcoasj y compañia, estoy mirando lo de las sentencias GPS, me has puesto alerta sobre el tema y realmente no se por que se tienen que mandar desde el avión las 2 la GPGGA Y la GPRMC, con cualquiera de las 2 me esta dando posición correcta en el UCenter, y si es algo que llevamos arrastrando desde el Traker Jalves, no lo se pero al final si no son necesarias las 2 sentencias, seria mucho mejor para el trafico de datos por el serial del Orange.
Incluso si esto resulta que es suficiente una sola sentencia, se podria aumentar al doble la velocidad de refresco del GPS, que pasaria aser de 4 hz y por lo tanto el seguimiento del Traker en vuelo cercano, seria mas continuo, con menos saltos y mas precisión.

marcoasj
08/10/2015, 10:35
Marcoasj y compañia, estoy mirando lo de las sentencias GPS, me has puesto alerta sobre el tema y realmente no se por que se tienen que mandar desde el avión las 2 la GPGGA Y la GPRMC, con cualquiera de las 2 me esta dando posición correcta en el UCenter, y si es algo que llevamos arrastrando desde el Traker Jalves, no lo se pero al final si no son necesarias las 2 sentencias, seria mucho mejor para el trafico de datos por el serial del Orange.
Incluso si esto resulta que es suficiente una sola sentencia, se podria aumentar al doble la velocidad de refresco del GPS, que pasaria aser de 4 hz y por lo tanto el seguimiento del Traker en vuelo cercano, seria mas continuo, con menos saltos y mas precisión.
Recuerdo que guilesan me insistió MUCHO sobre el tema, si revisas el hilo lo verás...

Enviado desde mi SM-G900F mediante Tapatalk

diegojjd
08/10/2015, 11:27
Una prueba y solucionada la duda.

Enviado desde mi thl 5000 mediante Tapatalk

Simba
08/10/2015, 11:40
Lo de Guillesan era solo para el gps local

marcoasj
08/10/2015, 11:42
Lo de Guillesan era solo para el gps local
De acuerdo, entonces que pasa con el del avión, le pongo también las tramas GPRMC??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 11:52
De acuerdo, entonces que pasa con el del avión, le pongo también las tramas GPRMC??

Enviado desde mi SM-G900F mediante Tapatalk
Si, en principio si por que es como lo llevamos nosotros y funciona, concretemos para no repetirnos:
En el Avión GPS a 4800 y 2 hz (atención en la configuración del orange también con 4800)

En el Traker si le pones GPS Local, a 9600 y 1Hz.

marcoasj
08/10/2015, 12:31
Si, en principio si por que es como lo llevamos nosotros y funciona, concretemos para no repetirnos:
En el Avión GPS a 4800 y 2 hz (atención en la configuración del orange también con 4800)

En el Traker si le pones GPS Local, a 9600 y 1Hz.
Ok perfecto

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 12:32
Bueno, picado por la curiosidad estoy haciendo pruebas con el U.Center, y viendo que es lo que nos ofrecen las dos Tramas NMEA, total que la GPGGA nos da ademas de otras cosas, la Longitud la Latitud y la Altura, o sea todo lo que necesitamos, y el GPRMC no da la altura por lo tanto no nos sirve, otra cosa es que sirva para algo mas que no se.

En el U.center con solo la GPGGA me marca la posición GPS de mi casa y la altura, por lo tanto si no hay nuevas sugerencias, voy a probar con esta configuracion en el GPS del avión, pero antes podíamos probar con solo GPGGA en el simulador.

marcoasj
08/10/2015, 12:33
Bueno, picado por la curiosidad estoy haciendo pruebas con el U.Center, y viendo que es lo que nos ofrecen las dos Tramas NMEA, total que la GPGGA nos da ademas de otras cosas, la Longitud la Latitud y la Altura, o sea todo lo que necesitamos, y el GPRMC no da la altura por lo tanto no nos sirve, otra cosa es que sirva para algo mas que no se.

En el U.center con solo la GPGGA me marca la posición GPS de mi casa y la altura, por lo tanto si no hay nuevas sugerencias, voy a probar con esta configuracion en el GPS del avión, pero antes podíamos probar con solo GPGGA en el simulador.
Yo ya te digo que en simulador funciona, pq yo lo tengo así...

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
08/10/2015, 12:34
Yo ya te digo que en simulador funciona, pq yo lo tengo así...

Enviado desde mi SM-G900F mediante Tapatalk
Me refiero a que en el simulador le digo que tire sólo tramas GGA y desactivó las casillas de todo lo demás.

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 12:35
OK, te entiendo pero me surge una duda, espero que no sea por eso que te funciona tan mal :ansioso:.

marcoasj
08/10/2015, 12:57
OK, te entiendo pero me surge una duda, espero que no sea por eso que te funciona tan mal :ansioso:.

:biggrin2::biggrin2:

jeje, antes funcionó como debía,.....

Una pregunta. ¿el boton de calibración para que sirve exactamente ?, pq yo no lo he utilizado nunca.......

Simba
08/10/2015, 13:04
:biggrin2::biggrin2:

jeje, antes funcionó como debía,.....

Una pregunta. ¿el boton de calibración para que sirve exactamente ?, pq yo no lo he utilizado nunca.......
Ya he probado con el simulador, y confirmo que funciona exactamente igual, con tan solo la trama GPGGA, en cambio con la GPRMC tal como suponía no detecta la altura.
Por lo tanto supongo que solo necesitamos unicamente la GPGGA.

Lo del botón de calibración es para eso, para calibrar el magnetometro, es conveniente hacerlo de vez en cuando, y cuando cambies de lugar de vuelo para que calibre bien donde esta el Norte.

TURRUK
08/10/2015, 14:08
Ya he probado con el simulador, y confirmo que funciona exactamente igual, con tan solo la trama GPGGA, en cambio con la GPRMC tal como suponía no detecta la altura.
Por lo tanto supongo que solo necesitamos unicamente la GPGGA.

Lo del botón de calibración es para eso, para calibrar el magnetometro, es conveniente hacerlo de vez en cuando, y cuando cambies de lugar de vuelo para que calibre bien donde esta el Norte.

Hola simba veo que esta se cocinando algo, como intiendo tu quieres probar aumentar baud de orange con esta sola sentencia , crees que va ir.:rolleyes:

marcoasj
08/10/2015, 14:21
Ya he probado con el simulador, y confirmo que funciona exactamente igual, con tan solo la trama GPGGA, en cambio con la GPRMC tal como suponía no detecta la altura.
Por lo tanto supongo que solo necesitamos unicamente la GPGGA.

Lo del botón de calibración es para eso, para calibrar el magnetometro, es conveniente hacerlo de vez en cuando, y cuando cambies de lugar de vuelo para que calibre bien donde esta el Norte.


¿Pero como funciona?

Yo espero a que el gps local coja satelites y en cuanto los pilla el solito se pone mirando al norte......, bueno...... al este con la 0.5C

Simba
08/10/2015, 14:30
Hola simba veo que esta se cocinando algo, como intiendo tu quieres probar aumentar baud de orange con esta sola sentencia , crees que va ir.:rolleyes:
Pues si, de eso se trata de aumentar a 4 hz el GPS del avión.
Creo que funcionara perfectamente, ya que se reduce el trafico de datos a la mitad.
Cambia en tu GPS avión a 4hz y solo la sentencia GPGGA, espero que no tengas ningún problema.

Simba
08/10/2015, 14:39
¿Pero como funciona?

Yo espero a que el gps local coja satelites y en cuanto los pilla el solito se pone mirando al norte......, bueno...... al este con la 0.5C
Marcoasj, no me lies con tus versiones y tu Traker, piensa en las diferencias que tu particularmente tienes.
Yo no uso GPS local, por lo tanto el Traker cuando le llega la telemetria correcta, y mas de 6 satelites se queda esperando a que yo le apriete al boton Home, el traker entiende y guarda la posicion del Avion junto al traker como posicion LOCAL del Traker y queda a la espera, aun no se ha movido nada, y cuando se separa el avion mas de los metros especificados, se pone a seguirlo.

Que como funciona el que, la calibracion, pues al apretar el boton Cal. el tarker da unas vueltas a cada lado para calibrar el chip de la brujula y cuando termina se para y queda calibrado.

rortega
08/10/2015, 15:18
Marcoasj, no me lies con tus versiones y tu Traker, piensa en las diferencias que tu particularmente tienes.
Yo no uso GPS local, por lo tanto el Traker cuando le llega la telemetria correcta, y mas de 6 satelites se queda esperando a que yo le apriete al boton Home, el traker entiende y guarda la posicion del Avion junto al traker como posicion LOCAL del Traker y queda a la espera, aun no se ha movido nada, y cuando se separa el avion mas de los metros especificados, se pone a seguirlo.

Que como funciona el que, la calibracion, pues al apretar el boton Cal. el tarker da unas vueltas a cada lado para calibrar el chip de la brujula y cuando termina se para y queda calibrado.
El botón de calibrar hay que mantenerlo pulsado unos segundos, una pulsación larga, si no no calibra.

Simba
08/10/2015, 15:19
El botón de calibrar hay que mantenerlo pulsado unos segundos, una pulsación larga, si no no calibra.
Si claro se me olvido, apretar mas de 5 segundos.

marcoasj
08/10/2015, 15:29
El botón de calibrar hay que mantenerlo pulsado unos segundos, una pulsación larga, si no no calibra.
Vale, pensé que calibraba tilt tambien....pq el mío mientras oilla satélites sube y baja el tilt.....varias veces....

Enviado desde mi SM-G900F mediante Tapatalk

Simba
08/10/2015, 18:08
Bueno chicos creo que ya tenemos Traker360 con Telemetria GPS a 4hz.
Acabo de probar en el patio de casa, y funciona con 4hz y 4800 de br, con solo la Trama NMEA GPGGA en el GPS, el puerto serie del Orange admite esta tasa de datos perfectamente.

Solo falta probar en vuelo, pero me da la impresión que ira exactamente igual, solo que con refresco de datos a 4hz en lugar de los 2hz anteriores, y el seguimiento con doble velocidad de posición sera mas fluido.

Sl2

rortega
09/10/2015, 00:22
Bueno chicos creo que ya tenemos Traker360 con Telemetria GPS a 4hz.
Acabo de probar en el patio de casa, y funciona con 4hz y 4800 de br, con solo la Trama NMEA GPGGA en el GPS, el puerto serie del Orange admite esta tasa de datos perfectamente.

Solo falta probar en vuelo, pero me da la impresión que ira exactamente igual, solo que con refresco de datos a 4hz en lugar de los 2hz anteriores, y el seguimiento con doble velocidad de posición sera mas fluido.

Sl2

Yo no he comentado nada al respecto antes porque daba por hecho que ya estabas usando únicamente tramas GGA. Yo en su día puse un pantallazo del simulador en el que se marcaba GGA y RCM, pero posteriormente leí en algún post del hilo que sólo hacía falta GGA y así lo tengo desde entonces.

Ando un poco desconectado del tema del código, mañana espero volver a tener algo de tiempo para meterle nuevamente mano al asunto.

Simba
09/10/2015, 12:30
Noticias:
Probada la telemetria con GPS a 4hz y NMEA solo GPGGA, funciona perfecto y se nota en el Traker, que el refresco de datos a 4hz, mejora mucho el seguimiento sobre todo en vuelo cercano.

Se ha probado en el Ala volante de Turruk y con su Traker que lleva el servo lento.
Esto ultimo en el caso de utilizar un servo tipo normal en Pan, se notara mucho mas.

Ya veis que vamos rápidos, y centrando el desarrollo con las mejoras que se nos van ocurriendo.

Sl2.

diegojjd
09/10/2015, 19:14
Esto se va afinando. Ya tengo perfectamente configuradas un par de antenas ublox y un par de pedidos en camino de más material.

Unos minigps ublox para pegar a los rx mucho más compactos que mis antenas actuales.

New Ublox 7 Series Mini GPS for OPLink CC3D Revolution / Naze32 Flip32 / Mini Naze32 Flight Control Board Controller QAV250
http://www.aliexpress.com/item/Free-shipping-OP-NZ-NZ32-GPS-for-CC3D-ATOM-CC3D-Revolution-Revo-Nano-NAZE32-MINI-NAZE32/32471751693.html
(from AliExpress Android)

Y también viene el complemento ideal a un tracker... Una antena muy direccional.




http://images.tapatalk-cdn.com/15/10/09/50c0c076caeaa3bc98b38fd5db69e15b.jpg

Simba
09/10/2015, 19:46
Hola diegojjd, menuda antena tiene que tener muchos db, ahora bien será super direccional, pon el enlace para ver características.

Por cierto Marcoasj, con la nueva configuración de GPS a 4hz, se nota mucho en el movimiento de Tilt, mas incluso que en el de Pan.

diegojjd
09/10/2015, 21:22
https://www.google.es/search?q=IBCrazy+Super+Cannon+5.8ghz&safe=off&biw=360&bih=559&prmd=ivsn&source=lnms&sa=X&ved=0CAUQ_AUoAGoVChMI_43TpY62yAIVBtYUCh3oawUh

Enviado desde mi thl 5000 mediante Tapatalk

marcoasj
09/10/2015, 21:24
Hola diegojjd, menuda antena tiene que tener muchos db, ahora bien será super direccional, pon el enlace para ver características.

Por cierto Marcoasj, con la nueva configuración de GPS a 4hz, se nota mucho en el movimiento de Tilt, mas incluso que en el de Pan.
Cuando dices que se nota mucho entiendo que te refieres a que va más fluido y menos brusco no??

Enviado desde mi SM-G900F mediante Tapatalk

Simba
09/10/2015, 21:34
Si así es, al recivir el doble de información de posición, los saltos son mas cortos, y va mas fluido. Eso volando bajo y pasando por la vertical de la antena, es decir en las peores de las circunstancias.

marcoasj
09/10/2015, 21:41
Estoy fuera todo el fin de semana, la semana que viene pondré al día los gps con la nueva configuracion.....

Enviado desde mi SM-G900F mediante Tapatalk

Simba
09/10/2015, 21:43
https://www.google.es/search?q=IBCrazy+Super+Cannon+5.8ghz&safe=off&biw=360&bih=559&prmd=ivsn&source=lnms&sa=X&ved=0CAUQ_AUoAGoVChMI_43TpY62yAIVBtYUCh3oawUh

Enviado desde mi thl 5000 mediante Tapatalk
Diego en el video que ponen con el Skylark antenna tracke, este Traker es un peñazo de Traker no me gusta nada de nada, no se lo que cuesta pero no lo cambio por el mio ni de coña :-11::-11:.

diegojjd
09/10/2015, 22:41
Eso suena bien, tenemos algo bueno entre manos. Tengo idea de seguir el setup de nuestros compañeros de Uruguayos.
http://www.aeromodelismovirtual.com/showthread.php?p=475080


Mini SkyWalker

Ya tengo la heliaxial de circular wireless y me falta la de Ibcrazy

Así con el diversity y el tracker a ver qué se puede hacer. Supongo que con 15db el tracker se va a tener que ganar bien el pan. Me gustaría verlo operativo enseguida.

Simba
09/10/2015, 23:00
Eso suena bien, tenemos algo bueno entre manos. Tengo idea de seguir el setup de nuestros compañeros de Uruguayos.
http://www.aeromodelismovirtual.com/showthread.php?p=475080


Mini SkyWalker

Ya tengo la heliaxial de circular wireless y me falta la de Ibcrazy

Así con el diversity y el tracker a ver qué se puede hacer. Supongo que con 15db el tracker se va a tener que ganar bien el pan. Me gustaría verlo operativo enseguida.

Ya veras como al final terminas por no utilizar el diversiti, yo ya lo esplique no entiendo la filosofía de Traker + Diversiti y menos con dos direccionales.
En mi antena que se ve en las fotos y vídeos, en la parte baja del trípode llevo un Diversiti que antes cuando volaba en 5,8 lo utilizaba con la helical de Sircana y una de omni de seta, pero no tenia Traker, solo era trípode.
Con un Traker fiable lo que importante es que siga al avión, lo demás carece de importancia ya que la máxima ganancia la tienes siempre en la direccional del Traker.
Pero bueno para gustos los colores y las manías de cada cual.

diegojjd
09/10/2015, 23:04
Y qué antena es mejor? La microbicuad, la de sircana, la de ibcrazy.... Iremos viendo...

Enviado desde mi thl 5000 mediante Tapatalk

Simba
09/10/2015, 23:04
Ahora el Diversiti que es un Eagle, me sirve como siversificador de señales para el monitor aux, el Grabador y el Repedidor de vídeo.

Simba
09/10/2015, 23:12
Y qué antena es mejor? La microbicuad, la de sircana, la de ibcrazy.... Iremos viendo...

Enviado desde mi thl 5000 mediante Tapatalk
Si lo mejor de las antenas es la experimentación (si te gusta claro), pero para mi creo que la mejor o la que mas te va a gustar, es la de Sircana.
Con una buena antena de la misma polarización en el avión, Sircana o Spironet. Yo experimente la Spironet con la Helical de sircana, y estaba contentisimo, hasta el punto que he visto funcionar una Planar de muchos db, y le tengo dicho al compañero que de deja de castigar al traker, con una monstruosa Planar de 5,8, y que le ponga una Helical Sircana.

De poco me vale que una antena tenga 20bd, si para apuntar bien y sacar rendimiento a 10 Km, son como apuntar con un Laser, que a poco que respires se te va del punto de mira, no se si me entiendes.

rortega
09/10/2015, 23:29
Ayer terminé de montar el ZMR250 V2, que ya vuela. Me falta poner el GPS que aún no ha llegado, pero está al caer.

He estado probando la telemetría FrSky desde la Naze32 (cleanflight) hacia el teléfono móvil vía módulo bluetooth acoplado al TX FrSky, y va bien.

Mañana enlazaré el tracker con el TX FrSky vía bluetooth (si soy capaz) para dejarlo preparado para cuando llegue el resto de componentes para el tracker.

rortega
09/10/2015, 23:32
Simba, me alegro por los progresos en el tema de las tramas GGA.

Simba
09/10/2015, 23:40
Tu ves, tanto pelear para tener mas velocidad de respuesta, y resulta que ara tan fácil como suprimir una trama inútil y aumentar a 4 hz el gps, lo que son las cosas, estaba convencido desde el Traker Jalves, que eran imprescindibles las dos Tramas.

Tengo ganas de que lo probéis, de verdad que es una pasada, mañana ire a volar mi ala Phantom con 4hz y si puedo le eremos un vidrio.

marcoasj
10/10/2015, 09:17
Tu ves, tanto pelear para tener mas velocidad de respuesta, y resulta que ara tan fácil como suprimir una trama inútil y aumentar a 4 hz el gps, lo que son las cosas, estaba convencido desde el Traker Jalves, que eran imprescindibles las dos Tramas.

Tengo ganas de que lo probéis, de verdad que es una pasada, mañana ire a volar mi ala Phantom con 4hz y si puedo le eremos un vidrio.
Cagüento.....!!!, y yo sin poder probar....[emoji3] [emoji3] [emoji3]

Enviado desde mi SM-G900F mediante Tapatalk

rortega
10/10/2015, 13:55
Ya tenemos la versión 0.6 (https://github.com/raul-ortega/amv-open360tracker/tree/master):


Se fusionan en dicha versión el sistema de control PID de la 0.5 y el sistema de control sin PIDs de la v0.5C
Corrección en el parámetro OFFSET (0 en lugar de 2700 para la crius).

Aún pendiente corregir:


Problema de intercambio del Este con el Oeste cuando cruzamos el meridiano.

Posibles mejoras pendientes:


offset para señal óptima (sugerido simba).

Para más información sobre la versión 0.6, leed el readme en el repositorio: https://github.com/raul-ortega/amv-open360tracker/tree/master

rortega
10/10/2015, 14:01
Simba, no he añadido esa mejora que me indicabas para apuntar al ángulo óptimo de señal, quizás modificando el parámetro OFFSET unos grados baste y no sea necesario incluirlo, es como si la controladora estuviese ligeramente girada y no apuntase bien del todo al frente. Yo creo que modificar ese paráemtro tendría el mismo efecto.

Simba
10/10/2015, 19:02
Simba, no he añadido esa mejora que me indicabas para apuntar al ángulo óptimo de señal, quizás modificando el parámetro OFFSET unos grados baste y no sea necesario incluirlo, es como si la controladora estuviese ligeramente girada y no apuntase bien del todo al frente. Yo creo que modificar ese paráemtro tendría el mismo efecto.
Correcto, yo ya lo habia pensado, pero lo mas interesante seria otra forma de proceder, anque supongo que mas dificil de implementar.
Lo mejor seria que con un par de pulsadores sobre el Traker, poder corregir ese offset.
Hablando con Turruk sobre el tema, me comenta que el traker de MFD tiene ese tipo de ajuste, con unos pulsadores para corregir lo que ellos llaman ajuste de trim.
Es algo que en principio si no se vuela lejos no tiene importancia, pero es interesante para poder sacar todo su poderío al traker360, yo incluso estaba pensando en una ajuste de tipo mecánico, sobre el soporte de la antena, pero si se puede con soft seria mucho mas fácil.

De todas formas no te marees mucho con el tema, lo importante es que pongas el tuyo en marcha y que lo vueles OK.

Un saludo.

rortega
10/10/2015, 20:12
Correcto, yo ya lo habia pensado, pero lo mas interesante seria otra forma de proceder, anque supongo que mas dificil de implementar.
Lo mejor seria que con un par de pulsadores sobre el Traker, poder corregir ese offset.
Hablando con Turruk sobre el tema, me comenta que el traker de MFD tiene ese tipo de ajuste, con unos pulsadores para corregir lo que ellos llaman ajuste de trim.
Es algo que en principio si no se vuela lejos no tiene importancia, pero es interesante para poder sacar todo su poderío al traker360, yo incluso estaba pensando en una ajuste de tipo mecánico, sobre el soporte de la antena, pero si se puede con soft seria mucho mas fácil.

De todas formas no te marees mucho con el tema, lo importante es que pongas el tuyo en marcha y que lo vueles OK.

Un saludo.

Lo veo perfectamente viable, y tiene bastante sentido poder hacer esa corrección/trimado...

rortega
10/10/2015, 20:30
Simba, ¿Tú también estabas volando en el Este? Creo que aún no ha probado nadie el tracker volando en el Oeste, ¿no?

Simba
11/10/2015, 00:26
No rortega, Valencia está al Oeste del meridiano 0, Turruk y yo volamos aproximadamente entre 15 y 20 Km al Oeste, el meridiano pasa a esa distancia de nuestra costa, sobre el mar.
Nosotros estamos en esta posición:
Latitud: 39.628955 | Longitud: -0.273178

rortega
11/10/2015, 07:59
No rortega, Valencia está al Oeste del meridiano 0, Turruk y yo volamos aproximadamente entre 15 y 20 Km al Oeste, el meridiano pasa a esa distancia de nuestra costa, sobre el mar.
Nosotros estamos en esta posición:
Latitud: 39.628955 | Longitud: -0.273178
Pues nunca lo sobrepaséis, si tenéis que superar esa distancia, volad siempre en dirección contraria al meridiano.

Tal y como funciona ahora mismo habría que tener tracker y avión ambos en el mismo lado.

Simba
11/10/2015, 21:55
Hoy he podido volar pese al fuerte viento, estaba solo y el vídeo se limita al vuelo sobre el Home con RTH, pues no podía pilotar y tomar el vídeo.
Este seguimiento es ya con el GPS a 4hz.

https://youtu.be/CV76I3weLIk

rortega
11/10/2015, 23:21
Hoy he podido volar pese al fuerte viento, estaba solo y el vídeo se limita al vuelo sobre el Home con RTH, pues no podía pilotar y tomar el vídeo.
Este seguimiento es ya con el GPS a 4hz.

https://youtu.be/CV76I3weLIk
Es complicado con el movimiento de la cámara apreciarlo bien, pero sí que parece dar sensación de más fluidez que en otros vídeos anteriores.

Simba
12/10/2015, 00:29
La verdad es que el video no es para echas cohetes, y volando dando vueltas encima menos, pero en directo se aprecia mucho mejor, la cadencia de saltos de posición con menos retraso, por lo de los 4 hz.
También es verdad que el servo que yo llevo en Pan es el Towerpro, y es bastante rápido.
Con el servo lento se integra mejor el movimiento, a cambio de perder un poco en velocidad, con lo que se vería la antena un poco mas retrasada a cambio de ser un movimiento continuo.

diegojjd
12/10/2015, 00:35
Acabo de ver otra forma de hacer de un servo normal uno de giro contínuo.

https://www.youtube.com/watch?v=XUm2nj7te8E

Básicamente consiste en bloquear el potenciómetro interno en el centro. Pegarlo para que no pueda girar y eliminar la transmisión entre el giro del motor y el potenciómetro. Luego le eliminan el tope y ya puede girar libremente todas las vueltas que quieras y en ambos sentidos.

Zolber
12/10/2015, 15:02
Hola, siento entrometerme en el hilo ( vais en otra liga muy superior para mi) yo acabó de recibir estos http://www.feetechrc.com/product/analog-servo/micro-1-8kg-cm-metal-gears-analog-servo-fs90mg/
Aún que no se si les podré dar uso para lo que habia pensado...

Enviado desde mi Lenovo A820 mediante Tapatalk

Simba
12/10/2015, 19:56
Hola, siento entrometerme en el hilo ( vais en otra liga muy superior para mi) yo acabó de recibir estos http://www.feetechrc.com/product/analog-servo/micro-1-8kg-cm-metal-gears-analog-servo-fs90mg/
Aún que no se si les podré dar uso para lo que habia pensado...

Enviado desde mi Lenovo A820 mediante Tapatalk
Zolver esto del Traker360 no es tan complicado como puede parecer, sobre todo cuando ya hemos cruzado el desierto, ahora ya sabemos lo que funciona y como funciona, lo demás es simplemente seguir los pasos marcados.

Lo del servo que pones no se el motivo de ponerlo aquí, pero en principio no creo que te sirva para un traker.

Zolber
12/10/2015, 20:00
Como buscabais para modificar a giro continuó por eso lo había puesto

Enviado desde mi Lenovo A820 mediante Tapatalk

marcoasj
13/10/2015, 09:45
Bueno, pues resulta que por fin ayer por la tarde conseguí enlazar los modulos bluetooth y me disponia a flashear la versión 0.5 (la que me funcionaba bien) cuando al arrancar el arduino me da un error relacionado con los ficheros temporales que guardan la configuración de la consola "

El programa a dado un error al intentar abrir los ficheros de configuración de la consola"..... o algo muy parecido....

¿ a alguno le ha pasado ?. he reinstalado el arduino y pasa lo mismo.

rortega
13/10/2015, 09:54
Mira si dentro de la carpeta del sketch hay un archivo con extensión tmp. Bórralo y preba otra vez.

marcoasj
13/10/2015, 10:15
Mira si dentro de la carpeta del sketch hay un archivo con extensión tmp. Bórralo y preba otra vez.
Ok, probaré cuando llegue a casa a medio día. Gracias...

Enviado desde mi SM-G900F mediante Tapatalk

Guillesan
13/10/2015, 19:54
Hola a todos, despues de haber estado unos dias en dique seco por razones personales, habia yo dejado un poco desatendido la lectura de este post, y , claro ahora estoy un poco perdido. esto corre que se las pela.
Bien entiendo que tenemos dos formas de controlar el servo pan con PID o con MIN_DELTA MAX_PAN_SPEED MAP_ANGLE .
Ok pues pregunta, parece que Simba le gusta mas con PID y a Turruk le va mejor con el nuevo control, si no me equivoco.
Turruk pregunta para ti , usas creo el servo de los alemanes , podrias darme los valores que as puesto en el arduino
MIN_DELTA
MAX_PAN_SPEED
MAP_ANGLE
OK gracias
Voy a probar esta nueva con telemetria MAVLINK que es la que uso ahora.
Un saludo.

Simba
13/10/2015, 20:27
Bien bien venido de vuelta que ya te echábamos de menos.

Guillesan
13/10/2015, 21:00
Bien bien venido de vuelta que ya te echábamos de menos.

Gracias Simba, lo hechaba de menos.
Parece que habeis adelantado mucho no.
Tu video lo enseña, es rapida la jodida, pero tu usas servo digital.
Yo en la pequeña (la grande aun esta por terminar) uso el servo GWS que decian los alemanes y ahi esta la pregunta , parece que se mueve mejor con la nueva version sin PID.
Es asi ?

Guillesan
13/10/2015, 21:02
En otro orden, en ese mismo video veo que para el Openlrs usas una yagi, antes te he visto una moxon, as cambiado , por alguna razon de calidad ? ya diras.

Simba
13/10/2015, 21:19
Lo del servo gws aun no estoy seguro por que el que tenia me lo cargue por conectarlo mal (no está protegido ) y metí los 5 v por la señal.
Estoy esperando otro pero creo que en cualquiera de las versiones será mejor el gws por que da más juego con las variables.
Esto sólo es para Pan para Tilt creo que uno normal sirve igual.

Simba
13/10/2015, 21:25
Lo de la yagi es solo por vicio personal y ganas de experimentar la Moxon iba bien pero como no tenemos problemas de espacio he montado esta yagi que he dejado solo con 2 elementos para que me quepa en el maletin del Traker pero que aún así le noto más ganancia que la Moxon a fin de cuentas la Moxon es una antena de circunstancias

Guillesan
13/10/2015, 21:27
OK entendido, lo de antena de "circunstancias" no lo entiendo bien , pero tu habras probado, y la yagi te da mas .....ganacia.
Ok

TURRUK
13/10/2015, 21:44
Hola a todos, despues de haber estado unos dias en dique seco por razones personales, habia yo dejado un poco desatendido la lectura de este post, y , claro ahora estoy un poco perdido. esto corre que se las pela.
Bien entiendo que tenemos dos formas de controlar el servo pan con PID o con MIN_DELTA MAX_PAN_SPEED MAP_ANGLE .
Ok pues pregunta, parece que Simba le gusta mas con PID y a Turruk le va mejor con el nuevo control, si no me equivoco.
Turruk pregunta para ti , usas creo el servo de los alemanes , podrias darme los valores que as puesto en el arduino
MIN_DELTA
MAX_PAN_SPEED
MAP_ANGLE
OK gracias
Voy a probar esta nueva con telemetria MAVLINK que es la que uso ahora.
Un saludo.

Hola hombre por fin que tal, si claro a hora pongo :

#define CRIUS_SE // Discomment if using Multiwii Crius SE v2.5 board
#define MIN_DELTA 0.1 //Angulo mínimo en grados entre el heading del tracker y el del avion, si es mayor que este ángulo movemos el tracker.
#define MIN_PAN_SPEED 12 //Cantidad mínima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAX_PAN_SPEED 253 //Cantidad máxima en milisegundos que hay que incrementar el pulso del pan para que se mueva.
#define MAP_ANGLE 20 //Ángulo en grados a partir del cual se empieza a mapear el error del ángulo a gradiente de velocidades.

Guillesan
13/10/2015, 21:45
Muchas gracias Turruk , lo pruebo y reporto

Simba
13/10/2015, 21:50
Lo de antena de circunstancias es por que una Moxon no deja de ser una yagi modificada para que resulte más pequeña y sea más manejable montada el la emisora pero el el traker el tamaño no importa y además da más ganancia. A la distancia que la Moxon daba 40% rssi esta yagi da 50% rssi.

manreg
14/10/2015, 21:46
Hola, la primeras pruebas la voy hacer con una placa arduino Duemilanove por lo tanto la brújula es externa. Esta brújula con scanner de I2C me da la dirección 0x1E. ¿Está dirección la tengo que poner en algún sitio del programa?
La prueba que he hecho, el LCD funciona correctamente pero al mover la brújula no me cambia los valores en el LCD. (Esta prueba es sin telemetría ni conectar el simulador de tramas de GPS).

Saludos.

rortega
14/10/2015, 21:51
Hola, la primeras pruebas la voy hacer con una placa arduino Duemilanove por lo tanto la brújula es externa. Esta brújula con scanner de I2C me da la dirección 0x1E. ¿Está dirección la tengo que poner en algún sitio del programa?
La prueba que he hecho, el LCD funciona correctamente pero al mover la brújula no me cambia los valores en el LCD. (Esta prueba es sin telemetría ni conectar el simulador de tramas de GPS).

Saludos.
En principio no es necesario incluir la dirección, ya está en el archivo compass.h

rortega
14/10/2015, 22:00
En el LCD debería cambiar el valor de H.

Fija la brujula y reealiza primeo la calibración del compás.

marcoasj
15/10/2015, 02:21
Bueno pues yo sigo con mi lucha con los modulos de bluetooth.

Si pincho directamente el ftdi al tracker, sin problemas, el tracker refleja la posición del simulador gps.

Pero si pincho el ftdi al HC-05 y el HC-06 al tracker como se puede observar en el video el tracker recibe señales, pero no se porque no son las tramas GGA que envió y no las reconoce.

https://youtu.be/xLbWZ0xuGJc


Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
15/10/2015, 09:03
La configuaracion que tengo en el HC-05:

AT+ROLE?
ROLE=1 ( MASTER )
AT+UART?
9600,0,0

He probado a dejar solo conectado el Tx en los dos modulos por si metiera algo de ruido, pero sigue igual.

marcoasj
15/10/2015, 13:02
¿ alguien puede arrojar algo de luz ?.....Que llevo dos dias en modo Bloqueo....
Graciaaaas.

marcoasj
15/10/2015, 13:16
Voy a explicar un poco mas como configuro los modulos bluetooth para ver si se me escapa algo....

HC-05

Es este
http://eu.banggood.com/Wholesale-Warehouse-HC-05-Wireless-Bluetooth-Serial-Transceiver-Module-Slave-And-Master-wp-Uk-908621.html

por medio de un ftdi alimento vcc, gnd, tx y rx, en el ordenador me lo reconoce como com8
Tiene un botoncito pequeño que mantengo presionado al darle corriente para entrar en modo at

con un programa de terminal (he probado varios) me conecto al modulo con velocidad 38400bps

configuro la velocidad de comunicacion entre los modulos bluetooth a 9600.
lo pongo como master, le cambio el pin de conexion y lo configuro para que se conecte a cualquier dispositivo.

HC-06

es este

http://eu.banggood.com/Wholesale-Warehouse-HC-06-Wireless-Bluetooth-Transceiver-RF-Main-Module-Serial-For-Arduino-wp-Uk-80364.html

He intentado conectarme al modulo a 9600bps, pero no recibo respuesta ni errores.
ya se que hay que mandar los comandos at en mayusculas y de un golpe porque no tinene fin de linea, pero no recibo ninguna respuesta del modulo.

la cosa es que le he enviado comandos para cambiar la velocidad a 9600 y para el cambio del pin al mismo que tiene el HC-05 y parece que ha funcionado, aunque ya digo que no recibo un OK de respuesta, pero al alimentarlo se enlaza directamente con el HC-05

Como podeis ver en el video anterior al enviar datos por el HC-05, parpadea el led azul de la placa de control del tracker, es decir recibe datos, pero no los reconoce. si quito de en medio los modulos y pincho directamente el ftdi a la placa del tracker funciona correctamente.


¿IDEAS?
:sad::sad::confused::facepalm:

diegojjd
15/10/2015, 14:27
Ahí me he atascado yo también y es que no sé con exactitud qué módulos tengo. No son como los del tutorial. No me da el Ok bajo ninguna circunstancia, con ningún baudrate ni programa de consola. Y vivos los tengo (2) pero parece ser que solo los puedo configurar conectando a través de un arduino. No me lío de momento. Tengo otros en camino y sigo con la mecánica.

Enviado desde mi thl 5000 mediante Tapatalk

marcoasj
15/10/2015, 14:29
Ahí me he atascado yo también y es que no sé con exactitud qué módulos tengo. No son como los del tutorial. No me da el Ok bajo ninguna circunstancia, con ningún baudrate ni programa de consola. Y vivos los tengo (2) pero parece ser que solo los puedo configurar conectando a través de un arduino. No me lío de momento. Tengo otros en camino y sigo con la mecánica.

Enviado desde mi thl 5000 mediante Tapatalk

A ver si alguien nos ilumina al respecto, estoy pensando en subir a la placa un sketch de configuración directamente, este que he visto por ahi, otra cosa no se me ocurre

#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 2); // RX, TX

String command = ""; // Stores response of the HC-06 Bluetooth device


void setup() {
// Open serial communications:
Serial.begin(9600);
Serial.println("Type AT commands!");

// The HC-06 defaults to 9600 according to the datasheet.
mySerial.begin(9600);
}

void loop() {
// Read device output if available.
if (mySerial.available()) {
while(mySerial.available()) { // While there is more to be read, keep reading.
command += (char)mySerial.read();
}

Serial.println(command);
command = ""; // No repeats
}

// Read user input if available.
if (Serial.available()){
delay(10); // The delay is necessary to get this working!
mySerial.write(Serial.read());
}
}

marcoasj
15/10/2015, 14:31
A ver si alguien nos ilumina al respecto, estoy pensando en subir a la placa un sketch de configuración directamente, este que he visto por ahi, otra cosa no se me ocurre

#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 2); // RX, TX

String command = ""; // Stores response of the HC-06 Bluetooth device


void setup() {
// Open serial communications:
Serial.begin(9600);
Serial.println("Type AT commands!");

// The HC-06 defaults to 9600 according to the datasheet.
mySerial.begin(9600);
}

void loop() {
// Read device output if available.
if (mySerial.available()) {
while(mySerial.available()) { // While there is more to be read, keep reading.
command += (char)mySerial.read();
}

Serial.println(command);
command = ""; // No repeats
}

// Read user input if available.
if (Serial.available()){
delay(10); // The delay is necessary to get this working!
mySerial.write(Serial.read());
}
}

Lo que ocurre es que no se la correpondencia con las salidas de la placa de arduino con las del FRQMAX 2 que tengo yo....

rortega
15/10/2015, 17:13
No todos los módulos bluetooth aceptan los mismos comandos AT, puede haber pequeñas variaciones, va a depender del firm que tengan. Te puedes tirar toda la vida subiendo sketch que no te funcionan por eso mismo.

Lo suyo es ponerse en contacto con el que te lis ha vendido para que te de alguna pista. A mí me pasó con los que compré, pirque el 05 no podía ponerlo ni tan siquiera en modo maestro. Y es que hay muchos módulos que parecen el mismo, y hasta están serigrafiados igual, pero han podido subirle alguna versión de firm distinto.

Yo aún tengo pendiente el configurar los míos, pero ando escasito de tiempo. Al menos el de la tienda me dió una pista que me permite ponerlo en modo configuración.

rortega
15/10/2015, 17:17
Hoy me ha llegado por fin el módulo GPS, así que ya me toca por webs configurar el bluetooth. Me pondré a ello e intentaré contar por aquí los pasos seguidos por si sirviera de ayuda.

rortega
15/10/2015, 19:16
Pues ya tengo configurados y emparejados los dos módulos bluetooth, uno en el tracker y otro conectado vía ftdi al ordenador, y enviando las tramas desde el simulador. No es complicado, lo complicado es explicarlo para que se entienda, así que voy a preparar un pequeño tutorial que voy a colgar por aquí. Espero hacerlo de aquí a antes de acostarme.

marcoasj
15/10/2015, 19:43
Pues ya tengo configurados y emparejados los dos módulos bluetooth, uno en el tracker y otro conectado vía ftdi al ordenador, y enviando las tramas desde el simulador. No es complicado, lo complicado es explicarlo para que se entienda, así que voy a preparar un pequeño tutorial que voy a colgar por aquí. Espero hacerlo de aquí a antes de acostarme.
NO, si el que vale vale.......

Enviado desde mi SM-G900F mediante Tapatalk

marcoasj
15/10/2015, 19:43
NO, si el que vale vale.......

Enviado desde mi SM-G900F mediante Tapatalk
Dos días llevó yo con el tema.......

Enviado desde mi SM-G900F mediante Tapatalk

rortega
15/10/2015, 23:06
Lo prometido es deuda. Espero que os sirva de ayuda, al menos para seguir una idea:

1. ADQUIRIR MÓDULOS HC-O5/HC-06

Existen en el mercado una gran variedad y gama de módulos bluetooth. Lo que a nosotros nos interesa para comunicar nuestro tracker con la emisora, son módulos que cumplan estas características:


Que al menos uno de los dos módulos pueda ser configurado como Maestro (HC-05), pudiendo ser el otro Esclavo (HC-06).
Que puedan ser alimentados a 5 voltios para conectarlo a la controladora CRIUS SE.

En mi caso particular, he comprado aquí (https://www.electrohobby.es/es/) dos módulos que pueden ser configurados ambos como Maestro/Esclavo.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62003&stc=1&d=1444942861

Nota: Yo voy a usar mis módulos bluetooth para conectarlo a dispositivos que suministran alimentación a 5v, y trabaja perfectamente a los niveles de voltaje de los pines TX/RX de la UART de Arduino y la CRIUS SE. Uno de ellos irá conectado al módulo FrsKy DJT de que llevo montado en mi Turnigy9X (tras hacer el correspondiente mod). Si vas a conectar módulos bluetooth con otros dispositivos, asegúrate de que los niveles de voltaje TX/RX y alimientación son los adecuados, de lo contrario puedes quemar algo.

2. MODO COMANDOS AT

Para nuestro propósito, existen dos tipos de módulos bluetooth a utilizar: HC-05 y HC-06. La diferencia fundamental entre ambos es el firm que llevan instalado, pudiéndose configurar el HC-05 tanto en modo maestro y como en esclavo, mientras que el HC-06 sólo lo podríamos configurar como esclavo. Todo eso en la teoria...

En cualquier caso, a los módulos que compremos se les debe poder activar el modo de comandos AT, y así poder configurar los parámetros de intervienen en la comunicaición, seguridad, linkado con otros dispositivos bluetooth...

Hay que tener en cuenta que los módulos que pueden ser configurados como maestro admiten un mayor número de comandos AT que los que se pueden configurar únicamente como esclavos, limitándose en estos últimos a comandos muy básicos que tan solo permiten configurar el nombre del dispositivo, los parámetros de comunicaicón y la clave.

Para poder entrar en modo comandos AT, necesitamos que nuestros módulos dispongan de un botón que nos permita entrar en este modo de configuración. Pero en el mercado hay de todo, los que lo tienen, los que no lo tienen pero a cambio incorporan pines, los que lo tienen serigrafiado pero parece que alguien ha olvidado colocar el pulsador...incluso los hay que ni lo traen ni se pueden configurar con comandos AT aunque intentes soldar directamente en la placa del procesador. Teniendo el datasheet del módulo se podría dilucidar que pads soldar, pero aún así, si el firm está capado, intentar ponerlos en modo AT puede ser una odisea. Así que lo mejor es comprarlos asegurándonos que traen el botoncito ya incorporado.

La variabilidad es tal, que a simple vista no sabes si lo que tienes delante es un HC-05 o un HC-06, por lo que recomiendo encarecidamente leer bien las especificaciones de los módulos antes de comprarlo. Debe decir claramente si se puede configurar mediante comandos AT y si es configurable como maestro. Y por supuesto, que tengamos claro que podemos trabajar con él con alimentaicón de 5voltios y a niveles de señales de los pines de Arduino. Si tenéis dudas siempre consultar al vendedor la información.

Si nos fijamos en la siguiente foto, veremos que el botón no viene, pero en la descripción del producto de la tienda online se indicaba claramente que eran configurables maestro esclavo. Antes de meterle mano consulté al vendedor y me resolvió la duda. Sí son configurables, pero tienes que soldarle el botón.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62004&stc=1&d=1444942861

Yo lo que he hecho ha sido soldar un par de pines para usar un jumper, con el que lo puenteo cuando lo quiero configurar, y lo quito una vez configurado.

Entrar en modo comandos AT

Para ello, colocamos el jumper tal y como se muestra en la foto, y conectamos nuestro módulo bluetooth al ordenador a través de un módulo FTDI USB. Es muy importante colocar el jumper antes de proporcionarle alimentación al FTDI.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62005&stc=1&d=1444942861

Una vez que lo conectamos al ordenador, el led del módulo bluetooth parpadeará de forma más lenta, en mi caso una vez cada 2 segundos. Ésto nos indica que ha entrado en modo de comandos AT, y está preparado para recibir órdendes de configuración.

Pero antes de comenzar a enviar órdenes, en Arduino:


Seleccionamos el puerto COM correspondiente a nuestro módulo FTDI USB.
Lanzamos el Monitor Serie.
Seleccionamos “Ambos NL & CR” en el desplegable de abajo a la izquierda.
Seleccionamos 38400 baudios (va a depender de cada fabricante la velocidad en baudios del dispositivo bluetooth cuando entra en modo de comandos AT).

3. MÓDULO BLUETOOTH DEL TRACKER: ESCLAVO

Empezaremos configurando nuestro módulo para el tracker, y lo vamos a poner en modo esclavo.

Primero escribimos el comando:

AT

y lo enviamos tal cual, sin parámetro alguno. La respuesta debe ser Ok si todo está correctamente conectado y los baudios son los correctos.

Un comando que puede ser útil:

AT+VERSION

que en este caso nos devuelve

+VERSION: 2.0-20100601

Con lo que sabemos la versión del firm que lleva cargado, lo podemos utilizar para buscar en internet más información en la red sobre el módulo que tenemos y los comandos para configurarlo.

Nombre del módulo

Para poder distinguir un módulo del otro, conviene ponerle a cada uno un nombre. En este caso vamos a ponerle el nombre AMV-OPEN360TRACKER al módulo bluetooth para el tracker. El comando es:

AT+NAME=AMV-OPEN360TRACKER

Para comprobar que el nombre se ha cambiado correctamente:

AT+NAME

Parámetros de comunicaciones

Vamos a configurar a continuación los parámetros básicos de comunicaciones del puerto serie, para que la CRIUS SE se entienda con el módulo bluetooth, es decir, vamos a configurar la UART del módulo bluetooth:

AT+UART=9600,0,0

Los dos ceros separados por coma indican, el primero que usamos 1 bit de parada, y el segundo que no usamos paridad.

Para comprobar que la configuración se ha cambiado correctamente:

AT+UART

Contraseña

Los módulos bluetooth suelen venir configurados con una contraseña por defectos, que suele ser 0000 o 1234 por lo general. Para evitar que nuestro tracker sea enlazado por “intrusos”, o simplemente evitar la posibilidad de que enlacen con otros módulos bluetooth, conviene cambiar la contraseña. En mi caso voy a configurarlo con la contraseña 6677, por ejmplo. El comando es:

AT+PSWD=6677

Esta misma contraseña la tendremos que configura en el otro módulo bluetooth.

Modo Esclavo

Para que le módulo del tracker trabaje como esclavo y pueda ser enlazado desde el otro módulo, suponiendo que tengas un HC-05, usaremos el comando:

AT+ROLE=0

Para comprobarlo tecleamos:

AT+ROLE

En caso de tener un HC-06, el módulo ya viene configurado como esclavo y no será necesario, de hecho no podrás utilizar el comando AT+ROLE.

Con todo ésto, ya tendríamos el módulo para el tracker configurado. Repasamos ahora la lista de todos los comandos que hemos usado:

AT+NAME=AMV-OPEN360TRACKER
AT+UART=9600,0,0
AT+PSWD=6677
AT+ROLE=0


4. MÓDULO BLUETOOTH DE LA EMISORA: MAESTRO

Aunque en principio vamos a usar el módulo para conectarlo al ordenador y enviar las tramas desde el simulador NMEA, vamos a configurarlo como si fuésemos a conectarlo al módulo FrSky DJT de la emisora.

Este módulo lo configuraremos en modo Maestro, y el procedimiento de configuraicón es similar al descrito para el módulo del tracker, con alguna diferencia en los valores, y usando una línea adicional:

AT+NAME=TURNIGY9X
AT+UART=9600,0,0
AT+PSWD=6677
AT+ROLE=1
AT+CMODE=1

El comando AT+ROLE=1 es el que lo configura como maestro. Y el comando AT+CMODE=1 hace que este módulo se pueda conectar automáticamente al módulo bluetooth del cual reciba mejor señal, siempre y cuando sus contraseñas sean idénticas, claro está (es por eso que decía de poner contraseñas distintas a las que trae por defecto).

Con todo ésto, ya tendríamos nuestros módulos preparados para enlazarse automáticamente y establecer un canal de comunicaciones serie a 9600 baudios. Para usarlo quitamos los jumpers y los conectamos cada uno al dispositivo correspondiente, como se indica en la siguiente foto:

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62006&stc=1&d=1444942861

En el caso de que hayais comprado otros módulos, es muy probable que estos mismos comandos sirvan. De no ser así, tendrías que localizar la información del fabricante para encontrar los comandos AT equivalentes.

Hay otras formas de usar y configurar los módulos bluetooth para este proyecto, esta es sólo una de ellas, quizás la más sencilla, que no por ello quiera decir que sea la más eficiente.

rortega
15/10/2015, 23:15
Para más de uno seguramente no habré dicho nada nuevo, aunque es posible que un simple comando se haya escapado... Pero para otros, en especial pensando en los que vendrán por detrás, estoy convencido de que la información va a ser de gran ayuda.

El tocho que he puesto es el resultado de haber pasado unas cuantas horas leyendo mucha información, soldando y probando con distiontos módulos, hasta encontrar los más adecuados. Esos módulos los compré en julio, me llegaron a España, y allí los recogí durante mis vacaciones. Luego me los traje a quí y les dí unas cuantas vueltas. No solo a eso, sino a los otro 4 que compré posteriormente y que no me servían para este proyecto, pero que alguna utilidad tendrán en el futuro.

Dejo por aquí algunos enlaces que fuí consultando en su día, desde donde he ido recopilando información que puede ser útli en caso de tener unos módulos "reveldes", podrían dar una idea de por donde ir en algunos casos:

http://www.martyncurrey.com/hc-05-and-hc-06-zs-040-bluetooth-modules/

http://www.martyncurrey.com/hc-05-fc-114-and-hc-06-fc-114-first-look/

http://www.martyncurrey.com/hc-05-fc-114-and-hc-06-fc-114-part-3-master-mode-and-auto-connect/

http://www.bolutek.com/

http://www.electrodragon.com/w/BC04

http://eleczone.blogspot.ch/p/tutorial-hc05-slavemaster-setup.html

http://www.prometec.net/bt-hc05/

http://84ace.com/?p=45

diegojjd
15/10/2015, 23:26
Ni en meses junto esa información. ¡Muchas gracias! Entre el poco tiempo y la escasa formación, estos mini tutos son oro!

marcoasj
16/10/2015, 08:28
Lo prometido es deuda. Espero que os sirva de ayuda, al menos para seguir una idea:

1. ADQUIRIR MÓDULOS HC-O5/HC-06

Existen en el mercado una gran variedad y gama de módulos bluetooth. Lo que a nosotros nos interesa para comunicar nuestro tracker con la emisora, son módulos que cumplan estas características:


Que al menos uno de los dos módulos pueda ser configurado como Maestro (HC-05), pudiendo ser el otro Esclavo (HC-06).
Que puedan ser alimentados a 5 voltios para conectarlo a la controladora CRIUS SE.

En mi caso particular, he comprado aquí (https://www.electrohobby.es/es/) dos módulos que pueden ser configurados ambos como Maestro/Esclavo.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62003&stc=1&d=1444942861

Nota: Yo voy a usar mis módulos bluetooth para conectarlo a dispositivos que suministran alimentación a 5v, y trabaja perfectamente a los niveles de voltaje de los pines TX/RX de la UART de Arduino y la CRIUS SE. Uno de ellos irá conectado al módulo FrsKy DJT de que llevo montado en mi Turnigy9X (tras hacer el correspondiente mod). Si vas a conectar módulos bluetooth con otros dispositivos, asegúrate de que los niveles de voltaje TX/RX y alimientación son los adecuados, de lo contrario puedes quemar algo.

2. MODO COMANDOS AT

Para nuestro propósito, existen dos tipos de módulos bluetooth a utilizar: HC-05 y HC-06. La diferencia fundamental entre ambos es el firm que llevan instalado, pudiéndose configurar el HC-05 tanto en modo maestro y como en esclavo, mientras que el HC-06 sólo lo podríamos configurar como esclavo. Todo eso en la teoria...

En cualquier caso, a los módulos que compremos se les debe poder activar el modo de comandos AT, y así poder configurar los parámetros de intervienen en la comunicaición, seguridad, linkado con otros dispositivos bluetooth...

Hay que tener en cuenta que los módulos que pueden ser configurados como maestro admiten un mayor número de comandos AT que los que se pueden configurar únicamente como esclavos, limitándose en estos últimos a comandos muy básicos que tan solo permiten configurar el nombre del dispositivo, los parámetros de comunicaicón y la clave.

Para poder entrar en modo comandos AT, necesitamos que nuestros módulos dispongan de un botón que nos permita entrar en este modo de configuración. Pero en el mercado hay de todo, los que lo tienen, los que no lo tienen pero a cambio incorporan pines, los que lo tienen serigrafiado pero parece que alguien ha olvidado colocar el pulsador...incluso los hay que ni lo traen ni se pueden configurar con comandos AT aunque intentes soldar directamente en la placa del procesador. Teniendo el datasheet del módulo se podría dilucidar que pads soldar, pero aún así, si el firm está capado, intentar ponerlos en modo AT puede ser una odisea. Así que lo mejor es comprarlos asegurándonos que traen el botoncito ya incorporado.

La variabilidad es tal, que a simple vista no sabes si lo que tienes delante es un HC-05 o un HC-06, por lo que recomiendo encarecidamente leer bien las especificaciones de los módulos antes de comprarlo. Debe decir claramente si se puede configurar mediante comandos AT y si es configurable como maestro. Y por supuesto, que tengamos claro que podemos trabajar con él con alimentaicón de 5voltios y a niveles de señales de los pines de Arduino. Si tenéis dudas siempre consultar al vendedor la información.

Si nos fijamos en la siguiente foto, veremos que el botón no viene, pero en la descripción del producto de la tienda online se indicaba claramente que eran configurables maestro esclavo. Antes de meterle mano consulté al vendedor y me resolvió la duda. Sí son configurables, pero tienes que soldarle el botón.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62004&stc=1&d=1444942861

Yo lo que he hecho ha sido soldar un par de pines para usar un jumper, con el que lo puenteo cuando lo quiero configurar, y lo quito una vez configurado.

Entrar en modo comandos AT

Para ello, colocamos el jumper tal y como se muestra en la foto, y conectamos nuestro módulo bluetooth al ordenador a través de un módulo FTDI USB. Es muy importante colocar el jumper antes de proporcionarle alimentación al FTDI.

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62005&stc=1&d=1444942861

Una vez que lo conectamos al ordenador, el led del módulo bluetooth parpadeará de forma más lenta, en mi caso una vez cada 2 segundos. Ésto nos indica que ha entrado en modo de comandos AT, y está preparado para recibir órdendes de configuración.

Pero antes de comenzar a enviar órdenes, en Arduino:


Seleccionamos el puerto COM correspondiente a nuestro módulo FTDI USB.
Lanzamos el Monitor Serie.
Seleccionamos “Ambos NL & CR” en el desplegable de abajo a la izquierda.
Seleccionamos 38400 baudios (va a depender de cada fabricante la velocidad en baudios del dispositivo bluetooth cuando entra en modo de comandos AT).

3. MÓDULO BLUETOOTH DEL TRACKER: ESCLAVO

Empezaremos configurando nuestro módulo para el tracker, y lo vamos a poner en modo esclavo.

Primero escribimos el comando:

AT

y lo enviamos tal cual, sin parámetro alguno. La respuesta debe ser Ok si todo está correctamente conectado y los baudios son los correctos.

Un comando que puede ser útil:

AT+VERSION

que en este caso nos devuelve

+VERSION: 2.0-20100601

Con lo que sabemos la versión del firm que lleva cargado, lo podemos utilizar para buscar en internet más información en la red sobre el módulo que tenemos y los comandos para configurarlo.

Nombre del módulo

Para poder distinguir un módulo del otro, conviene ponerle a cada uno un nombre. En este caso vamos a ponerle el nombre AMV-OPEN360TRACKER al módulo bluetooth para el tracker. El comando es:

AT+NAME=AMV-OPEN360TRACKER

Para comprobar que el nombre se ha cambiado correctamente:

AT+NAME

Parámetros de comunicaciones

Vamos a configurar a continuación los parámetros básicos de comunicaciones del puerto serie, para que la CRIUS SE se entienda con el módulo bluetooth, es decir, vamos a configurar la UART del módulo bluetooth:

AT+UART=9600,0,0

Los dos ceros separados por coma indican, el primero que usamos 1 bit de parada, y el segundo que no usamos paridad.

Para comprobar que la configuración se ha cambiado correctamente:

AT+UART

Contraseña

Los módulos bluetooth suelen venir configurados con una contraseña por defectos, que suele ser 0000 o 1234 por lo general. Para evitar que nuestro tracker sea enlazado por “intrusos”, o simplemente evitar la posibilidad de que enlacen con otros módulos bluetooth, conviene cambiar la contraseña. En mi caso voy a configurarlo con la contraseña 6677, por ejmplo. El comando es:

AT+PSWD=6677

Esta misma contraseña la tendremos que configura en el otro módulo bluetooth.

Modo Esclavo

Para que le módulo del tracker trabaje como esclavo y pueda ser enlazado desde el otro módulo, suponiendo que tengas un HC-05, usaremos el comando:

AT+ROLE=0

Para comprobarlo tecleamos:

AT+ROLE

En caso de tener un HC-06, el módulo ya viene configurado como esclavo y no será necesario, de hecho no podrás utilizar el comando AT+ROLE.

Con todo ésto, ya tendríamos el módulo para el tracker configurado. Repasamos ahora la lista de todos los comandos que hemos usado:

AT+NAME=AMV-OPEN360TRACKER
AT+UART=9600,0,0
AT+PSWD=6677
AT+ROLE=0


4. MÓDULO BLUETOOTH DE LA EMISORA: MAESTRO

Aunque en principio vamos a usar el módulo para conectarlo al ordenador y enviar las tramas desde el simulador NMEA, vamos a configurarlo como si fuésemos a conectarlo al módulo FrSky DJT de la emisora.

Este módulo lo configuraremos en modo Maestro, y el procedimiento de configuraicón es similar al descrito para el módulo del tracker, con alguna diferencia en los valores, y usando una línea adicional:

AT+NAME=TURNIGY9X
AT+UART=9600,0,0
AT+PSWD=6677
AT+ROLE=1
AT+CMODE=1

El comando AT+ROLE=1 es el que lo configura como maestro. Y el comando AT+CMODE=1 hace que este módulo se pueda conectar automáticamente al módulo bluetooth del cual reciba mejor señal, siempre y cuando sus contraseñas sean idénticas, claro está (es por eso que decía de poner contraseñas distintas a las que trae por defecto).

Con todo ésto, ya tendríamos nuestros módulos preparados para enlazarse automáticamente y establecer un canal de comunicaciones serie a 9600 baudios. Para usarlo quitamos los jumpers y los conectamos cada uno al dispositivo correspondiente, como se indica en la siguiente foto:

http://www.aeromodelismovirtual.com/attachment.php?attachmentid=62006&stc=1&d=1444942861

En el caso de que hayais comprado otros módulos, es muy probable que estos mismos comandos sirvan. De no ser así, tendrías que localizar la información del fabricante para encontrar los comandos AT equivalentes.

Hay otras formas de usar y configurar los módulos bluetooth para este proyecto, esta es sólo una de ellas, quizás la más sencilla, que no por ello quiera decir que sea la más eficiente.


Gran trabajo, desde luego, los que vengan por detras se van a ahorrar muuuuchas muchas horas de darle vuelta al asunto.....

Bueno, pues yo de alguna u otra forma llegue al final a enlazar los modulos.

Curiosamente el modulo del que no consegui obtener respuesta (aunque enlazaba con sus valores por defecto) es el mismo que has puesto en la foto, el HC-06 que tiene serigrafiado FC-114. Es el mismo y con el mismo firm. Lo que veo diferente es que tambien le has puesto jumper para poder configurarlo en modo AT. Lo has hecho?, quizá sea eso lo que se me escapa, que haya algun parametro que aunque permita enlazar el modulo cn el HC-05 sea distinto. ya digo que mis modulos enlazan y el tracker recibe las tramas. pero al pasar por los modulos algo cambia.....no se......¿deberian de ser transparentes no?.....¿Que se te ocurre?....lo que me interesa saber es si le pusiste el jumper al HC-06 y lo arrancaste en modo AT y le verificaste los parametros. ya digo que yo lo he usado tal cual venia con los parametros de fabrica...

rortega
16/10/2015, 08:50
Los dos módulos son idénticos, y en ambos he usado el jumper para configurarlos con comandos AT. Uno lo he configurado como esclavo y el otro como maestro.

Lo que diferencia a los HC-05 de los HC-06 es el firm. El hardware podría ser el mismo (o no) pero si han caoado el firm ... chungo.

rortega
16/10/2015, 08:53
Piensa en el firm del tracker, hoy cojo y le meto una modificación, te lo subo al repositorio sin haber cambiado el número de versión y se lo tuestas a la controladora. Tienes una con troladora con mismo firm? No...

De hecho, parte de los comandos que he encontrado para la misma versión de firm de mis módulos no funcionan en el mío.

marcoasj
16/10/2015, 09:08
Piensa en el firm del tracker, hoy cojo y le meto una modificación, te lo subo al repositorio sin haber cambiado el número de versión y se lo tuestas a la controladora. Tienes una con troladora con mismo firm? No...

De hecho, parte de los comandos que he encontrado para la misma versión de firm de mis módulos no funcionan en el mío.
Ok perfecto. Lo probaré.

Enviado desde mi SM-G900F mediante Tapatalk

TURRUK
16/10/2015, 11:41
Ok perfecto. Lo probaré.

Enviado desde mi SM-G900F mediante Tapatalk

Hola Marcos como visto tu tutorial a entrar a modo AT lo conectas el jump , y despues no tienes que quitar? Por lo menos mio lo tiene un pulsador antes de conectar a usb aprieto y luego lo suelto y esta en modo AT. No se o lo mejor tu yo no es a si.:rolleyes:

marcoasj
16/10/2015, 11:59
Hola Marcos como visto tu tutorial a entrar a modo AT lo conectas el jump , y despues no tienes que quitar? Por lo menos mio lo tiene un pulsador antes de conectar a usb aprieto y luego lo suelto y esta en modo AT. No se o lo mejor tu yo no es a si.:rolleyes:


Hola Turruk,

Con el modulo HC-05 no hay problema. Tiene un pulsador, y para entrar en modo AT se pulsa al dar corriente y listo. Luego lo configuro y sin problemas.

El problema es el HC-06. No tiene pulsador. y no puedo entrar en modo At.
A ver cuando puedo ponerme un momento y le sueldo par de pines como rortega y le pongo un jumper para entrar en modo AT y verificar que tiene la misma configuración.

marcoasj
16/10/2015, 12:03
Lo que me tiene loco es que como no podia entrar a configurar el modulo Hc-06 le puse le metí al HC-05 AT+PSSWD 1234 que es la que viene por defecto y los dos modulos se conectaron perfectamente, incluso he conseguido conectarme con el movil al modulo HC-06 y el tracker se ve en los videos como empieza a recibir las tramas cuando le doy al RUN del simulador de GPS. pero no las reconoce, es como si le metiera ruido algo o las alterara el propio modulo.....en fin....no se......

marcoasj
16/10/2015, 12:05
fijaos en la luz azul de la placa como recibe sincronizadamente lo que envia el FTDI

https://youtu.be/xLbWZ0xuGJc

TURRUK
16/10/2015, 13:53
Hola Turruk,

Con el modulo HC-05 no hay problema. Tiene un pulsador, y para entrar en modo AT se pulsa al dar corriente y listo. Luego lo configuro y sin problemas.

El problema es el HC-06. No tiene pulsador. y no puedo entrar en modo At.
A ver cuando puedo ponerme un momento y le sueldo par de pines como rortega y le pongo un jumper para entrar en modo AT y verificar que tiene la misma configuración.

Hola, el HC-06 yo conecto directamente y con una programa TERM lo programo sin problema, este si que acepta otro tipo de comandos AT .

Simba
17/10/2015, 00:15
Hola según veo en el video te está interpretando altura y distancia además de los satélites fijados , por lo tanto si que está funcionando bien. Lo que no hace es fijar la posición home y en tu caso que tienes gps local, podías tener algo mal configurado.

Ivan_Cillo
17/10/2015, 01:36
Hola chavalada!
Pensando en cambiar la placa del multi me ha entrado la duda de si la vieja valdria para el tracker y empezarlo, la susodicha es la Multiwii v2.0:
http://hobbyking.com/hobbyking/store/__31138__Multiwii_and_Megapirate_AIO_Flight_Controller_w_FTDI_ATmega_2560_V2_0.html
Mirando las especificaciones veo que cambia el Atmega y algun sensor.
El Atmega es el 2560, podra con el codigo?o no cabe?
Un saludo