Resultados 301 al 325 de 1294
- 21/07/2016, 23:45 #301
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
Como tengo unos pocos mirare si es facil simular la pulsacion de los botones
-
- 21/07/2016, 23:52 #302
- 21/07/2016, 23:55 #303el_cobarde Invitado
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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 ...
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.
- 22/07/2016, 00:21 #304
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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,...)
- 22/07/2016, 18:26 #305
- 22/07/2016, 18:37 #306el_cobarde Invitado
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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.
- 22/07/2016, 19:33 #307
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
OK...el highchart no tiene secretos para ti ya
- - - - - - - - - - - - - - - - - - -
Estoy de acuerdo...es una opcion a considerar...no es la unica opcion a estudiar
Una prueba con estos que tengo
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
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 21:17
- 22/07/2016, 23:10 #308
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 = (LED1, LED2, LED3, LED4,
LED5, LED6, LED7, LED8,
LED7, LED6, LED5, LED4,
LED3, LED2)
bus = SMBus(1) # Port 1 used on REV2
for LED in cycle(PATTERN):
bus.write_byte(0x38, LED)
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.
- 22/07/2016, 23:46 #309
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
En mi caso usos los dos...leer y escribir
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
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
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; 23/07/2016 a las 00:27
- 23/07/2016, 08:13 #310el_cobarde Invitado
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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 ...
- 23/07/2016, 09:33 #311
- 23/07/2016, 11:46 #312el_cobarde Invitado
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
- 24/07/2016, 13:22 #313
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 == 1 :
#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
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
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 13: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í
- 24/07/2016, 17:12 #314
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 codigoPVControl+ (web espejo a la real cada 5'...se puede trastear)
Manual Instalación desde Imagen SD
Manual Instalación Reles Wifi
Algo de Funcionalidad (ya tiene control excedentes via wifi, etc...)#743
- 24/07/2016, 23:15 #315
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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í
- 25/07/2016, 00:56 #316
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 0x02PVControl+ (web espejo a la real cada 5'...se puede trastear)
Manual Instalación desde Imagen SD
Manual Instalación Reles Wifi
Algo de Funcionalidad (ya tiene control excedentes via wifi, etc...)#743
- 25/07/2016, 01:23 #317
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:
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í
- 25/07/2016, 02:00 #318
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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
Operadores en Python a nivel de bit
Comprobación.....
Última edición por Mleon; 25/07/2016 a las 05:11
- 25/07/2016, 13:21 #319
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 == 1 :
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)
- - - - - - - - - - - - - - - - - - -
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 ==1 :
i2c_rele(0x20,1,1)
else:
print('no se dan las condiciones')
i2c_rele(0x20,1,0)
- 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 14: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í
- 25/07/2016, 13:45 #320
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 vecesPVControl+ (web espejo a la real cada 5'...se puede trastear)
Manual Instalación desde Imagen SD
Manual Instalación Reles Wifi
Algo de Funcionalidad (ya tiene control excedentes via wifi, etc...)#743
- 25/07/2016, 13:57 #321
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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í
- 25/07/2016, 16:46 #322
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) :
- 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
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 == 1 :
i2c_out = estado & (2**(port-1) ^ (255))
print('i2c_out(=1)'),i2c_out
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
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
- 25/07/2016, 16:55 #323
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í
- 25/07/2016, 17:05 #324
Re: Control exhaustivo ciclo de carga/SOC/Cargas/etc
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/07/2016, 19:05 #325
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.
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í