Estación APRS EA3BNF-1
VHF 144,800 MHz 5 W Ant. vertical 1/4 λ AFSK 1200 baud
UHF 433,550 MHz 10 mW Ant. vertical 1/4 λ Manchester 19200 bps
LW 77,500 KHz RX Ant. ferrita DCF77

Fallos conocidos :

- Veleta averiada. Necesita ser reemplazada.
- El sensor de humedad da valores erróneos.
- Anemómetro necesita reparación. Algunas cazoletas se mueven.
- Entra humedad en el sensor de luminosidad dando valores erróneos.

Versión firmware 2.35

.

Proyectos:

- Sustitución de la veleta. Se dehace del potenciómetro multivuelta y se sustituye por un encoder digital magnético sin fricciones.
- Sustitución de los sensores de temperatura y humedad analógicos por un módulo digital.
- Soldar ejes de las cazoletas del anemómetro. Revisión de los rodamientos.
- Sustituir el actual LDR del sensor de luminosidad por un sensor mejorado basado en un diodo.
- Añadir un sensor de radiación UV.
- Colocar los sensores de radiación lumínica en una caja estanta IP67.
- Reprogramar el microcontrolador para la lectura del encoder magnético y el módulo digital de temperatura y humedad.

ABRIL 2013

APRS es una marca registrada de Bob Bruninga WB4APR http://www.aprs.org/

Gráficos en la Web de Hessu OH7LZB http://aprs.fi
Gráficos telemetría en aprs.fi
Gráficos meteorológía en aprs.fi

Gráficos telemetría en FindU.com
Telemetría en gráfico de puntos de FindU.com

 

Introducción

La estación fija está situada en una zona propensa a la creación de tormentas eléctricas que a partir de malas experiencias vividas con descargas estáticas me llevó a idear el siguiente proyecto, el cual sustituye a la antigua y averiada estación meteorológica basada en emisiones de tramas APRS a partir desde un PC. La idea original era crear un pequeño transmisor de VHF de bajo consumo y aislado eléctricamente de la estación fija operada manualmente para evitar que las posibles descargas eléctricas afectasen al resto de los equipos del cuarto de radio. En un principio, se diseñó el control desde la estación fija manual mediante una comunicación por fibra óptica que poco después se desestimó y se sustituyó por otro transmisor UHF de baja potencia. En general, el proyecto tendría una alimentación independiente con posibilidad de control mediante ondas de radio, sin ningún tipo de conexión eléctrica con la estación fija operada manualmente y con capacidad de almacenar los datos recogidos por los sensores.

En este documento no se pretende aportar algo innovador del sistema APRS, simplemente se da a conocer el funcionamiento de esa estación de radio que aparece en nuestros mapas.

Descripción

El corazón del proyecto está basado en un microcontrolador PIC18F458 de Microchip trabajando a una frecuencia de reloj de 40MHz el cual alberga todas las rutinas de codificación, descodificación APRS, conversión y almacenamiento de los datos de los sensores, control de carga de las baterías, atención a los comandos remotos, etc. Una señal externa de 1Hz genera interrupciones en el microcontrolador y es la encargada de la ejecución de ciertas rutinas temporizadas.

En el siguiente diagrama de funciones se muestran todos los periféricos controlados por el PIC18F458.

Diagrama de funciones

Alimentación

Todo el sistema está alimentado por energía fotovoltaica que a su vez carga los acumuladores para su funcionamiento continuo en horas nocturnas y en días muy nublados. El panel solar de silicio policristalino ofrece gran rendimiento entregando 20W a plena potencia, suficiente para cargar por completo las baterías en unas 4 o 5 horas al mismo tiempo que alimenta todo el sistema. La función del controlador de carga es regular la intensidad de la placa solar según el estado de carga de las baterías y evitar la descarga a través de la misma placa en situaciones con luz insuficiente.

De la etapa de alimentación parten 4 señales analógicas de estado y son convertidas en datos digitales por el microcontrolador. En todo momento se está supervisando la tensión de las baterías, la del panel solar, la intensidad de carga y la intensidad de consumo que se almacenan regularmente en la memoria y sirven para determinar el estado del economizador para el ahorro de energía cuando la carga de las baterías es crítica.

Alimentación

 

Economizador

El economizador es una rutina que se ejecuta en el microcontrolador y se encarga de mantener suficiente tensión en las baterías, mediante ahorro energético, para el correcto funcionamiento de los dispositivos indispensables de la estación. Prioritariamente, trata de mantener continuamente en funcionamiento los sensores meteorológicos, la memoria para almacenar los datos y el propio microcontrolador.

