DS18B20 sur bus 1-Wire

Conseils et outils pour réguler votre installation...

Modérateurs : ramses, Balajol, monteric, ametpierre, j2c

Avatar du membre
patrick07
Maitre Solaire
Maitre Solaire
Messages : 1869
Enregistré le : lun. avr. 03, 2006 11:07 am
Localisation : Sud Ardèche -07- St Germain
Contact :

Message par patrick07 »

Salut Daniel,

Rien de plus simple... :roll:

L'initialisation, à adapter parce que le 16f877 n'a pas les registres ANSEL/ANSELH:
ADCON1 = 0b10000000; // Setup A/D converter
ADCON0 = 0b10000001;
ANSEL = 0b00000001; //RA0 analog input
ANSELH = 0;
Et la fonction qui te renvoie un entier de la valeur lue:
int readadc(void)
{
int adctmp;

GODONE = 1; // Start an A/D conversion
while(GODONE); // Wait for the conversion to complete
adctmp = (((ADRESH << 8) + ADRESL));
return adctmp;
}
:bye:
Patrick

[url=https://ard-tek.com/index.php/forum/sujets-recents]Le forum du MaxiSun[/url]

Avatar du membre
daniel 53
Technicien Solaire
Technicien Solaire
Messages : 406
Enregistré le : mer. déc. 27, 2006 21:49 pm
Localisation : 53 300 Ambrières-les-Vallées

Message par daniel 53 »

Bonjour et merci à tous.

J'essaie ça dès que j'ai un moment.

Daniel

Avatar du membre
richardel
Maitre Solaire
Maitre Solaire
Messages : 824
Enregistré le : dim. juin 29, 2008 23:02 pm
Localisation : Verviers Belgique

Message par richardel »

Bonjour a tous,

Petite question subsidiaire... puisque le post parle des capteurs DS18B20, qu'utiliseriez-vous pour améliorer le contact entre un DS18B20 et un doigt de gant prévu pour pt1000 ?

Pièce métallique, pâte thermiquement conductrice (laquelle) ? toute idée est bienvenue.

merci

Amitiés
L'important n'est pas la température de l'eau solaire, c'est le nombre de KWh engrangé.

mbertaud
Stagiaire Solaire
Stagiaire Solaire
Messages : 83
Enregistré le : sam. déc. 24, 2005 14:47 pm
Localisation : Barbentane (13)

Message par mbertaud »

Un truc découvert dans élektor et qui, je pense, est astucieux c'est d'effectuer 25 conversions en exactement 20ms (soit une conversion toutes les 800µs) puis on fait la moyenne.
le principe est de faire la mesure sur une période secteur exactement de façon a éliminer toute erreur due a l'influence du 50Hz (ripple d'alimentation ou câble 220v rayonnant etc...) ca marche bien.
Je confirme que cette méthode d'acquisition est bien la meilleure (plus du tout de souci avec le 50 Hz)

mon gros paddy
Newbie
Newbie
Messages : 4
Enregistré le : jeu. oct. 22, 2009 11:53 am
Localisation : 72

Message par mon gros paddy »

Salut Daniel

réponse tardive pour la programmation en C, faut dire que je suis occupé à finir de monter la structure en chêne qui va accueillir les panneaux solaires...

moi je programme mes cartes à base de PIC 16F690 (pourquoi celui-là mais pourquoi pas ???) et avec le compilateur C de MikroElectronic.

Par exemple:
Int Temp; // variable pour can

void main()
{
ANSEL = 0b11110000; // active AN7 à AN4, les autres en I/O (p63 data book)
ANSELH = 0; // désactive les AN8 à AN11

while (1)
{
Temp = ADC_Read(5); // Lit la tension CAN 10-bit sur AN5
}
}


