Viker
-
Compteur de contenus
379 -
Inscription
-
Dernière visite
Type de contenu
Calendrier
Profils
Forums
Blogs
Galerie
Articles
Variétés
Breeder
Grow Report
Smoke Report
Produits
Marque
Guides
Messages posté(e)s par Viker
-
-
Yop,
@JH63 j'ai remis en version 3.5.0 et au passage j'ai remis la lib OneWire-2.3.5. J'ai de nouveau l'écran Nextion avec enregistrement des paramètres fonctionnel.
Pour remettre en version 3.5.0 je suis allé dans PIO Home, platforms, onglet embedded, espressif 32 et là il y a un menu installation où on peut choisir la version.
Puis retour sur platforms et désinstallation de la version 4.2.0.
++
Viker
-
Yop,
@JH63 pour le ssid et mot de passe tu veux dire dans l'interface du nextion ou directement dans main.cpp?
Sinon depuis la mise à jour de la plateforme Espressif 32 version 4.2.0 j'ai un gros problème, je n'arrive plus a faire d'enregistrement de valeur dans les paramètres du nextion et je ne sais vraiment pas comment y remédier. @JH63 Quel est ta version de Espressif 32 visible dans l'onglet PIO Home section platforms?
++
Viker
-
Yop,
Pour rappel:
sensors_delay à 10000 ms et looptime à 2s --> erreurs sondes A au bout de 10 h.
Du coup je repasse la valeur à 20000 sans même tester 15000.
motorDelay passe à 20000 car sans nouvelle mesure de température inutile de faire calculer une nouvelle vitesse de moteur.
Et enfin ledDelay passe à 30000.
Encore des erreurs sondes salles A au bout de 2 à 3 jours.
Je décide de regarder le code plus en profondeur.
(Mais avant de faire cela je mets à jour sous Visual Studio Code dans platformio la plateforme ESP 32 avec passage en version 4.2.0.
Lors de la compilation j'ai une erreur sur la lib onewire. Je mets à jour la librairie en la remplaçant la version 2.3.5 par la 2.3.6 récupérable ici.
En recompilant plus d'erreurs.)
En regardant le code je m’aperçois que la variable looptime est certes déclarée mais non utilisée dans le programme main.cpp
Je pense que Gen a due l'utiliser puis la virer dans le programme délivré.
En cherchant ce qui peut faire des erreurs sur les sondes AM2320 je suis tombé sur ce sujet qui montre que la cohabitation des sondes AM2320 et du LCD entraine des erreurs sondes. En gros il ne faut vraiment pas que les sondes soient consultée pendant un affichage lcd.
Du coup, je viens de modifier main.cpp afin de différer l'affichage du LCD en utilisant la variable looptime.
La modification se fait à partir de la ligne 2531:
Remplacement de :
stop = millis();
delta = stop - start;lcdDisplayInfo(addressIP,now.unixtime(),delta,AM2320_A_error_counter,AM2320_B_error_counter);
if(delta <1000)
{
delay(1000-delta);
}
firstLoopCycle = false;Par:
stop = millis();
delta = stop - start;
if(delta <loop_time)
{
delay(loop_time-delta);
}
lcdDisplayInfo(addressIP,now.unixtime(),delta,AM2320_A_error_counter,AM2320_B_error_counter);
firstLoopCycle = false;Looptime prends la valeur de 4000 car dans le processtime j'ai vu des valeurs allant jusqu'à 3500-3600.
Donc tests en cours et retour sous quelques jours.
++
Viker
- 1
- 1
-
Comme l'ensemble des fils de discutions de Gen sont verrouillés pour le moment vue son absence, je propose ici la continuité des discutions concernant la RED BOARD.
++
Viker
Edit: suite à nos échanges sur ce post le programme de la redboard a bien changé avec correction de bugs et ajout ne nouvelles fonctionnalités.
Vous pouvez trouver ce nouveau programme avec le détails des changements et des nouvelles fonctionnalités ici.
N'hésitez pas à partager sur le sujet de la redboard et faire vos retours sur cette nouvelle programmation.
- 1
-
Yop,
@JH63 avec sensors_delay à 10000 ms et looptime à 2s --> erreurs sondes A au bout de 10 h.
Du coup je repasse la valeur à 20000 sans même tester 15000.
motorDelay passe à 20000 car sans nouvelle mesure de température inutile de faire calculer une nouvelle vitesse de moteur.
Et enfin ledDelay passe à 30000.
++
Viker
-
Yop,
@JH63 avec sensors_delay à 5000 ms et looptime à 2s --> erreurs sondes A au bout de 4h.
Qu'as-tu fait comme différentes combinaisons avant sensors_delay à 20000 ms et looptime à 2s, histoire que je ne teste pas celles que tu as déjà testés?
++
Viker
- 1
-
Yop,
Maintenant, que je n'ai plus de problèmes avec la perte de la sonde A avec le changement du temps looptime à 2s au lieu de 1s ainsi que changement du sensors_delay de 5000ms à 20000ms (merci encore à JH63), je continue les tests.
Je relèves deux bugs:
1) Concernant la sortie ventilateur pwm, si je fixe sa vitesse minimum à par exemple 36, le ventilateur passera malgré tout en dessous de ce seuil.
2) La sortie led pwm fonctionne à l'envers. Si je mets une puissance à 80% je vais avoir un duty cycle à 20 et non 80. (Je n'ai pas testé en mode résistif mais il est possible que cela soit aussi à l'envers.)
Edit 1: peut être solution pour les deux bugs mais je n'ai pas encore testé
1) dans la librairie CALCPWM.ccp ligne 63:
Changer : if(returnVal < 0){returnVal = 0 ; }
par: if(returnVal < _minPWM){returnVal = _minPWM ; }
2) dans la librairie LED2CHAN.cpp ligne 390:
changer: valueToSend = (byte)(255 - (int)((valueProgrammed * 255)/100));
par : valueToSend = (byte)((int)((valueProgrammed * 255)/100));
Edit 2: Je viens de tester et cela fonctionne.
@JH63Lors de cette reprogrammation de la redboard j'en ai profiter pour tester le sensors_delay remis à sa valeur d'origine soit 5000ms tout en gardant le looptime à 2s. Je bench pour voir si j'ai de nouveau des erreurs sondes qui apparaissent ou pas.
++
Viker
- 1
-
Yop,
48h de test sans aucuns problèmes.
En résumé, j'avais un problème sur le bus i2c, en cause l'utilisation d'un câble blindé sans paires de fils torsadés.
Suite à cette correction, j'avais encore des soucis de perte de la sonde A.
Suite au changement (lignes 170 et 172 du programme) du temps de consultation des sondes à 20s et du temps process à 2s, je n'ai plus aucun problème.
++
Viker
-
Yop,
En effet, les 20s ne changent pas grand chose dans la surveillance des températures et humidité. Cependant, je voulais savoir si cela avait une incidence sur les erreurs sondes tout en conservant les 2s de process.
Si le test actuel est stable c'est à dire sans erreurs sondes et sans perte lcd alors je remettrait la valeur à 5s.
Sinon, en mettant les sondes am2320 côte à côte, je n'ai pas de décalage sur les températures et l'humidité (juste 0.1°C et 1.5% mais on est dans les marges d'erreurs)
Concernant le CO2 j'ai les sondes qui actuellement m'indiquent 729 et 742 ppm donc je pense que là encore on est dans la marge d'erreur. J'ai pu relever jusqu'à 100ppm de différence.
++
Viker
- 1
-
Yop
ça fait près de 24h et aucune erreurs sondes. As-tu essayé avec un time loop de 2s de descendre le délai d'interrogation des sondes en dessous de 20 secondes et même de les remettre à la valeur d'origine de 5s?
++
Viker
-
Yop,
bonnes nouvelles. Si cela continues de fonctionner sans erreurs donne la procédure pour changer ces deux paramètres.
J'imagine que tu as changé comme cela les lignes 170 et 172:
unsigned long loop_time = 2000; // Définition du temps standard pour un cycle loopunsigned long sensors_delay = 20000; // Délais d'interrogation des sondesJe teste retour dans 24-48h.
Edit: Cela fait 48h que je teste et aucunes pertes de sondes salle A ni du lcd comme auparavant. Tout fonctionne correctement. RAS
++
Viker
-
Yop JH63,
Non je ne perds que la sonde A.
Les sondes CO2 fonctionnent parfaitement même lorsque la sonde A plante. Idem pour la sonde B qui continue de fonctionner sans problèmes.
Par contre lorsque la sonde A plante, je peux avoir des caractères bizarre sur le lcd et lors d'un reset le wifi ne se connecte plus.
Quand j'enregistre les paramètres sur le Nextion, il n'y a aucun problème.
++
Viker
- 1
-
Le 24/02/2022 à 19:01, Gen a dit:
Yop
est-ce que d'autres ont le même problème ?++
GEN
Yop,
@Gen donc même problème pour moi, il n'y a que la salle A qui a ce soucis d'erreurs de sonde qui a pour conséquence de faire planter les relais salles A ainsi que la commutation des ventilateurs vu qu'il n'y plus de valeurs données par la sonde.
Cela influe également sur le wifi: lors d'un reset le wifi ne peux se connecter et la sonde A continue de donner des erreurs. Seule une extinction de la redboard remet en état de marche.
++
Viker
-
Yop,
@JH63 à priori Il faut que le sda et le scl soit sur la même paire. Cela supprime les parasites induits pas champs magnétique.
Pour l'instant je suis à 10h sans problèmes et pour moi c'est déjà un grand changement. Avant j'avais de façon aléatoire des problèmes sur la sonde A de façon variable dans la survenue. Et dès que ces erreurs apparaissaient, souvent je perdais l'affichage lcd.
Je continue le bench et je donne mon retour au bout de 24h.
Edit: Ce matin j'ai vu que la sonde A avait pleins d'erreurs. En appuyant sur le bouton reset, la sonde se relance mais impossibilité de reconnexion wifi. Du coup, extinction de la redboard et reboot.
Edit2 : Depuis la précédente extinction reboot, la redboard a tournée 24h sans aucunes erreurs sur les sondes. En revanche, si je fais grimper l'humidité et la température sur les sondes am2320, j'ai bien un changement d'affichage des valeurs d'humidité et de température, du coup la vitesse des ventilateurs changent mais par contre, alors que le pictogramme dessiccateur apparait je n'ai pas de commutation au niveau des relais dessiccateurs. Suite à un reset sans extinction tout revient dans l'ordre.
Edit3: Au bout de 10h erreurs sur sonde A, aucune valeurs ne changent. Pire plus de commutation d'aucun relais salle A tel éclairage ou dessiccateur.
La salle B continue de fonctionner sans problème. Si je fais un reset, la sonde A continue de faire des erreurs et le wifi ne se connecte pas. Seule une extinction remet dans l'ordre.
++
Viker
- 1
-
Yop,
Finalement, j'ai remplacé mes câbles blindés non torsadés pour les sondes AM2320 par du câble rj45 blindé s/ftp pimf cat 6 (le câble a un blindage tresse extérieur ainsi que chaque paires torsadées).
L'alimentation et le gnd sont sur une paire torsadée et le sda et scl sur une autre paire torsadée. Pour chaque sonde j'ai 3 mètres de câble.
Pour l'instant, après 8 heure de test je n'ai plus aucun symptômes de perte de lcd et/ou d'erreurs sur la sonde A.
En conclusion, il faut impérativement du câble torsadé pour le bus i2c.
J'ai refait des boitiers pour sondes AM2320 avec un passage de câble de 6mm pour les câbles rj45.
En pj vous trouverez les fichiers pour impression 3d de ces boitiers. Le fichier est en .pdf qu'il faut renommer en .rar, puis décompressez l'archive.
++
Viker
- 1
-
Yop,
@Gen Rappel, j'ai des erreurs sur la sonde am2320 salle A ainsi que sur le lcd dont l'affichage disparait au bout d'un certain temps.
Qu'as-tu comme câbles pour les différentes sondes et en quel longueur? As-tu des erreurs sur les sondes?
Tous les appareils (nextion, lcd, sondes am2320 et platines moteur sont sur le même bus i2c ou y'a-t-il plusieurs sorties i2c? Y'a-t-il des résistances pullup sur le sda et scl?
Est-il envisageable de mettre les sondes am2320 en lien avec le bus i2c via deux p82b715 pour pallier aux problèmes d'i2c?
++
Viker
-
Yop
oui j'ai des erreurs sur la sonde salle A et l'affichage de l'écran LCD disparait. Donc problème i2c à priori. Là j'ai pas trop le temps de mettre les mains dans le cambouis. J'ai déjà raccourcis les câbles à 2,5m et du coup les problèmes de déclenchement des platines moteurs a été résolu mais j'ai encore ces erreurs.
Je regarderai tous mes câblage de sonde de nouveau quand j'aurai le temps.
++
Viker
-
-
Yop JH63,
je me demandais où était l'IO23 sur la redboard car je ne le voyais pas sur plan. En vérifiant in-situ sur la redboard l'IO23 est labellisé et se trouve juste à côté de l'ESP32.
++
Viker
- 1
-
Yop,
@Gen Bien le gestion du chauffage par l'I/O 23.
Cependant je me demandais si certaine sorties comme le dessiccateur ou/et brumisateur pouvaient être "programmables" dans le sens que l'on choisie si elles servent en tant que soit brumisateur soit dessicateur soit chauffage? Par exemple je sais que je n'utiliserai jamais de dessiccateur mais un chauffage oui.
Grosse programmation mais tellement de flexibilité derrière que ce serait un plus énorme.
Sinon, on peut voir les erreurs sur les sondes et c'est vraiment une implémentation top pour la fiabilité du système. Mais au delà une gestion des erreurs et des comportements en fonction des erreurs serait un gage de sécurité.
Exemple si les sondes am2320 ne répondent plus alors le chauffage, la brumisation, le dessiccateur se coupent, les ventilateurs se mettent en vitesse 3 et un message d'erreur vient sur l'écran nextion. Oui c'est une grosse programmation mais là on arrive sur du matos pro.
A part ces quelques suggestions qui me semble augmenterai fortement le potentiel de la redboard, je trouve que celle-ci est vraiment un beau bébé. Bravo!
Le 10/02/2022 à 15:18, Gen a dit:Yop
à @JH63J'ai zappé ta requête, désolé.. je vais écrire le bout de qui te manque dans les jours qui viennent, ce sera sur l'I/O 23.
Ton souci d'upload provient de soit ton environnement (cas rare) ou plus souvent du câble USB que tu utilises, soit il n'est pas dédié à la transmission ou que les connecteurs sont défectueux (mauvais contact)
Pour les autres, j'espère que la Red Board vous plaît et qu'elle convient à vos attentes.. si vous avez des questions n'hésitez pas, j'y répondrai lors de mon prochain passage
++
GEN
- 1
-
Yop,
@Gen En effet au début j'ai modifié le programme pour effacé l'eeprom mais j'ai ensuite rétablie le programme originel quand j'ai découverts le RESET via le menu setup, chose que j'ai ensuite indiqué dans le forum
Le 10/02/2022 à 15:02, Gen a dit:Yop
Vous allez trop vite les gars, j'ai pas terminé le fil de discussion de mise en oeuvre, pour ceux qui config eux même leurs machines, vous devez installer le programme, ensuite faire un reset hardware, et ensuite aller dans la config et faire un reset logiciel (via menu setup qui correspond à l'introduction de toutes les valeurs d'usine par défaut).j'ai vu que certains avaient modifié leur code..... grosse erreur
Cette opération ne sera pas à faire quand c'est moi qui m'occupe de la prog des machines.Pour les impatients, pour les sondes AM2320 je conseille fortement d'utiliser un câble utp,
Pour les MH-Z19, un câble usb ou un 4 fils blindé est plus que suffisant..
Désolé si je ne suis pas très présent pour le moment, je me consacre à fond pour finaliser les dernières machines (il m'en reste 7 à faire) et j'ai également commencé à attaquer les écrans. Je vous demande encore un peu de patience, j'ai encore quelques soucis de logistique à régler avec aliExpress sur du matos défectueux ou réceptionné cassé..
++
GEN
@JH63 Idem j'ai le lcd qui n'affiche plus rien au bout d'un moment et de temps à autres j'ai aussi des erreurs sur ma sonde am2320 salle A. Je n'ai pas du câble utp sur les am2320 mais un câble blindé.
@Gen J'ai remarqué que la commutation des relais de la redboard pouvait créer la perte de l'écran lcd. Serait-il judicieux de mettre une diode 1N4007 en fly-back entre les poles des bobines de chaque relais?
Le 12/02/2022 à 10:38, JH63 a dit:Yop,
Petite question:
pb sur le lcd il s eteint au bout d un moment
et l écriture des graphes de la sonde B, les erreurs proviennent de la sonde ou de la longueur du câble ??
Les 2 sondes st cote a cote légère diff de mesures, le - est commun au co2 et am2320.
@Gen on pourrait avoir le co2 sur le graphique??
Liaison de 2m câble info cat 6 un câble pour chq boitiers de mesures.
@JH63 Il faut faire le poirier pour lire ton nextion 😛
++
Viker
-
Yop,
As-tu branché le lcd en plus du nextion?
Si oui, est-ce que le lcd affiche quelque chose?
Celui-ci devrait afficher la séquence d’initialisation puis affichage l'adresse ip de la redboard, le nombres de jours, les temps de process et err.sondes.
Si c'est ok pour ça alors la redboard est bien fonctionnelle.
Je penche alors pour un problème de connexion i2c entre le nextion et la redboard. Les deux ne communiquent pas ensemble du coup le nextion n'affiche que la page d'intro.
Coupes ton alim, enlèves toutes tes sondes et rebranche l'alim. Le nextion vas-t-il au delà de la page d'accueil?
Si oui c'est une bonne chose et auquel cas revois la longueur de tes câbles de sondes à la baisse ou/et leur blindage. (Avec 2.5m de câble blindés pour mes sondes j'ai encore des problèmes sur le bus ic2 en symptômes j'ai mon lcd qui au bout d'un moment affiche quelques caractères bizarres en plus des informations habituelles ou encore n'affiche plus rien. J'ai aussi une sonde qui me fait des erreurs).
++
Viker
- 1
-
Yop,
@JH63 fais-tu bien la procédure de Gen:
Le 23/01/2022 à 14:10, Gen a dit:Procédure de programmation de l'ESP32 de la carte RED BOARD
Ii faut mettre la carte RedBoard en mode réception de programme, pour ce faire, appuyer ou court-circuitez la sortie RESET de la carte RB en maintenant le circuit fermé (restez appuyé)
Tout en maintenant le circuit reset fermé ou le bouton enfoncé, appuyez sur le bouton PROG en maintenant la pression sur celui-ci sans la relâcher, et relâchez la pression du bouton reset ou ouvrez le circuit reset.
A ce stade votre doigts est toujours en train d'appuyer sur le bouton prog, maintenez cette pression et cliquez dans platformio sur l'option Upload..Si oui est-ce le bon port com? Vérifies dans l'onglet PIO Home et le menu Devices, il va dédecter la redboard et peut être autre chose connecté à ton ordi. Auquel cas pointe sur la redboard.
Si c'est bien la redboard sur le COM5 alors essaies un câbles usb plus court de bonne qualité.
++
Viker
- 1
-
Yop,
@Wilfred J'ai mis le fusible sur la phase par convention, le neutre fonctionnera aussi.
++
Viker
- 1
RED BOARD entraide
dans GDW Temp
Posté(e) · Modifié par Viker
Yop,
@JH63 concernant le wifi en fouillant le code je propose ceci (mais je n'ai pas testé):
Donc à toi de tester en n'oubliant pas d'enlever ton wifi actuel de la redboard avant test.
ligne 194 on trouve:
String SSID, PSW;
juste en dessous ajouter:
SSID="MonSSIDSansEspace";
PSW="MonPasswordSansEspace";
puis ligne à la ligne 2377 on trouve:
displayInitScreen(80,"CONNECTION WIFI");
juste en dessous ajouter:
WIFIDATA->setSSID(SSID);
WIFIDATA->setPSW(PSW);
WIFIDATA->saveAll();
delay(150);
edit: par contre le problème si cela fonctionne c'est que ton wifi sera celui spécifié dans
SSID="MonSSIDSansEspace";
PSW="MonPasswordSansEspace";
à chaque reboot de la redboard et donc si tu changes dans l'interface nextion ton wifi pour un autre wifi au prochain reboot tu reviens sur ce wifi.
Je ne vois pas trop l'intérêt vu qu'une fois rentré par l'interface nextion, il est en mémoire et ce même après un nouvel upload du programme.
++
Viker