Página 2 de 52 PrimerPrimer 12312 ... ÚltimoÚltimo
Resultados 26 al 50 de 1294
  1. #26
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Bueno, ya van llegando los componentes:

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-20160608_161212.jpg

    Mientras he ido mirando como conectar los elementos a la raspberry. Bajando librerías y poco más.

  2. #27
    el_cobarde Invitado

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Tras un periodo de pruebas, los resultados son bastantes satisfactorios ...
    Te felicito! Son pocos los que tienen un control tan completo de su sistema FV ...

  3. #28
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje
    Bueno, ya van llegando los componentes:

    Pulsa en la imagen para verla en tamaño completo

Nombre: 20160608_161212.jpg
Visitas: 372
Tamaño: 31,3 KB
ID: 14792

    Mientras he ido mirando como conectar los elementos a la raspberry. Bajando librerías y poco más.

    Con esto (y algunas resistencias) ya puedes programar el I2C y ver los datos de Intensidad del shunt en un canal y (utilizando un divisor de tensión de 2 resistencias para adaptar los niveles) los datos de voltios de la batería en el otro canal

  4. #29
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Con esto (y algunas resistencias) ya puedes programar el I2C y ver los datos de Intensidad del shunt en un canal y (utilizando un divisor de tensión de 2 resistencias para adaptar los niveles) los datos de voltios de la batería en el otro canal
    Para medir la intensidad iba a conectar el shunt directamente a A0 y A1 (modo diferencial). Luego, tal como dices, usando un divisor de tensión calcular el voltaje de la batería; usando las entradas A2 y A3 también en modo diferencial.

    https://es.wikipedia.org/wiki/Divisor_de_tensi%C3%B3n

    - - - - - - - - - - - - - - - - - - -

    http://opendatalogger.com/hardware.html#.V1hBeL4auWw

    Lo que tengo que ir es con cuidado con las tensiones, con la raspberry he de trabajar a 3,3 V.

  5. #30
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje
    Para medir la intensidad iba a conectar el shunt directamente a A0 y A1 (modo diferencial). Luego, tal como dices, usando un divisor de tensión calcular el voltaje de la batería; usando las entradas A2 y A3 también en modo diferencial.

    https://es.wikipedia.org/wiki/Divisor_de_tensi%C3%B3n

    - - - - - - - - - - - - - - - - - - -

    Hardware - Open Source Data Logger for the Raspberry Pi

    Lo que tengo que ir es con cuidado con las tensiones, con la raspberry he de trabajar a 3,3 V.

    Para el caso del shunt en donde se manejan voltajes pequeños si lo debes usar en modo diferencial (por ejm A0- A1 como indicas)

    Para el caso de medir el Voltaje de la batería te sobra con usar una sola entrada (por ejm A2) con un divisor de tensión con un esquema mas o menos así (si quieres ser un poco mas preciso conecta el divisor de tension ANTES del shunt y no después como he dibujado

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-esquema_simple.jpg

    Como ves he puesto el divisor con R1=22K y R2=1K lo que te da margen mas que de sobra medir voltajes del orden de 48V (se convierten aprox. a 2,1v) y dado que el ADS1115 tiene 16 bits de resolución creo que tienes suficiente precisión

    Si te equivocas, lo normal es que quemes el ADS1115, dado que la conexión ADS1115/Raspberry es por I2C y por tanto es mas difícil que le lleguen voltios "peligrosos"

    No obstante, siempre recomendaré que se compruebe mas de una vez el cableado antes de conectar

    - - - - - - - - - - - - - - - - - - -

    Cita Iniciado por el_cobarde Ver mensaje
    Te felicito! Son pocos los que tienen un control tan completo de su sistema FV ...
    Gracias

    La verdad es que usando esto, se tiene bastante mas control de la instalación que con un monitor típico de baterías, por un importe bastante inferior (aprox 50€ si tienes un monitor/teclado de PC que puedas reciclar) y ademas controlas tu el SW (tanto del equipo como del PC) para adaptarlo a tu necesidad (control de reles, gráficos, etc)

    Como se ve en los gráficos tengo bastante margen de excedentes, por lo que haremos sinergia con tu brico (por cierto....¿como mides tu la Intensidad de placas o batería para pasárselo al arduino?).......

    ....Me autocontesto....he visto en tu brico que usas uno por efecto hall (ACS712), en mi caso no opté por esta solución sino por Shunt+Amplificador diferencial, tanto por la Intensidad que manejo (>120A) como por la precisión de la medida (creo además que la caída de voltaje sera superior a usar un shunt, pero vamos que es perfectamente correcto su uso)
    Última edición por Mleon; 08/06/2016 a las 21:21

  6. #31
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Bueno, ya he empezado a obtener los primeros resultados. Aunque habrá que mirar a que equivale cada valor.
    Como todavía no he acabado la ampliación a 24V y la raspberry la uso para otros menesteres, he montado un banco de pruebas con una batería 18650 de 3,7V conectada al Shunt y a un pequeño consumo. Y el shunt conectado a las entradad A0 y A1 (para el uso en modo diferencial).

    Por otra parte, aprovechando el voltaje de alimentación (3,3V) de la placa he colocado una resistencia variable: patita central a A2 y las otras 2, a 3,3 y a 0 respectivamente. Al girar el eje he obtiendo diferentes valores a la entrada de A2 (habría que saber a que voltaje corresponde cada valor).

    Ejemplo (escrito en python) de como se obtienen los valolres de caida de tensión en el shunt:

    import time
    import Adafruit_ADS1x15
    #previamente he instalado esta librería

    adc = Adafruit_ADS1x15.ADS1115()

    GAIN =16
    # 16 = +/-0.256V
    # tengo que ajustar este valor haciendo pruebas

    while True:

    value = adc.read_adc_difference(0, gain=GAIN)
    # el 0 indica canal 0 menos canal 1
    print('Canal 0 menos 1: {0}'.format(value))
    time.sleep(1)
    #pausa de 1 segundo entre mediciones

  7. #32
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje
    Bueno, ya he empezado a obtener los primeros resultados. Aunque habrá que mirar a que equivale cada valor.
    ........
    ......
    Me alegro

    Para calcular a lo que corresponde el valor de voltaje medido en el shunt con la intensidad que pasa es simplemente una proporcion.....es decir si tu shunt es de 200A 75mV significa que cuando pasan 200A tienes 75 mV ......luego si mides 7,5mV estan pasando 20A o sea 0,375mV por Amperio

    Con respecto al codigo .....no conozco ese lenguaje por lo que no veo con la libreria importada o simplente te lo da ya hecho la libreria como programas el ADS1115 para, en el caso del shunt, ponerlo en modo diferencial y fondo escala a 256mV, frecuencia de muestreo etc...... pero vamos que no parece dificil

  8. #33
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Me alegro

    Para calcular a lo que corresponde el valor de voltaje medido en el shunt con la intensidad que pasa es simplemente una proporcion.....es decir si tu shunt es de 200A 75mV significa que cuando pasan 200A tienes 75 mV ......luego si mides 7,5mV estan pasando 20A o sea 0,375mV por Amperio

    Con respecto al codigo .....no conozco ese lenguaje por lo que no veo con la libreria importada o simplente te lo da ya hecho la libreria como programas el ADS1115 para, en el caso del shunt, ponerlo en modo diferencial y fondo escala a 256mV, frecuencia de muestreo etc...... pero vamos que no parece dificil
    La primera parte OK, una simple regla de 3. Luego pongo algunos ejemplos.

    La librería ya trae definidas diferentes funciones, para los distintos casos:

    P.e.:

    value = adc.read_adc_difference(0, gain=GAIN)

    La misma función indica que va hacer (difference). El 0 significa a que tiene que resolver la diferencia entre A0 y A1.
    Otras opciones son:
    1 = canal 0 menos canal 3
    2 = canal 1 menos canal 3
    3 = canal 2 menos canal 3

    Para el rango de voltajes (supongo será igual a Arduino)

    2/3 = +/- 6,144V
    1 = +/- 4,096V
    2 = +/- 2,048V
    4 = +/- 1,024V
    8 = +/- 0,512V
    16 = +/- 0,256V

    GAIN = 16

    Como son valores tan pequeños he usado el rango 16=0,256 que es el mismo que usas tú.

    Otra función para leer p.e. el valor del canal 2 (A2) es:

    values[i] = adc.read_adc(2, gain=GAIN)
    print('{2}'.format(*values))

    Esto puede parecer un coñazo, pero me sirve a mi de referencia al mismo tiempo que voy haciéndolo y puede servir para el que quiera experimentar con una Raspberry Pi, bus de comunicaciones serie I2c y un convertidor analógico-digital ADS1115.

  9. #34
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Ok....queda claro el uso del ADS1115 en Python/Raspberry

    Quizas faltan dos cosas
    1. Como parametrizas la velocidad de muestreo del ADS1115?

    2.- La posibilidad de disparar la conversion y despues leer el valor......yo lo uso asi dado que quiero hacer en 1sg muchas cosas (mide los ms que tarda en ejecutarse la sentencias adc.read... y lo comentas en el foro por favor)

  10. #35
    el_cobarde Invitado

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Hola, Mleon y nikitto

    Cita Iniciado por Mleon Ver mensaje
    ...he visto en tu brico que usas uno por efecto hall (ACS712), en mi caso no opté por esta solución sino por Shunt+Amplificador diferencial, tanto por la Intensidad que manejo (>120A) como por la precisión de la medida (creo además que la caída de voltaje sera superior a usar un shunt, pero vamos que es perfectamente correcto su uso)
    Efectivamente, uso el sensor Hall ACS712 para 20A. La resolución es de 2.5V con 20A. En mi aplicación, la intensidad máxima será de 12A. O sea, solo podré aprovechar un 30% de la resolución teórica del ADC, que se refiere a los 5V del Arduino UNO.

    Hacéis muy bien en usar un convertidor analógico-digital (ADC) de 16 bits!
    El ADC del Arduino es de 10 bits, es decir, una resolución de 1/1024 = 0.1%, aproximadamente. Con lo dicho anteriormente, 0.35%.
    En mi algoritmo (P=I*U) tendré que distinguir 3000W de 3050W (si el incremento en potencia es de 50W).
    La resolución me limita tanto por I como por U, es decir, tendré una precisión de +/-20W, aproximadamente.
    Me bastará para detectar este incremento de 50W, pero me vendrá justito. Sería mejor tener un ADC de 12 o de 16 bits.
    Si veo que me falla demasiado, usaré un ADS1115, como vosotros ...

  11. #36
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Mientras no tenga montada la instalación me divierto aprendiendo, he usado un potenciometro para calcular el voltage que llega a A2. Usando la propia alimentación de la RPi (ojo a 3,3V)

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-20160609_104246.jpg

    Programa:
    ------------------------

    import time
    import Adafruit_ADS1x15
    adc = Adafruit_ADS1x15.ADS1115()

    # Rango 1 = +/- 4.096V
    GAIN = 1

    while True:

    <tab>valor = adc.read_adc(2, gain=GAIN)
    <tab>voltaje = (valor * 0.125)/1000
    <tab>print('voltios = '), voltaje
    <tab>time.sleep(2)

    --------------------------------------

    <tab> = 1 salto de tabulador

    Si giro el potenciómetro podemos ver que el voltage en la entrada de A2 cambia:

    Nombre:  volts.jpg
Visitas: 1294
Tamaño: 30,8 KB

    El ADS1115 es de 16 bits, pero uno de ellos se usa para el signo, positivo o negativo.

    Siendo entonces el valor máximo de 32767.

    En el ejemplo anterior he usado el rango 1 que equivale a +/- 4.096 Volts. Significa esto que si divido 4,096V entre 32767 obtengo que cada bit = 0,125mV. De aquí que:

    voltaje = (valor * 0.125)/1000

    Para el tiempo de muestreo, al bucle se repite cada x segundos fijados en la última instrucción:

    time.sleep(2) # en este caso 2 segundos, también se pueden poner fracciones de segundo, p.e.: (0.5) para medio segundo

    ....sigo investigando

  12. #37
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por el_cobarde Ver mensaje
    Hola, Mleon y nikitto


    Efectivamente, uso el sensor Hall ACS712 para 20A. La resolución es de 2.5V con 20A. En mi aplicación, la intensidad máxima será de 12A. O sea, solo podré aprovechar un 30% de la resolución teórica del ADC, que se refiere a los 5V del Arduino UNO.

    Hacéis muy bien en usar un convertidor analógico-digital (ADC) de 16 bits!
    El ADC del Arduino es de 10 bits, es decir, una resolución de 1/1024 = 0.1%, aproximadamente. Con lo dicho anteriormente, 0.35%.
    En mi algoritmo (P=I*U) tendré que distinguir 3000W de 3050W (si el incremento en potencia es de 50W).
    La resolución me limita tanto por I como por U, es decir, tendré una precisión de +/-20W, aproximadamente.
    Me bastará para detectar este incremento de 50W, pero me vendrá justito. Sería mejor tener un ADC de 12 o de 16 bits.
    Si veo que me falla demasiado, usaré un ADS1115, como vosotros ...
    Creo que es demasiado optimista pensar que la resolución (10 bits o 16 bits) se corresponde directamente a la exactitud de la medida (lógicamente claro que tiene relación en los ADC), pero de hecho lo normal es medir varias veces y calcular la media para mejorar la exactitud de la medida

    En un sensor de tipo hall no he chequeado cual es la repetitividad de la medida, pero lo normal es que tengas una dispersión de valores ante un entorno controlado, ¿has hecho pruebas a 1A, 5A ,10A, ... para ver la exactitud de la medida que te da el ACS712?
    En mi caso dado que trato señales muy pequeñas (Shunt 500A 50mV) y el circuito no es muy profesional (protoboard, no cable apantallado, etc) no tengo una medida muy exacta, pero para mi necesidad es suficiente para tener controlada la intensidad de entra/sale de la batería

  13. #38
    el_cobarde Invitado

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Creo que es demasiado optimista pensar que la resolución (10 bits o 16 bits) se corresponde directamente a la exactitud de la medida (lógicamente claro que tiene relación en los ADC), pero de hecho lo normal es medir varias veces y calcular la media para mejorar la exactitud de la medida ...
    Si, claro, la exactitud de la medida será aún peor de lo estimado, pero lógicamente haré lo que dices:
    Mido 10 o 20 veces (sobra tiempo para medir ) y calculo la mediana. La mediana es mejor que la media aritmética, en este caso, porque los valores extremos no contribuyen.
    Cojiendo la mediana espero funcionar bien mi algoritmo. Ya veremos ...

  14. #39
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje

    ....sigo investigando
    Eso esta bien....y es entretenido

    Medir el voltaje de la batería con el ADS1115 es un poco matar pulgas a cañonazos dado que la resolución que tienes es bastante mayor a la necesidad, como he comentado yo solo lo uso para medir Intensidades a través de shunt, (un canal diferencial para I_bateria y el otro para I_Placa)

    En tu caso veo que la libreria del Raspberry te "libera" de meterte en la tripas del ADS1115 como hice yo dado que, en duinomite, no tenia librería (de todas formas vistes por el código que puse que no fue un arco de iglesia)

    No obstante siempre es bueno tener a mano el Datasheet para ver como funciona y conocer algunos parámetros (Impedancia de entrada en función de resolución, etc)

    Nombre:  Impedancia ADS1115.PNG
Visitas: 1280
Tamaño: 10,0 KB

    Como he comentado, a mi me interesa disparar inicialmente el conversor y después (tras hacer el micro otras cosas) leer el valor

    ¿Tiene la librería esta posibilidad?
    ¿Mediste el tiempo de ejecución de las sentencias adc.read....?

    Otro tema...tienes ya claro como "pintar" la forma de la señal medida, para mi es bastante útil ver la señal en pantalla de una forma gráfica
    Última edición por Mleon; 09/06/2016 a las 12:39

  15. #40
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Dame tiempo, hace más de 25 años que acabé los estudios de FP2 electrónica. Y desde entonces rara vez he cogido el soldador. Jajaja.

    Supongo que tu tienes destinado el duinomite exclusivamente a esta tarea, en mi caso la Raspberry la uso para algunas cosas más, pero principalmente como centro multimedia y cliente bittorrent por el consumo ridículo que tiene. Es decir, ni la CPU ni la RAM van sobradas.

    Sobre tus preguntas:

    - No entiendo a que te refieres con disparar el conversor ¿¿¿??? y después leer el valor. En mi caso la lectura (mV del shunt) es continua. Está (estará) dentro de un bucle. Lo que puedo hacer es comparar el valor obtenido con X, y si es mayor, menor o igual realizar alguna otra función. La comparación se realizaría también dentro del bucle.

    - No se como medir el tiempo de ejecución de las sentencias adc.read_xxxx.

    ¿ Las gráficas las tienes siempre activas ? ¿ O las generas a partir de algún archivo? Te lo digo, porque ya he empezado a mirar como almacenar toda la información generada con la librería import os.path. Una vez que consiga almacenar los datos, ya miraría como generar gráficas. Aunque podría importar/leer el archivo y generarlos en mi propio escritorio. Quizás con algún programa para Win10.

  16. #41
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje
    Dame tiempo, hace más de 25 años que acabé los estudios de FP2 electrónica. Y desde entonces rara vez he cogido el soldador. Jajaja.

    Supongo que tu tienes destinado el duinomite exclusivamente a esta tarea, en mi caso la Raspberry la uso para algunas cosas más, pero principalmente como centro multimedia y cliente bittorrent por el consumo ridículo que tiene. Es decir, ni la CPU ni la RAM van sobradas.

    Sobre tus preguntas:

    - No entiendo a que te refieres con disparar el conversor ¿¿¿??? y después leer el valor. En mi caso la lectura (mV del shunt) es continua. Está (estará) dentro de un bucle. Lo que puedo hacer es comparar el valor obtenido con X, y si es mayor, menor o igual realizar alguna otra función. La comparación se realizaría también dentro del bucle.

    - No se como medir el tiempo de ejecución de las sentencias adc.read_xxxx.

    ¿ Las gráficas las tienes siempre activas ? ¿ O las generas a partir de algún archivo? Te lo digo, porque ya he empezado a mirar como almacenar toda la información generada con la librería import os.path. Una vez que consiga almacenar los datos, ya miraría como generar gráficas. Aunque podría importar/leer el archivo y generarlos en mi propio escritorio. Quizás con algún programa para Win10.


    Intento aclarar: (y a darte caña que yo hace mas que tu que termine mis estudios)

    Un conversor ADC tarda un tiempo en realizar la medida, por eso, si quieres optimizar el programa SW, puedes darle una instrucción para que inicie la conversión y luego darle otra para que te de la medida

    En tu caso la sentencia adc.read... le dira al ADS115 que inicie la conversión y esperara a que acabe el ADC para leer el valor

    Si se quiere la máxima exactitud en la medida hay que poner el ADS1115 en el mínimo de muestras por segundo (8 muestras por segundo) lo que equivale a que tarda unos 125ms en realizar la conversión (en mi caso prefiero no estar esperando esos 125ms y que el micro haga otras cosas mientras se produce la conversión...que 125ms es mucho tiempo para un micro)

    Por defecto el ADS1115 trabaja a 128 muestras por sg

    Por eso te pedía ver el tiempo de ejecución de la sentencia adc.read.....

    La forma de hacer esto es fácil....debes tener en Python una función que te de un valor del tiempo en ms (TIMER o algo así)

    .....
    I=Timer
    adc.read..
    J=Timer
    Print (J-I)
    .....



    La gráfica en la pantalla VGA conectada al duinomite esta siempre pintando la señal de Voltios Batería e Intensidad Batería y Placa (cada 1,5 sg añade 1 pixel a cada curva)

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-20160515_133123_25.jpg

    Si te fijas en la foto de la gráfica (casi al final de la pantalla) hay un hueco en la gráfica que es por donde va pintando cada 1,5sg el valor que se mide (lógicamente cuando llega al final de la pantalla sigue por el principio)

    Esto permite ver en tiempo real lo que esta pasando en un periodo de unos minutos (X pixel resolución pantalla * 1,5 sg/pixel)

    Después lógicamente y ya "OFF-LINE" paso al PC los datos guardados en la SD y puedo hacer las gráficas "bonitas" del dia, semana, etc de los parámetros que quiera (SOC%,Vbat,....), y tener tablas resumen (Kwh/Dia/Hora, etc) que, como he comentado, en mi caso lo hago simplemente con Microsoft Access


    PD: Yo para un tema de este tipo recomendaría tener un HW dedicado básicamente en exclusiva (arduino, duinomite, raspberry,...)

    Como he comentado un duinomite anda por los 25€, el arduino bastante menos,....y, por tanto, no me arriesgo a que se me enciendan las luces o el termo fuera de control porque se "cuelgue" el HW por culpa de otro SW


    PD2: Tengo varias peticiones de "comprar" este brico ya hecho

    Como les he comentado no tengo intención de vender sino de compartir, por lo que si alguien se apunta a diseñar/hacer un circuito impreso (por eso de que es mejor que una protoboard) y coordinar el tema........ comparto con él los esquemas eléctricos/SW/etc y se hace una lista de interesados para hacer una compra colectiva
    Última edición por Mleon; 09/06/2016 a las 15:43

  17. #42
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    A ver si te vale esto:

    Nombre:  t_proceso.jpg
Visitas: 1382
Tamaño: 45,1 KB

    He añadido la primera y tercera línea a lo que ya tenía.

    t0=time.time()
    valor = adc.read_adc(2, gain=GAIN)
    print time.time() - t0, "seconds process time"

    Estaría bien que pasarás todo lo que ya tienes a una placa. Me parece algo cojonudo lo que tienes montado. Yo voy a seguir con la RPi y si tengo que comprar otra, pues la compro. Ahora ya las hay con 1GB de memoria RAM (la mía de es 512MB).

    Voy a ponerme con lo de grabar los datos.

    - - - - - - - - - - - - - - - - - - -

    Ya he conseguido generar un archivo donde guarda los valores cada 2 segundos (puedo cambiar el tiempo, ya lo vimos antes). Me faltaría el crear un archivo nuevo cada 24h.
    Estoy pensando que en vez de generar la gráfica directamente a pantalla (ni idea de como hacerlo, y en mi caso a la RPi accedo por SSH, no le tengo puesto ni monitor ni teclado), podría generar la gráfica en el propio servidor web. De este modo podría verla desde cualquier parte.

  18. #43
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    [QUOTE=nikitto;314060]A ver si te vale esto:

    Nombre:  t_proceso.jpg
Visitas: 1382
Tamaño: 45,1 KB

    /QUOTE]

    Ok, perfecto, veo que tarda unos 10,5ms en leer el valor, si pensamos que el ADC esta configurado para la frecuencia de muestreo por defecto (128 muestras por sg) seria 7,5ms en la conversion + algunos ms mas estarán en intrucciones de la libreria que has cargado o en el propio "print"

    Como he dicho antes, yo tengo el ADS1115 puesto a la mínima frecuencia de muestreo (8 muestras/sg) para mejorar la exactitud de la medida

    Cuando ya tengas dominado el tema, investigaremos un poco mas en la librería que importas para ver que opciones se tienen

    Cita Iniciado por nikitto Ver mensaje

    Me faltaría el crear un archivo nuevo cada 24h.

    Estoy pensando que en vez de generar la gráfica directamente a pantalla (ni idea de como hacerlo, y en mi caso a la RPi accedo por SSH, no le tengo puesto ni monitor ni teclado), podría generar la gráfica en el propio servidor web. De este modo podría verla desde cualquier parte.
    Yo hago que el SW genere un archivo nuevo cada mes, no cada día, el formato del nombre que le pongo es muy poco imaginativo (AAAAMM.txt) siendo AAAA el año y MM el mes

    Lógicamente cada día, al comienzo, pongo a cero algunos valores de variables (KwH generados, etc)

    En tu caso me parece muy buena idea que hagas un servidor web donde se pongan los datos que se quieren ver (SOC%, Voltios, Intensidad, estado de los reles, gráficos....),y así tenerlo disponible por internet, en el movil, etc , yo con el duinomite no puedo hacerlo, solo tengo una pantalla monocromo VGA (que tampoco es poco) y lo controlo a distancia via temviewer si conecto el duinomite a un PC por USB....... por eso te comentaba que el "salto" a una plataforma tipo raspberry me parecía una muy buena alternativa a lo que tengo implementado

    Por cierto....¿que consumo tiene el Raspberry?......el duinomite consume unos 150mA a 5V luego menos de 1w

    Sinceramente, yo al menos, no he visto producto comercial que haga algo parecido, y mucho menos por el "escaso" importe económico y el grado de personalización/ampliación que le estamos dando
    Última edición por Mleon; 09/06/2016 a las 19:24

  19. #44
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Ok, perfecto, veo que tarda unos 10,5ms en leer el valor, si pensamos que el ADC esta configurado para la frecuancia de muestreo por defecto (128 muestras por sg) seria 7,5ms en la conversion + algunos ms mas estarán en intrucciones de la libreria que has cargado

    Yo hago que el SW genere un archivo nuevo cada mes, no cada día, el formato del nombre que le pongo es muy poco imaginativo (AAAAMM.txt) siendo AAAA el año y MM el mes

    Lógicamente cada día, al comienzo, pongo a cero algunos valores de variables (KwH generados, etc)
    Entonces ¿el tiempo de respuesta te parece correcto? Yo creo que 10,5 ms está superbien, comparados con esos 125 que comentabas.

    Ejemplo del nombre de archivo que creo:

    Datos_2016-Jun-09__17_39_26.txt #imaginación a tope, jajaja

    Esperate que voy a rizar el rizo. En vez de seguir escribiendo en un archivo, miraré de crear una base de datos con mysql y meteré allí los valores. Luego me será más fácil importarlos con PHP para su uso en la web.

  20. #45
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por nikitto Ver mensaje
    Entonces ¿el tiempo de respuesta te parece correcto? Yo creo que 10,5 ms está superbien, comparados con esos 125 que comentabas.

    Ejemplo del nombre de archivo que creo:

    Datos_2016-Jun-09__17_39_26.txt #imaginación a tope, jajaja

    Esperate que voy a rizar el rizo. En vez de seguir escribiendo en un archivo, miraré de crear una base de datos con mysql y meteré allí los valores. Luego me será más fácil importarlos con PHP para su uso en la web.

    El valor de 10,5 es coherente con la velocidad de muestreo,....yo también lo puedo conseguir si pongo la frecuencia de muestreo a 128 muestras/sg en lugar de 8 muestras/sg, pero entonces la exactitud de la medida es peor, piensa que yo tengo un shunt de 500A 50mv luego 1A son solo 0,1mV, por eso prefiero complicar un poco el SW (disparado primero en conversor...hacer otras cosas....leer el dato) poniendo el ADS1115 a 8 muestras/sg


    Como he comentado yo utilizo para el procesamiento posterior una base de datos (Ms-Access), en el duinomite no me puedo plantear tener una BD, por lo que simplemente hago ficheros de texto cada mes

    Lógicamente con Raspberry todos estos temas son planteables y abordables..........veo que estas "enchufado"

  21. #46
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-mysql_fv.jpg

    Una imagen vale más que mil palabras.

    Por ahora sólo guardo el voltaje del canal 2 (A2). Lógicamente podemos ampliar la tabla con más valores, p.e. hora de la medida; crear más tablas, ... Un sinfín de posibilidades.

    A ver si este fin de semana puedo meterle mano al PHP para reproducir las gráficas en el servidor web Apache.

    Pongo las líneas de código para acceso y escritura a la base de datos (que previamente he creado):

    import MySQLdb

    db = MySQLdb.connect(host = "localhost", user = "usuario", passwd = "contraseña", db = "fv")
    cur = db.cursor()

    ...

    <tab>try:
    <tab><tab>cur.execute("""INSERT INTO fv.Valores(Voltaje_A2) VALUES(%s)""",(voltaje))
    <tab><tab>db.commit()
    <tab>except:
    <tab><tab>db.rollback()

    cur.close()
    db.close()

    ---------------

  22. #47
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Me alegra ser catalizador de esta evolucion

    Pronto enganchamos a el_cobarde y controlamos los excedentes por wifi

    Evidentemente poner una Raspberry te abre el abanico de posibilidades (programacion concurrente, conectividad, etc...)

    Me alegra que sigas....lo normal es que definas una Base de datos de varios campos (fecha, hora, Vbat, Ibat, Iplaca, Vcelda1, Vcelda2.....SOC%.....Rele1, Rele2,.... Temp1,.... ) siempre es mejor pensar en parametrizar todo lo posible y despues usarlo o no dependiendo de las necesidades especificas

    En mi caso tengo 2 tablas de datos
    - una de los datos cada 1,5sg
    - otra de un resumen diario

    Adicionalmente tengo otra tabla con los datos de parametrizacion de on y off de cada rele

  23. #48
    el_cobarde Invitado

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Cita Iniciado por Mleon Ver mensaje
    Pronto enganchamos a el_cobarde y controlamos los excedentes por wifi ...
    Cierto y muy de acuerdo
    En este momento estoy liado en otras cosas, pero pronto volveré ...

  24. #49
    Avatar de nikitto
    nikitto está desconectado Forero
    Fecha de ingreso
    ago 2015
    Ubicación
    Cambrils
    Mensajes
    983

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Mientras me pongo con el PHP. Tengo algunas dudas.

    - Ibat e Iplaca, los valores los tomas con 2 shunt. OK. Usarás un ADS1115 sólo para esto.
    - El Vbat ? Con otro ADS1115 ?
    - Vcelda1, 2, n. Cada una de las celdas de la batería ?

    Se me olvidó comprar el sensor te temperatura

  25. #50
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc

    Explico

    Ibat e Iplaca con 2 shunts y ADS1115 en modo diferencial

    Vbat utilizando una entrada analogica del duinomite (en arduino seria igual), la raspberry no tiene entradas analogicas por lo que puedes usar una entrada de otro ADS1115 aunque te sobra precision u otro ADC mas barato

    Vcelda1,....si son cada una de las celdas de 2 voltios, yo no utilizo una entrada analogica para cada una sino solo una con un multiplexor de 16 canales y asi tengo 16 entradas analogicas
    ..

Página 2 de 52 PrimerPrimer 12312 ... ÚltimoÚltimo



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47