La Taberna del Puerto Social
"Se navega por los astros, por la mar, por la tierra, por las gentes, por los sentimientos...Se navega." Altair
VHF: Canal 77   
Regresar   La Taberna del Puerto > Foro > Foros Náuticos > Foro Náutico Deportivo

Avisos

Discusión cerrada
 
Herramientas Estilo
  #1  
Antiguo 17-02-2016, 20:16
Avatar de sailoog.com
sailoog.com sailoog.com esta desconectado
Expulsado
 
Registrado: 24-05-2011
Mensajes: 1,237
Agradecimientos que ha otorgado: 413
Recibió 1,358 Agradecimientos en 485 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Si que existen, adafruit tiene algunos. No es un tema que tenga muy investigado pero me parece una buena idea. Seguro que hay cosas industriales baratas y fuertes.
  #2  
Antiguo 17-02-2016, 20:25
Avatar de sailoog.com
sailoog.com sailoog.com esta desconectado
Expulsado
 
Registrado: 24-05-2011
Mensajes: 1,237
Agradecimientos que ha otorgado: 413
Recibió 1,358 Agradecimientos en 485 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Múltiples sensores de temperatura DS18B20 implementados

Ahora puedes definir sensores ilimitados y controlar motor, neveras, etc. en multiples puntos.

http://www.sailoog.com/es/blog/prueb...otter-v070beta

He reprogramado algunas partes importantes y ahora se podrán añadir nuevas magnitudes provenientes de sensores, interruptores, arduinos, etc. más facilmente.

Esta es la hoja de ruta aproximada:

Documentación básica.
Multiples sensores DS18B20
Soprte para ADC
Más documentación
Panel de instrumentos e interruptores virtuales remoto.
Otras funcionalidades solicitadas
2 Cofrades agradecieron a sailoog.com este mensaje:
ManelvallsVila (17-02-2016), RIGLOS (18-02-2016)
  #3  
Antiguo 18-02-2016, 23:24
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
Hermano de la costa
 
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Si que existen, adafruit tiene algunos. No es un tema que tenga muy investigado pero me parece una buena idea. Seguro que hay cosas industriales baratas y fuertes.
Despues de hacer una busqueda intensiva en intenet he encontrado esto
http://www.futurlec.com/Flow_Sensor.shtml#GASFLOWMETER
Hay sensores para agua y diesel. Todos son digitales por sensor Hall. La tension de alimentacion va de 2,4 V a 26 V, y la salida es de pulsos, con lo que se puede leer directamente con la Raspi. El precio en relacion a la calidad es de los mejores que he visto. Si os parece bien serian un buen complemento para la Raspi.
Tendriamos controlado la refrigeracion del motor y el flujo de gasoil pudiendo conocer el consumo por hora, el consumo por cada vieje y el consumo total. Se podrian montar alarmas de reserva de gasoil con bastante esactitud. Calcular y mostrar el numero de horas de navegacion en funcion del consumo y la cantidad de combustible restante, etc. Respecto al flujo de entrada agua salada poner una alarma si baja de un determinado nivel, de esta manera sabriamos que hay un problema en el circuito de refrigeracion antes de que se caliente el motor.

He mirado tambien los sensores de arduino, pero me parecen flojos para el ambiente marino.

A ver que os parecen estos sensores
2 Cofrades agradecieron a gypsylyon este mensaje:
ManelvallsVila (18-02-2016), Xeneise (20-02-2016)
  #4  
Antiguo 19-02-2016, 00:09
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
Hermano de la costa
 
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Si que existen, adafruit tiene algunos. No es un tema que tenga muy investigado pero me parece una buena idea. Seguro que hay cosas industriales baratas y fuertes.
Despues de hacer una busqueda intensiva en intenet he encontrado esto
http://www.futurlec.com/Flow_Sensor.shtml#GASFLOWMETER
Hay sensores para agua y diesel. Todos son digitales por sensor Hall. La tension de alimentacion va de 2,4 V a 26 V, y la salida es de pulsos, con lo que se puede leer directamente con la Raspi. El precio en relacion a la calidad es de los mejores que he visto. Si os parece bien serian un buen complemento para la Raspi.
Tendriamos controlado la refrigeracion del motor y el flujo de gasoil pudiendo conocer el consumo por hora, el consumo por cada vieje y el consumo total. Se podrian montar alarmas de reserva de gasoil con bastante esactitud. Calcular y mostrar el numero de horas de navegacion en funcion del consumo y la cantidad de combustible restante, etc. Respecto al flujo de entrada agua salada poner una alarma si baja de un determinado nivel, de esta manera sabriamos que hay un problema en el circuito de refrigeracion antes de que se caliente el motor.

He mirado tambien los sensores de arduino, pero me parecen flojos para el ambiente marino. Aunque se podria utilizar para medir el consumo de agua dulce del barco

Los sensores de futurlec para gasoil, probablementeno NO serian aptos para motores de gran potencia ya que solo miden hasta 30 l /h. Para estos motores valdria este otro sensor http://www.conrad.com/ce/en/product/...f=searchDetail
que puede medir hasta 6000 l/hora. Aunque tambien sirve para agua, no creo que sea adecuado para medir la enrada de refrigeracion ya que el racor es de 1/4 de pulgada (=8mm)

Para medir el flujo de combustible necesitariamos 2 sensores uno en la linea de alimentación y otro en la de retorno para medir la diferencia que seria el consumo. Y otro sensor para la entrada de de agua salada.
A ver que os parecen estos sensores.

Editado por gypsylyon en 19-02-2016 a las 10:08. Razón: Correccion
  #5  
Antiguo 19-02-2016, 19:48
Avatar de sailoog.com
sailoog.com sailoog.com esta desconectado
Expulsado
 
Registrado: 24-05-2011
Mensajes: 1,237
Agradecimientos que ha otorgado: 413
Recibió 1,358 Agradecimientos en 485 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Que buena pinta! y no son muy caros. Cuando dices de pulsos a que te refieres? con que interface/libreria de la raspi se puede leer? algún ejemplo?

Cita:
Originalmente publicado por gypsylyon Ver mensaje
Despues de hacer una busqueda intensiva en intenet he encontrado esto
http://www.futurlec.com/Flow_Sensor.shtml#GASFLOWMETER
Hay sensores para agua y diesel. Todos son digitales por sensor Hall. La tension de alimentacion va de 2,4 V a 26 V, y la salida es de pulsos, con lo que se puede leer directamente con la Raspi. El precio en relacion a la calidad es de los mejores que he visto. Si os parece bien serian un buen complemento para la Raspi.
Tendriamos controlado la refrigeracion del motor y el flujo de gasoil pudiendo conocer el consumo por hora, el consumo por cada vieje y el consumo total. Se podrian montar alarmas de reserva de gasoil con bastante esactitud. Calcular y mostrar el numero de horas de navegacion en funcion del consumo y la cantidad de combustible restante, etc. Respecto al flujo de entrada agua salada poner una alarma si baja de un determinado nivel, de esta manera sabriamos que hay un problema en el circuito de refrigeracion antes de que se caliente el motor.

He mirado tambien los sensores de arduino, pero me parecen flojos para el ambiente marino. Aunque se podria utilizar para medir el consumo de agua dulce del barco

Los sensores de futurlec para gasoil, probablementeno NO serian aptos para motores de gran potencia ya que solo miden hasta 30 l /h. Para estos motores valdria este otro sensor http://www.conrad.com/ce/en/product/...f=searchDetail
que puede medir hasta 6000 l/hora. Aunque tambien sirve para agua, no creo que sea adecuado para medir la enrada de refrigeracion ya que el racor es de 1/4 de pulgada (=8mm)

Para medir el flujo de combustible necesitariamos 2 sensores uno en la linea de alimentación y otro en la de retorno para medir la diferencia que seria el consumo. Y otro sensor para la entrada de de agua salada.
A ver que os parecen estos sensores.
  #6  
Antiguo 19-02-2016, 23:35
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
Hermano de la costa
 
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Que buena pinta! y no son muy caros. Cuando dices de pulsos a que te refieres? con que interface/libreria de la raspi se puede leer? algún ejemplo?
El sitema de deteccion es por pala giratoria con un iman. En la carcasa tiene un sensor de hall que detecta los impulsos magneticos. El detector tiene una salida digital que proporciona pulsos por segundo (PPS) . Aqui la calibracion como ejemplo el modelo FLOW40L0 de Material:Nylon with 30% glass fiber y 3/4 el racor (19 mm) que pienso es el ideal para la entrada de agua salada y solo cuesta 12,9 $

