version 0.0 ..... 07 Octobre 2018
rev 12/12/2021
rev 11/06/2023


Controle Consommation EDF et Pilotage du Chauffage

Installation de chauffage
Test fil pilote sur radiateur ATLANTIC
..........Note sur Aleas de fonctionnement
Schema et Typon de la partie commande des 4 fils pilotes
Info EDF via Appli BlueElectronics
Info EDF via Appli RapidQ (rev 10/06/2023)

Schéma provisoire partie PIC18F
Application PIC18FL46K22 gestion datas EDF et commande des Fils Pilotes
Schéma final
Circuits Imprimés
Montage et Mise en Tests
Tests avec appli RapidQ Basic (simulation)
Analyse Capture trame via MikroC avec SQA Logic Analyser
Reconnection au compteur EDF

Passage sur nouveau Compteur Linky (09/07/2019)
et mise à jour des Applis PIC18F et RapidQ
Evolution Appli RapidQ BT EDF Info (rev 10/06/2023)


annexes:

Excel pour ENVOI du programme de chauffage sur l'appli. PIC18F
RapidQ et QGridEx pour generer ce meme tableau
Integration Appli RapidQ


Récup. des datas via Excel (2019)
ou via API Google et fichier HTML (2021)



Installation de chauffage :

images/t_Implantation_chauffages.gif
Implantation des chauffages synoptique version 1 et Version 2





Les moyens de chauffage :

Cumulus de 300L 3000 Relais Relais Legrand 10A thermostat cumulus 65°C
CH#1 Radiateur 1500 fil pilote Commutateur +thermostat  
CH#2 Radiateur 1000 fil pilote Commutateur +thermostat  
CH#3 Radiateur 1000 fil pilote Commutateur +thermostat  
SDB Radiateur 600 fil pilote Commutateur +thermostat  
SDB Seche serv. 1500   Commutateur +thermostat+minuterie  
buanderie Radiateur 1000 fil pilote Commutateur +thermostat  
Chauffage au SOL 864 relais + Pilote relais Legrand 25A via thermostat Deleage


pour mémoire:




circuit interface trouvé sur le web :


Test avec radiateur ATLANTIC

Radiateur ATLANTIC F117-T 514 115 IP24 1500W 230V AC IP24
CTN= 14K @ 18+C
Resistance chauffante = 36 ohms à froid
Cable alim. : Rouge=Phase Bleu=Neutre Noir= Fil pilote

images/t_Radiateur_Atlantic_F1117-T_CI_Carte_Electronic_CH1.gifimages/t_Radiateur_Atlantic_F1117-T_Carte_Electronic_CH1.gif
Nota:
Fonctionnement erratic du thermostat
, si le fil pilote est connecté coté radiateur et en l'air ,
à l'autre bout du cable ;coté Coffret distribution electrique... Ce fil pouvant capter toute perturbation ECM ,
ou le fil de phase dans ce meme cable ? voir aussi ICI

montage de test:

deconnection radiateur du mur , tiré un fil direct depuis l'entrée pilote du radiateur, (raccordé via un sucre sur une sortie cable)
vers l'interface opto-triacs :
1 opto triac avec diode 1N4007 sens -
1 opto avec diode 1N4007 sens +
les 2 sorties de diodes sont reliées ensemble pour aller sur le fil pilote radiateur
Par commodité ,
Je recupere la phase sur une prise de courant qui , via un disjoncteur 2A, va sur la R=750 ohms
qui sert de mini protection/fusible pour aller sur les 2 entrees Triacs
La partie amont : R =120 ohms pour activer l'entree opto qui est alimenté via un module USB 5V.

avec les seuls composants que j'ai en ce moment
disjoncteur de 2A
R de 750 ohms 1/8 de W en serie avec la Phase.
2 Diodes 1N4007
1 MOC3041 ,avec R serie led=220 ohms
1MOC 3040 R serie led=220 ohms Niveau de cde 5V
8 x R 120 ohms 1/4 W
Le MOC3040 ne semble pas convenir, car moins sensible:
MOC3040 => 30mA Coupled
MOC3041=> 15 mA coupled
je teste donc avec un MOC3081 que j'ai sous la main pour remplacer le MOC3040.... OK
800V et I =15mA , le MOC3082 serait plus sensible (10mA) et MOC3083 pour 5mA
Niveau de cde 4.8V => 8x R 330

Le radiateur ATLANTIC répond bien aux ordres
Commutateur positionné sur le sigle Horloge , Thermostat sur 5
Le test Hors Gel sera à verifier plus TARD!! (il fait 20°C dehors.)
Sans MCU ,je ne peux pas encore tester les 2 modes CONFORT-1 ou CONFORT-2, car Necessite un Timing special.

Mesures avec un multimetre FI515X:
sur la sortie vers fil pilote
Opto 1 activé : je mesure en AC : 123V et en position DC : -98V................HORS GEL
Opto 2 activé : je mesure en AC 123V et en DC +100V...............................ARRET
Opto 1 et Opto 2 Actives => 230V AC.......................................................ECO
Opto 1 etOpto 2 Désactivé =>0.62V AC ..................................................CONFORT

En mode piloté; il faut donc regler le thermostat via la position Confort de sorte à avoir 20°C ..

schéma et étude du Typon de la partie commande des 4 fils pilotes :

Typon_Commande_Chauffage_8_moc_181018.pdf

images/t_Schema_cde_4_fils_pilotes_181017.gif images/t_Typon_cde_4_fils_pilotes_181017.gif
Winschem WinTypon

cde de 10 MOC3082 (Moc <1€) et 25 diodes 1N4007..chez farnell


schema (provisoire)
images/t_EDF_Cde_4_Fil_Pilotes_181017.gif


Petit souci de porté BlueTooth
Car je veux inclure aussi , l'appli EDF Info dans ce montage
En alimentant le montage en 3,3V , au lieu de 3,7V , la portée blueTooth est diminuée 12 à 15M maxi au lieu de 20M
A moins que la temperature Ambiante interfere aussi avec la portée : 20M avec T°A > 30°C alors que maintenant j'ai plutot <15°C
(dans le garage)
Je vais peut etre m'orienter par la suite sur le WIFI ou Ethernet via CPL ... ou module LORA !


Partie Info EDF via Appli BlueElectronics :
Solution simple et unilaterale: datas envoyée par PIC161847 via module BlueTootrh RN41, pas de retour (cdes)

images/t_BlueElectronics_Lenovo_capture_181024.gif


Partie Info EDF voir details ici : application PC basic RapidQ
meme hardware
2 autres solutions , avec dialogue bi-lateral possible :
traitement avec WIN XP sur EEPC : module bluetooth Maitre RN41 + converter USB/LTTL CH340G
traitement avec cle Blueototh APM sur PC ASUS WIN10 + BlueSoleil => port COM Virtuel

interlaisons entre appli RapidQ et PC , via blueTooth et usage de bluesoleil

images/t_RapidQ_Appli_BlueSoleil_Terminal_EDF_simulation_181208.gif



