Pico electrique - regulation Wemos + Jeedom
Publié : 07 déc. 2018 16:59
Un projet de brassage électrique avec une régulation connectée et une supervision à distance utilisant Jeedom.
Le système est encore en test à peine chaud donc tout commentaire sera bienvenu. A noter que c’est du code amateur qui est très certainement perfectible en particulier toute la mécanique liée aux pertes de connexion et au traitement des messages MQTT reçus. Mais bon ça semble tourner correctement.
Dans les évolutions possibles ; lecture d’une seconde sonde de T, un buzzer, une led d’atteinte de consigne…
Le cœur de la régulation est basée non pas sur un arduino comme beaucoup de projets que l’on trouve sur les forums mais sur un ESP8266 en l’occurrence un Wemos D1 mini ce qui permet de piloter le tout à distance via le WIFI.
Le fonctionnement est largement inspiré du projet https://www.instructables.com/id/Arduin ... ontroller/.
J’ai porté le code pour l’adapter à un Wemos (interruptions basées sur la bibliothèque Ticker et gestion EEPROM). A ceci s’ajoute la connexion WIFI et toute la couche MQTT en émission et réception.
Les lignes relatives à votre connexion WIFI et broker MQTT doivent être adaptées à votre configuration.
Côté Jeedom j’utilise le plugin JMQTT et me suis créé le design suivant pour le pilotage.
Design Jeedom
Il s'agit de ma première courbe de test et visiblement ce n'est pas très réactif. Il faudra que j'ajuste le PID.
La page en question permet :
• Visualiser l’état actuel – Température / Etat de la pompe / Palier en cours et durée restante
• Visualiser la courbe de température : consigne et mesurée
• Régler les paramètres et les transférer au microcontrôleur
• Visualiser les paramètres de consignes chargés sur le microcontrôleur
Le matériel
Côté matériel la construction de la cuve est très classique. Pour ce qui me concerne 35 litres, résistance de 2500W et petite pompe 12v pour brasser en BIAB.
cuve et sa pompe
installation
wemos
Pour la régulation, j’utilise une sonde DS18B20, un petit relais 5v pour la pompe et un SSR pour commander la résistance. J’ai ajouté un disjoncteur de 16A au cas où.
Attention à la partie électrique de puissance, je reprends tous les messages de précaution. J’ai bien testé la mise à la terre de la cuve.
J’ai utilisé au maximum des éléments récupérés au fond du garage.
La partie puissance est logée dans une simple boite de dérivation. J’ai fixé un radiateur de CPU qui devrait refroidir le tout.
Pour la pompe elle est enfilée dans une chute de tuyaux PVC qui me permet d’y loger le relai (un petit bout de chambre à air tient le tout).
J’ai utilisé des RJ45 en stock pour la connectique de la sonde avec des adaptateurs femelle/femelle.
Enfin j’ai recyclé un PCB que j’avais imprimé pour un précédent projet mais qui colle assez bien.
Pour se faciliter la vie vous pouvez choisir d’utiliser un lcd déjà équipé avec ses boutons, il faudra adapter le code en conséquence.
Côté Wemos :
• Wemos D1 Mini
• Shield Oled pour l’affichage (c’est petit mais suffisant)
• 3 boutons avec leur résistance de pull-up et les condensateurs anti-rebond
• Resistance anti-parasitage pour la sonde
Les fonctions embarquées dans le Wemos sont les suivantes
• Affichage et navigation à l’aide des boutons
• Réception des consignes (points de consigne température et durée des paliers)
• Publication des infos d’état sur MQTT
• Régulation PID – les paramètres sont ajustables manuellement ou via la fonction d’auto-tune.
• Pilotage de la pompe (dans le code on peut choisir de fonctionner soit avec une régulation de vitesse PWM soit en mode simple on/off)*
• Le microcontrôleur peut fonctionner online ou en mode déconnecté
• Les derniers paramètres sont stockés en EEPROM
Le système est encore en test à peine chaud donc tout commentaire sera bienvenu. A noter que c’est du code amateur qui est très certainement perfectible en particulier toute la mécanique liée aux pertes de connexion et au traitement des messages MQTT reçus. Mais bon ça semble tourner correctement.
Dans les évolutions possibles ; lecture d’une seconde sonde de T, un buzzer, une led d’atteinte de consigne…
Le cœur de la régulation est basée non pas sur un arduino comme beaucoup de projets que l’on trouve sur les forums mais sur un ESP8266 en l’occurrence un Wemos D1 mini ce qui permet de piloter le tout à distance via le WIFI.
Le fonctionnement est largement inspiré du projet https://www.instructables.com/id/Arduin ... ontroller/.
J’ai porté le code pour l’adapter à un Wemos (interruptions basées sur la bibliothèque Ticker et gestion EEPROM). A ceci s’ajoute la connexion WIFI et toute la couche MQTT en émission et réception.
Les lignes relatives à votre connexion WIFI et broker MQTT doivent être adaptées à votre configuration.
Côté Jeedom j’utilise le plugin JMQTT et me suis créé le design suivant pour le pilotage.
Design Jeedom
Il s'agit de ma première courbe de test et visiblement ce n'est pas très réactif. Il faudra que j'ajuste le PID.
La page en question permet :
• Visualiser l’état actuel – Température / Etat de la pompe / Palier en cours et durée restante
• Visualiser la courbe de température : consigne et mesurée
• Régler les paramètres et les transférer au microcontrôleur
• Visualiser les paramètres de consignes chargés sur le microcontrôleur
Le matériel
Côté matériel la construction de la cuve est très classique. Pour ce qui me concerne 35 litres, résistance de 2500W et petite pompe 12v pour brasser en BIAB.
cuve et sa pompe
installation
wemos
Pour la régulation, j’utilise une sonde DS18B20, un petit relais 5v pour la pompe et un SSR pour commander la résistance. J’ai ajouté un disjoncteur de 16A au cas où.
Attention à la partie électrique de puissance, je reprends tous les messages de précaution. J’ai bien testé la mise à la terre de la cuve.
J’ai utilisé au maximum des éléments récupérés au fond du garage.
La partie puissance est logée dans une simple boite de dérivation. J’ai fixé un radiateur de CPU qui devrait refroidir le tout.
Pour la pompe elle est enfilée dans une chute de tuyaux PVC qui me permet d’y loger le relai (un petit bout de chambre à air tient le tout).
J’ai utilisé des RJ45 en stock pour la connectique de la sonde avec des adaptateurs femelle/femelle.
Enfin j’ai recyclé un PCB que j’avais imprimé pour un précédent projet mais qui colle assez bien.
Pour se faciliter la vie vous pouvez choisir d’utiliser un lcd déjà équipé avec ses boutons, il faudra adapter le code en conséquence.
Côté Wemos :
• Wemos D1 Mini
• Shield Oled pour l’affichage (c’est petit mais suffisant)
• 3 boutons avec leur résistance de pull-up et les condensateurs anti-rebond
• Resistance anti-parasitage pour la sonde
Les fonctions embarquées dans le Wemos sont les suivantes
• Affichage et navigation à l’aide des boutons
• Réception des consignes (points de consigne température et durée des paliers)
• Publication des infos d’état sur MQTT
• Régulation PID – les paramètres sont ajustables manuellement ou via la fonction d’auto-tune.
• Pilotage de la pompe (dans le code on peut choisir de fonctionner soit avec une régulation de vitesse PWM soit en mode simple on/off)*
• Le microcontrôleur peut fonctionner online ou en mode déconnecté
• Les derniers paramètres sont stockés en EEPROM