Mounting Method : Horizontal to Vertical
Range of Flow Rate : 2.0 – 60.0 L/min.
Calibration(horizontal mounting) :
Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 290
3.0 – 6.0 315
6.0 – 60.0 330
Accuracy : +/- 10%
Calibration(vertical mounting) :
Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 305
3.0 – 6.0 330
6.0 – 60.0 330
Accuracy : +/- 10%


Es decir con uno de los GPIO de la Raspi contamos el numero de PPS y conocemos el número de litros/min. Lo que no se es si el voltaje de salida sera proporcional al voltaje de entrada (2,4 a 26 voltios). De todas maneras podriamos alimentarlo con 12 voltios y la salida reducirla con un divisor de tension a 3,3 Voltios.

Aqui tienes un ejemplo de como se programa:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import time, sys

FLOW_SENSOR = 23

GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_UP)

global count
count = 0

def countPulse(channel):
global count
count = count+1
print count
flow = count / 330 # 6.0 – 60.0 l/m 330 pulsos por litro
print(flow)

GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse)

while True:
try:
time.sleep(1)

except KeyboardInterrupt:
print '\ncaught keyboard interrupt!, bye'
GPIO.cleanup()
sys.exit()
2 Cofrades agradecieron a gypsylyon este mensaje:
sailoog.com (20-02-2016), Xeneise (20-02-2016)
  #7  
Antiguo 20-02-2016, 19:29
Avatar de sailoog.com
sailoog.com sailoog.com esta desconectado
Expulsado
 
Registrado: 24-05-2011
Mensajes: 1,237
Agradecimientos que ha otorgado: 413
Recibió 1,358 Agradecimientos en 485 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por gypsylyon Ver mensaje
El sitema de deteccion es por pala giratoria con un iman. En la carcasa tiene un sensor de hall que detecta los impulsos magneticos. El detector tiene una salida digital que proporciona pulsos por segundo (PPS) . Aqui la calibracion como ejemplo el modelo FLOW40L0 de Material:Nylon with 30% glass fiber y 3/4 el racor (19 mm) que pienso es el ideal para la entrada de agua salada y solo cuesta 12,9 $

Mounting Method : Horizontal to Vertical
Range of Flow Rate : 2.0 – 60.0 L/min.
Calibration(horizontal mounting) :
Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 290
3.0 – 6.0 315
6.0 – 60.0 330
Accuracy : +/- 10%
Calibration(vertical mounting) :
Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 305
3.0 – 6.0 330
6.0 – 60.0 330
Accuracy : +/- 10%


Es decir con uno de los GPIO de la Raspi contamos el numero de PPS y conocemos el número de litros/min. Lo que no se es si el voltaje de salida sera proporcional al voltaje de entrada (2,4 a 26 voltios). De todas maneras podriamos alimentarlo con 12 voltios y la salida reducirla con un divisor de tension a 3,3 Voltios.

Aqui tienes un ejemplo de como se programa:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import time, sys

FLOW_SENSOR = 23

GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_UP)

global count
count = 0

def countPulse(channel):
global count
count = count+1
print count
flow = count / 330 # 6.0 – 60.0 l/m 330 pulsos por litro
print(flow)

GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse)

while True:
try:
time.sleep(1)

except KeyboardInterrupt:
print '\ncaught keyboard interrupt!, bye'
GPIO.cleanup()
sys.exit()
Lo que me temía... esto hace necesario programar un nuevo interface para este tipo de sensores, me explico... (atención que viene tocho )

Sea cual sea el tipo de comunicación que usa un sensor (I2C, 1W, SPI, pulsos...) puede ir conectado a cualquier pin o grupo de pins. Es por programación que tu le indicas como ha de comportarse ese pin o grupo de pins. Lo que pasa es que para guardar una cierta compatibilidad entre diferentes hats o placas de ampliación de la raspberry que se conectan al puerto GPIO, se establece y recomienda que por ejemplo el pin GPIO4 siempre sea usado para sensores 1W o que los pines GPIO2 y GPIO3 sean siempre usados como conexiones I2C.

Dicho esto, OpenPlotter usa en estos momentos los pines reservados como I2C para sesnores IMU, temperatura del aire, presión y humedad; el pin 1W para multiples conexiones de sensores de temperatura y los pines SPI para los sensores analogicos.

El resto de pines no están reservados y se usan para proposito general. Son los que usamos para conectar interruptores y para activar zumbadores, relés etc.