Récuperation et Affichage Graphique des données :
Données récupérées chaque jour , à minuit , formant 2 fichiers journaliers , stockés dans un dossier DATAS\ du EEPC:
1 fichier sur 24 couples de mesures : delta KWH et Temperature Amb.Garage ( moyenne )
1 fichier sur 1440 couples de mesures ( Amperes et Temperature Amb Garage)

exemple de fichier sur 24H00, recupére delta KWH et Temperature Moyenne, chaque heure
EdfInfo_KWH_TemP_1221.txt

Affichage des données récupérées soit sur Excel ( lecture fichier en mode CSV, separateur=";" => Grafique .)
il suffit de copier /coller les donneés à partir de A1
Nota : creation du fichier ..juste avant Minuit , concerne donc le 21/12/2018

images/t_Edfinfo_24H_via_Excel.gif
Datas brutes du fichier CSV (ou txt) graphique excel issu des donnees brutes (RAW)


Fichier Journalier , enregistrant chaque minute, les amperes et la température
nota : les 1440 mesures Ampere et Temperature sont les mesures moyennées pendant la minute en cours. ( ~42mesures/mn)
exemple : EdfInfo_Amps_Temp_0925.txt

Le Fichier Excel : EdfInfo_Data_2020_10.xls
onglet : EdfInfo_Amps_Temp_2020

Graphe Excel direct avec fchier Raw datas:



et si on a pas EXCEL ou tableur equivalent

via API Google et fichier HTML
exemple 1 avec : Edf_24H_Chart.html

images/t_Edfinfo_24H_via_HTML.gif
exemple sur 24H
Datas Encadrées et incorporées dans le fichier de base HTML resultat avec API Google


Exemple:
copier le fichier texte datas recupéré via EDFinfo RapidQ sur Datas\
ex: EdfInfo_Jour_Amps_Temp_20230611.txt
l'importer au format *.CSV dans une feuille excel ; avec separateur= ;

ouvrir une copie existante de fichier excel traitement datas EDFinfo
et renomer le fichier en
EDF_Temp_2023_0611.xls

selectionner toutes les datas du fichier *.CSV et les coller en
en B3:C1443 ..puis lancer la Mise en forme (via le "Bouton Mise en Forme")
via l'usage d'une tres simple Macro VBA, activée par le Bouton
qui utilise la case F4 comme réference de Formattage
ATTENTION, la syntaxe doit etre RIGOUREUSEMENT respectée
la cellule F4 contient une formule qui etablit et APPLIQUE le bon formattage depuis la cellue B4.
La formule de formatage des donnees brutes
=SI(A4>0;A4&"',"&CTXT(B4;2) &","&CTXT(C4;2) &"],";"")
Nota: La colone A4 contient déja le debut de format de l'index (Axe X du graphique)
( de ...1 à 1440) ... on pourrait mettre aussi l'Heure:Minute à la place 00:00
En fin de macro, la zone F2..F1443 est selectionnée ..



En zone Vert : les datas (Raw) issues du fichier csv EdfInfo_Amps_Temp_0925.txt
En Jaune : le résultat du formattage des données .. à copier dans le fichier HTML
cette zone nommée de données est plus accessible via atteindre Mes_datas

...le graphe excel est mis à jour

Créer un fichier html vierge ( avec Notepad++)

Inserer :

L' ENTETE (Tail )



et le SUFFIXE (Queue)



Mettre la bonne date .!..

et entre les deux, on inserer le résultat du formattage

si la selection de la zone colonne F3:F1443 a disparu...
les données contenues dans la colonne F3:F1443 sont acccessible via
Edition… Atteindre ... "Mes_Datas"

les copier ,coller dans le fichier html , entre la partie debut : TAIL et la fin :QUEUE
Ne pas oublier ([ au debut des datas , et ]); à la fin des datas
sauver le fichier html

La Macro :
Sub Mise_en_forme()
Range("B4:C1443").Select
Selection.NumberFormat = "0.00"

Range("F4").Select
Selection.Copy
Range("F5:F1443").Select
ActiveSheet.Paste
Range("F4:F1443").Select
' pour coier dans html file
' Range("F1445").Select
End Sub


le resultat :
En lancant le fichier Html resultant ( EDF_infos_2020_Grafique.html) avec Goggle chrome ou autre ..

images/t_Google_Chart_1440mn.gif

exmpel 2 : 11/06/2023

Nota:
Le PIC pourait tres bien génerer completement le fichier au format HTML ,directement utilisable !
au lieu de stocker en CSV .. mais l'ideal serait de communiquer en WIFI au lieu de BlueTooth .
ou via le module LANTRONIX pouvant herberger une page HTML ( gerée par le PIC) , en liaison EThernet
vers la Freexbox pour acces via INTERNET.
Actuellement .. à voir plutot avec un ESP8266 ou ESP32




La Programmation HORAIRE du chauffage

A chaque heure , le programmateur defini quel element sera mis en chauffe et sous quel mode, 1 parmi 4, choix donné par le fil pilote.
Excel est une solution semi grafique permettant aisément de faire cette programmation, visuelle, en utilisant la 1ere lettre de la fonction fil Pilote.
Lien Details sur Excel et VBA

Hors cumulus qui , sans fil pilote , utilise Marche et Stop

Le programme VBA associé generant le fichier txt ( format CSV) qui sera envoyé au PIC pour representer la programmation
Journaliere des 4 chauffages avec fil Pilote + le chauffage CUMMULS via relais.
Apres etre mal parti sur la façon de gerer le tableau de programmation hebdomadaire non tributaire du jour de la semaine.
J'étais parti sur la gestion du tableau en 5 lignes de 24 bits ( 2 bits pour chaque heure et donc 2x5 =10 mots de 32 bits
Mais s'est avéré trop complexe à gerer coté appli MikroC .
J'ai donc changé de principe et dapter une gestion colonne par colonne , 1 pour chaque heure et 2 bits par element chauffant (rangée)
Colonne Codée sur un mot de 16 bits : 8 bits pour la commande de chauffage des fils pilotes qui est directeement appliquée
et 1 bit pour le relais cumulus .

On a donc :
radiateur CH1 = 0, 1, 2,ou 3
Radiateur CH3 = (0,1,2,3)*2
Radiateur SDB = (0,1,2,3)*4
Chauffage sol Salon = (0,1,2,3)*8
Cumuls Relais : (0,1)*256
la colonne pouvant prendre la valeur 0 à 511 maximum

L'utilisateur rempli le tableau avec des lettres (Mnémonique E pour ECO, H pour HORS gel ..etc ..) et evite de manipuler
des combinaisons de 2 bits

Une fois le tableau excel rempli, une macro ( en VBA) se charge d'etablir la relation 2 bits de commandes en fonction du radiateur commandé.
calcule et affiche en dessous de chaque colonne , le poids des bits à activer ,pour chaque tranche d'heure.
L'ensemble est recopié ausi sur la droite du tableau pour voir ces valeurs en Hexadecimal et en Binaire
Les valeurs sont toutes formatée sosu 3 digits Ascii (ex: 3 -> 003)
De meme la ligne de commande ou fichier representant la programmation de chauffe est recopiée
sous le tableau

Via bluetooth et un PC ,ou via une application android terminal, il est facile d'envoyer ce fichier qui ne comporte qu'une ligne de 24 valeurs .
Ces valeurs, séparées par un ";" , constitue un fichier au format CSV, renomé * text ,
qui permettra ensuite , de les envoyer à l'application PIC , via directement l'UART ou via BlueTooth Terminal.

L'Application PIC decodera les couples de 3 caracetres ascii representant la valeur decimale de consigne de chauffage
pour chaque élement de chauffage, ces valeurs isolées, seront dans la foulée, stockées dans l'EEPROM du PIC .
EEPROM PIC relue à chaque demarrage du PIC. ou sur demande.

Planning Horaire
at 0 Cde = 511 Cumulus = 1 Radiateurs = 11111111
at 1 Cde = 170 Cumulus = 0 Radiateurs = 10101010
at 2 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 3 Cde = 491 Cumulus = 1 Radiateurs = 11101011
at 4 Cde = 491 Cumulus = 1 Radiateurs = 11101011
at 5 Cde = 507 Cumulus = 1 Radiateurs = 11111011
at 6 Cde = 319 Cumulus = 1 Radiateurs = 00111111
at 7 Cde = 3 Cumulus = 0 Radiateurs = 00000011
at 8 Cde = 3 Cumulus = 0 Radiateurs = 00000011
at 9 Cde = 87 Cumulus = 0 Radiateurs = 01010111
at 10 Cde = 501 Cumulus = 1 Radiateurs = 11110101
at 11 Cde = 507 Cumulus = 1 Radiateurs = 11111011
at 12 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 13 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 14 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 15 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 16 Cde = 234 Cumulus = 0 Radiateurs = 11101010
at 17 Cde = 298 Cumulus = 1 Radiateurs = 00101010
at 18 Cde = 319 Cumulus = 1 Radiateurs = 00111111
at 19 Cde = 60 Cumulus = 0 Radiateurs = 00111100
at 20 Cde = 63 Cumulus = 0 Radiateurs = 00111111
at 21 Cde = 32 Cumulus = 0 Radiateurs = 00100000
at 22 Cde = 235 Cumulus = 0 Radiateurs = 11101011
at 23 Cde = 490 Cumulus = 1 Radiateurs = 11101010


exmple de message au franchissement d'heure , modification de la consigne des fils pilotes Radiateurs :
*C050222059498*;*W00052239841*;*K 1154.841*;*R00021*;*A00002*,*G00002,00021*;
01-01-19 18:00:01 Radiateur = 053 000110101
*C050222059498*;*W00052239841*;*K 1154.841*;*R00021*;*A00003*,*G00003,00021*;


Application PIC

rev 03/01/2019

Rajout Mesure temp.exterieur via un capteur DS18B20 OWS et LM35DZ pour Tamb Interieure ( ne descent pas en dessous de 0°C!)
à suivre: stockage local ..EEPROM 32K

Projet zipé : 18LF46K22_EDF_Info_et_Controle_Chauffage_190104.zip
Source MC : 18LF46K22_EDF_Info_et_Controle_Chauffage_RN41_190104.c

Au lancement du programme, affichage presentation et divers infos

images/t_EDF_Progr_Controle_Infos_190104.gif


Modif. Appli RapidQ pour prise en compte Programmation Horaire
Rajout de la commande des fils pilotes en fonction de la table de programmation Horaire
émise depuis l'Appli.Excel
A chaque heure correspond un Mot de 16 bits :
LSB du mot de 16 bits => 8 bits décomposés en 4 couples de 2 bits pour les 4 états des 4 fils Pilotes
et le 1er bit MSB ce mot, => 0, ou 256 pour commander le relais cumulus
Le LSB de ce Mot est envoyé sur le PCF8754 qui donne 8 sorties logiques (8 etats)
Coté PIC, si on reçoit l'entete STX CHAUFF .. on recupere toutes les data séparées par ";" jusqu'au caractere EOT
et on range ces valeurs en EEPROM PIC
A chaque demarrage PIC, on recupere cette table de chauffage.
En fonction de l'Heure en cours , lue sur la RTC 3231, on choisit la consigne à appliquer.



Modification Excel pour rajout ENVOI des datas sur le PIC , via liaison COM BlueTooth ou direct RS232
.... reprise d'un test fait en 2013 avec la DLL RSPAI.dll
Utilisation de RSCOM.DLL (déja utilisée avec RapidQ BASIC )
La config COM est définie dans un TextEditBox , en dur, mais modifiable
L'envoi vers le PIC , n'est validé que si on a rafraichit le fichier ( ligne) de programmation (ce qui rend Enabled le BP)
Ensuite, l'appui sur le Bouton Envoi vers PIC, recupere la ligne de texte resultante en B21 et l'envoi sur la COM, byte par Byte
ce qui permet d'envoyer les caracteres non ascii STX et ETX

images/t_EDF_Progr_Controle_Pilote_via_EXCEL_UART_190104.gif

La partie ENVOI vers PIC a été rajoutée dans le module1.bas principal
..est lancée sur l'evenement Appui sur BP Envoi
trame contenant les 24 Mots de commande.
CHAUFF;511;170;234;491;491;507;319;003;003;087;501;507;234;234;234;234;234;298;319;060;063;032;235;490;

Sub SendData(ComPort)
Dim EnvoiString As String, ErrorString As String
Dim succ As Integer, I, J, dummy As Integer
Dim b$
Dim cx As Byte
Dim k, l, n As Integer


Set s1 = Feuil11
s1.Activate 'activate data sheet
Range("B21").Select
EnvoiString = ActiveCell.value
'Debug.Print " "; EnvoiString
succ = 0
succ = OPENCOM(ComPort) 'open serial communication port (DTR=1, RTS=0)

If (succ = 0) Then
dummy = MsgBox("RS232 connection failed: " & ComPort, vbCritical, "RSCOM.dll")

Else
'TIMEOUTS 1500
'TIMEINIT
n = OUTBUFFER
'reset time
k = 1
l = Len(EnvoiString)
Do
cx = Asc(Mid$(EnvoiString, k, 1))
Debug.Print cx
SENDBYTE cx
DoEvents
k = k + 1
Loop Until k > l
'************** End Outer Loop *************
CLOSECOM
dummy = MsgBox("Fin d'envoi" + Chr$(13) + Str$(l) + " bytes", vbOK, "")

End If ' succes=0
' s1.Button2_Envoi_UART.Enabled = False
End Sub

(Excel 97 et WIN10)
fichier Excel : EDF_Progr_Controle_Pilotes_via_UART_190104.xls
fichier source VBA : EDF_Cde_Fils_Pilots_via_UART_190104.bas
il n'y a aucun controle de la qualité de la liaison, ou verif de checksum .
La liaison COM est traitée ici de façon unidirectinnelle -> PC -> PIC
Je sais ..on pourrait mieux faire, mais pour moi, c'est suffisant




Tableau Programmation horaire fil pilotes en RapidQ
avec QGridEx sous RapidQ Basic



Le meme principe qu'avec Excel
Colonne de 1 à 24 pour les 24 Heures => corrigé en 0 à 23
Lettre Mnemonique pour codage fil pilote :

Commande   bit1 bit 0 poids
cumulus M

1

256
  S

0

0

Econom. E 1 1 64
Hors-Gel . H 1 0 16
Arret A 0 1 4
Confort C 0 0 1


regroupant l'etat de 2 bits ( gestion de 4 ordres seulement)
+ cas particulier Cumulus M=Marche S=Stop
Le numero de rangée determine le poids des 2 bits utilisés
Le codage des 4 radiateurs est donc compris entre 0x00 et 0xFF
Le cumulus 0x0xx ou 0x1xx
On peut modifier les cases , puis ensuite ,
appui sur Calcul => rafraichit tous les ca lculs de toutt le tableau
resultat stocké dans la rangee "Codage"
.. Rangée qui sera envoyée ensuite au PIC
La configuration peut etre sauvée dans un fichie r*.tab ou alors, rappelée.
fichier original modifié : My_QGridEx_190105.inc
pour adapter le nombre de lignes et colonnes , et libellés rangees
fichier de config : datas\ChauffProgrData.tab
executable : Test_Tableau_Consigne_fils_Pilotes_190106.exe
source RapidQ: Test_Tableau_Consigne_fils_Pilotes_190106.rqw

à suivre : integration de ce module dans l'appli de base
voir si on peut "colorer " les cases en fonction du code Fil Pilote .


Integration Appli RapidQ

Rappel :
Au lancement de l'Application RapidQ Basic, verification si fichier $$$$$$$.$$ est present ?
si oui, on stope .. pour éviter plusieurs instances de ce programme => effacer ce fichier
au lancement , on lit le fichier EDF_BT.INI qui contient :
*La position de la fenetre windows : Top,Left
*Les parametres de la COM vitesse,parite,stiop,Numero de PORT-1
*La valeur du compteur EDF lors de la derniere facture
*Le cout du KWH en euro
Un Messagebox affiche les données ainsi recupérées
Si la COM recoit bien la Trame du PIC , évolution Grafique Deroulant Active montrant l' Amperage..

Les noms de fichiers de sauvegarde des données sont ecrits en dur dans le programme, mais ont comme suffixe
soit le numero du jour de l'année, soit la date reduite , au format : MMJJ
Ce sont des fichiers *.txt , en ascii, valeurs delimitées par ";" (compatibles CSV excel) et stockes dans le directory \Datas
L'application ne tolere que des numeros de PORT COM < 10
Sur cette COM, l'appli recoit la trame emise par le PIC18LF46K22 , via blueTooth ou cordon Prolific RS232 TTL/USB
pour recuperer les infos EDF ( Amperes, Wattheures), temp exterieur via capteur DS18B20
pour recalculer la conso Horaire en KW/H et le cout en Euros .
Des fichiers de stockages datas sont génerés /
1 pour les valeurs journalieres : Amperes et Temp.Ext par jour (2x1440 datas)
1 pour la conso journaliere KWH et Temp ext moyenne pour chaque Heure ( 2x 24 valeurs)
1 pour la conso Annuelle KWH et temp ext moyenne par jour (366 couple de valeurs)
1 fichier Ascii , est utilisé aussi pour generer les consignes horaires pour les fils pilote ( 24H -> 24 mots ->consignes x 4 fils pilotes + cumulus)

quelques explications:
*Partager les ressouces avec plusieurs form ?
Pour l'instant, je retourne à ma Form principale pour finaliser ma saisie de données avec la form contenant le Grid Data
afin de pouvoir envoyer ces datas , via le Port COM3 -> vers le PIC UART1 RX( qui les stockera ensuite en eeprom )
et faire une sauvegarde sur un fichier de ces valeurs de consignes sur le PC.

Je me sers de 3 terminaux pour faire mes tests, en simulation
COM13 VBRAY Terminal + Script ->Simule, envoie une trame EDF typique sur le PIC UART2 1200bs
COM3 pour liaison PIC UART1 19200 -> PC Applicatio RapidQ pour recuperer les infos Trame envoyée par le PIC : EDF + Autres
gerer les fichiers de stockage datas, et aussi pour pouvoir envoyer les consignes fils pilotes dans le PIC.
et COM2 que je peux mettre en espion, soit sur l'envoit TX UART1 PIC , soit sur l'envoi PC vers RX UART1

images/t_Test_programme_EDF_progr_190112.gif



Sur la forme principale "EDF_BT" il y a une case à cocher qui me permet de sortir de cette Form Principale , pour ouvrir la form "Prog Radiateurs Fils Pilote"
contenant le QGrid data , (qui permet la creation, modif ,sauvegarde ou Chargement de fichier , au format *.tab)
je charge le fichier de config ( car déja prélablement élaboré ), D:\RapidQ\_BT_Edfinfo\Datas\ChauffProgrData.tab
configuration Symbolique ( avec lettres E,H,C,A) (comme avec mon tableau excel!)
et appui sur touche Calculs ..
=> explore lignes et colonne pour en déduire le poids binaire de la consigne ( 16 bits )
Le PIC ré-aiguille les 8 bits pour 4 fils pilotes et 1 bit pour le relais culmulus.
Exit de cette form =>retour à la Form principale "EDF_BT"
Stockage des consignes dans un fichier
et Envoi des consignes dans le PIC
puis, poursuite normale du programme ..

Rajout Icone BMP ETAT des commandes de chauffe


usage de Qimage pour afficher les icones au format BMP
en fonction de la sequence de commande des fils pilotes, envoyé dans chaque trame du PIC
cette sequence peut evoluer à chaqu Heure en fonction du tableau de programmation
source RapidQ Basic de ce test : TestQimage.rqw

rev 20-01-2019
images/t_EDFinfo_RapidQ_appli_190120.gif
C'est bien le PIC qui renvoi l'info codage commande de chauffe ,
en fonction du tableau de commande envoyé par l'appli RapidQ et de l'heure interne PIC,
fournie par la RTC DS3231 .
Cette commande (5 lettres) est affichée sous les icones
le cumulus a un traitement particulier , puisque cde via relais ,
la 1ere lettre M pour Marche (vert) ou S pour Arret (Noir) (S car le A est deja reservé pour fil Pilote !)
les 4 modes standard de Cde fils pilotes :
C=Confort (Rouge) , E=Eco (Orange) , H=Hors-Gel (Bleu) , A=Arret (Blanc)

MAJ appli RapidQ coté PC :
fichir Init COM : EDF_BT.ini
fichier config fil pilotes pour QGrid Datas : ChauffProgrData.tab
derniere version Source basic : BT_edfinfo_et_Tableau_Consigne_190120.rqw
fichier consigne = envoi au PIC : Consigne_Chauff_Pilotes_0112.txt
simulation trame EDF 1200,7,E,1 avec VBRAY , pour le PIC18F : teleinfo_SMG_190120.tsc

exemples de fichiers journalier de datas genérés:
Amperes et Temperature à chaque minute: EdfInfo_Amps_Temp_111.txt
Kwh et temperature moyenne à chaque Heure : EdfInfo_KWH_TemP_111.txt



Evolution Appli RapidQ
10/06/2023
L'info AMPERE issue de la trame EDF (Linky) est une valeur entiere et ne permet pas de suivre les tres basses consommations..
car indique donc 0 , si < 1A ou 1 si la conso est > 1A mais < 2A
En été ,il n'est donc pas rare de voir un graphe AMPERE plat à 0 , ou à 1 Amp
C'est pourquoi j'ai rajouté une info issue du Delta W par minute
en calculant le courant : Delta W mesuré par minute *60 / 230 => Amps_Now = Intensité moyenne sur une minute
Je neglige le parametre USecteur , figé ici à 230V .
La resolution absolue est de environ 0,25A , mais via le calcul sur un nombre precis de W .
Nota : j'aurais pu prendre un delta de 5 Minutes pour ameliorer la resolution !
.... voir 10 Mn.. voir chaque heure ... bref c'est mon choix (du moment !)
Modif de la Form ,presentation pour afficher les 2 valeurs Amp Trame et Amp calculé via Delta Watt




Modif. Programme pour le calcul AMps_Now:




images/t_EDF_info_BT_runing_with_Linky_2023-0610_Win10.gif


Mesures

resolution issue de la Trame EDF = 1 A valeur entiere ,pas de decimale indique 0 si < 1A !
resolution Delta W ~ 0,25A (mais on suppose Usecteur = Constante=230V AC)
avec :
TV Salon Sony + PC portable ASUS + 4 horloges PIC + frigo + VMC + + PC bureau + 2 ecrans + EDF info BlueTooth(<2,5W) + ??
10/06/2023 13:06:00 1A 1.043
10/06/2023 13:07:00 1A 1.043
10/06/2023 13:08:00 1A 1.304 + lampe Buro Ikea (12W)
10/06/2023 13:09:00 1A 1.304
10/06/2023 13:10:00 1A 1.304 + Horloge 12 max (<5W)
10/06/2023 13:11:00 1A 1.304
10/06/2023 13:11:00 1A 1.304
10/06/2023 13:11:00 1A 1.304 + eclairage ch3 (60W)
10/06/2023 13:12:00 1A 1.565
10/06/2023 13:13:00 1A 1.565

J'attends d'etre en situation 0 Amps , pour vérifier mon minimum de lecture consommation possible
et éventuellement de debrancher certains élements pour VOIR.. .

Resultat obtenu le lendemain :
exemple 2 :
avec version 2023 et mesure de Courant issue de delta Watt par minute
nota: recup partielle de la journée du 11/06/2023
fichier Raw data ,recupéré via appli EDF_info RapideQ ,liée au PIC18F26K42 via bluetooth : EdfInfo_Jour_Amps_Temp_20230611.txt
Traitement des données via : EDF_Temp_2023_0611.xls transformé en html
fichier resultat : EdfInfo_Jour_Amps_Temp_20230611.html

images/t_EdfInfo_Jour_Amps_Temp_20230611.html.gif
Nota : avec Ampere Linky = 0 ! sur cette periode de mesure
En service:
FreeBox, VMW, Frigo-congel,4 horloges PIC, PC portable EEpc , montage PIC EDFinfo , Horloge four, base telephone fixe .. et ???
(Cumulus Hors service sur cette periode)

mesure à chaque changement de minute ...

Amps_Now, Temperature °C
0.78;23.12
0.00;23.12 ..............<-- valeur < à 0,26A ?
0.52;23.12
0.52;23.12
0.26;23.12........... <-- minima
0.78;23.12
0.52;23.12
0.78;23.12
1.04;23.12
0.78;23.12
0.52;23.10
0.78;23.08
1.04;23.07
0.78;23.06
0.52;23.06
0.78;23.06
1.04;23.06
0.52;23.06
0.26;23.06
0.26;23.06
0.78;23.06

On voit bien que la resolution n'est que de 0,26A ( 1W*60/230)

Mais pas question de débrancher la BOX chaque soir.......car c'est un coup pour la fusiller plus rapidement !
.. et eventuellement prevoir de changer la gamme Delta Watt sur 10 min !

Les "Linky" n'ont pas été prevu pour les petites économies .. vu le tarif actuel du KW/H ! ..à quoi bon !
D'autant qu'avec 20% de TVA , qui c'est qui raboule ?

Pour faire des économies à notre niveau , et rapidement .. TVA à 5,5% ! et là ,pas besoin de couper les amperes en 4 .

Probable évolutions suivant le tarif EDF à venir....
car mes fils pilotes ne sont toujours pas raccordés , et les modules sans fils sont trop chers ...
quoique ...on finit par s'habituer à 16 ou 17°C la nuit, en hiver.

SOFTWARE :
ok sous win10 !
BT_edfinfo_18F46k22_et_Tableau_Consigne_2023-06_Win10.html
BT_edfinfo_18F46k22_et_Tableau_Consigne_2023-06_Win10.rqw
BT_edfinfo_18F46k22_et_Tableau_Consigne_2023-06_Win10.exe
My_QGridEx_2023-06.inc
version pour portable EePC BT_edfinfo_18F46k22_et_Tableau_Consigne_2023-06_EEPC.exe



MAJ appli MikroC coté PIC :
rajout sur affichage alterné LCD , de la consigne de chauffage Horaire , sous forme Mnemonique .
Envoi des consignes sous forme Mnemonique dans la Trame vers appli externe (RapidQ ou autre)

chargeur : 18LF46K22_EDF_Info_et_Controle_Chauffage_2019.hex
config : 18LF46K22_EDF_Info_et_Controle_Chauffage_2019.cfg



MAJ Schéma

rev 01/03/2019
images/t_EDFinfo_18LF46K22_RN41_LCD2x16_Cde_Fils_Pilotes_190307.gif

EDFinfo_18LF46K22_RN41_LCD2x16_Cde_Fils_Pilotes_190301.DSN
Bill Of Materials For EDF Info_190208.HTMl


Circuits imprimés

étude avec sprint layout 6.0
Cicuits Réalisés par JCL PCB en 5 jours..

Main PIC18F et Interface fils pilotes
revision Avril 2019
correctif écartement rangées de pin RN41
EDF PIC18F_Main_190426.lay6
EDF Interface_Fils_Pilotes_190426.lay6

images/t_EDF_PIC18F_Main_190426_Photo.gif images/t_EDF_Interface_Fils_Pilotes_190426_Photo.gif
carte PIC18F EDF Main (Layout Photo) carte interface fils pilotes (Layout Photo)


nota : je peux vous fournir ces 2 circuits imprimés pour 15€ (port compris) me contacter par mail..

images/t_EDF PIC18F_Main_190426_all.gif images/t_EDF_Interface_Fils_Pilotes_190426_All.gif
carte PIC18F EDF Main (couches S1,C2,O) carte Interface 8 fuils pilotes (couches S1,C2,O)


Montage des composants

images/t_EDF_Controle_Main_CPU_Board_populated_190428.gif images/t_EDF_Controle_Interface_Board_populated_190428.gif
Main MCU PI18F46K22 interface 4 fils pilots





Mise En TEST :

images/t_EDF_Controle_in_Test_190430.gif


Problemes rencontrés :

Probleme avec CHG340 et RN41-DB49
USB n'est plus reconnu ..... because Windows Update driver !
rechargement du driver ( en mode administrateur!)
D:\Exe_zips_\_Drivers_USB_Serial_CH340G\CH34x_Install_Windows_v3_4.exe
Avec USBDEVIEW:
Periph_USB_CH340G_RN41-DB49_COM16.html
lancement TERATERM COM16 19200 .. OK


pas de laison BlueTooth :

suite Erreur , croisement des 2 modules RN41
Obligation de reconfigurer le RN41-EEEC monté (soudé!) sur le circuit imprimé MCU
j'enleve le MCU 18F, pour avoir acces aux pin RC6 (Tx) et RC7(Rx)
=> connection directe Prolific Cable USB/LTTL vers le RN41-EEEC

serial port : COM3 19200,8,N,1
BTA=00066665EEEC
BTName=RN41-EEEC

1 noir ---Gnd pin carte
2 bleu N.C.
3 violet --+VCC pin carte
4 Vert --- sur R entree TX
5 blanc --sur pin RC7 RX support MCU
6 jaune N.C.

ver 6.15 04/26/2013
(c) Roving Networks
***Settings***
BTA=00066665EEEC
BTName=RN41-EEEC
Baudrt=19.2
Mode =Mstr
Authen=0
PinCod=1234
Bonded=1
Rem=00066607DB49

modif du mode :passage RN41-EEEC en mode ESCLAVE

**Settings***
BTA=00066665EEEC
BTName=RN41-EEEC
Baudrt=19.2
Mode =Slav
Authen=0
PinCod=1234
Bonded=1
Rem=00066607DB49

pour memoriser les changement :
R,1
Reboot!
18F_REBOOT

le module RN41-DB49 est lui, reconfiguré en MASTER.

Test liaison blueTooth:
avec
RN41-EEEC Slave sur carte PIC EDF
RN41-DB48 Master sur mini breadbard avec CH340G USB/LTTL

Connecté via COM16 19200,8,N,1 sur TeraTerm PC terminal
Activation via l'envoi de commandes cote Mater PC Teraterm 1
$$$ --> CMD
Version -->
Ver 4.77 05/12/09
(c) Roving Networks

C <enter> <---- commande connection
TRYING

Problemo EDFinfo OK ....... on est connecté, mais ll'info trame EDF n'est pas racordée

Activation /Simulation envoi trame EDF info
Le montage n'etant pas directement lié au compteur EDF situé dans le garage,
lUsage du Terminal VBRAY relié à pins UART2 MCU de la carte MCU
via cordon Prolific USB/TTL COM14 :1200,7,E,1
lancement script
program teleinfo;
18F46K22_EDFinfo_BT_190430.tsc

On voit alors sur le Terminal TeraTerm ( recoit la trame + complement emise par UART1 du PIC)
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00000*;*G00000*;*T102.30*;*H=10*;*R=SEAAE*;

Suite à la programmation de ce PIC18F, l'EEPROM n'est pas à jour,
donc ENVOI du Profil consignes de CHAUF, via le terminal TearTermF



C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00006*;*G00006*;*T102.30*;*H=10*;*R=SEAAE*;
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00007*;*G00007*;*T102.30*;*H=10*;*R=SEAAE*;

Fichier Progr.: CHAUFF;511;170;234;491;491;507;319;003;003;087;501;507;234;234;234;234;234;298;319;060;063;032;235;490;
Relecture Prog. chauffe EEPROM :
CHAUFF 511 170 234 491 491 507 319 003 003 087 501 507 234 234 234 234 234 298 319 060 063 032 235 490
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00003*;*G00003*;*T102.30*;*H=10*;*R=MEEAA*;
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00004*;*G00004*;*T102.30*;*H=10*;*R=MEEAA*;

profil stocké dans l'eeprom !

Verification , en coupant /remettant l'alimenation ,reset MCU
..car lecture Eeeprom en debut de programme



ATTENTION : si usage Pickit3 , DECOCHER EEPROM


Test commande HELP
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00001*;*G00001*;*T102.30*;*H=10*;*R=SEAAE*;

Help : Help<CR>
RTC Update: U;14;05;18;15;36;02#<CR>
14 Mai 2018 02(Lundi) 15H36
READ_PRG = Affichage Prog. de Chauff (stocké en EEPROM)
CHAUFF= Recup fichier Ascii Progr. CHAUFF EXCEL -> EEPROM
OFFSET correction temperature LM35DZ
OFS=-30 (limites -99 à 99)


Test MAJ RTC DS3231
si RE0 est forcée à 1, forcage RTC à la date 01/05/2018 et 15H00
il faut donc enlever ce strap,apres la toute premiere mise sous tension ,pour recuperer par la suite
l'heure courante.
On peut mettre à jour la RTC soit avec un terminal : cde #U:30;04;19;14;45;02;& pour le 30 avril 2019 14H45 Mardi
soit ,simplement ,avec l'appil basic RapidQ , clicker sur la touche MAJ RTC

*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00000*;*G00000*;*T102.30*;*H=15*;*R=SEEEE*;
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00001*;*G00001*;*T102.30*;*H=15*;*R=SEEEE*;
RTC Update : U;29;04;19;20;28;01;#

Ecriture dans DS3231... OK

*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00002*;*G00002*;*T102.30*;*H=20*;*R=SAHAA*;
*C050222059498*;*W00052085000*;*K1000.000*;*E-0.06°C *;*A00003*;*G00003*;*T102.30*;*H=20*;*R=SAHAA*;
le changement se voit soit sur l'appli basic RapidQ , et/ou sur le terminal UART2


Test avec Analyseur Logic

Problematique : Recuperation que d'une trame EDF sur 2
RapidQ
TimeOut reception
*C050222059498*;*W00056479294*;*K1365.294*;*E 14.87*;*A00012*;*G00012*;*T 0.01*;*H=1707*;*R=MCHHH*;
TimeOut reception
*C050222059498*;*W00056479296*;*K1365.296*;*E 14.87*;*A00012*;*G00012*;*T 0.01*;*H=1707*;*R=MCHHH*;
TimeOut reception
*C050222059498*;*W00056479298*;*K1365.298*;*E 14.87*;*A00012*;*G00012*;*T 0.01*;*H=1707*;*R=MCHHH*;


malgré l'usage d'un double buffering : On rempli un buffer , pendant qu'on analyse l'autre precedement rempli..
Pin SQA =RD5 output , pour synchro de la capture
la trame EDF de 140 chars , à 1200 bauds, dure 1.168 sec , 8.32mS /char
On attend de detecter ETX (End Of Text) pour signaler "Trame complete reçue" , mais vu qu'il n'y a AUCUN delai de repos entre les trames
si STX (Start Of Text) survient tout de suite , il est raté une fois sur 2 , car, entre temps , il faut transferer le contenu reçu dans TRAME -> vers le Buffer_Analyse
qui sert à decortiquer et ranger les datas , dans la trame finale , qui sera emise sur UART1 (-> blueTooth) vers l'appli PC RapidQ.
nota: Le transfert trame -> Buffer_Analyse dure 8,04mS !

images/t_Rater_1_trame_sur_2_a_1_charactere_pres.gif


Une piste à creuser :
* Commutation alternée de pointeur : un pointeur commun commuté sur buffer reception en cours, puis sur reception terminee
eviterait la necessiter de copier le contenu de l'un ,dans l'autre !


Il suffitrait d'un seul char <CR> collé derriere le ETX , donc entre ETX et STX suivant
pour qu'on puisse capturer CHAQUE TRAME complete aisément., car on dispose alors de 8,32ms supplementaires.

Config Analyser IKALOGIC SQ50:
Trame_EDF_Transition_ETX_STX_190511.scana


transition ETX / STX 3 trames EDF (simulée)


Lorsqu'on a detecté le carcatere ETX et donc armé le Flag _Trame_OK=1
On dispose d'un gap temporel de 1,16 secondes ( 1168mS) pour realiser le traitement, mais
il faut tenir compte des interruptions de Timer1 (toutes les 25ms) => 1168 ms / 25 ms => ~ 46
Ces 46 interruptions vont prendre 46* duree traitement Interrupt Timer1 soit 46 * X1µS
Des 140 interruptions de RX UART2 ! soit 140 * X2µS
Lecture de la RTC DS3231
De meme , la lecture du capteur OWS, necessite un delai de 500mS ( maxima 750mS!) pour acquerir la mesure de temperature 12 bits de resolution.
L'affichage LCD necessite aussi des delais de l'ordre de 25mS x 2 ( 2 lignes) => >50mS
Le décodage et remplissage de la trame finale sur UART1-> X3 µS
L'envoi des 102 cars de la trame UART1 à 19200 bds => 102/1920=> 0.053 sec => 53mS
On a donc Largement le temps ..le Timeout n'apparait pas du tout .voir log
My_teraterm_190512.log
L'envoi de commande via UART1 , passe tres facilement
Ce qui prouve qu'un char supplementaire apporterait une bonne disponibilté temporelle .
mais ce n'est pas possible dans le monde Reel, on ne peut pas modifier la trame fournie par EDF.



Modif programme MikroC:
pour capter les infos à CHAQUE trame EDF

contre mesure appliquée 12/05/2019
* Ou astuce utilisée dans ma version C18 de 2014 , ne prendre les infos de la trame EDF qu'à partir du 45em char ,puis 80em
simili machine d'etat , pour isoler les infos les Watt-Heures et Amperes seulement,
ce qui laisse un gap temporel de (10 char * 8,3ms =83 ms ) avant de recevoir ETX
modif interruption RX UART2 :




Resultat:, en connection Réelle EDF ..
*C050222059498*;*W00056481748*;*K1367.748*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481748*;*K1367.748*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481748*;*K1367.748*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481748*;*K1367.748*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481748*;*K1367.748*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481749*;*K1367.749*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;
*C050222059498*;*W00056481749*;*K1367.749*;*E 15.43*;*A00003*;*G00003*;*T 0.01*;*H=1958*;*R=SCEEC*;



Affichage alterné sur LCD 2119 (en I2C):







30-04-2019
Application RapidQ Basic

Lancement avec COM16 active sur RN41-DB49 Maitre
RIEN ne se passe , pas de datas ???
Rappel important : RAQPIDQ ne sait pas traiter les numeros de ports COM >9
parametre COM16
-----Proprietes de USB-SERIAL CH340 COM16
---------parametres avancés pour COM16
-------------Numero de PORT : COM16 renomé COM2 (disponible)

Modfi du fichier de config Appli RapidQ EDF_BT.ini :
35 .............' top windows
716 ...........' left Window
4 ...............'19200 bds
0................ ' (zero) NO parity
1 ................' Nb datas 8
0 ................' 1 stop
1 ................' #COM numero de COM-1 (donc COM 2-1=1)
55114000... ' dernier relevé EDF was 52958000
0.175......... ' cout KWH (was 0,161!)



(simulation)

images/t_RapidQ_basic_Application_running_simul_trame_190430.gif

injection Trame EDF simulée par Terminal VBRAY + script à la sortie du photoupleur 6N138




BT_edfinfo_et_Tableau_Consigne_190501.rqw

last modifs : 12/05/2019
* Modif format MAJ RTC : A$="U;30;04;19;20;12;06;#"
test modif RTC ..OK
*Attente reception ETX trame EDF , pour rester synchro .

last modifs : 01/05/2019

*Deplacement Init UART2 tout au debut.
*Relecture infos CHAUFF Eeprom regdirigee sur UART2 (au lieu de UART1,)
CHAUFF 511 170 234 491 491 507 319 003 003 087 501 507 234 234 234 234 234 298 319 060 063 032 235 490
qui correspond à :
Planning Horaire
at 0 Cde = 511 Chauf: MEEEE
at 1 Cde = 170 Chauf: SHHHH
at 2 Cde = 234 Chauf: SEHHH
at 3 Cde = 491 Chauf: MEHHE
at 4 Cde = 491 Chauf: MEHHE
at 5 Cde = 507 Chauf: MEEHE
at 6 Cde = 319 Chauf: MCEEE
at 7 Cde = 3 Chauf: SCCCE
at 8 Cde = 3 Chauf: SCCCE
at 9 Cde = 87 Chauf: SAAAE
at 10 Cde = 501 Chauf: MEEAA
at 11 Cde = 507 Chauf :MEEHE
at 12 Cde = 234 Chauf: SEHHH
at 13 Cde = 234 Chauf: SEHHH
at 14 Cde = 234 Chauf: SEHHH
at 15 Cde = 234 Chauf: SEHHH
at 16 Cde = 234 Chauf: SEHHH
at 17 Cde = 298 Chauf: MCHHH
at 18 Cde = 319 Chauf: MCEEE
at 19 Cde = 60 Chauf: SCEEC
at 20 Cde = 63 Chauf: SCEEE
at 21 Cde = 32 Chauf: SCHCC
at 22 Cde = 235 Chauf: SEHHE
at 23 Cde = 490 Chauf: MEHHH




TESTS REELS, connecté au compteur EDF

Test avec appli rapidQ Basic sur PC ASUS WIN10

RIEN ne se passe .. oubli du 10nF aux bornes de la sortie photocoupleur , la trame etant perturbée par du residu 50KHz .
Remis ce condo de 10nF..OK

Test avec Teraterminal pour visualiser la trame SANS AUCUN TRAITEMENT , autre que via l'appli MikroC distante
*C050222059498*;*W00000256191*;*K-0050828.809*;*E-0.06°C *;*A00002*;*G00002*;*T102.30*;*H=15*;*R=SEHHH*;

Probleme mesure de temperature

E -0.06°C
Grosse recherche ..pour decouvrir un fil coupé sur la liaison sonde DS18B20 .

Probleme sur recup NB de KWH
Delta Kwh NEGATIF ???
probleme sur nb KWH 256191 alors que la valeur reel sur le compteur est 56256191
les 2 premiers digits sont bouffés..
L'application precedente MikroC basée sur 16F1847 étatit OK ..
*C050222059498*;*W00000311874*;*K-0054802.126*;*E 12.31*;*A00013*;*G00013*;*T 0.01*;*H=16*;*R=SEHHH*;

watts_Zero= 55144000
*W00000311874*;*K-0054802.126*;
55114000-311.874=54802.126

Comparaison fichier mikroC

rappel de la trame Edf info délivrée par le compteur
ADCO 050222059498 E
OPTARIF BASE 0
ISOUSC 60 <
BASE 049517379 8
PTEC TH.. $
IINST 003 Z
IMAX 017 G