plutot simple, non ??
le fait est que ça gêne pas de faire une moyenne glissante de plusieurs mesures.
On peut descendre par cet artifice au 1/2 degré, voire moins. Reste à étalonner les sondes auparavant :roll:
Modifié en dernier par mon gros paddy le mar. sept. 07, 2010 22:34 pm, modifié 2 fois.

Avatar du membre
daniel 53
Technicien Solaire
Technicien Solaire
Messages : 406
Enregistré le : mer. déc. 27, 2006 21:49 pm
Localisation : 53 300 Ambrières-les-Vallées

Message par daniel 53 »

Bonjour
Merci pour toutes ces réponses, il va falloir vraiment que je m'y mette...
Je constate que ce forum est plus efficace que la plupart des forums spécialisés en programmation. Dingue, non?

Pour la mise en place de la sonde, je ne connais pas de pâtes qui doivent être évitées à part noutella qui fait grossir.
Le dessus du doigt de gant peut être bouché avec quelque chose qui reste assez souple (silicone) pour éviter un effet pop-corn.
Même si le contact thermique n'est pas parfait dans le doigt de gant, l'erreur de mesure ne devrait pas excéder 0.2 °C.

Daniel

Avatar du membre
richardel
Maitre Solaire
Maitre Solaire
Messages : 824
Enregistré le : dim. juin 29, 2008 23:02 pm
Localisation : Verviers Belgique

Message par richardel »

Je constate que ce forum est plus efficace que la plupart des forums spécialisés en programmation. Dingue, non?
tout le monde sait que ce forum est un must... :cool:

Concernant le doigt de gant, je suis bien d'accord avec toi mais ce que je crains est un retard à la réponse car, dans mon cas, je choisis l'entrée de cuve en fonction de la température de l'eau a certains niveaux, le temps de réaction a donc une certaine importance (comme, du reste, dans tous système de régulation)

Note qu'a la réflexion, je ne suis pas convaincu d'un écart aussi petit. J'ai remarqué des différences de T° d'une dizaine de degrés (par moments) entre la sortie des panneaux et l'entrée de cuve (l'eau s'échauffe en descendant). Le technicien m'a dit qu'il avait déjà eu le cas et que c'était un problème de contact à la sonde capteur. Il n'a pas su résoudre le problème parce que le temps ne le permettait pas mais ce sera fait cette année.

Si je ne trouve rien, je me rabattrais sur un morceau de feuille d'aluminium ménager (après avoir isolé les pattes du composant pour éviter tous court-circuit).

maintenant s'il y a d'autres idées :roll:

Amitiés
Modifié en dernier par richardel le mer. sept. 08, 2010 10:59 am, modifié 3 fois.
L'important n'est pas la température de l'eau solaire, c'est le nombre de KWh engrangé.

Avatar du membre
p_bricoleur
Modérateur
Modérateur
Messages : 1671
Enregistré le : mar. déc. 27, 2005 10:37 am
Localisation : Rueil-Malmaison (92)
Contact :

Message par p_bricoleur »

Bonjour,

J'ai des DS18B20 directement contre la cuve du stock ou contre des tuyaux.
C'est l'isolant qui serre la sonde (qui est en plastique) contre le métal à mesurer.
Pas de retard notable, il faut dire que dans le stock les changements de température ne sont pas rapides, et sont également temporisés par l'épaisseur d'acier de la cuve.

Comme il ya des courants de convection (de l'eau chaude qui monte et de l'eau froide qui descend), il n'est pas non plus souhaitable d'être très réactif.

Dans les doigts de gant, comme les sondes sont un peu plus petites que le diamètre du doigt, je glisse un morceau de fil de 2,5 mm² (donc un peu rigide) à côté de la sonde. Cela suffit à la coincer contre le métal du doigt (en cuivre chez moi). 2/3 cm du fil sortent du doigt et sont pliés à angle droit pour pouvoir l'oter.

Cordialement,
Thierry Streiff