Para este tipo de sensores por pulsos no hay pines reservados y se usan los de proposito general. Con estos sensores por pulsos no solo podriamos controlar sensores de flujo como los que propones, también podriamos controlar las revoluciones del motor, la velocidad del viento, la cadena que estamos largando... Por todo esto es por lo que digo que se merece tener su propia "pestaña" en OpenPlotter tal como la tienen los sensors I2C, 1W, SPI e interruptores.

Son los sensores más faciles de programar ya que tan solo se trata de contar las veces que se cierra un interruptor pero son los mas dificiles de contextualizar dado el numero de magnitudes diferentes que pueden medir y sus respectivas unidades. Pero lo vamos a intentar no?

De entrada yo añadiría al código que propones el factor tiempo para obtener, a parte de las vueltas que da cualquier eje, cuanto tarda en dar cada vuelta. A esto lo podemos llamar revoluciones y puede aplicarse por igual a cualquier tipo de sensor.

Para poder programar un interface que sirviera para todo tipo de sensor debemos de aplicar otra variable esta mas complicada. En el caso del sensor de flujo que propones sabemos que el valor 330 son los pulsos/vueltas que tiene que dar para que pase un litro; y en el caso de un contador de cadena sabemos que por ejemplo 10 serían las vueltas que tiene que dar el molinete para largar un metro.

A partir de aquí se me plantean estas dudas...
Como ostias llamamos a esta variable que nos sirva para la calibración de una manera generica y que se entienda? es decir cuando el usuario se encuentre un campo donde deberá introducir este valor para diferentes sensores, como carajo le llamamos?

Y mi otra gran duda es que en el caso del sensor de flujo, al tratarse de liquidos entiendo que cuanto más rapido fluye, este valor cambia y por eso tenemos:

Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 290
3.0 – 6.0 315
6.0 – 60.0 330

Y aquí la liamos porque ya no tenemos solo una variable a aportar por el usuario, son tres. Como programo un interface generico para eso? supongo que encontraremos la manera pero está jodido no?

  #8  
Antiguo 21-02-2016, 00:26
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
Hermano de la costa
 
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
A partir de aquí se me plantean estas dudas...
Como ostias llamamos a esta variable que nos sirva para la calibración de una manera generica y que se entienda? es decir cuando el usuario se encuentre un campo donde deberá introducir este valor para diferentes sensores, como carajo le llamamos?
Entiendo tus preocupaciones y realmente es dificil el determinar esta cuestion. Asi a bote pronto se me ocurre que se le puede llamar "Numero de Pulsos" o sencillamente "pulsos".
De todas maneras no lo veo muy claro lo hacer algo tan general. A lo mejor es hora de sentarse a definir que queremos hacer con Openplotter (ISO 9000). No creo que una Raspi pueda gestionar un monton de aplicaciones a la vez. Respecto al uso de las entradas digitales, pienso que habria que decidirse por limitar las aplicaciones y desrrollar el script adecuado para cada una ellas. De esta manera no tendrias el problema de como llamar a la variable.
Por ejemplo en el caso del flujo de agua salada, se podria hacer por motores. Esto significa que habria que crear una base de datos con las caracteristicas de cada motor ( RPM, Potencia, Temperatura motor, caudal agua salada, etc). Como no serian muchas variables supongo que no necesitaria mcho espacio. De esta manera con elegir en el programa el tipo de motor se utilizarian las constantes respectivas.
Probablemente habria que hacer los mismo con los sensores de flujo.
Otra posibilidad, para evitar la base de datos, seria crear un cuadro de dialogo con un numero determinado de vaiables ( RPM, Potencia, Temperatura motor, caudal agua salada, etc) donde introducir las caracteristicas de cada motor o sensor. Estas se pueden guardar en un fichero. Incluso se podria poner el nombre del barco para que aparezca en el monitor.

Respecto al factor tiempo, por su puesto estoy totalmente de acuerdo contigo, y ademas es necesario. Por ejemplo para el flujo de gasoil o gasolina, estos cuentan en pulsos por minuto o por segundo. de esa manera obtenemos litros por minuto. Luego esto habria que acumularos en otras variables para obtener el consumo total, el consumo por trip, el consumo por hora, la media del consumo por hora, el consumo instantaneo, etc

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Y mi otra gran duda es que en el caso del sensor de flujo, al tratarse de liquidos entiendo que cuanto más rapido fluye, este valor cambia y por eso tenemos:

Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 290
3.0 – 6.0 315
6.0 – 60.0 330

