[Tuto] Régulation d'une chaudière Frisquet ECO radio System
Re: Régulation d'une chaudière Frisquet ECO radio System
Salut à tous,
De mon point de vue les solutions 1 et 2 sont semblables car elles nécessitent toutes deux de reproduire la trame originale et de la réinjecter soit avant le récepteur (1) soit après le récepteur (2).
Concernant la plage de fréquence du récepteur ERS, le miens est équipé d'un TDA5200 dont le datasheet indique une "plage de fréquence entre 433 et 435MHz", ce qui le rend à priori assez tolérant.
@etimou: effectivement le récepteur ERS ne fait que démoduler le signal, la trame est assez simple à détecter avec un analyseur logique malgré le bruit ambiant: elle est composée de 3 messages consécutifs d'environ 258 bits 0/1 de 0.8ms chacun, et les trois messages sont séparés par un pulse haut d'environ 30ms. Cette trame est réceptionnée environ 6/7 secondes après un changement sur le thermostat.
Ma méthode initiale étant assez lourde pour travailler sur la trame (analyseur logique + macros sous excel pour traduire et déchiffrer), j'ai fini par programmer un arduino en guise d'analyseur logique qui réceptionne et déchiffre la trame. Je peux fournir le programme si certains sont intéressés.
De mon point de vue les solutions 1 et 2 sont semblables car elles nécessitent toutes deux de reproduire la trame originale et de la réinjecter soit avant le récepteur (1) soit après le récepteur (2).
Concernant la plage de fréquence du récepteur ERS, le miens est équipé d'un TDA5200 dont le datasheet indique une "plage de fréquence entre 433 et 435MHz", ce qui le rend à priori assez tolérant.
@etimou: effectivement le récepteur ERS ne fait que démoduler le signal, la trame est assez simple à détecter avec un analyseur logique malgré le bruit ambiant: elle est composée de 3 messages consécutifs d'environ 258 bits 0/1 de 0.8ms chacun, et les trois messages sont séparés par un pulse haut d'environ 30ms. Cette trame est réceptionnée environ 6/7 secondes après un changement sur le thermostat.
Ma méthode initiale étant assez lourde pour travailler sur la trame (analyseur logique + macros sous excel pour traduire et déchiffrer), j'ai fini par programmer un arduino en guise d'analyseur logique qui réceptionne et déchiffre la trame. Je peux fournir le programme si certains sont intéressés.
Re: Régulation d'une chaudière Frisquet ECO radio System
j'aime bien 2. qui permet de s'affranchir des problèmes liés à la radio.
@tchuene: Quel analyseur logique utilises-tu? (pour ma culture)
As-tu essayé ton sketch Arduino à la sortie du récepteur ERS ou avec un démodulateur 433? J'aimerais bien essayer à la sortie du récepteur ERS car je suis en 868MHz.
@tchuene: Quel analyseur logique utilises-tu? (pour ma culture)
As-tu essayé ton sketch Arduino à la sortie du récepteur ERS ou avec un démodulateur 433? J'aimerais bien essayer à la sortie du récepteur ERS car je suis en 868MHz.
Re: Régulation d'une chaudière Frisquet ECO radio System
Je souhaite aussi me passer de radio d'où l'idée de remplacer le récepteur ERS.
J'utilise un ancien Saleae Logic 8 USB (qui ne coutait pas ce prix il y'a 10ans...), très simple d'utilisation, qui peut exporter les captures dans différents formats notamment Excel avec lequel j'ai déchiffré la trame au départ.
Mon montage est très simple, un pin de l'arduino connecté à la sortie du récepteur ERS (fil jaune) et la masse de l'arduino à la masse du récepteur ERS, la trame décodée est affichée dans le moniteur série arduino. Le fonctionnement de la chaudière reste inchangé, je scrute juste les trames qu'elle reçoit pour examiner les valeurs possibles.
J'utilise un ancien Saleae Logic 8 USB (qui ne coutait pas ce prix il y'a 10ans...), très simple d'utilisation, qui peut exporter les captures dans différents formats notamment Excel avec lequel j'ai déchiffré la trame au départ.
Mon montage est très simple, un pin de l'arduino connecté à la sortie du récepteur ERS (fil jaune) et la masse de l'arduino à la masse du récepteur ERS, la trame décodée est affichée dans le moniteur série arduino. Le fonctionnement de la chaudière reste inchangé, je scrute juste les trames qu'elle reçoit pour examiner les valeurs possibles.
Re: Régulation d'une chaudière Frisquet ECO radio System
ok je veux bien ton sketch pour tester. Pour l'instant ma chaudière tourne en manuel donc je peux jouer avec le thermostat et voir ce qui se passe à la sortie du récepteur.
Re: Régulation d'une chaudière Frisquet ECO radio System
Voilà le code, l'entrée de l'arduino est définie par le byte "input" (3 chez moi), le Serial monitor à régler sur 500 000.
A chaque modif sur le thermostat, tu dois avoir dans le Serial monitor le numéro du message (0,1,2), la valeur du préchauffage et la valeur du chauffage (en decimal), et ce trois fois d'affilée avec le numéro du message qui change à chaque fois.
En bas du code il y'a les string id1, id2, id3 qui sont propres (je pense) à chaque ERS (une sorte d'ID).
A chaque modif sur le thermostat, tu dois avoir dans le Serial monitor le numéro du message (0,1,2), la valeur du préchauffage et la valeur du chauffage (en decimal), et ce trois fois d'affilée avec le numéro du message qui change à chaque fois.
En bas du code il y'a les string id1, id2, id3 qui sont propres (je pense) à chaque ERS (une sorte d'ID).
Code : Tout sélectionner
volatile long duration = 0;
volatile long prev_time = 0;
volatile boolean data_dispo = false;
byte input = 3;
String trame[3];
byte message = 0;
byte start = true;
byte intro = 0;
String prefixe = "1100";
void setup() {
Serial.begin(500000);
attachInterrupt(digitalPinToInterrupt(input), declenche, CHANGE);
}
void loop() {
if (data_dispo == true) {
int bit_state = digitalRead(input);
if ((duration > 700) && (duration < 950)) { // pulse off court
trame[message] = trame[message] + !bit_state;
} else if ((duration > 1400) && (duration < 1950)) { // pulse off long
// verifie qu'on commence avec un pulse long à 1
if ((start == true) && (!bit_state == HIGH)) {
trame[message] = trame[message] + !bit_state + !bit_state;
start = false;
} else if (start == false) {
trame[message] = trame[message] + !bit_state + !bit_state;
}
} else {
start = true; // debut d'une nouvelle trame
if (trame[message].length() > 200) {
message++;
if (message > 2) {
for (message = 0; message < 3; message++) {
for (int x = 0; x <= 50; x=x+4) {
if (trame[message].substring(x,x+4).compareTo(prefixe) == 0) {
intro++;
} else {
break;
}
}
String sortie = "";
if (intro > 6 ) {
// décodage des bits de la trame: 00=0, 11=0, 10=1, 01=1
for (int x = (intro*4); x <= trame[message].length(); x=x+2) {
if ((trame[message].substring(x,x+2) == "00") or (trame[message].substring(x,x+2) == "11")) {
sortie = sortie + "0";
} else {
sortie = sortie + "1";
}
}
// repartition en bytes
String id1 = sortie.substring(0,8);
String id2 = sortie.substring(8,16);
String id3 = sortie.substring(16,24);
byte num = convert(sortie.substring(48,56));
byte prechauff = convert(sortie.substring(56,64));
byte chauffage = convert(sortie.substring(64,72));
Serial.print("num: ");
Serial.println(num);
Serial.print("prechauff: ");
Serial.println(prechauff);
Serial.print("chauffage: ");
Serial.println(chauffage);
intro = 0;
}
}
trame[0] = "";
trame[1] = "";
trame[2] = "";
message = 0;
}
} else {
trame[0] = "";
trame[1] = "";
trame[2] = "";
message = 0;
}
}
data_dispo = false;
}
}
void declenche() {
duration = micros()-prev_time;
prev_time = micros();
data_dispo = true;
}
byte convert(String entree) {
byte result = 0;
for (int f = 0; f <= 7 ; f++) {
if (entree.substring(f,f+1) == "1") bitSet(result, f);
}
return result;
}Re: Régulation d'une chaudière Frisquet ECO radio System
j'ai testé rapidement, je reçois des choses mais c'est un peu aléatoire
Code : Tout sélectionner
num: 0
prechauff: 131
chauffage: 38
num: 1
prechauff: 131
chauffage: 38
num: 0
prechauff: 131
chauffage: 48
num: 1
prechauff: 131
chauffage: 48
num: 2
prechauff: 3
chauffage: 48
num: 0
prechauff: 131
chauffage: 48
num: 1
prechauff: 131
chauffage: 48
num: 2
prechauff: 3
chauffage: 48
num: 0
prechauff: 131
chauffage: 58
num: 1
prechauff: 131
chauffage: 58
num: 2
prechauff: 3
chauffage: 58
num: 168
prechauff: 3
chauffage: 208
num: 2
prechauff: 3
chauffage: 58
num: 40
prechauff: 5
chauffage: 208
num: 2
prechauff: 3
chauffage: 82
Re: Régulation d'une chaudière Frisquet ECO radio System
Effectivement le numéro de message déconne et tu ne reçois pas systématiquement les 3 messages.
Par contre tes valeurs de préchauffage 3 et 131 sont cohérentes (correspond chez moi au mode confort avec eau chaude sur max), mais pour le chauffage je ne suis jamais passé au dessus de 100!
Est ce que ton thermostat est proche du récepteur? Au début je faisais les tests avec le thermostat éloigné et j'avais des ratés. Est ce que tu peux essayer d'afficher la trame brute en faisant un Serial.println(trame[message]) avec message=0, 1 et 2, et me coller le résultat?
Par contre tes valeurs de préchauffage 3 et 131 sont cohérentes (correspond chez moi au mode confort avec eau chaude sur max), mais pour le chauffage je ne suis jamais passé au dessus de 100!
Est ce que ton thermostat est proche du récepteur? Au début je faisais les tests avec le thermostat éloigné et j'avais des ratés. Est ce que tu peux essayer d'afficher la trame brute en faisant un Serial.println(trame[message]) avec message=0, 1 et 2, et me coller le résultat?
Re: Régulation d'une chaudière Frisquet ECO radio System
Hello,
Moi j'ai achété un module 433.92 et j'ai desoudé le résonateurs pour le remplacer par un en 433.42 (achété par 5 sur Ebay)
Attention la soudure doit etre sur les 2 cotés du circuit du modules.
Après si ton émetteur est très proche de ton antenne de chaudiere un module 433.92 devrait fonctionner, car il va saturer le recepteur. Mais c'est pas très propre
Moi j'ai achété un module 433.92 et j'ai desoudé le résonateurs pour le remplacer par un en 433.42 (achété par 5 sur Ebay)
Attention la soudure doit etre sur les 2 cotés du circuit du modules.
Après si ton émetteur est très proche de ton antenne de chaudiere un module 433.92 devrait fonctionner, car il va saturer le recepteur. Mais c'est pas très propre
polo9222 a écrit : 02 oct. 2020, 16:01 Bonsoir,
le froid est revenu et j'ai remis en route ma chaudière sans problème avec ma régulation basée sur les contact + et - de la platine.
Néanmoins, la régulation via RFLINK me plait bien et j'ai commencé à regarder comment la mettre en œuvre chez moi.
Actuellement , je butte sur la fréquence d'émission. Vous avez mentionné 433.42MHz mais je ne trouve que des modules émetteurs en 433.92Mhz et des résonateurs en 433.42 (par 10 !)
Faut-il absolument faire l'échange de résonateur ou bien le récepteur de la chaudière est il tolérant et accepte l'émission en 433.92.
Qu'en pensez-vous ? que me suggerez-vous ?
Merci d'avance et encore bravo pour ces beaux résultats.
Paul
Re: Régulation d'une chaudière Frisquet ECO radio System
Super pour ton travail.
Concernant le byte10 j'ai régulièrement la valeur 0X10 avec une valeur temperature <20
Sun Oct 04 2020 12:47:28 : 20;33;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1700;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:47:58 : 20;34;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1700;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:28 : 20;35;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:28 : 20;36;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=03;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:58 : 20;37;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:58 : 20;38;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=03;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:00:26 : 20;39;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1300;S=10;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:06:59 : 20;3A;X2D;ID=----------;SWITCH=00;CMD=ON;RC=5000;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:07:29 : 20;3B;X2D;ID=----------;SWITCH=00;CMD=ON;RC=5000;S=83;EXT=Tybox;BAT=OK;
Si tu comprend la valeur CMD. = OFF uniquement quand S=80
Est ce que tu pourrais nous faire un petit lexique concret sur le byte10 et 11 :
-comment la doc interprete BIT 4 / BIT 8..
-2-pt water 52°C?? = 2 led? / C'est notre cas sur notre chaudiere?
-qu'appel tu le mode reduit et le mode confort?
-A quoi correspond le préchauffage de l'eau (chauffe de l'eau mais pas le circulateur?)
-Comment faire tourner le circulateur et arreter la chauffe (automatiquement géré quand la temperature eau atteinte?)
Concernant la gestion de l'eau chaude je pense que ce n'est pas controlé par la télécommande mais uniquement par le panneau de contrôle de la chaudière.
Sinon j'ai fais un test:
La télécommande envoi toutes les 10 min une trame pour dire qu'elle est active, et un voyant orange clignote et elle s’arrête sur la chaudiere si au bout de 15min elle n'a pas reçu d'info de la télécommande.
J'ai pensé à cela, car je me suis dit si ma domotique demande à la chaudiere de chauffer à fond puis plante, je veux etre sur qu'elle ne va pas tourner tout le we au max
En tout cas cela confirme aussi qu'avec un systeme domotique par RFlink, il faut enlever les piles de la télécommande sinon la chaudiere va avoir des info contradictoire en permanence.
Merci bien pour votre aide à tous
Concernant le byte10 j'ai régulièrement la valeur 0X10 avec une valeur temperature <20
Sun Oct 04 2020 12:47:28 : 20;33;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1700;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:47:58 : 20;34;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1700;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:28 : 20;35;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:28 : 20;36;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=03;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:58 : 20;37;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 12:57:58 : 20;38;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1b00;S=03;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:00:26 : 20;39;X2D;ID=----------;SWITCH=00;CMD=ON;RC=1300;S=10;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:06:59 : 20;3A;X2D;ID=----------;SWITCH=00;CMD=ON;RC=5000;S=83;EXT=Tybox;BAT=OK;
Sun Oct 04 2020 13:07:29 : 20;3B;X2D;ID=----------;SWITCH=00;CMD=ON;RC=5000;S=83;EXT=Tybox;BAT=OK;
Si tu comprend la valeur CMD. = OFF uniquement quand S=80
Est ce que tu pourrais nous faire un petit lexique concret sur le byte10 et 11 :
-comment la doc interprete BIT 4 / BIT 8..
-2-pt water 52°C?? = 2 led? / C'est notre cas sur notre chaudiere?
-qu'appel tu le mode reduit et le mode confort?
-A quoi correspond le préchauffage de l'eau (chauffe de l'eau mais pas le circulateur?)
-Comment faire tourner le circulateur et arreter la chauffe (automatiquement géré quand la temperature eau atteinte?)
Concernant la gestion de l'eau chaude je pense que ce n'est pas controlé par la télécommande mais uniquement par le panneau de contrôle de la chaudière.
Sinon j'ai fais un test:
La télécommande envoi toutes les 10 min une trame pour dire qu'elle est active, et un voyant orange clignote et elle s’arrête sur la chaudiere si au bout de 15min elle n'a pas reçu d'info de la télécommande.
J'ai pensé à cela, car je me suis dit si ma domotique demande à la chaudiere de chauffer à fond puis plante, je veux etre sur qu'elle ne va pas tourner tout le we au max
En tout cas cela confirme aussi qu'avec un systeme domotique par RFlink, il faut enlever les piles de la télécommande sinon la chaudiere va avoir des info contradictoire en permanence.
Merci bien pour votre aide à tous
tchuene a écrit : 29 sept. 2020, 09:01 J'ai écrit hier un programme Arduino qui récupère et traduit directement les trames ce qui simplifie grandement la tâche.
Pour le byte10 de préchauffage de l'eau, la valeur varie selon l'ordre du message (pour rappel l'ERS envoie trois messages consécutifs pour passer un ordre à la chaudière):
message1 message2 message3
hors gel : 0x84 0x84 0x04 eau chaude OFF ?
réduit : 0x80 0x80 0x00 eau chaude ECO?
confort : 0x83 0x83 0x03 eau chaude MAX?
Pour le byte11 de chauffage j'ai des valeurs légèrement différentes mais la logique reste la même:
+0.5 => 11 (déclenchement circulateur + chauffe)
+1 => 37
+1.5 => 60
+2 => 88
+2.5 => 100
Today2000: qu'est ce qui te manque pour reconstituer la trame et tester avec rflink?
Re: Régulation d'une chaudière Frisquet ECO radio System
Merci Today pour toutes ces informations. Je suis impatient de recevoir mes modules.
À bientôt
À bientôt
ZigbeeForDomoticz : 47 devices
Cle : Silicon Labs EZSP
TVBOX X96 Mini
Cle : Silicon Labs EZSP
TVBOX X96 Mini