Avatar du membre
richardel
Maitre Solaire
Maitre Solaire
Messages : 824
Enregistré le : dim. juin 29, 2008 23:02 pm
Localisation : Verviers Belgique

Message par richardel »

Wouaaah l'astuce...
Bien vu, Thierry... et ca marche.
Après essai, dans mon cas, il vaut mieux placer 2 fils de 2.5² dénudés côte a côte. Dans ce cas, il reste juste la place pour un 18B20 avec le plat tourné vers les fils et il rentre avec un léger frottement... Idéal.
Il y a donc 3 points de contact avec le doigt de gant (1 avec le doigt de gant et deux via les deux fils)

C'est fou, quand même, on envisage de la pâte thermo-conductrice a 1€ le gramme et deux bouts de fils font aussi bien (voir mieux car le cuivre conduit mieux que la pâte).

A mettre dans "les trucs qui marchent"

En tout cas, un grand merci, c'est adopté.

Amitiés
L'important n'est pas la température de l'eau solaire, c'est le nombre de KWh engrangé.

Avatar du membre
YvesBr
Maitre Solaire
Maitre Solaire
Messages : 1414
Enregistré le : lun. mars 20, 2006 23:54 pm
Localisation : Moselle - aéroport 57

Message par YvesBr »

[quote="richardel"]
Note qu'a la réflexion, je ne suis pas convaincu d'un écart aussi petit. J'ai remarqué des différences de T° d'une dizaine de degrés (par moments) entre la sortie des panneaux et l'entrée de cuve (l'eau s'échauffe en descendant). Le technicien m'a dit qu'il avait déjà eu le cas et que c'était un problème de contact à la sonde capteur. Il n'a pas su résoudre le problème parce que le temps ne le permettait pas mais ce sera fait cette année.
[/quote]
J'ai un exemple avec d'autres explications. Je mesurais une température de retour systématiquement plus grande que celle du capteur. Alors j'ai changé la position de la sonde, et là, c'est le contraire. La mesure du capteur est toujours plus importante que celle mesurée quand l'eau de tous les capteurs s'est mélangée. J'explique çà par une différence de débit, même si je n'en connais pas la cause.
Du coup, j'ai fait un programme qui prend en compte la sonde du capteur pour démarrer, puis la sonde à la sortie de ma réserve de vidange après un certain temps pour l'arrêt de la pompe.

Yves

Avatar du membre
richardel
Maitre Solaire
Maitre Solaire
Messages : 824
Enregistré le : dim. juin 29, 2008 23:02 pm
Localisation : Verviers Belgique

Message par richardel »

Bonjour Yves,

La mesure de température est toujours très difficile a faire.
Problèmes de contact de sondes, tolérance des sondes, placement des doigts de gant par rapport au débit, écoulement laminaire ou turbulent...etc...
Heureusement, on est rarement au degré près.

Ceci dit, quand tu parles de commande du circulateur, je me suis posé une question semblable (adaptée a mon cas):
J'ai (comme toute installation) une sonde aux capteurs.
J'ai aussi une sonde a l'entrée du ballon et une autre a la sortie (circuit solaire) pour pouvoir calculer (avec le débit) le nombre de KWh.

Activer le circulateur quand les capteurs atteignent 7° de plus que le bas de cuve me parait correct. Mais pourquoi se baser sur cette même sonde pour arrêter ? Ce serait bien plus logique de se baser sur la sonde la plus proche du ballon... ca permettrait de récupérer les calories dans le solarflex (tuyau entre panneaux et cuve).
Bon, d'accord, le gain serait de l'ordre du chouya/1000... mais sur le principe ?
A moins que ca n'aie un inconvénient lors du démarrage de l'installation.

Amitiés
Modifié en dernier par richardel le jeu. sept. 09, 2010 0:43 am, modifié 1 fois.
L'important n'est pas la température de l'eau solaire, c'est le nombre de KWh engrangé.

Répondre

Retourner vers « Régulation »