Página 13 de 52 PrimerPrimer ... 312131423 ... ÚltimoÚltimo
Resultados 301 al 325 de 1294
  1. #301
    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

    La descarga normal depende de cuando creemos que es sistema esta o no en riesgo por

    - Bateria: Maxima descarga que pueda admitir las baterias de nuestro sistema

    - Inversor: Potencia maxima de salida

    En mi caso a 24v ...los 70A significan unos 1.700 w (microondas, termo, vitroceramica,...) pero si se pasa de esos watios ya puedo empezar a pasar del limite del inversor

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

    Una posible opcion para control a distancia podria ser utilizar enchufes telecontrolados que se encuentran facilmente y bastante baratillos

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-10861-3enchufes_con_mando_distancia_ab600s3.jpg

    Como tengo unos pocos mirare si es facil simular la pulsacion de los botones

  2. #302
    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

    Una posible opcion para control a distancia podria ser utilizar enchufes telecontrolados que se encuentran facilmente y bastante baratillos

    Pulsa en la imagen para verla en tamaño completo

Nombre: 10861-3ENCHUFES_CON_MANDO_DISTANCIA_AB600S3.jpg
Visitas: 222
Tamaño: 23,5 KB
ID: 15000

    Como tengo unos pocos mirare si es facil simular la pulsacion de los botones
    Pero ¿se pueden activar con el mando a cierta distancia (sin tener el enchufe delante) ?

  3. #303
    el_cobarde Invitado

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

    Cita Iniciado por Mleon Ver mensaje
    En mi caso a 24v ...los 70A significan unos 1.700 w (microondas, termo, vitroceramica,...)
    En mi caso, a 48V y con 2 híbridos de 4kW en paralelo, los 70A son unos 3.5kW, que ya son kW. Pero la "jefa" no tiene problemas en llegar a 6kW o más, puntualmente ...


    Cita Iniciado por Mleon Ver mensaje
    Una posible opcion para control a distancia podria ser utilizar enchufes telecontrolados ... mirare si es facil simular la pulsacion de los botones
    Si, es una opción. Pero creo que tienen poca cobertura, esos enchufes telecontrolados. No sirven para comunicar entre el regulador en 2a planta y el consumidor en planta baja, por ejemplo.
    Con los últimos avances en WeMos (placa estilo Arduino, pero con WiFi), la comunicación por WiFi se ha hecho fácil.

  4. #304
    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
    Pero ¿se pueden activar con el mando a cierta distancia (sin tener el enchufe delante) ?
    En general si.....hay muchos modelos dependiendo de W maximos , distancia,....

    Por ejm ...

    Pocos W y mas distancia....https://www.amazon.es/Elro-AB440S-3C.../dp/B002QXN7X6

    Mas W....https://www.amazon.es/dp/B006H0XNFQ/...HDP9FNJ9XVBEWS

    Uno intermedio...https://www.amazon.es/dp/B016I3TZ58?psc=1



    Es una opcion....pero todo dependera de precio/prestaciones en comparacion con otras opciones (wifi,...)

  5. #305
    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-relojes.jpg

    Hasta aquí las gráficas, a falta de implementar Iplaca y Temperatura. A partir de hoy me centraré en los excedentes (on/prog/off relés, condiciones, etc).

  6. #306
    el_cobarde Invitado

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

    Cita Iniciado por Mleon Ver mensaje
    En general si.....hay muchos modelos dependiendo de W maximos , distancia,.... Por ejm ...
    No sé , no sé, los tres ejemplos que pones no me parecen tener mucho alcance; para los tres pone "Alcance inalámbrico de hasta 50 / 30 metros". Si comparamos esto con los 300m que suelen decirse para el alcance WiFi ...

    Sé que los 300m del WiFi se pueden alcanzar (con dificultad) al aire libre, sin obstáculos. Dentro de una casa la señal suele llegar de una planta a otra, pero pocas veces se consigue comunicar entre segunda planta y planta baja. Yo, por ejemplo, necesito repetidor WiFi para conseguirlo.
    Supongo que los 50m de los enchufes RF hay que entenderlos de una forma similar y no servirán para mucha distancia en interior.

  7. #307
    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

    Hasta aquí las gráficas, a falta de implementar Iplaca y Temperatura. A partir de hoy me centraré en los excedentes (on/prog/off relés, condiciones, etc).
    OK...el highchart no tiene secretos para ti ya

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

    Cita Iniciado por el_cobarde Ver mensaje
    No sé , no sé, ...
    Supongo que los 50m de los enchufes RF hay que entenderlos de una forma similar y no servirán para mucha distancia en interior.
    Estoy de acuerdo...es una opcion a considerar...no es la unica opcion a estudiar


    Una prueba con estos que tengo

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

    Los pille baratillos (<5€ mando mas enchufe) en un conocido hipermercado

    Caracteristicas

    - Alcance 25m
    - W: 1.150w

    Pruebas.
    -En zona mas o menos diafana de unos 13m ...sin problema
    -Entre plantas: En algunos sitios bien....en otros hay que pulsar mas de una vez o no va
    -Entre dos plantas: idem que entre plantas

    El mando se alimenta a 12V y son botones...... luego es facil atacarlos

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

    NO es perfecto pero puede ser solucion en algunas necesidades a un precio bajo

    No obstante estoy de acuerdo en ver opcion por wifi dado que parece tener mayor potencial

    He visto en alliexpress un ejm por unos 11€

    Aliexpress.com: Comprar Lo nuevo Wifi Smart Plug Power Socket App Control Remoto Inalámbrico Temporizador de Interruptor de Pared Enchufe del Aparato Electrodoméstico Automatización UE EE. UU. Estilo de Tomas de Corriente fiable proveedores en AliKo

    Lo que no se es si es facil o no activar dichos enchufes comerciales via SW que desarrollemos en RPi/Arduino,..

    Lo que me gusta de estas opciones es que la "caja" ya esta implementada y es de "muy facil" instalacion
    Última edición por Mleon; 22/07/2016 a las 20:17

  8. #308
    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

    He estado dando un vistazo al tema de como activar los relés a través del integrado PCF8574 y la cosa parece bastante fácil. Pongo un ejemplo de lo que he encontrado en la web:

    (Básicamente los comandos son: bus.write_byte() and bus.read_byte() - en negrita el que usaremos)

    Código PHP:
    from smbus import SMBus
    from itertools import cycle
    from time import sleep

    LED1 
    0x01
    LED2 
    0x02
    LED3 
    0x04
    LED4 
    0x08
    LED5 
    0x10
    LED6 
    0x20
    LED7 
    0x40
    LED8 
    0x80

    PATTERN 
    = (LED1LED2LED3LED4,
               
    LED5LED6LED7LED8,
               
    LED7LED6LED5LED4,
               
    LED3LED2)

    bus SMBus(1# Port 1 used on REV2 

    for LED in cycle(PATTERN):
        
    bus.write_byte(0x38LED)
        
    sleep(0.1


    Fuente: http://electronicsbyexamples.blogspo...pberry-pi.html

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

    Lo que veo es que usando este comando, se activa la salida y desactiva, tan pronto acaba el comando sleep. Supongo que hay alguna forma para primero, activar y luego, con otro comando desactivar.

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

    Estoy repasando tu mensaje #90, allí es donde está todo el meollo del control de relés (condiciones, horarios, etc.) Habrá que ir descifrándolo.

  9. #309
    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
    He estado dando un vistazo al tema de como activar los relés a través del integrado PCF8574 y la cosa parece bastante fácil. Pongo un ejemplo de lo que he encontrado en la web:

    (Básicamente los comandos son: bus.write_byte() and bus.read_byte() - en negrita el que usaremos)
    En mi caso usos los dos...leer y escribir

    Cita Iniciado por nikitto Ver mensaje

    Código PHP:
    ....

       
    bus.write_byte(0x38LED)
    .... 
    Esta facil....simplemente la funcion escribe en el integrado de la direccion 0x38 el valor que tenga LED.....

    Asi por ejm

    bus.write_byte(0x38, 0x00)....apagara todos los led
    bus.write_byte(0x38, 0xFF)....encendera todos los led
    bus.write_byte(0x38, 0x0F)....encendera los 4 ultimos y apaga los 4 primeros

    para tener el control individual de cada rele yo me hice una funcion que indico de nuevo

    '-------------------------Control RELES por I2C----------

    Código PHP:
    Sub I2C_RELE(DIREC,PORT,OUT' Out=1 enc.puerto PORT en direccion DIREC...OUT=0 apaga 

     I2C OPEN 100, 1000 

     I2C READ DIREC,0,1,Status_I2C  ' 
    Leer el status actual de los 8 puertos y lo pone en Status_I2C

     
    If OUT=1 Then 
       I2C_OUT
    =Status_I2C And (2^(PORT-1) Xor &HFF
     Else 
       
    I2C_OUT=Status_I2C Or 2^(PORT-1
     EndIf 

     
    I2C WRITE DIREC,0,1,I2C_OUT 


     I2C CLOSE 
    End Sub 
    Es facilmente implementable en RPi....

    OPEN....CLOSE no hace falta ...ya te lo hace la libreria que tienes

    Con esta funcion...puedes encender o apagar cada rele de cada integrado...por ejm

    I2C_RELE(0x20,5,1) encenderia el puerto 5 del integrado que este en la direccion 0x20
    I2C_RELE(0x22,4,0) apagaria el puerto 4 del integrado que este en la direccion 0x22

    .....
    Con la logica que aplicamos en la funcion (and... Xor... or..) el resto de puertos se quedan como esten...apagados o encendidos



    Cita Iniciado por nikitto Ver mensaje

    Estoy repasando tu mensaje #90, allí es donde está todo el meollo del control de relés (condiciones, horarios, etc.) Habrá que ir descifrándolo.
    Segun comentado empieza implementando la funcion y prueba a encender y apagar los reles



    .............

    Respecto al control wifi....mirando un poco se ven cosas impresionantes en precio/prestaciones

    http://es.aliexpress.com/store/produ...f-6bd0aa64950d
    Última edición por Mleon; 22/07/2016 a las 23:27

  10. #310
    el_cobarde Invitado

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

    Cita Iniciado por Mleon Ver mensaje
    Respecto al control wifi....mirando un poco se ven cosas impresionantes en precio/prestaciones ...
    Exactamente! Cuando hablo de WiFi, no me refiero a enchufes WiFi, sino al ESP8266.
    Después de mucho buscar y hablar con eseperao, me he decidido por la placa WeMos D1 R2, basada en el ESP8266. Hace la función de Arduino (más potente), emisora y receptora WiFi, y es fácil de programar.
    Con la placa WeMos puedes hacer (casi) todo lo que se te ocurra ...

  11. #311
    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 el_cobarde Ver mensaje
    Exactamente! Cuando hablo de WiFi, no me refiero a enchufes WiFi, sino al ESP8266.
    Después de mucho buscar y hablar con eseperao, me he decidido por la placa WeMos D1 R2, basada en el ESP8266. Hace la función de Arduino (más potente), emisora y receptora WiFi, y es fácil de programar.
    Con la placa WeMos puedes hacer (casi) todo lo que se te ocurra ...
    Vale, pero está placa la conectarías al arduino, ¿no? Entonces p.e. donde tienes el termo eléctrico, ¿que otra placa pones? ¿O sirve la misma ? He leído que es emisora/receptora.

  12. #312
    el_cobarde Invitado

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

    Cita Iniciado por nikitto Ver mensaje
    Vale, pero está placa la conectarías al arduino, ¿no?
    La WeMos no se conecta al Arduino, ella misma "es" un Arduino, y con bastante más potencial que el Arduino Uno.
    Entra en Google y busca WeMos - te quedarás asombrado ...


    Cita Iniciado por nikitto Ver mensaje
    Entonces p.e. donde tienes el termo eléctrico, ¿que otra placa pones? ¿O sirve la misma ? He leído que es emisora/receptora
    La WeMos sirve como emisora y como receptora - y para mucho más.

  13. #313
    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

    Un poco más y ayer me quedo sin proyecto, por culpa de un corto. Por suerte pude recuperar la RPi.

    Bueno, pasado el susto, sigamos:

    Código PHP:
    from smbus import SMBus
    import time

    bus 
    SMBus(1#RPi rev.B

    def i2c_rele(addr,port,out) :
            
    estado=bus.read_byte(addr)  #devuelve el valor en decimal
            
    estado=hex(estado)             #lo paso a hexadecimal

            
    if out == :
                    
    #i2c_out = estado and (bool(2**(port-1)) != bool(0xFF))  #este 0xFF quizás debá ser 0x00
                    
    i2c_out = (bool(estado and (2**(port-1))) != bool(0xFF))
                    
    # primero realizo el 'and' de los 2 primeros operandos, y el resultado Xor con el último operando
            
    else :
                    
    i2c_out estado or 2**(port-1)

            
    bus.write_byte(addr,i2c_out)
            return 
    Manuel, esta es la función que pusiste pasada a python. No la he probado por ahora.
    Pero veamos varias cosas de las que no he encontrado info:

    Asi por ejm

    bus.write_byte(0x38, 0x00)....apagara todos los led
    bus.write_byte(0x38, 0xFF)....encendera todos los led
    bus.write_byte(0x38, 0x0F)....encendera los 4 ultimos y apaga los 4 primeros
    Esto en mi caso es al revés. P.e. para apagar todo mando un 0XFF. Pero esto ahora no es importante.
    Lo que me interesa, es como acceder a cada puerto en concreto, que es lo que queda definido en tu función.
    No me queda claro que la instrucción bus.write_byte(addr, valor_hex) pueda acceder a una posición X concreta.
    Siendo los puertos del P0 a P7, ¿qué valor hexadecimal tiene cada uno?

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

    He sacado la calculadora de programador (windows) y obtengo los siguientes resulatados:

    Port - Dec - Hex

    P0 - 1 - 1H
    P1 - 2 - 2H
    P2 - 4 - 4H
    P3 - 8 - 8H
    P4 -16 - 10H
    P5 -32 - 20H
    P6 -64 - 40H
    P7 -128 - 80H

    Ahora entiendo lo de 0x00 y 0xFF, yo estaba equivocado. La salida es por lógica positiva (positivo). Será después que habrá que convertir el valor, ya que los módulos de relés trabajan con lógica negativa.

    Después de esto último si le veo potencial a la instrucción bus.write_byte(addr, port). Manos a la obra.
    Última edición por nikitto; 24/07/2016 a las 12:00
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  14. #314
    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

    Caray....un corto....¿hubo alguna victima o solo susto?

    Leyendo tu mensaje......

    ¿ No entiendo demasiado la necesidad de pasar a hexadecimal, etc?

    Si tu en Python pones:

    A1=128 and 0xFF
    A2=128 or 0x00

    Que valores te da A1 y A2?

    Si te dan 128 ..ok...codifica simplemente mi codigo

  15. #315
    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-python.jpg

    Este es el resultado de las operaciones.

    El corto lo sufrió la RPi...pero pudo recuperarse. El susto yo.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  16. #316
    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

    No sale bien el and....puedes definir A1 y A2 como de tipo Byte

    Para asegurar que el OR funciona ... pon
    A2=128 or 0x01 por ejm o
    A2= 4 or 0x02

  17. #317
    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

    Ya he averiguado donde esta el fallo, por lo visto hay que usar el operador '&'.

    Aquí la imagen:

    Nombre:  python2.jpg
Visitas: 1629
Tamaño: 5,7 KB

    Habrá que cambiarlo en la función que he definido pues.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  18. #318
    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
    Ya he averiguado donde esta el fallo, por lo visto hay que usar el operador '&'.
    OK

    De todas formas la prueba definitiva seria:

    Código PHP:
    addr=dirección donde este el integrado

    bus
    .write_byte(addr,0x01)  # activo todos los reles menos el primero

    estado=bus.read_byte(addr)  #devuelve el valor en decimal
    Print estado  # debería dar 1

    estado=estado 0x02  # el OR se debe poner asi
    Print estado # debería dar 3

    estado=estado 0x02
    Print estado # debería dar 2

    bus.write_byte(addr,estado# activo todos los reles menos el segundo 
    .-------edito...comprobado que funciona ------

    Operadores en Python a nivel de bit

    Control exhaustivo ciclo de carga/SOC/Cargas/etc-captura1.png

    Comprobación.....

    Nombre:  Captura3.PNG
Visitas: 1603
Tamaño: 25,2 KB
    Última edición por Mleon; 25/07/2016 a las 04:11

  19. #319
    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

    Gracias Manuel. Encontré la web de los operadores ayer.


    Mientras, me he dejado de leds y he conectado el módulo de 8 relés directamente a la salidas del integrado, respetando voltajes.

    Me explico, para el que nos siga, la señales de la RPi son a 3,3 Vcc; aunque si dispone de 1 terminal de 5Vcc. Las masas (negativo) son comunes.
    Entonces lo que hago es alimentar al módulo de 8 relés con +- 5V, y como la señal para activar los relés del módulo es por lógica negativa (negativo -) la salida del PCF8574P ya las pueden atacar directamente. Cuando la salida p.e. P0 = 3,3v el relé estará deconectado y cuando pase a 0V estará conectado.
    Es un poco lioso pero es así. Por eso he pasado de los leds (que tonto de mi, los había montado para funcionar con lógica positiva -de ahí alguno de los malentendidos, que si 0xff o 0x00-) y he puesto el módulo. Ahora ya no hay error posible.

    Ahora pongo el programa:

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

    Código PHP:

    from smbus import SMBus
    import time

    bus 
    SMBus(1#Rpi rev.B

    #apagar todo
    bus.write_byte(0x20,255)
    print(
    'R1_1...R1_8 OFF - Reles modulo 1')
    time.sleep(2)

    def i2c_rele(addr,port,out) :
            
    estado=bus.read_byte(addr)  #devuelve el valor en decimal

            
    if out == :
                    
    i2c_out estado & (2**(port-1) ^ (255))
                    print(
    'i2c_out(=1)'),i2c_out
            
    else :
                    
    i2c_out estado 2**(port-1)
                    print(
    'i2c_out(!=1)'),i2c_out

            bus
    .write_byte(addr,i2c_out)
            return

    while 
    True:

            
    #encender P0
            
    i2c_rele(0x20,1,1)
            print(
    'R1_1 ON')
            
    time.sleep(2)
            
    #encender P1
            
    i2c_rele(0x20,2,1)
            print(
    'R1_2 ON')
            
    time.sleep(2)
            
    #encender P2
            
    i2c_rele(0x20,3,1)
            print(
    'R1_3 ON')
            
    time.sleep(2)
            
    #encender P3
            
    i2c_rele(0x20,4,1)
            print(
    'R1_4 ON')
            
    time.sleep(2)

            
    #apagar todo
            
    bus.write_byte(0x20,255)
            print(
    'apagando...')
            
    time.sleep(2
    Con esto, primero me aseguro que se apague todo, y luego es una secuencia de encendido y vuelta a empezar.

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

    He aplicado la definición de la función dentro del programa de FV.py con estas simples condiciones:

    Código PHP:
            if soc 90 and vflot ==:
                    
    i2c_rele(0x20,1,1)
            else:
                    print(
    'no se dan las condiciones')
                    
    i2c_rele(0x20,1,0
    Cosas que veo:

    - El Relé1 se enciende porque se dan las condiciones - OK
    - Se repite el bucle, y cuando se llega a la sentencia en cuestión, Relé1 se apaga, y al siguiente bucle vuelve a encenderse.
    - Supongo que he de añadir alguna sentencia más en la que diga que si Relé1 ya está a ON, entonces que no haga nada ¿?¿?

    Corregido, gracias a Mleon; un parentesis mal puesto. Ya está modificado el código.
    Última edición por nikitto; 25/07/2016 a las 13:01 Razón: Modificado el código, gracias a Mleon.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  20. #320
    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

    Chequea los parentesis de la funcion

    Debe ser...

    estado & (2**(port-1) ^ (255))

    Ademas es logico que haya condiciones con un poco de histeresis entre ON y OFF para que el rele no este conmutando muchas veces

  21. #321
    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
    Chequea los parentesis de la funcion

    Debe ser...

    estado & (2**(port-1) ^ (255))

    Ademas es logico que haya condiciones con un poco de histeresis entre ON y OFF para que el rele no este conmutando muchas veces
    Quedó arreglado colocando bien el parentesis. Gracias una vez más.

    Hoy he recibido el resto de material para acabar la ampliación a 24V, es decir, tan pronto tenga todo montado, sigo con esto.

    PD: Modifico el código del mensaje anterior, por si alguien lo va a usar.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  22. #322
    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...por eso de ser didáctico analicemos lo que hace la función

    Partimos de la idea de que la placa de reles tienen lógica negativa es decir se enciende con un "0" y se apaga con un "1" pero en la función vamos a utilizar lógica positiva (1 enciende y 0 apaga)

    Pongamos el código del programa por partes con dos ejm....

    I2c_rele(0x20,3,1) debe encender el rele3
    I2c_rele(0x20,5,0) debe apagar el rele5

    Código PHP:
    def i2c_rele(addr,port,out) : 
    definimos una función para apagar o encender un rele con esta lógica:
    - addr define la dirección física en donde esta el integrado que controla los reles ( en el ejm 0x20)
    - port: numero de rele (de 1 a 8)...en los ejm el rele nº3 y el nº5
    - out: 1 para encender y 0 para apagar

    Código PHP:
    estado=bus.read_byte(addr)  #devuelve el valor en decimal 
    Lee la situación actual de encendido/apagado de los 8 reles y lo almacena en la variable estado

    Para el ejemplo pensemos que nos da el valor 0100 1100 en binario, es decir encendidos lo reles 1,2,5,6,8 (recordar lógica negativa 0=encendido)

    Código PHP:
          if out == :
                    
    i2c_out estado & (2**(port-1) ^ (255))
                    print(
    'i2c_out(=1)'),i2c_out 
    Para el caso de encender (rele3) hagamos la secuencia de cálculos viendo el resultado en binario por claridad

    2**(port-1)= 2**( 3-1)=2**2=4=0000 0100

    2**(port-1) ^ 255 = 0000 0100 ^ 1111 1111= 1111 1011

    i2c_out=estado & (2**(port-1) ^ (255))= 0100 1100 & 1111 1011 = 0100 1000

    luego vemos que todos los reles permanecen como estaban salvo el rele3 que cambia de 1 a 0 (de apagado a encendido)

    Código PHP:
    else :
                    
    i2c_out estado 2**(port-1)
                    print(
    'i2c_out(!=1)'),i2c_out 
    Para el caso de apagado (rele5) hagamos la secuencia de cálculos viendo el resultado en binario por claridad

    2**(port-1)= 2**( 5-1)=2**4=16=0001 0000

    i2c_out=estado | 2**(port-1) = 0100 1100 | 0001 0000 = 0101 1100

    luego vemos que todos los reles permanecen como estaban salvo el rele5 que cambia de 0 a 1 (de encendido a apagado)


    Código PHP:
      bus.write_byte(addr,i2c_out)
            return 
    Escribimos la variable calculada i2c_out en el integrado para aplicar los cambios realmente al estado de los reles y salimos de la función

  23. #323
    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

    muy buen post Manuel. Super clarificador.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

  24. #324
    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
    muy buen post Manuel. Super clarificador.
    Gracias...había detectado un poco de lio con la lógica negativa/positiva, lo que hacia la función, ....

    Mejor siempre entender lo que se hace,,,asi por ejm si se quiere cambiar la numeración de los reles de 1-8 a 0-7 para adaptarla a la numeracion de los puertos del integrado (P0-P7) se entiende que solo hay que cambiar "Port-1" a "Port"

    En mi caso decidi utilizar lógica positiva para encender y numeración empezando por 1


    PD: En mi caso alimento los 5v de los reles con un conversor DC-DC para no cargar mucho la salida 5V del micro

  25. #325
    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

    Antes iba a subir una foto del (mal) montaje, pero me quedé sin internet. La subo ahora. En ella se ve como según se cumplen las condiciones de soc>90 'y' Vflot==1 se enciende el Relé1 (led rojo).

    A parte del fallo del parentesis, el malentendido fue debido al uso de lógica positiva para los led, cuando de buen principio debería haberlos conectado tal cual el módulo de relés.

    La nomenclatura de los puertos, NO coincide con el de los módulos, donde Relé1 = IN1. Lo importante es tener claro que P0-> Relé1, P1-> Relé2, etc.

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

    Al final soldé el PCF8574P a una placa de CI de pruebas porque mi 'vieja' protoboard de cuando estudiaba FP2 ya no está para muchos trotes.
    PvControl+: Control sistema fotovoltaico
    Si te gusta la web, aquí el proyecto. El manual está aquí
    ¿Cómo conectar un Axpert a una Raspberry? Aquí
    ¿Cómo conectar un InfiniSolar a una Raspberry? Aquí

Página 13 de 52 PrimerPrimer ... 312131423 ... Ú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