Según el estado de carga de las baterías y haciendo una previsión de la eficacia del panel solar, el sistema puede pasar a uno de los 3 estados de ahorro energético que lo consigue desconectando periféricos menos importantes y reduciendo la actividad de otros. Las emisiones y recepciones APRS pueden estar afectadas por el economizador.

>272045z Bateria baja QRX

A partir de las observaciones del funcionamiento de la estación, el sistema pasa al estado ECO 1 tras dos o tres días consecutivos completamente nublados. A partir del estado ECO 2 y si las condiciones no son favorables para cargar las baterías, el sistema entrará en un estado de letargo llegando a reiniciarse en algunas ocasiones. En todo caso, después de un reinicio del sistema, el transmisor VHF no se pondrá en marcha hasta que no se rearme manualmente.

Periféricos

El microcontrolador se comunica con los periféricos a través de diferentes buses de datos y direcciones.

La principal característica de este bus es que sólo es necesario 2 líneas para la comunicación; una para el sincronismo y otra para los datos en serie bidireccional, con lo cual simplifica enormemente el diseño del circuito impreso. El bus funciona con un sincronismo de 100KHz que llega a alcanzar una transferencia de datos de más de 10KB/s.

RTC - Es el encargado de proporcionar la fecha y hora al microcontrolador, así como también una señal cuadrada de 1pps que, mediante interrupciones, sincroniza todas las temporizaciones del sistema. DS1307

SENSOR TEMPERATURA - El integrado DS1624 es un sensor de temperatura preciso que está alojado en el mismo circuito impreso del microcontrolador. Proporciona la temperatura del sistema (no es la temperatura ambiental) y se utiliza para compensar las señales de los sensores y es una referencia para poner en marcha la ventilación forzada del sistema en el caso de que la temperatura interna alcance unos límites altos.

EEPROM - El 24LC515 es una memoria no volátil que consta de dos bloques de 32KB cada uno. En el primer bloque están alojadas todas las tablas de conversión de datos las cuales liberan carga de proceso al microcontrolador y el segundo bloque está destinado para almacenar los mensajes recibidos vía APRS que básicamente hace la función de buzón de correo.

PUERTOS 8 bits - Conectados al mismo bus, existen dos puertos paralelos de 8 bits bidireccionales (PCF8574) que dan soporte al microcontrolador añadiendo más líneas de control, como son las señales para activar el trasmisor VHF, señales de control del transmisor UHF, bus de direcciones y control de la memoria CF, el ventilador, LEDs, etc.

Este bus consta de 4 líneas más una para la señal de interrupción y está gestionada íntegramente por software. Exclusivamente está dedicada para la comunicación entre el módem AFSK y el microcontrolador, en la que tenemos una línea de sincronismo de bits, una para lectura de datos, escritura de datos y CS (chip select).

MÓDEM AFSK - El módem es el encargado de modular las tramas AX.25 y descodificar las señales AFSK. El integrado CMX624 es un transceptor de comunicaciones muy versátil que una de sus características es la de modular datos binarios en el modo BELL 202, típico de las transmisiones APRS, que además cuenta con filtros de audio y amplificadores de señal en el mismo integrado. El CMX624 estaba destinado para las comunicaciones digitales de 1200bps vía línea telefónica, el cual ha quedado obsoleto pero que los podemos encontrar en muchos módems informáticos de desguace.

El microcontrolador se encarga prácticamente de toda la descodificación de las tramas APRS ya que el CMX624 solamente está capacitado para convertir la señal de audio del receptor VHF en bytes, haya ruido o señal AFSK, por lo que continuamente siempre tiene un byte preparado para transferir y se lo notifica al microcontrolador mediante una petición de interrupción. Cada vez que el módem genera una interrupción, el microcontrolador lee el byte descodificado y por enfase de bits, determina si es ruido o una señal AFSK. El receptor de VHF funciona con el silenciador de ruido abierto por lo que el sistema solamente emitirá si no detecta señal AFSK en la entrada de audio en un determinado tiempo fijado. Una rutina se encarga de calcular el valor de detección de errores (FCS) de la trama AX.25 que en el caso de detectar una recepción corrupta, no pasa a la etapa de descodificación APRS y se ignora la trama recibida. En el siguiente diagrama podemos ver todo el proceso de descodificación llevado a cabo por la rutina ejecutada en el microcontrolador.

Descodificación APRS

Es una transmisión asíncrona en serie full-duplex en la que básicamente sólo se necesitan 3 líneas: emisión, recepción y masa. El microcontrolador se comunica con el transmisor de UHF o con el conversor de señal a RS-232C mediante este bus según el modo que se quiera acceder al sistema para el control y programación.

