Arduineces y otras hierbas (Monitorizar fugas de agua)

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Responder
Mensaje
Autor
Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#81 Mensaje por Anilandro »

Bueno, pues dejé el módulo GPS montado de nuevo, lo conecté al Arduino (que seguía usando sólo como interface a USB), y un pequeño notebook Asus con Windows-7, y para asegurar la cobertura de los satélites me dirigí a la terraza ya de noche y, ...Oh maravilla de la técnica... al poco de encender el conjunto el led azul de la plaquita GPS se puso a destellear y la pantalla del monitor serie del IDE comenzó a mostrar una serie regular de líneas de datos, letras y números, pero cuyo primer carácter era el signo de $ seguido de 5 letras... Sin duda eran señales GPS reales, aunque entre tanto símbolo era difícil entender algo concreto. No obstante estaba en el buen camino...

Líneas de datos (frames) GPS en pantalla del monitor serie del IDE de Arduino

Imagen


Lo siguiente fue intentar prescindir de la placa Arduino, ya que si el microcontrolador no tiene programa y no hace nada, es un poco absurdo utilizarla. La idea inicial en este caso era poder usar el módulo GPS directamente con el ordenador, tanto el fijo que tengo en mi cuarto, como en el pequeño portátil. El fijo es un HP con doce o trece años y aún dispone de conector DB-9 (el que utiliza el RS-232) en su parte trasera, pero a causa del sitio en que está montada la torre, tengo difícil acceso a dicho conector, con lo cual me resulta mucho más fácil utilizar el USB frontal con un conversor de RS-232 a USB que compré hace años. En cuanto al notebook es mucho más moderno, y por descontado no dispone de conector DB-9, con lo cual el USB es la única opción.

Conversor RS-232 a USB

Imagen


En éste último ordenador también tuve problemas para que me reconociera el conversor, ya que a pesar de tener drivers genéricos que me habían funcionado en XP, en W7 simplemente me indicaba que el "dispositivo no había podido instalarse". Busqué los drivers del presunto fabricante (digo presunto porque el conversor tiene la etiqueta borrada y no aparece ninguna marca) y al instalarlos un par de veces, acabó funcionando bien. Lo segundo fue instalar el programa Realterm, un monitor de datos muy versátil que es de código libre y puede conseguirse gratis a través de SourceForge. La ultima versión de este programa, la 2.0.0.70 daba una cadena de errores, que si no encontraba esto o aquello, pero en cambio la versión anterior 2.0.0.69 se cargó y ejecutó sin problemas...

Continuará...

Saludos a todos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#82 Mensaje por Anilandro »

...Vuelta a la terraza (serían ya las 12 de la noche y había una humedad del copón), y la cosa no salió tan bien... el GPS destellaba como antes y sin duda los datos se enviaban, pero en ventana del Realterm sólo aparecían signos raros sin ningún sentido. Probé un montón de configuraciones del programa sin conseguir arreglar la cosa, y entonces recordé un problema semejante que había tenido algunos meses atrás al probar un sistema de adquisición de datos para instrumentación que estoy programando en Visual Basic ...que para entrar los datos en el conversor RS232-USB debía invertir antes la fase de la señal...

Adaptador inversor de fase para acoplar el módulo GPS al conversor RS-232 a USB (y viceversa)

Imagen


...Ese día ya era tarde para meterme con el soldador a fabricar un circuito, pero al siguiente tomé un pequeño trozo de circuito impreso y un conector DB-9 hembra, y con un transistor NPN y dos resistencias realicé un simple inversor. Otro cambio fue habilitar en el conversor una salida de 5 volts para alimentar el módulo GPS, porque del conector RS-232 es posible extraer algunos miliamperios rectificando las señales digitales de los pins 4 y 7, pero no es suficiente para el consumo de 65 mA del GPS. Incluso con la alimentación externa, sobre el mismo circuito impreso coloqué dos diodos de silicio en serie, con condensadores de filtro de 2,2 uF, para que se provocara una caída de tensión de 1.2 volts y el regulador de la placa GPS no tuviera que trabajar tanto.

El conjunto inversor-adaptador

Imagen


