/Rotor_plus

Rotor con azimuth y elevation basado en ESP32

GNU General Public License v3.0GPL-3.0

rotor_plus

Rotor con azimuth y elevation basado en ESP32

Este proyecto esta diseñado para la recepción de nanosatelites del proyecto tinygs.com

Este proyecto es una mejora del anterior rotor que solo contaba con giro de azimuth.

Igualmente puede utilizarse de forma manual, ajustando el azimuth y la elevation a los valores que deseemos, y tambien puede trabajar de forma automatica poniendose a las ordenes de la tinyGS, que le envia el satelite a seguir, y el rotor busca en Celestrak los TLE´s actualizados para obtener la posición del satelite en tiempo real, con la ayuda de la librería Sgp4: hopperpop/Sgp4@^1.0.3

Mi agradecimiento a los siguientes magos de la programación:

lib_deps =

esphome/AsyncTCP-esphome@^1.2.2

ottowinter/ESPAsyncWebServer-esphome@^2.1.0

arduino-libraries/NTPClient@^3.2.1

paulstoffregen/Time@^1.6.1

jchristensen/Timezone@^1.2.4

hopperpop/Sgp4@^1.0.3

waspinator/AccelStepper@^1.61

me-no-dev/ESP Async WebServer@^1.2.3.

Asi como a:

          https://github.com/G4lile0/tinyGS  

ANTENA

Es la parte mas importante de todo el sistema y la colocación de la misma.

Diseñada especificamente para capturar telemetría de la familia de satelites FossaSat.

En concreto está diseñada para una frecuencia central de 401/402 Mhz).

El sistema deber estar situado en una posición con visibilidad despejada 360 grados y con cobertura WIFI (necesaría para la TinyGS y para el rotor)

Dado que vamos a disponer de rotor con autoseguimiento de los satelites, utilizaremos una antena direccional. En nuestro caso una Yagi-Uda.

image

image

Material para la fabricación de la antena:

  • 2 varillas aluminio de 4 mm. diametro y 1 m. de longitud

  • 1 tubo pvc 16 mm. de diametro (se usa en instalaciones electricas)

  • 3 piezas de impresión 3D

image

Dado que no es posible soldar con estaño sobre aluminio, para poder conectar el cable coaxial que une la antena con la tinygs es necesario hacer las siguientes operaciones sobre los extremos del dipolo (para ello necesitaremos una Dremel):

1 - corte longitudinal de 4 mm.

2 - insertar hilo de cobre desnudo dentro, dado varias vueltas alrededor de la varilla de aluminio

3- crimpar con un alicate la varilla de aluminio y el hilo de cobre (quedara perfectamente unido electricamente)

4- cubrir con estaño el hilo de cobre

5- Ahora ya podemos soldar el coaxial

6- Proteger con silicona o pegamento caliente la uniones para que los elementos atmosfericos no puedan deteriorarlas.

image

image

Disposición elementos antena:

image

Medidas Reflector:

image

Medidas Dipolo:

image

image

Medidas director:

image

Los resultados han mejorado notablemente con respecto al rotor anterior (solo azimuth): image

Vista del hardware del rotor:

image

Vista una vez instalado y con la Tinygs en su interior: LNA + TTGO

image

En la versión en funcionamiento he protegido los componentes interiores de la perjudicial luz solar.

He utilizado la potencia de los 2 nucleos del ESP32 para optimizar el funcionamiento.

Vista de la página web servida desde el ESP32: image

Esquema: image

Vista del detector de cero de elevation: image

CONSTRUCCION

La columna vertebral del sistema la forma una chapa de 4 mm. de espesor y de 210 mm. de ancho x 335 mm de alto, 2 SOPORTES PUENTE UCP 207 ISB y un mastil de los que se utilizan para instalar antenas de TV de 35 mm. de diametro.

image

Dado que el mastil es de 35 mm. de diametro y el diametro interior de los soportes puente, tambien es de 35 mm. es necesario hacer un corte longitudinal con una dremel en los primeros 150 mm. del mastil. De esta manera y con la ayuda del martillo de Thor, es posible meter el mastil en su sitio. Entre los 2 soportes puente, hay que meter el sistema de imanes que activará el detector hall del azimuth.

image

Como en un principio, estaba utilizando detector hall bipolares (cuando se les expone a un polo Sur se activan y hasta que no se le expone a un polo Norte no se desactivan, en el sistema de imanes van 3 filas de imanes: norte - sur - norte (cuando llega el norte se desactiva y cuando llega el sur se activa):

image

EJE AZIMUTH

Compuesto por un nema 17 con Gearbox relacion 50:1

image

Al eje del Gearbox he colocado un acoplador (8 mm. - 10 mm.):

image

La parte de 8 mm. va al Gearbox y la de 10 mm. a un eje de aluminio de 30 cm. de longitud y mediante una pieza hecha cen 3D al interior del mastil. Dado que el acoplador dispone de una parte elastica, se va a comportar como un cardan y eliminará las ligeras faltas de alineacion que pueda haber entre el Gearbox y el mastil que gira sobre los 2 soporte puente.

Funcionamiento

El sistema se encuentra parado a la espera de que al TinyGS le indique a que satelite debe seguir. Una vez que la TinyGS le envia via peticion GET el nombre del satelite a seguir, el ESP32 del rotor entra en internet y se descarga los TLE actuales de dicho satelite y cuando se encuentre visible, comienza a seguirlo.

Cuando se encuentre no visible, es decir que la elevacion sea menor de 0 grados, dejará de seguirlo.

Y asi a la espera de recibir de la TinyGS la orden de seguir a otro satelite.

19/02/2023

He descubierto que al estar el ESP32 del rotor cerca de la antena interfiere, por la WIFI, en la señales que se reciben desde los satelites. Mas en concreto de los satelites que envian alrededor de los 400 Mhz (y que a día de hoy son un montón).

Lo he "solucionado" provisionalmente desactivando la WIFI cuando se esta haciendo el seguimiento de un satelite (esp_wifi_stop()) , y volviendola a activar cuando el satelite deja de estar visible (esp_wifi_start())

Durante el tiempo de silencio WIFI, no puedo acceder al ESP32 del rotor y no acepta comando GET para el seguimiento de otros satelites.

Active la nueva funcionalidad sobre las 13:00 del día 18 (en estos momentos hace 24 horas de ello) y se puede observar que la mejora es apreciable y el número de paquetes con CRC erroneo ha descendido. image

Ademas he separado mediante un coaxial de 3 metros la TinyGS de la antena, dejando solo la antena, el LNA y el filtro pasabanda. La TinyGS tambien emite WIFI y tambien interfiere en la señales que se reciben de los satelites.

En resumen, hay que dejar antena, LNA y filtros pasabanda solos y minimizar las emisiones de RF cercanas: parando la WIFI del ESP32 que controla el rotor y alejando la TinyGS.

Como aunque funciona, me parece una ñapa, ya tengo diseñada una solución: voy a utilizar para el rotor una placa que ya tengo diseñada con ESP32, un modulo LORA y controladores de mpp tmc2209.

El rotor moverá los motores los grados que se le indiquen via LORA. El sistema de rotor solo estará recibiendo LORA,en 868 Mhz.

La TX de los grados a mover la va a hacer otra placa con ESP32 modulo LORA, tambien en 868 Mhz y a la menor potencia posible para que los comando no se pierdan. A esta placa le enviará la TinyGS el nombre del satelite a seguir.

En breve abrire otro repositorio con la nueva solución.