TRANSMISOR UHF - El transmisor en UHF está basado en el compacto modelo ER400TRS de LPRS (Low Power Radio Solutions) que transmite a baja potencia en código Manchester a una velocidad de transferencia de 19200baudios. Por su bajo consumo, es idóneo para la comunicación remota entre el cuarto de radio y la estación APRS cuando no sea necesaria una comunicación directa por cable vía RS-232C o un manejo manual de la estación.

La comunicación por el bus paralelo está apoyada por líneas de control de los puertos I2C para la lectura y escritura de la memoria Compact Flash. El acceso a la CF se realiza en modo True IDE con transferencia de datos de 8 bits el cual minimiza el número de líneas de conexión. Cada minuto se guardan todos los datos recogidos por los sensores meteorológicos y del sistema para su posterior lectura que con sus 8MB tiene la capacidad para almacenar datos hasta casi 6 meses ininterrumpidamente.

Conexión CF

La estación es capaz de sincronizar el reloj del sistema con la estación de Frankfurt DCF77 mediante un pequeño receptor de onda larga con antena de ferrita sintonizada para 77,5KHz. El receptor convierte las señales moduladas de la estación DCF77 a señales TTL que crean interrupciones en el PIC18F458 y éste mide los periodos de la señal cuadrada descodificando el patrón horario.

Cada 24h se rectifica el desfase del reloj del sistema. En caso de reinicio, el sistema actualizará el calendario y horario cuando se reciba completamente de la estación DCF77.

Telemetría

La estación emite tramas de telemetría estándar APRS desde la versión 2.31. El significado de los valores emitidos se explica a continuación tomando como ejemplo la siguiente trama:

T#515,127,134,154,124,080,10110000

T#515 Número secuencial de trama de telemetría transmitida. De 000 a 999

127 Tensión de la batería en unidades de voltios/10 (carga de la batería). En este caso: 12,7V

134 Tensión entre los bornes de la placa solar en unidades de voltios/10 . En este caso 13,4V (si es cero en horas diurnas, el controlador de carga ha cortado el suministro).

154 Intensidad del consumo medio total del sistema en unidades de mA x 1,2. En este caso 184,8mA.

124 Intensidad de carga. Es la corriente existente entre la placa solar y las baterías en unidades de mA x 7,4. En este caso 917,6mA.

080 Temperatura del sistema en unidades de grados centígrados/4. En este caso 20 ºC.

10110000 Bits de estado del sistema con el siguiente significado: [DCF77] [CAL] [WXb] [WXa] [CF] [I2C] [HiTemp] [ECO1]

[DCF77] (1) Error en la recepción del sincronismo del reloj con DCF77.

[CAL] (1) Error en la calibración de los sensores meteorológicos. La estación podría emitir unos valores no deseados que no se deberían tener en cuenta.

[WXb] (1) Fallo en alguno de los sensores meteorológicos del grupo B.

[WXa] (1) Fallo en alguno de los sensores meteorológicos del grupo A.

[CF] (1) Error en la lectura/escritura de la memoria CF.

[I2C] (1) Error en el bus I2C.

[HiTemp] (1) Ventilación forzada en marcha, alta temperatura interna.

[ECO1] (1) Economizador en estado ECO 1. (0) Economizador en estado ECO 0.

Así mismo, la estación emitirá mensajes cada cierto tiempo con la definición de los valores de la telemetría para que puedan ser interpretados.

PARM.Bat,Psolar,Bat,Psolar,Temp,DCF77,CAL,WXb,WXa,CF,I2C,HiTemp,ECO1

UNIT.V,V,mA,mA,C,err,err,err,err,err,err,on,on

EQNS.0,.1,0,0,.1,0,0,1.2,0,0,7.4,0,0,.25,0

Consultas y mensajes APRS

La estación es capaz de responder a tres tipos de consultas APRS que pueden utilizarse para conocer el estado del tráfico APRS en la zona. Cada vez que se recibe una consulta desde otra estación, el sistema responderá a dicha consulta especificando los saltos efectivos entre digirepetidores, es decir, si por ejemplo se recibe una consulta en el salto WIDE4-2, la estación transmitirá la trama de respuesta especificando una ruta entre digirepetidores de 2 saltos efectivos; WIDE2-2

Consulta ?APRST o ?PING?. La respuesta a esta consulta APRS se basa en los saltos entre digirepetidores que ha tenido que viajar una trama hasta que la estación haya logrado descodificarla. Unas respuestas típicas serían:

EA3BNF-1>APRS La comunicación entre ambas estaciones es directa, no ha habido ningún salto entre digirepetidores.

EA3BNF-1>APRS,EA3BEI-15,WIDE1 La estación nos está indicando que ha recibido la consulta a través de un digirepetidor (WIDE1) y nos dice cuál es.