...Una vez acabado, inserte el inversor y volví a la terraza... y esta vez sí, BINGO... como puede verse en la imagen siguiente, en la pantalla del Realterm aparecieron las mismas cadencias de datos que antes en el IDE del Arduino. El sistema ya funcionaba sin problemas y lo siguiente era poder interpretar los resultados. Para ello un amigo me facilitó la dirección de una página ( http://www.gpsinformation.org/dale/nmea.htm ) en donde se expone de forma bastante clara y extensa el protocolo de datos NMEA, sus variables y significados. Por ejemplo, las líneas de datos que más nos interesan para determinar la posición serán las que empiecen por $GPRMC, tal como:

$GPRMC,234121.00,A,3953.44488,N,00415.26344,E,0.020,,231016,,,A*7D

"Frames" de señal GPS en pantalla del monitor serie Realterm

Imagen


De donde, utilizando las comas como separadores podemos extraer:

RMC : Recommended Minimum sentence (indica los tipos de datos que vienen a continuación)
234121.00 : es la hora universal UTC (de Greenwich): 23 horas, 41minutos. 21.00 segundos
A : indica que la posición está bien establecida, si fuera una V podría ser errónea
3953.44488 : es la latitud geográfica: 39 grados 53,44488 minutos
N : indica que es latitut Norte
00415.26344 : es la Longitud geográfica: 004 grados 15,26344 minutos
E : indica Longitud Este
0.020 : indica la velocidad en Nudos (millas marinas por hora) (1 milla es igual a 1.852 metros)
, , : de aparecer, indicaría nuestro rumbo en grados con respecto al norte
231016 : indica la fecha: día 23, del mes 10, de 2016
, , : de aparecer, indicaría la variación magnética local
A
*7D : checksun, valor que siempre comienza con el signo * y sirve de comprobación de que no hay errores en la cadena de caracteres

Hay otras sentencias distintas, como $GPGGA, $GPGSV, $GPGSV, $GPUTG, etc, cada una con sus informaciones específicas, que ahora no es necesario ampliar.

El siguiente paso podría ser el utilizar estos datos con un programa que los filtre, los muestre en un display y si es necesario los almacene en una tarjeta uSD, bien sea en C a través del Arduino, o conectado directamente al ordenador mediante un programa de Visual Basic ...

Continuará...
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

popesoft
Mensajes: 126
Registrado: Dom May 09, 2010 8:43 am
País: Argentina
Ciudad: General Pico (La Pampa)
Ubicación: General Pico, La Pampa, Argentina

Re: Mis primeros pasos con Arduino

#83 Mensaje por popesoft »

Estimadisimo Anilandro a ver si lo que dice tu dispositivo es correcto clickea aca:
https://www.google.com.ar/maps/place/39 ... d4.2543907

Saludos Pope

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#84 Mensaje por Anilandro »

...Y tanto que lo es... Vaya, qué controlados estamos, y la información que facilitamos sin darnos cuenta... la cosa asusta un poco... :shock:

...Cuando navegaba y utilizaba el sextante, podía darme por muy satisfecho si establecía una posición con dos millas de error...

Saludos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#85 Mensaje por Anilandro »

Un par de pruebas más en la misma dirección. La primera imagen es la adquisición de datos GPS a través del ordenador con el programita de Windows HyperTerminal, que no había probado hasta ahora y que es muy ligero, ya que sólo ocupa 28 KB y no necesita instalación:

Imagen


...Y la segunda imagen es más interesante para mí, ya que se trata de la primera adquisición de datos GPS que consigo con un programa de Visual Basic. De momento ya me selecciona los puertos COM y me carga los datos en una variable de cadena. Luego vendrán las rutinas para separar las variables...

Imagen


Para poder obtener datos desde mi cuarto de trastear, simplemente he hecho un cable de 5 metros con conectores tipo pin macho y hembra en ambos extremos, y coloco el módulo GPS en el alféizar de la ventana metido en una bolsita de plástico transparente...

Saludos...
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#86 Mensaje por Anilandro »

Bueno, ya le he dado otro empujoncito al programa de Visual Basic para el GPS. En realidad la idea no es hacer un programa clásico, si no una especie de monitor donde puedan verse sus variables, y que en el código las cosas estén claras, en vista a utilizarlas más adelante para cualquier otro uso.

Ayer conseguí separar la cadena de datos NMEA en los "frames" que la componen, incluyendo los dedicados a los cuatro satélites simultáneos que utiliza el sistema (de entre todos los que capta, elige los cuatro de mejor relación señal/ruido), y cuyas cabeceras son iguales.

Imagen

Un detalle es que las cadenas NMEA no son estándar, sino que diversas marcas y modelos de GPS muestran variaciones. Algunas dan muchos datos y otras muy pocos, dependiendo del receptor y del hardware decodificador. El módulo que tengo parece ser del tipo medio-alto, y suministra 9 frames distintos, aunque algunos de ellos son muy específicos, por ejemplo para el cálculo de velocidad, de posicionamiento 3D o incluso uno mantiene un formato de compatibilidad con los viejos sistemas de situación ya en desuso, como el Loran-C

Saludos a todos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Jabp_EX
Mensajes: 149
Registrado: Dom Oct 21, 2012 11:36 pm
País: España
Ciudad: Talayuela

Re: Mis primeros pasos con Arduino

#87 Mensaje por Jabp_EX »

Hola

Yo tengo a un par de personas desarrollando una solución con un GPS de bajo consumo, empleamos en lugar de arduino una plataforma ARM cortex M0+. Si quieres información al respecto te puedo pasar, nosotros utilizamos un gps Quectel que no sale nada caro y tiene funcionalidades de bajo consumo a través de un giroscopio interno que mide el movimiento y así adecuarse.

Un saludo

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Mis primeros pasos con Arduino

#88 Mensaje por Anilandro »

Gracias Jabp_EX, cualquier información es siempre bienvenida, aunque mis necesidades actuales en este tema son más bien autodidactas. Nunca había trabajado con GPS (excepto un Magellan Meridian básico que compré en 1996 como ayuda a la navegación de altura), pero ignoraba por completo el tipo de señales y su formato, y es precisamente lo que estoy descubriendo con estas pruebas.

El módulo que utilizo va muy bien, es barato (no llegó a los 7€), en cuanto al consumo, es algo elevado, sobre los 65 mA, pero es una buena idea asociarle un chip de giróscopos-acelerómetros para darse cuenta de cuando está quieto y por lo tanto puede mantenerse en modo stand-by.

Un saludo
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
mister_electronico
Mensajes: 122
Registrado: Mié Ene 15, 2014 8:44 pm
País: España
Ciudad: Asturias

Re: Mis primeros pasos con Arduino

#89 Mensaje por mister_electronico »

Yo actualmente estoy trabajando con el lo conecto con un muy economico ft232 al PC de la siguiente forma:

https://misterelectronico.wordpress.com ... y-ne06mv2/

Le he echo un programa pero es para Linux y para una distro muy minorista que es Puppy Linux, y bajo un entorno de programacion que ademas es tambien muy minoritaria gtkdialog y C ....jejeje.


Imagen

Todavia no tengo claro los comandos para hacer que funcione a 38.400 y como hacer que se le active para que de bastantes datos mas.

Estare espectante a tus desarrollos con este GPS .

Un saludo.

XBaroman
Mensajes: 167
Registrado: Dom Feb 13, 2011 7:04 pm
País: España
Ciudad: Alnorte

Re: Mis primeros pasos con Arduino

#90 Mensaje por XBaroman »

Hola a todos.

Como siempre, son interesante vuestros avances, pero en esta ocasión, además descargaros entre otros muchos el "SiRFDemo".
Existen multitud de programas-aplicaciones aunque las buenas y completas son de pago.

Por mi parte aunque ya hace 10 años que lo conocía, con Arduino voy avanzando, y ahora estoy comprobando, las prestaciones del CI de Maxim DS3231, que es un RTC muy bueno y versátil de partida, y que ajustando correctamente los registros del propio chip, llega a una precisión mejor de 5 segundos al año, algo increíble para hacerlo de forma totalmente independiente sin ayuda externa y en el rango de precio que tiene.

Un saludo a todos.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados