FreeDS es el resultado de la unión de un hardware y un software con el objetivo de conseguir un gestor de excedentes universal y totalmente independiente de la fuente que genere nuestros excedentes (ya sean excedentes de generación fotovoltaica y/o eólica), de esta manera se puede sacar provecho de este excedente de producción que no se este usando para consumos principales y derivarlo hacia una carga resistiva.
Aunque el objetivo principal de FreeDs es que sea universal (y de hecho lo es), además también dispone de modos de funcionamiento específicos para ciertos inversores solares (Solax, Fronius, SMA, Victron, Ingeteam, goodwe, etc.) lo que le da aún mas versatilidad al proyecto.
El principio de funcionamiento es relativamente sencillo, se mide la cantidad de energía que no se esta consumiendo (excedente), bien de forma universal con un medidor de potencia (meter) o bien de forma especifica obteniendo los datos a través del inversor u otra fuente de datos soportada y una vez obtenida la potencia sobrante, esta se deriva con una placa de control de potencia (pwm / dimmer) hacia la carga resistiva (como por ejemplo un termo para calentar agua sanitaria, una estufa o placa de calor).
Debido a que los excedentes de producción son variables por múltiples factores, el proceso de medida de excedente y su posterior derivación se realizan cíclicamente y de forma continua en el tiempo, obteniéndose así un ajuste coordinado entre el excedente y la potencia derivada.
La forma original y principal forma de obtención de datos de este proyecto es usando un hardware universalmente llamado "meter", en este modo la toma de datos (excedente) se realiza con un medidor de potencia (meter) que habrá que instalar en el lugar adecuado para que haga las mediciones de forma correcta (más adelante detallaremos en que lugar y la manera correcta de hacerlo).
Adicionalmente existen los modos de funcionamiento de conexión a inversor o medidores externos (que detallaremos mas adelante).
En este apartado veremos todo el hardware que es necesario ensamblar y de que manera hacer el montaje, así como cuales son las distintas configuraciones según el modo de trabajo que sea de muestra elección.
Esp32 | Esp01 | Meter | Conversor modbus (RS4585) | Placa Dimmer | Relés | |
---|---|---|---|---|---|---|
Solax wifi v1 & hibridos | Sí | No | No | No | Sí | Opcional |
Solax wifi v2 | Sí | Sí | No | No | Sí | Opcional |
Solax wifi v2 (Modo local) | Sí | No | No | No | Sí | Opcional |
MQTT Server | Sí | No | No | No | Sí | Opcional |
Meter DDS238-2, DDSU666, SDM120, SDM220/230 | Sí | No | Sí | Sí | Sí | Opcional |
Fronius | Sí | No | No | No | Sí | Opcional |
SMA
(Sunny Boy / Sunny Island) |
Sí | No | No | No | Sí | Opcional |
Huawei | Sí | No | No | No | Sí | Opcional |
Goodwe | Sí | No | No | No | Sí | Opcional |
Ingeteam | Sí | No | No | No | Sí | Opcional |
SolarEdge | Sí | No | No | No | Sí | Opcional |
Shelly EM | Sí | No | No | No | Sí | Opcional |
Wibeee | Sí | No | No | No | Sí | Opcional |
Mustsolar (En desarrollo) |
Sí | No | No | No | Sí | Opcional |
Schneider (En desarrollo) |
Sí | No | No | No | Sí | Opcional |
Habrá que seleccionar el Hardware necesario en función del modo de trabajo que deseemos implementar.
Meter
|
|
|
|
DDS238-2 | DDS666 | SDM120 | SDM220/230 |
Conversor modbus
|
ESP32
|
ESP01 y su correspondiente grabador
Amazon Aliexpress |
Control de potencia PWM
|
Placa de relés adicionales (opcional)
|
Tan solo dos de los componentes mostrados anteriormente necesitan una programación para su correcto funcionamiento y son el esp32 y esp01, por tanto necesitamos descargar el software de programación de la siguiente dirección.
https://www.espressif.com/en/support/download/other-tools
mas concretamente el Flash Download Tools
una vez descargado hay que descomprimirlo.
Además del software de programación se necesita el binario, para introducirlo dentro del circuito integrado (el chip) que hay en el ESP32 y ESP01 respectivamente.
Para el ESP32 y el ESP01 los ficheros necesarios se encuentra en un archivo zip que se puede descargar desde github, en la siguiente dirección:
https://github.com/pablozg/freeds/releases
Conectar el ESP32 al puerto usb, y si es la primera vez que se conecta esperar que Windows lo detecte y configure, en caso que pida algún tipo de drivers, usar los que provee el fabricante o como alternativa los que puedes descargar aqui.
A partir de ese momento existen dos métodos para programar el ESP32:
Unicamente será necesario descomprimir el archivo .zip previamente descargado, localizar haciendo uso del administrador de dispositivos del puerto COM donde se encuentra conectado el ESP32.
Se deberá entrar desde la ventana del símbolo del sistema a la carpeta con los ficheros descomprimidos y escribir lo siguiente:
ESP32: programarESP32.bat COMX
ESP01: programarESP01.bat COMX
Donde X es el número del puerto COM que hemos averiguado previamente.
Ejecutar el flash download tool y nos aparecerá una ventana de selección como ésta (para seleccionar el chip concreto de la serie ESP) y pulsamos en el botón “ESP32 Download Tool”, marcado en rojo
Una vez seleccionado se abrirá la herramienta con las opciones correspondientes para el ESP32, los datos necesarios son:
- Los ficheros que forman parte del firmware y la posición de memoria de cada uno de ellos.
- SPI speed
- SPI mode
- Flash size
- COM
- BAUD
Todos y cada uno de ellos tienen que coincidir con la captura siguiente a excepción de COM (que es el puerto serial) que puede variar según la configuración del pc, cada usuario tendrá que seleccionar el puerto correspondiente donde se encuentre el ESP32.
Previamente a la grabación del ESP32 es conveniente hacer un borrado previo pulsando el botón “ERASE”, durante el proceso de borrado veremos en pantalla:
Una vez concluido correctamente el borrado veremos:
Una vez asegurado el borrado podemos proceder a la grabación del firmware pulsando el botón “START”, durante el proceso observaremos una barra de progreso:
Una vez completado de forma correcta obtendremos la siguiente confirmación:
Con esto queda concluida la grabación. Mas adelante veremos en la puesta en marcha como encender y configurar el ESP32.
Es posible que en algún punto del proceso (o incluso nada mas empezar) nos aparezca la siguiente pantalla:
Esto es debido a una mala configuración del puerto COM o a un fallo de comunicación, para corregir el problema seleccionar el puerto COM adecuado o bien comprobar el cable USB o incluso sustituirlo por otro (mencionar que existen cables USB - MicroUSB que no tienen línea de datos, como pueden ser cables cargadores)
Ejecutar el flash Download Tool y nos aparecerá una ventana de selección como esta (para seleccionar el chip concreto de la serie ESP) y pulsamos en el botón “ESP8266 DownloadTool”, marcado en rojo
una vez seleccionado se abrirá la herramienta con las opciones correspondientes para el ESP01.
Los datos necesarios son, el fichero de firmware (ESP01) y la posición de memoria, SPI speed, SPI mode, Flash size, COM y BAUD. Todos y cada uno de ellos tienen que coincidir con la captura siguiente a excepción de COM (que es el puerto serial) que puede variar según la configuración del pc, cada usuario tendrá que seleccionar el puerto correspondiente donde se encuentre el ESP01.
Una vez están todos los parámetros ajustados, seguimos el mismo procedimiento que hicimos son el esp32, previa a la grabación del ESP01 es conveniente hacer un borrado previo pulsando el botón “ERASE”, una vez asegurado el borrado podemos proceder a la grabación del firmware pulsando el botón “START”.
Una vez finalizada la grabación ya estará listo para el ensamblado. (el ESP01 no necesita de puesta en marcha).
A continuación mostramos el ensamblaje de todos los componentes, (Meter, Conversor Modbus, ESP32, ESP01, Dimmer y placa de relés) es importante seleccionar para el montaje solo los necesarios para el modo de trabajo que deseamos implementar incluidos los opcionales en su caso. (no es necesario montar todos los elementos de la figura, aunque si es viable hacer el montaje completo si se desea probar todos los modos).
[Ver tabla del apartado Hardware]
Para la puesta en marcha no es imprescindible que este conectada la etapa de potencia (dimmer).
Alimentar el ESP32 (bien por usb o bien con la alimentación que suministre la placa dimmer)
Al inicio encontraremos en la pantalla Oled del ESP32 una pantalla de bienvenida, y seguidamente una invitación a conectarse vía wifi.
Cargando programa |
Conectar a esta red (FreeDS) y cargar la IP 192.168.4.1para configurar |
|
|
Debemos usar un terminal con wifi, como puede ser un móvil, una tablet o un portátil, para conectarnos a la red wifi que tendremos disponible con el nombre de FreeDS, y cargar en un navegador la dirección 192.168.4.1 si no lo hace automáticamente una vez nos conectamos.
Seguimos las indicaciones que aparecen en pantalla, seleccionando del plegable “SSID” el nombre de nuestra wifi domestica (en todos los casos excepto en el modo “Solax V2 local” donde seleccionaremos el nombre wifi de nuestro inversor) y escribiendo su clave (atención a las mayúsculas) y pulsando el botón de “Guardar” (En caso de usar el modo Solax V2 local no es necesario escribir ninguna clave).
Tras guardar los cambios el ESP32 se reiniciara automáticamente y arrancara con los nuevos parámetros.
Observación: En caso de configuración errónea del wifi o por querer hacer una conexión nueva a otro punto wifi, se podrá reiniciar el ESP32 a los valores de fabrica (vacío) manteniendo pulsado el botón "PRG” situado en la placa ESP32 en la parte superior a la izquierda de la pantalla Oled durante mas de 20 segundos.
Si la configuración ha sido exitosa, tras reiniciarse se mostraran una serie de pantallas que relacionamos a continuación (1-4):
1 |
2 |
3 |
4 |
Cargando programa |
Conectado a Red |
IP del dispositivo |
Pantalla de Información |
|
|
|
|
A partir de este punto, el resto de la configuración, la selección de modo y el ajuste de los parámetros se hará vía web en la dirección que se nos indique en la pantalla Oled.
8) Parámetros del gestor (Configuración vía WEB)
Cargar en el navegador la dirección del FreeDS, que será del tipo 192.168.x.x (o bien 5.8.8.x exclusivamente para el modo de trabajo Solax V2 local).
Nos pedirá un nombre de usuario y contraseña para poder entrar, en ambos casos hay que teclear la palabra "admin" e iniciar sesión.
Acto seguido cargara la pagina principal de FreeDS.
La pagina principal es la de “Monitorización”, donde estarán disponibles los datos de medida en tiempo real y los indicadores de estado de los relés, que además permiten su activación / desactivación pulsando directamente sobre el icono del numero de relé del que queramos cambiar su estado.
Como podemos apreciar en la imagen hay 3 zonas de trabajo que son:
1- Selector de Modo, donde haremos el primer y mas importante ajuste, seleccionando el modo de trabajo que mas se adapte a nuestra instalación (de este ajuste dependerán el resto de opciones de los distintos menús) (el modo de trabajo se puede cambiar en cualquier momento, y el cambio de modo puede implicar nuevos ajustes)
2- Menú lateral, donde podremos seleccionar las distintas paginas para configurar todos los ajustes de FreeDS
3- Pagina principal, donde se podrán visualizar / ajustar los parámetros disponibles de cada pagina
Es la pagina principal y en ella estarán disponibles los datos de medida en tiempo real y los indicadores de estado de los relés, que además permiten su activación / desactivación pulsando directamente sobre el icono del numero de relé del que queramos cambiar su estado (los nombres de las variables y sus medidas se adaptaran al modo de trabajo seleccionado inicialmente)
En esta pagina habrá que hacer los ajustes referentes a la red, estando disponibles los ajustes de:
“Datos de conexión wifi” que se refiere a la conexión a la red domestica (o al inversor en el caso de modo Solax v2 local).
“Datos Inversor” que se refiere a la conexión para toma de datos al SSID del inversor (solo disponible para el modo solax v2)
“Conexión de Red” donde podremos hacer los ajustes específicos de la configuración IP del ESP32 y el Nombre del Host (normalmente la configuración es automática y por tanto la opción “Direccion DHCP” esta activada por defecto, si se desean hacer ajustes manuales hay que desactivar dicha opción)
“Datos MQTT” para poder efectuar una conexión con servidor MQTT (mosquito), hay que activar la opción y después configurar los parámetros del servidor como pueden ser IP, usuario y contraseña, también están disponible para configurar el puerto y los temas si fuera necesario
“Cambio de Password” con esta opción podemos cambiar la contraseña que nos pide cuando hacemos la entrada inicial al configurador FreeDS, para ello hay que poner la clave actual (que por defecto es admin) en la casilla “clave de acceso” y a continuación la nueva clave que deseamos y para que los cambios sean efectivos pulsamos en el botón guardar.
“Configuracion pantalla Oled” aquí podremos activar el apagado automático de la pantalla del ESP32 así como especificar el tiempo de espera antes del apagado, el tiempo hay que introducirlo en milisegundos (para 30 segundos habría que poner 30000)
“Tiempo máximo de error” aquí podremos especificar cuanto tiempo esperara el ESP32 antes de hacer un reinicio debido a la perdida de flujo de datos del equipo de medida ya sea este un meter o un inversor (u otro dispositivo opcional), con este tiempo damos margen a algún fallo puntual en el flujo de datos.
“Tiempo de adquisición de datos” aquí determinamos cada cuanto tiempo el ESP32 hace una petición de medida de datos (especificado en milisegundos), el valor por defecto es 1500ms que equivale a 1,5 segundos.
Al final de la pagina están los botones de “Guardar” para hacer efectivos los cambios de cualquier parámetros realizados en la pagina, y el botón de “Reinicializar” que nos permite descartar si hemos cambiado algún parámetro y no queremos que sea efectivo por tanto los cambios volverán a su estado original. Estos dos botones estarándisponibles también en las pagina de “Salidas”
En este apartado podremos configurar el comportamiento del derivador tanto en modo automático como los parámetros en modo manual,así como las salidas de relés.
Este menú no tiene pagina principal, el ajuste se hace directamente en la zona lateral, (este menú es ocultable) pudiendo ajustar:
- El nivel de brillo de la pantalla del ESP32 con el selector deslizante, también esta disponible la opción de apagar/encender la pantalla directamente, haciendo click sobre “Pantalla (ON)” o “Pantalla (OFF)” según corresponda y según el estado en que se encuentre la pantalla.
- Del mismo modo se puede proceder con el PWM(ON) para activar o desactivar la salida que controla la placa de potencia PWM (obteniendo como resultado un encendido o apagado de la placa de potencia).
- Y por ultimo “AUTOMÁTICO / MANUAL” nos permite cambiar entre el modo automático, donde el derivador hace los ajustes automáticamente en función del excedente y el modo manual donde el derivador queda activado permanentemente con el porcentaje de salida que tengamos ajustado en el apartado “Porcentaje PWM en modo manual” que se puede ajustar en la pagina de “Salidas”, el único ajuste que hará será disminuir la potencia entregada por el dimmer en caso de estar cerca del máximo de la potencia contratada según lo configurado en el apartado correspondiente.
Como su propio nombre indica nos permite reiniciar por software y desde el control web el ESP32, nos pedirá confirmación por si hubiésemos invocado esta acción involuntariamente.
En este punto tenemos la opción de confirmar o rechazar el reinicio.
Esta opción nos permite actualizar el firmware directamente con nuestro navegador web, no siendo necesario conectar al ordenador por usb el ESP32 para cambiar de versión.
Las actualizaciones están compuestas por dos ficheros:
1º Tendremos que seleccionar en primer lugar el fichero "firmware.bin" y pulsaremos el botón de actualizar. Este fichero incluye todas las modificaciones realizadas sobre el funcionamiento del programa.
2º Tras terminar de reiniciarse deberemos volver a entrar en el apartado de actualización, pero en este caso deberemos seleccionar el fichero "spiffs.bin" debiendo pulsar a continuación el botón actualizar. Este fichero incluye todas las modificaciones realizadas sobre la web que usa el programa.
3º Tras finalizar el segundo reinicio y si se han actualizado correctamente ambos ficheros deberemos forzar la recarga del entorno web, pudiendo realizarlo en caso de estar usando windows, pulsando simultáneamente las teclas CTRL + F5.
Desde los siguientes enlaces podremos acceder tanto a la lista para comprar la PCB oficial del proyecto como acceder a un manual online actualizado frecuentemente donde se incluyen todos los cambios realizados en el funcionamiento del programa: