chauffage solaire douche piscine

patrick63730

Well-known member
Bonjour j'ai monté un systeme de régulation de chauffage solaire grace a mag1 ,c'est lui qui as tout pondu ,le schema les pcb et le programe ,moi je n'ai fait que réaliser le montage ,mais comme il ne faut rien me montrer si on ne veut pas etre copié j'ai réussi avec assez de difficultées ,surtout au niveau de la ponctuation et accentuation a faire ceci ,qui fonctionne sur le simulateur , j'ai des pcb qui ont servi pour le chauffage solaire il m'a suffi d'en utilier une partie pour faire mon projet ,une picaxe plus petite aurai suffit mais j'avais des 20m2 en stock et le pcb allant avec ,mais je suis preneur de conseils pour l'accentuation et ponctuation sur PE6 car j'ai beau lire et relire je n'ai pas tout compris
consignes de travail si T panneau>T ballon =circulateur on
siT panneau < T ballon = circulateur of
la temperature du ballon est gérée par un thermostat interne a celui -ci

C:\Users\Utilisateur\Documents\chauffage solaire douche piscine.bas
Exported from PICAXE Editor (www.picaxe.com) 1
01 ;chauffage solaire douche piscine
02 #picaxe 20M2
03 setfreq M16
04 symbol DSpano=C.7 ;Tpanneau
05 symbol selec=pinC.6 ;poussoir de selection
06 symbol Dsbalon=C.5 ;T ballon
07 symbol valid=pinC.6 ;poussoir de validation
08 symbol potar=B.5 ;pot de reglege consignes
09 Symbol LCD=B.0 ;LCD 2004
10 symbol circBal=outpinB.1 ;circulateur ballon
11 symbol Tpano =b1
12 symbol Tbalon =b2
13 symbol Cbalon =b6
14 symbol varb =b10 ;variable byte
15 symbol baud =N2400_16
16 dirsC=%00000000
17 dirsB=%00011111
18 pullup%1111111100000000;pullup sur les broches C
19 ;*****************************
20 bit0=1 ;simu MST
21 serout B.0,baud,(254,1)
22 serout B.0,baud,(254,130,"Pa Ba")
23 read 0,Cbalon;lecture des consignes en EEPROM
24 ;if Cbalon=0 then gosub consigne; si EEPROM vide
25 Cbalon=75; pour essai
26 do
27 readtemp Dspano,Tpano ; sur C.7 :readadc a remplacer par readtemp
28 readtemp Dsbalon,Tbalon ;sur C.5
29 serout B.0,baud,(254,192,"T",#Tpano,"",254,198,#Tbalon,"")
30 serout B.0, baud,(254,212,"P") ;petite verrue pour reafficher le "P",qui s'efface
avec le "" de 1
31 if valid=0 or bit0=1 then gosub consigne ;passage par consigne a la MST
32 gosub gescirc
33 loop
34 ;*************************************************
35 consigne:
36 bit0=0 ;a la MST seulement
37 serout B.0,baud,(254,148,"c",254,165,"")
38 return
39 gescirc:
40 if Tbalon>=90 or Tbalon>= Tpano then
41 circBal=0
42 serout B.0,baud,(254,218,#circBal)
43 endif
44 varb=Tbalon+5
45 if Tpano>varb then
46 circBal=1
47 endif
48 return

j'ai copié la majorité du texte sans pour autant comprendre une partie des caractéres
 
Bonjour j'ai monté un systeme de régulation de chauffage solaire grace a mag1 ,c'est lui qui as tout pondu ,le schema les pcb et le programe ,moi je n'ai fait que réaliser le montage ,mais comme il ne faut rien me montrer si on ne veut pas etre copié j'ai réussi avec assez de difficultées ,surtout au niveau de la ponctuation et accentuation a faire ceci ,qui fonctionne sur le simulateur , j'ai des pcb qui ont servi pour le chauffage solaire il m'a suffi d'en utilier une partie pour faire mon projet ,une picaxe plus petite aurai suffit mais j'avais des 20m2 en stock et le pcb allant avec ,mais je suis preneur de conseils pour l'accentuation et ponctuation sur PE6 car j'ai beau lire et relire je n'ai pas tout compris
consignes de travail si T panneau>T ballon =circulateur on
siT panneau < T ballon = circulateur of
la temperature du ballon est gérée par un thermostat interne a celui -ci

C:\Users\Utilisateur\Documents\chauffage solaire douche piscine.bas
Exported from PICAXE Editor (www.picaxe.com) 1
01 ;chauffage solaire douche piscine
02 #picaxe 20M2


j'ai copié la majorité du texte sans pour autant comprendre une partie des caractéres
Bonsoir,
Il y a peut être de réglages à faire dans "options de simulation/Fichiers/Type de fichiers : Unicode(UTF-16)
Et langue: Français , bien sûr
Pour le code joint, il faut une copie sans les n° de ligne, sinon, on peut rien faire.
MM
 
Bonsoir,
Il y a peut être de réglages à faire dans "options de simulation/Fichiers/Type de fichiers : Unicode(UTF-16)
Et langue: Français , bien sûr
Pour le code joint, il faut une copie sans les n° de ligne, sinon, on peut rien faire.
MM
Bonjour comment ça il est possible d'écrire le code en français ? Cela m'intéresse beaucoup je n'aurai pas besoin de chercher la traduction ce que j'écris
 
Je viens de faire un essai en conditions réelles mais effectivement il faut que je fasse quelques ajustements,mon afficheur n'a pas un retour correct mais je vais chercher et trouver ,il faut que je trouve seul, c'est la meilleure solution pour apprendre,si j'ai besoin d'aide je ne manquerai pas de le demander , bonne journée
Patrick
 
Bonjour comment ça il est possible d'écrire le code en français ? Cela m'intéresse beaucoup je n'aurai pas besoin de chercher la traduction ce que j'écris
Le code basic reste en anglais: if,then, while,...etc,les commandes aussi :readadc,etc... mais les commentaires sont en français, accents, etc
Les manuels ont été traduits , cliquer sur le ? coin en haut à droite , "Plus de fiches techniques", et choisir.
A +
MM
 
bonjour j'ai réussi a faire ceci qui fonctionne sur le simulateur et en conditions réelles, cependant j'ai un problème je n'ai pas encore réussi a trouver la solution pour suprimer les données dont je n'ai pas besoin sur le lcd ,et les serout lcd baud je ne comprend pas comment cela fonctionne ,j'ai cherché mais je n'ai pas trouvé de choses a lire a ce sujet ,pour mon affichage je viens de trouver en ecrivant ces quelques lignes ,mais j'avais déja tenté la meme chose sans succés j'ai constaté que l'accentuation ponctuation et espaces entre caractéres sont trés rigoureux il n'y as pas de tolérance sur un quelconque écart .




;gestion chauffage douche piscine patrick 16/04/25
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol selec=pinC.6
symbol DSbalon=C.5
symbol valid=pinC.0
symbol potar=B.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon =b6
symbol varb =b10
symbol diz =b11
symbol unit =b12
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
pause 500
serout LCD, baud,(254,1)
serout LCD, baud,(254,130,"Pa Ba Ja Pi Se")
serout LCD, baud,(254,148,"C",254,192,"T",254,212,"P")
gosub consigne ;

do readtemp DSpano,Tpano
readtemp DSbalon,Tbalon
serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon)
pause 200
if valid=0 then gosub consigne
gosub gescirc
loop
;*********************************************
consigne:
serout LCD,baud, (254,153," ",254,157,">")
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while selec=0
serout LCD,baud, (254,157," ",254,161,">")
do loop while valid=1
do loop while valid=0
do loop while valid=1
serout LCD, baud,(254,165," ")
return
gescirc:
if Tbalon >=90 or Tbalon>= Tpano then
circBal=0
endif
varb=Tbalon+5
if Tpano>varb then
circBal=1
else circBal=0
endif
serout LCD,baud,(254,218,#circBal)

return
 

Attachments

  • IMG_20250416_201513 (1).jpg
    IMG_20250416_201513 (1).jpg
    102.5 KB · Views: 3
  • IMG_20250416_201356 (1).jpg
    IMG_20250416_201356 (1).jpg
    79.9 KB · Views: 3
Last edited:
Modification du programme , c'est ok. Et ce devrait être mis en service assez rapidement me temps de finir la rénovation de la piscine , changement de liner et surprise au démontage ,il faut que je refasse des rails, trop ancien plus dispo en pdt.

gestion chauffage douche piscine patrick 16/04/25
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol selec=pinC.6
symbol DSbalon=C.5
symbol valid=pinC.0
symbol potar=B.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon =b6
symbol varb =b10
symbol diz =b11
symbol unit =b12
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
pause 500
serout LCD, baud,(254,1)
serout LCD, baud,(254,130,"Pa Ba")
serout LCD, baud,(254,148,"C",254,192,"T",254,212,"P")
gosub consigne ;

do readtemp DSpano,Tpano
readtemp DSbalon,Tbalon
serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon)
pause 200
if valid=0 then gosub consigne
gosub gescirc
loop
;*********************************************
consigne:
serout LCD,baud, (254,153," ",254,157,">")
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while selec=0
serout LCD,baud, (254,157," ",254,161,">")
do loop while valid=1
do loop while valid=0
do loop while valid=1
serout LCD, baud,(254,165," ")
return
gescirc:
if Tbalon >=90 or Tbalon>= Tpano then
circBal=0
endif
varb=Tbalon+5
if Tpano>varb then
circBal=1
else circBal=0
endif
serout LCD,baud,(254,218,#circBal)

return
 

Attachments

  • IMG_20250417_083414.png
    IMG_20250417_083414.png
    479.1 KB · Views: 1
Modification du programme , c'est ok. Et ce devrait être mis en service assez rapidement me temps de finir la rénovation de la piscine , changement de liner et surprise au démontage ,il faut que je refasse des rails, trop ancien plus dispo en pdt.

gestion chauffage douche piscine patrick 16/04/25
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol selec=pinC.6
symbol DSbalon=C.5
symbol valid=pinC.0
symbol potar=B.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon =b6
symbol varb =b10
symbol diz =b11
symbol unit =b12
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
pause 500
serout LCD, baud,(254,1)
serout LCD, baud,(254,130,"Pa Ba")
serout LCD, baud,(254,148,"C",254,192,"T",254,212,"P")
gosub consigne ;

do readtemp DSpano,Tpano
readtemp DSbalon,Tbalon
serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon)
pause 200
if valid=0 then gosub consigne
gosub gescirc
loop
;*********************************************
consigne:
serout LCD,baud, (254,153," ",254,157,">")
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while valid=1
do loop while valid=0
do loop while selec=0
serout LCD,baud, (254,157," ",254,161,">")
do loop while valid=1
do loop while valid=0
do loop while valid=1
serout LCD, baud,(254,165," ")
return
gescirc:
if Tbalon >=90 or Tbalon>= Tpano then
circBal=0
endif
varb=Tbalon+5
if Tpano>varb then
circBal=1
else circBal=0
endif
serout LCD,baud,(254,218,#circBal)

return
Bonjour Patrick,
J'ai regardé ton programme...J'avoue ne pas voir tout compris, par ex la succession d'appuis sur valid, la position des ">",
la sub consigne ne sert pas ici, et les poussoirs ne servent pas non plus.
Mais c'est un début.
En résumé, tu veux une régulation de Tbalon , sans consigne ? Si c'est cela, on peut beaucoup simplifier.
A+
MM
 
Je peux, si tu veux, te proposer une version simplifiée., sans trucs inutiles.
Et si j'étais prof, je te suggérerais de transposer le code sur un 08M2, avec un LCD 1602, et tu garderais le 20M2 et le 2004, sous employés pour un autre projet.
Mais je ne suis pas prof, tu fais ce que tu veux...
MM
 
Bonjour MM. Je le sais bien que le matériel est sous employé ,il faut également que je rajoute une consigne T ballon, mais je suis opportuniste et ai utilisé le matériel en ma possession y compris le pcb , je travaille toujours a essayer de comprendre les bauds et les valeurs a donner
Bonne journée Patrick
 
Bonjour MM. Je le sais bien que le matériel est sous employé ,il faut également que je rajoute une consigne T ballon, mais je suis opportuniste et ai utilisé le matériel en ma possession y compris le pcb , je travaille toujours a essayer de comprendre les bauds et les valeurs a donner
Bonne journée Patrick
Le 08M2 était à titre d'exercice, sans plus.
La commande serout utilisée pour les échanges "série" entre périphériques suit le protocole RS232. Il n'y a pas de signal d'horloge (un fil suffit), mais la vitesse entre émetteur et récepteur doit être connue et fixée des deux côtés. L'unité de vitesse est le baud. Il faut aussi préciser le sens du signal ici, N ou T.
La commande de réception "serin" du LCD attend un signal en "N 2400" . Il faut adapter cette vitesse en fonction de la vitesse horloge du µC , d'où cette page:
En dehors de çà, on est pas obligé de savoir comment fonctionne le protocole RS232
MM
 
bonsoir voici ma version épurée je ne dois pas étre trops mal ,le retour du lcd est correct

;gestion chauffage douche piscine patrick 16/04/25
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol DSbalon=C.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon =b6
symbol varb =b10
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
pause 500
serout LCD, baud,(254,1)
serout LCD, baud,(254,130,"Pa Ba ")
serout LCD, baud,(254,148,"C",254,192,"T",254,212,"P")
do readtemp DSpano,Tpano
readtemp DSbalon,Tbalon
serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon)
pause 200
gosub gescirc
loop
;*********************************************
gescirc:
if Tbalon >=90 or Tbalon>= Tpano then ;si t ballon>=90ou t ballon>=tpanneau alors cic ballon =0
circBal=0
endif ; fin
varb=Tbalon+5 ; delta ballon =5
if Tpano>varb then ;si Tpanneau >delta ballon alors circ bal= 1
circBal=1
else circBal=0 ;sinon circ bal =0
endif
serout LCD,baud,(254,218,#circBal)
return
bonne soirée patrick
 

Attachments

  • IMG_20250421_212048 (1).jpg
    IMG_20250421_212048 (1).jpg
    83.3 KB · Views: 0
bonsoir voici ma version épurée je ne dois pas étre trops mal ,le retour du lcd est correct

;gestion chauffage douche piscine patrick 16/04/25
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol DSbalon=C.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon =b6
symbol varb =b10
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
pause 500
serout LCD, baud,(254,1)
serout LCD, baud,(254,130,"Pa Ba ")
serout LCD, baud,(254,148,"C",254,192,"T",254,212,"P")
do readtemp DSpano,Tpano
readtemp DSbalon,Tbalon
serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon)
pause 200
gosub gescirc
loop
;*********************************************
gescirc:
if Tbalon >=90 or Tbalon>= Tpano then ;si t ballon>=90ou t ballon>=tpanneau alors cic ballon =0
circBal=0
endif ; fin
varb=Tbalon+5 ; delta ballon =5
if Tpano>varb then ;si Tpanneau >delta ballon alors circ bal= 1
circBal=1
else circBal=0 ;sinon circ bal =0
endif
serout LCD,baud,(254,218,#circBal)
return
bonne soirée patrick
Bonjour,
Devait pas y avoir une consigne "Tbalon" ? La ligne consigne est vide.
Sinon, ok. Remarque: Même si Tbalon ne devrait pas arriver à 100°, il est prudent de placer un " " derrière #Tbalon, (peut arriver en simulation, par ex).
On peut régler les retraits dans les options et se servir de la tabulation du clavier pour les indentations.
C'est quoi l'étape suivante ? Un LCD 2004 est aussi sous exploité, un 1602 suffirait ici.
MM
 
Bonjour l'étape suivante c'est ma gestion de la régularisation thermique de mon sous sol avec un 8 M2 cette fois ci j'y travaille déjà , mais je vais mettre en service ma régularisation de douche piscine, pour la consigne du moment que j'ai un 90 degrés max ça me suffit bonne soirée et merci pour toute l'aide sans laquelle je n'y serai pas arrivé, si ce n'est en y passant des dizaines d'heures
 
Bonjour,
Je ne sais pas comment la température douche est régulée. Le plus simple est le robinet thermostatique standard.
Mais je me demande comment se comporte un robinet standard avec une t° de 90°C.
Voici par ex une version avec consigne Tbalon réglable avec 20M2 et LCD2004
Code:
#picaxe 20M2
setfreq M16
symbol DSpano=C.7
symbol DSbalon=C.5
symbol Pbal=B.5
symbol LCD=B.0
symbol circBal=outpinB.1
symbol Tpano =b1
symbol Tbalon =b2
symbol Cbalon=b3
symbol varb=b4
symbol baud =N2400_16
dirsC=%0
dirsB=%00011111
pullup %1111111100000000
;****************************************
    pause 500
    serout LCD, baud,(254,1)
    serout LCD, baud,(254,130,"Pa  Ba ")
    serout LCD, baud,(254,148,"C",254,192,"Tß",254,212,"P" )    ;ß=alt+0223 => ° sur LCD
    do
        readtemp DSpano,Tpano
        readtemp DSbalon,Tbalon
        readadc Pbal, Cbalon
        serout LCD, baud,(254,194,#Tpano," ",254,198,#Tbalon," ", 254,154,#Cbalon," ")
        pause 200   
        gosub gescirc
    loop
;*********************************************
gescirc:
    if Tbalon>=90 or Tbalon>=Tpano then
        circBal=0
    endif
    varb=Tbalon+5
    if Tpano > varb and Cbalon > Tbalon then
        circBal=1
    else circBal=0
    endif
    serout LCD,baud,(254,218,#circBal)
    return
MM
 
Bonjour et merci j'ai testé avec 254,198,#Tbalon," "comme tu me l'as suggéré mais je me trouve avec une écriture parasite après BA je vais chercher pourquoi
 
Back
Top