EA3BNF-1>APRS,ED3ZAH-15,WIDE3 En este caso, la consulta se ha recibido a través de 3 digirepetidores (WIDE3) y nos indica cuál ha sido el último digirepetidor que la ha repetido antes de que la estación la recibiera.

Puede ocurrir, y es interesante que ocurra, que la consulta enviada se haya recibido por dos o más rutas diferentes entre digirepetidores. La estación responderá cada una de las consultas que vaya recibiendo, aunque tenga el mismo origen, indicando los saltos que ha habido en cada recepción.

Consulta ?APRSD La estación va almacenando un máximo de 6 indicativos de estaciones recibidas vía directa. Los más recientes sustituyen a los más antiguos. El criterio para determinar si una trama se ha recibido sin pasar por un digirepetidor se basa en el protocolo AX.25 y en las direcciones genéricas APRS tipo WIDEn-N y TRACEn-N. La estación emitirá respuesta con todos los indicativos vía directa que tenga almacenados en el momento de recibir la consulta.

Consulta ?APRSS La estación sólo responderá con la trama tipo STATUS y con la ruta entre digirepetidores por defecto sin dirigir la respuesta a la estación que haya hecho la petición.

La estación aceptará cualquier mensaje enviado directamente y dará acuse de recibo (ack) si se ha recibido correctamente. El sistema enviará una señal de aviso al operador de radio vía UHF y guardará el mensaje en el caso de que no se pudiera responder en el momento. El mensaje puede contener tantos caracteres como permita el protocolo APRS pero solamente se guardarán los 50 primeros de cada mensaje. Serán de gran ayuda los reportes de señal recibidos, por ejemplo: RS 3-6

Cada cierto tiempo, y de modo experimental, se emitirá un boletín indicando el promedio de paquetes recibidos por minuto y el porcentaje de éstos recibidos con error en FCS. Nos puede servir para darnos una orientación del tráfico APRS en la zona y de las colisiones entre tramas emitidas por diferentes estaciones. RX: 8 packets/min 12% error

Sensores meteorológicos

Se han dividido los sensores en dos grupos, los que están dentro de una minicaseta y los que están a la intemperie. Al mismo tiempo, se dividen por el tipo detección utilizado.

Los sensores del grupo A están gestionados directamente por otro microcontrolador, el PIC16F876 a 20MHz, alojado en la misma minicaseta. Las señales analógicas de los sensores son convertidas por un ADC de 14 bits y luego filtradas, mediante software, por el microcontrolador. El conversor analógico/digital se calibra cada minuto para evitar variaciones de las señales de los sensores causadas por cambios de temperatura o fluctuaciones de la tensión de alimentación. La comunicación con el PIC18F458 se realiza mediante el bus I2C pasando por un búfer de 12V para distancias largas.

Todos los sensores están calibrados al Sistema Internacional de Unidades menos el sensor de intensidad luminosa que se limita a dar un valor según la intensidad de luz incidente de una porción de cielo de aproximadamente 100º en la vertical de la estación. La intensidad luminosa se presenta en la trama APRS con la letra "L" seguido por un número decimal de tres cifras dentro del intervalo de 000 (noche oscura) a 999 (cielo despejado a mediodía en el solsticio de verano).

El sensor de intensidad luminosa es útil para indicarnos presencia o ausencia de nubosidad en horas diurnas,así como también, es sensible a la luz reflejada por la Luna que nos dará unos valores entre 1 y 10 en noches con Luna llena. Es posible que también nos dé valores mayores que cero detectando tormentas eléctricas durante la noche. De una manera simbólica, la interpretación de los datos de luminosidad en horas de mediodía es la siguiente:

<986

986-987

988-989

990-991

>991

 

 

El anemómetro y el pluviómetro están conectados directamente a los contadores de pulsos del PIC18F458. La veleta es de tipo portenciómetro mutivuelta que divide la tensión de entrada según la orientación que esté. Está conectada a un canal del conversor analógico/digital del propio microcontrolador PIC18F458.

Esquemas

Aunque el proyecto esté en continuo desarrollo, modificando y mejorando partes de él, los siguientes esquemas eléctricos pertenecen a la primera puesta en marcha de la estación que da una ligera idea detallada de cómo funciona todo lo explicado hasta el momento.

PLACA DE POTENCIA

Esquema Placa Potencia

PLACA PRINCIPAL

Esquema Placa Principal

MÓDULO UHF / RS232-C

Esquema UHF - RS232C

 

Agradecimientos a toda la comunidad APRS que ha hecho que sea posible este proyecto.


2008 Manuel Redondo ea3bnf@ure.es