Blogia

ea1bcu

MÓDULO PARA EL CONTROL Y POSICIONAMIENTO DE ANTENAS

MÓDULO PARA EL CONTROL Y POSICIONAMIENTO DE ANTENAS

Trabajando las comunicaciones vía satélite, el posicionamiento de las antenas tanto en azimut como en elevación hace de los rotores un elemento imprescindible. Asumido esto, el seguimiento y posicionamiento automático de las antenas, aunque no imprescindible, sí facilita las tareas del “enlace” ya sea en fonía o en modos digitales y sobre todo en satélites de órbita baja (LEO

El presente artículo describe una versión diseñada por WA8SME, Mark Spencer como opción simple para controlar rotores Yaesu G5400 y G5500 (Fig. 1). Una etapa añadida de relés con contactos de “libre potencial” lo convertiría en “universal”

Circuito:
El diseño está basado en el PIC 16F688. Este microcontrolador programable básicamente está compuesto por un puerto serie (USART) para comunicarse con el PC, un conversor A/D de 10-bit para leer la posición de las antenas (en voltios) y por ultimo un puerto I/O con 12 señales para controles externos. En este caso específico y personalizado, la fuente de voltaje proviene del propio rotor y es reducido a valores de 5 voltios por el CI 78L05. El transistor Q1 convierte los valores de voltaje del puerto serie RS232 del ordenador a niveles TTL necesarios para la comunicación con el PIC 16F688. Los transistores Q2 a Q5 controlan los diferentes relés de movimientos azimutal y elevación que se encuentran en la unidad de potencia y control del rotor. Los diodos LED que figuran en el esquema no son parte necesaria para el correcto funcionamiento del circuito, pero ofrecen una ayuda visual del funcionamiento.

Referencias al programa

[1] WA8SME, Mark Spencer, en su proyecto publicado en “The Amsat Journal” num.3/2006, ofrece el programa de la PIC, e incluso la placa de circuito impreso, su correo electrónico mspencer@arrl.org

[1] EA1BCU, Miguel Ángel Menéndez, ea1bcu@amsat.org

Articulo completo, SatTracker.pdf

73 de Miguel, EA1BCU, AMSAT-EA

Actualizar firmware de la placa DVMega (ATMega328P-PU) con un Arduino-UNO

Actualizar firmware de la placa DVMega (ATMega328P-PU) con un Arduino-UNO

En algún momento, y para obtener mejoras ofrecidas, necesitaremos re-programar el micro controlador  ATMEGA328P-PU que controlan algunos modelos de placa DVMega. Existen varias opciones, voy a explicar un procedimiento que resulta simple y funciona correctamente.
Consiste en usar una placa Arduino-UNO con microprocesador  ATMEGA328P montado en zócalo de 28 pines, para poder quitarlo con facilidad y   montar en dicho zócalo, el nuevo ATMEGA328P-PU que queremos re-programar.
Para realizar el proceso, debemos asegurarnos de tener las herramientas necesarias:

  • Un "chip" ATMEGA328P-PU (con pre-arrancador de Arduino cargado), se encuentran fácilmente por internet. También podemos actualizar el propio que trae la DVMega, "en mi caso lo reservo intacto por seguridad 
  • Descargar la nueva versión que queremos grabar en el ATMEGA328P-PU, (ejemplo DVMEGA_RH_V314_UNO.zip ), normalmente se descarga un fichero (zip) que tenemos que descomprimir para obtener el fichero(.bin) que necesitamos.
  • El programa X-Loader, necesario para grabar la nueva versión de firmware en el  "chip" ATMEGA328P.
    podemos obtenerlo: X-Loader desde la página del autor . 

Pasos a seguir :

 1.- Este paso, es solo para conocer el puerto (COM) con el que se comunica el Arduino-UNO y nuestro PC, colocamos el "chip" ATMEGA 328P-PU en el Arduino-UNO y lo conectamos a través del puerto USB al PC, (no se necesita alimentar con fuente externa de tensión), arrancamos el programa/compilador de Arduino y verificamos el puerto (COM) al que esta conectado. (ejem. COM6). Ya podemos cerrar el programa de Arduino.
"si conoces el puerto (COM), puedes saltarte este paso"

2.- Con el "chip" ATmega328P-PU que queremos grabar montado en el Arduino, arrancamos el programa X-Loader y configuramos las opciones:

COM port = puerto(com), obtenido en el punto 1
Hex file = indicamos el path del fichero (.bin) descomprimido.
Device = escogemos Uno (ATmega 328)
Baud rate= se deja en 115200 baudios.

 3.- Ejecutamos UPLOAD para grabar el nuevo fichero(bin) en el ATmega328. Se observan unos parpadeos de leed en el Arduino y finalmente aparecerá una etiqueta debajo del botón <Upload> con los bytes cargados.
Esperamos unos segundos (10") y desconectamos el puerto USB del Arduino, volvemos a esperar otros 10 segundos y quitamos del zócalo del Arduino el "chip" ATmega328P grabado con la nueva versión.

 4.- Colocamos el "chip" grabado en la placa DVMega y volvemos a montarla en la Raspberry-pi, si todo fue correctamente, aplicamos alimentación y tendremos funcionando la DVMega con la nueva versión de firmware. 
"En el caso de este articulo, es la V3.14"  ;   "documento en pdf" 

Telemetria con BcuDuino (Arduino)

BcuDuino:  Baliza en APRS con telemetría

Basándome en dos trabajos ya operativos,  “trackuino” y “Telemetrino”, me surgió la idea de diseñar una baliza de APRS con capacidad para enviar también datos de telemetría usando solamente el entorno Arduino prescindiendo totalmente de TNC o modem.  

Arduino

Para ello y como comento al principio, aprovechamos la red digital 144.800 Mz, el protocolo APRS y la plataforma de visualización y seguimiento http://aprs.fi 

Proyecto:   Lectura de los sensores cuyos valores queremos enviar, ya sea analógica o digital.  

BcuDuino recoge datos del Bus 5V y 3,3V del Arduino, Cte-de carga del cargador de la batería de alimentación, Temp. Cº del      exterior de la ubicación y Temp. Cº del entorno interior. 

- Mapear los valores analógicos de entrada Arduino de 10bits al formato que procesa el protocolo APRS de 8bits. 

- Empaquetado de estos valores en formato de Telemetría para APRS

- Envío de la información vía radio a través de un modem AX.25/1200bps definido por software integrado en el Arduino

Software:

El Lenguaje de programación Arduino se basa en C/C++ 

Básicamente el resultado de la programación se encarga de enviar una trama general de baliza cada 15min y una trama en formato de telemetría sincronizadas 3min depuse de cada transmisión de la baliza general, las tramas de telemetría, están numeradas de 0 – 255.

 

Son configurables las variables clásicas como Indicativo, SSID, Path, y los canales de la telemetría, 5 analógicos y 8 digitales.

> Descargar bcuduino_v022.rar   para versiones de software Arduino V0.22 < V1.0
> Descargar bcuduino_v101.rar   para versiones de software Arduino V1.0.1 y posteriores

 Hardware:

 El soporte físico está construido con la   plataforma "libre" Arduino, en mi caso Arduino-Uno, una tarjeta  con un  microcontrolador ATMega-328. Con 6 canales analógicos y 8 canales digitales. 

- El protocolo APRS posibilita 5 canales analógicos y 8  canales digitales

- Como TX, vale cualquier placa o Kit de transmisión en 144.800Mhz (500 mW)

- En mi caso, sigo usando los del puerto digital I/O programados por el Trackuino: Pin 4 control del PTT y Pin 3 (PWM) salida de audio.

 Para una separación galvánica y evitar mayores problemas, se pueden desacoplar las señales citadas con ejemplos como los editados en las figuras: 

  PTTTx