Y aquí la liamos porque ya no tenemos solo una variable a aportar por el usuario, son tres. Como programo un interface generico para eso? supongo que encontraremos la manera pero está jodido no?

He intentado buscar en internet el flujo de las bombas de agua salada sin exito. En mi velero tengo un Sole Mni 44, asi que el lunes llamare a Sole Diesel para preguntar este detalle. Si es como me imagino, estas bombas con racor de 3/4 dan hasta 40 l/m a unas 3000 RPM. Supongo que al ralenti daran mas de 6 litros. En este caso solo habria que usar los 330 p/l.
Si diera menos de 6 litros al ralenti, habria que introducir en el calculo las revoluciones del motor y esto no seria dificil. Eso si seria necesario leer las RPM del motor y conseguir la grafica de flujo de agua salada del motor segun RPM.

Como veo viene trabajo.
Asi que resumiendo. Mi propuesta es la de definir que aplicaciones querempos para Openplotter, desarrollarlas y sacar la version definitiva.
Para ello podriamos habrir una ventana de tiempo para que los cofrades vayan proponiendo lo que les gustaria tener en Openplotter. Cuando acabe este tiempo seleccionar lo que es viable y lo que no para luego desarrollarlo.
Por su puesto sin dejar de navegar para ello
Que piensas?
  #9  
Antiguo 21-02-2016, 00:53
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
Hermano de la costa
 
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Y mi otra gran duda es que en el caso del sensor de flujo, al tratarse de liquidos entiendo que cuanto más rapido fluye, este valor cambia y por eso tenemos:

Flow rate (lpm) Resolution(pulse/liter)
2.0 – 3.0 290
3.0 – 6.0 315
6.0 – 60.0 330

Y aquí la liamos porque ya no tenemos solo una variable a aportar por el usuario, son tres. Como programo un interface generico para eso? supongo que encontraremos la manera pero está jodido no?
Se me acaba de ocurrir que no necesitamos las revoluciones.
Si tenemos un flujo de:
2 a 3 l/m serian 580 a 870 p/m o 9,6 a 14,5 p/seg
3 a 6 l/m serian 945 a 1890 p/m o 15,75 a 31,5 p/seg
mas de 6 a partir de 1980 p/m 0 mas de 33 p/seg

Contando los pulsos por segundo podriamos filtrar los litros por minuto y apicar el correspondiente valor

if pulsos < 9,6
alarma=1 # No hay suficiente agua de refrigeración
elseif pulsos >9,6 or < 15,75
calibracion=290
elseif pulsos > 15,75 or < 33
calibracion = 315
eseif pulsos > 33
calibracion = 330

Mejor seria hacerlo cada 5 segundos para disminuir el error.

Esto deberia funcionar No? Que opinas?
Asi no ahorrariamos el pregutar el flujo de cada bomba segun revoluciones

Editado por gypsylyon en 21-02-2016 a las 01:03. Razón: correccion
  #10  
Antiguo 21-02-2016, 13:03
Avatar de sailoog.com
sailoog.com sailoog.com esta desconectado
Expulsado
 
Registrado: 24-05-2011
Mensajes: 1,237
Agradecimientos que ha otorgado: 413
Recibió 1,358 Agradecimientos en 485 Mensajes
Sexo:
Predeterminado Re: Proyecto OpenPlotter

Buen dia a todos,

Esto avanza rápidamente y faltan manos. Hay un gran trabajo por hacer y aun somos pocos redactando y traduciendo la documentación:

https://www.gitbook.com/book/sailoog...tation/details

Para participar en la redacción se necesita un nivel aceptable de inglés ya que es el idioma en el que se escribe el original para facilitar las traducciones. Para participar en las traducciones se necesita un nivel medio de inglés (simplemente entender lo que se lee).

En este enlace están las instrucciones para participar y una especie de hola de estilo.

https://www.dropbox.com/s/p5fhhgso5y...20doc.pdf?dl=0



P.D.1. Esta tarde intento contestar gypsylyon
P.D.2. v36317 Léete el documento please ya que han cambiado algunos pasos.
Discusión cerrada Ver todos los foros en uno

Social

Herramientas
Estilo

Reglas del foro
No puedes crear discusiones
No puedes responder a mensajes
No puedes editar tus adjuntos
No puedes editar tus mensajes

BB code está activado
Emoticonos está activado
El código [IMG] está activado
El código HTML está desactivado
Ir a


Todas las horas son GMT +1. La hora es 13:55.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© La Taberna del Puerto