p2=strstr(Buffer_Analyse,"PTEC TH");
if (p2>0) // pointe sur PTECH APRES le nombre de W !!!
{
p2=p2-10; // was -12 // pointe sur 049 517 379
*(p2+8)=0;
L1=atol(p2) ;
CRam1[0]=0;
strcpy(Watts_En_Cours,p2);
LongIntToStrWithZeros(L1,CRam1);
UART1_Write('*'); UART1_Write('W');
UART1_Write_Text(CRam1); UART1_Write('*'); UART1_Write(';') ;

Watts= L1 - Watts_Zero ;
LongIntToStrWithZeros(Watts,CRam1) ;
k=strlen(CRam1);
CRam1[k+1]=0;


correctif : p2=p2-12;
2me test .kwh OK sur teraterm
*C050222059498*;*W00056313456*;*K1199.456*;*E 12.75*;*A00002*;*G00002*;*T 0.01*;*H=21*;*R=SCHCC*;


PB Affichage temperature sur RapidQ
// 3em test (PB affichage temperature rapidQ)
// prevu avec voie analog sur version mikroc 16F1847 , modifiée avec capteur OWS sur version 18F46K22
// => modif rapidQ

'---- recherche valeur Temper -----
i=i+1
j=i
while (Mid$(Trame_EDF$,i,1)<>"E" )
i=i+1
if (i> Lg) then exit while
Wend
i=i+1
j=i
while (Mid$(Trame_EDF$,i,1)<>";" )
i=i+1
if (i> Lg) then exit while
Wend
';*E 8.68*;
Ax$= Mid$(Trame_EDF$,j,i-j-1) ' 05-05-2019 il n'y a plus °C dans la version 18F
' Ax$= Mid$(Trame_EDF$,j,i-j-5) ' enleve °C '@@@ correctif version 16F1847
TemperExt=val(Ax$)
Label_TempExt.caption=format$("%4.2f",TemperExt)



images/t_EDFinfo_RapidQ_appli_190507.gif

Modif option Visu Trame
en cochant Visu Trame, on peut voir celle ci dans la zone Réception , mais trop petite : 1 seule ligne
modif pour faire apparaitre une fenetre deroulante de plusieur lignes (trames), fenetre qui se retracte en décochant Visu trame.

En cas de reset ou coupure alim sur l'appli PIC MikroC,
le module RN41-DB49 maitre deconnecte le lien BlueTooth, suite à l'init du RN41-DB49 Esclave
et il faut reconnecter le maitre RN41-EEC en envoyant une sequence , via la fenetre Zone Emission
envoi de $$$ ( passe en mode commande CMD) click sur Send Message -> envoi $$$ (SANS CR)
envoi de C et coche sur add CR -> click sur Send Message-> envoi C<CR>
la connection est à nouveau rétablie ..visisble sur la zone reception de trame et reactualisation des mesures.

Rajout affichage Pictime: HHMM , l'heure minute de la RTC du PIC
possibilité de resynchroniser manuellement l'heure RTC PIC avec l'heure PC Win10, via la touche MAJ RTC

Rajout possibilite de lire le niveau de reception liaison RSSI
Modif pour afficher le contenu Buffer reception si longueur mini trame non atteinte, de sorte à afficher la réponse du RN41
Nota: on ne peut pas differencier nettement un message arrivant via BlueTooth , d'une reponse directe du module RN41
sauf le fait d'etre en mode Commande
Envoyer la commande $$$ dans la zone Emission... reponse CMD
puis L<CR>

RSSI ON
Rssi=ee,ec
Rssi=ee,ec
repeter la commande L<R> pour stopper
L<CR>
RSSI OFF
reconnecter la liaison au RN41-EEEC
$$$
C<CR>
et ça repart avec la reception trame







L'appli RapidQ basic :
BT_edfinfo_RapidQ_18F46k22_et_Tableau_Consigne_190508.zip
Appli MikroC (mise à jour)
_18F46K22_EDF_Info_et_Controle_Chauffage_190513.zip


compteur Linky annoncé ! pour juin 2019




Passage sur compteur LINKY

Remplacement effectué en moins de 15mn (en Juillet 2019)
Se met en lieu et place de l'ancien compteur ENERTEC , donc pas de modif cablage sur la puissance.


Par contre, il faut que je fasse quelques modifs de programmes ...

Coté interface Hardware :
Aucune modification remplacement du numéro de compteur , servant à la vérification de trame

Coté Application MikroC

Pour visualiser , à distance, le contenu de la trame "Brute" emise par le Linky
Rajout d'une commande specifique RAW, envoyée via TeraTerm terminal PC , ( Dongle 340G USB/TTL -> RN41 Maitre ))) BlueTooth,
Coté PIC18F distant , la Trame Linky est reçue sur UART2 RD6 RX , puis envoyée via UART1 -> RN41 -> BlueTooth ))).
visualisée donc sur Teraterm PC .
Rajout de la commande NORMAL , pour retour à la configuration d'usage normal (trame reconstituée -> UART1)
Remplacement du numero de compteur , servant à la verification de trame
Recadrage position de la mesure consommation en WH ,* positionné juste avant le mot clé PTEC
BASE 000009667 '
PTEC TH.. $

*car le mot clé BASE est utilisé 2 fois

Trame Linky brute :

Mode RAW actif


ADCO 021961176859 N
OPTARIF BASE 0
ISOUSC 60 <
BASE 000009667 '
PTEC TH.. $
IINST 002 Y
IMAX 090 H
PAPP 00510 '
HHPHC A ,
MO
trame linky sur teraterm



SOFTWARE :
Programme MikroC 7.50:
projet : 18F46K22_EDF_Info_et_Controle_Chauffage_via_Linky_RN41_190711.zip
source : _18F46K22_EDF_Info_et_Controle_Chauffage_via_Linky_RN41_190711.c
Chargeur : 18F46K22_EDF_Info_et_Controle_Chauffage_via_Linky_1907.hex


Modification sur application RapidQ

images/t_EDF_BT_runing_with_Linky_190711_Win10.gif

modification mineures :
N° de compteur ( check intégrité trame)
Base KWH à zero ! en recopiant la valeur relevée par EDF à chaque facture ..
avec un relevé automatique Linky le 21 de chaque mois, je pourrais faire maintenant cette RAZ mensuelle , automatiquement
..mais boof !
Recadrage position consommation KWH

Source : BT_edfinfo_18F46k22_et_Tableau_Consigne_190710.rqw
Executable : BT_edfinfo_18F46k22_et_Tableau_Consigne_190710.exe
BT_edfinfo_18F46k22_et_Tableau_Consigne_190710.html



A suivre : mise en boitier et tests des commandes fils pilotes

Préalable :
Tests réussis sur modules Transceivers GT38 pour récup des mesures de Température Ambiantes de chaque pieces
voir, utiliser AUSSi ce module pour gerer le fil pilote en direct , car pres du radiateur..
autre piste : Remplacer le PC ,par une appli concentrateur PIC + Display couleur 320x240 + Touch screen autonome + ESP01 wifi
ou Raspberry ?
ou ESP32 wifi


 

paulfjujo@free.fr


Retour à l'index general