Réseau 1-wire pour relevé de température ?

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

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

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 »

Merci à tous.
J'ai fait ma liste 1-wire au père Noël, apparemment j'aurais ça sous le sapin.
Avec un peu de temps pour jouer avec.

Cordialement

jefourcade
Newbie
Newbie
Messages : 7
Enregistré le : mar. nov. 11, 2008 8:48 am
Localisation : 31

Message par jefourcade »

Bonjour,

J'utilise également un réseau 1-Wire pour mon chauffage (17 sondes de températures). Pour info j'utilise une interface I2C - 1-wire avec un PIC.

Si vous voulez utiliser un tel réseau je vous conseille fortement l'emploie d'un HUB pour isoler les différentes branches (http://www.hobby-boards.com/catalog/pro ... ts_id=1561)

Vous pouvez télécharger la doc de mon système à l'adresse suivante : http://dl.free.fr/lM3TL2DZp

Jean Fourcade

jeantout
Apprenti Solaire
Apprenti Solaire
Messages : 368
Enregistré le : sam. déc. 10, 2005 23:10 pm
Localisation : La Gaude 06

Message par jeantout »

Salut,
URL ne marche pas! ! !
A+ G R

Avatar du membre
jplalaurie
Stagiaire Solaire
Stagiaire Solaire
Messages : 140
Enregistré le : mar. mai 12, 2009 13:45 pm
Localisation : aix en provence

Message par jplalaurie »

bonjour Jean, tous
ça m'interesse mais en effet le lien ne marche pas. Peut-être le temps de téléchargement est dépassé.
Je viens de regarder ta communication du mois de juillet: même avec de la bonne volonté je ne suis pas sûr d'arriver à maitriser toute la chaine de programmation.
Ce qui me fait plaisir c'est de voir que l'on peut arriver au but avec les sondes 1wire dans de bonnes conditions économiques.
Moyennant un juste dédommagement accepterais-tu de développer un tutorat?

jp
Modifié en dernier par jplalaurie le dim. janv. 24, 2010 12:23 pm, modifié 1 fois.

jefourcade
Newbie
Newbie
Messages : 7
Enregistré le : mar. nov. 11, 2008 8:48 am
Localisation : 31

Message par jefourcade »

Désolé, le bon lien est le suivant : http://dl.free.fr/bvI9t0kNh
Un tutorat pourquoi pas ? Précisément sur quoi ?

JF

Avatar du membre
Bernard (de Cagnes)
Maitre Solaire
Maitre Solaire
Messages : 879
Enregistré le : jeu. févr. 23, 2006 15:02 pm
Localisation : Fretterans 71

Message par Bernard (de Cagnes) »

Bonsoir tous,

je reprends ce fils, j'ai commandé mon matériel 1 Wire :super:
pour le montage pas de problème avec, je sais faire, mais ou je me fais un peu de soucis c'est pour la programmation, :cry: c'est pour ça que la proposition de JF
"[quote="jefourcade"]Désolé, le bon lien est le suivant : http://dl.free.fr/bvI9t0kNh
Un tutorat pourquoi pas ? Précisément sur quoi ?

JF[/quote]" m'interresse au plus haut point.
Amitiés ensoleillées. Bernard (Fretterans 71)

Avatar du membre
Manu25
Etudiant Solaire
Etudiant Solaire
Messages : 234
Enregistré le : jeu. janv. 05, 2006 16:02 pm
Localisation : Arçon, près de Pontarlier (25)

Message par Manu25 »

Je suis en train de remettre toute ma régul à plat, de manière à être facilement mis en place et utilisable par tous. Je développe également un nouveau logiciel pour contrôler tout ça sous windobe (compatible 95/98, etc de manière à pouvoir utiliser un vieux portable), et entièrement configurable pour que chacun puisse faire sa sauce.
Donnez moi qq semaines et je reviens vous voir :-D

A+
Manu

Avatar du membre
phil78
Etudiant Solaire
Etudiant Solaire
Messages : 171
Enregistré le : lun. nov. 19, 2007 1:12 am
Localisation : plaisir 78

Message par phil78 »

Bonjour,

En suivant l'excellent tuto qu'a proposé fpyfu j'arrive à faire tourner mon réseau 1 Wire en local. :cool:

Mais je me pose 2 questions:
Je ne sais pas comment configurer Logtemp pour envoyer les T° sur ma base Sql chez Free ( ma base en local avec Xamp est opérationnelle )

Ensuite le script du tuto precedent n'est pas fonctionnel. ( message "la requette à échouée" ).
Là je coince. :shock:
Quelqu'un peut il mettre à disposition un script pour récupérer et afficher les résultats d'une base de données.

Merci d'avance. ( à JF pour sa mine d'infos )

Phil
90 Tubes ,Ballon KR2 800L + 200L

Avatar du membre
Bernard (de Cagnes)
Maitre Solaire
Maitre Solaire
Messages : 879
Enregistré le : jeu. févr. 23, 2006 15:02 pm
Localisation : Fretterans 71

Message par Bernard (de Cagnes) »

Bonsoir Tous,

ça y est j'ai monté mo, réseau 1Wire (toujours du provisoire) et et :-D ça marche je peux relevé mes températures et voir les courbes -capteurs- chauffage - extérieure - ça permet de discéquer le fonctionnement, ce matin ça m'a permis de voir que la sonde extérieure était tombée :oops: et n'était plus à l'ombre et prenait le soleil et coupait le chauffage trot tôt :cry: .
Amitiés ensoleillées. Bernard (Fretterans 71)

Avatar du membre
thermitch
Maitre Solaire
Maitre Solaire
Messages : 4065
Enregistré le : dim. mars 16, 2008 13:45 pm
Localisation : Marcillé-Robert (35)
Contact :

Message par thermitch »

Génial Bernard 8-)

Et quel régal du super CR qu'on va avoir, détaillé pour les nuls et tout et tout ;-) :lol:

Avatar du membre
Bernard (de Cagnes)
Maitre Solaire
Maitre Solaire
Messages : 879
Enregistré le : jeu. févr. 23, 2006 15:02 pm
Localisation : Fretterans 71

Message par Bernard (de Cagnes) »

Bonsoir,

ça viendra, ce sera du provisoire comme toute l'installation.
le réseau 1Wire c'est super et pas trop couteux et super simple
Amitiés ensoleillées. Bernard (Fretterans 71)

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,

Dans mon projet, je compte employer les capteurs 1 wire dont on parle ici. Je devrais, en effet, avoir une grosse vingtaines de capteurs.
Ma régulation fera appel a un microprocesseur qui dialoguera avec les capteur (via le 1wire).

Je me pose, pourtant, une question.
Pour questionner un capteur, le processeur doit connaitre son adresse.
Or cette adresse (64 bits) est un code unique qui est "gravé" dans le composant.
Il doit donc y avoir une initialisation de manière a ce que le processeur "connaisse" les adresses des différents capteurs qui composent le bus.
Comment cela se passe-t-il ? (une réponse du type "très bien" ne me satisfera pas :-D )
J'imagine que si le processeur demande les adresses quand tous les capteurs sont connectés au bus, ils vont tous répondre en même temps et les adresses seront illisibles.
comment cette initialisation s'effectue-t-elle ? c'est pas clair pour moi (ca fait dejà pas mal de temps que je me pose la question)

Ne me dite pas qu'il y a un petit papier avec chaque composant vendu ? j'aurais difficile d'y croire.

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

Avatar du membre
Bernard (de Cagnes)
Maitre Solaire
Maitre Solaire
Messages : 879
Enregistré le : jeu. févr. 23, 2006 15:02 pm
Localisation : Fretterans 71

Message par Bernard (de Cagnes) »

Bonsoir à Tous, Richardel,

moi non plus j'y connaisais pas grand chose en 1 Wire, j'y connais pas beaucoup plus maintenant mais j'ai compris comment ça marchait (à 61 ans les neuronnes vont moins vite !) et mon réseau marche :-D

ce n'est aps le processeur qui lit directement les informations de chaque capteur, c'est des interface (DS 9097 ou autre)

voir le lien http://vesta.homelinux.net/wiki/bus_1_wire.html

ou regarde ça http://1-wire.paka23.com/ ça explique bien

ou là http://rosset.org/linux/temperature/howto.html

moi je fonctionne sous windows
Amitiés ensoleillées. Bernard (Fretterans 71)

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 »

Bonsoir,
Pour questionner un capteur, le processeur doit connaitre son adresse.
Or cette adresse (64 bits) est un code unique qui est "gravé" dans le composant.
Oui, le processeur peut faire une demande en donnant le "ROM" 64-bit d'un capteur, mais il peut aussi "découvrir" les capteurs connectés et leur type (procédure de "search ROM").
Il doit donc y avoir une initialisation de manière a ce que le processeur "connaisse" les adresses des différents capteurs qui composent le bus.
Comment cela se passe-t-il ? (une réponse du type "très bien" ne me satisfera pas Très content )
J'imagine que si le processeur demande les adresses quand tous les capteurs sont connectés au bus, ils vont tous répondre en même temps et les adresses seront illisibles.
comment cette initialisation s'effectue-t-elle ? c'est pas clair pour moi (ca fait dejà pas mal de temps que je me pose la question)
La procédure de "search ROM" est un peu complexe mais elle gère le problème des réponses simultanées.
Elle utilise le fait que l'état normal du bus est à 1 et que chaque sonde peut le mettre à 0 (c'est une sorte de bus à collecteur ouvert)
En simplifiant, le processeur (le maître) fait la découverte des ROM des sondes en proposant les bits possibles en séquence et en "écoutant" le bus.
Si une ou plusieurs sondes ont leur ROM commençant par cette séquence, elles mettent le bus à 0 et le maître sait qu'il y a au moins une sonde ayant cette séquence. Si le bus reste à 1, il n'y a pas de sonde avec cette séquence. Le maître continue avec les bits suivants jusqu'à être sûr qu'il a bien distingué toutes les sondes.
Quand le maître a trouvé une sonde, il remonte dans sa recherche pour trouver les autres.

Exemple :

1) le maître propose 0 et le bus reste à 1
=> il n'y a aucune sonde dont le ROM commence par 0, elles commencent toutes par 1

2) le maître propose 10 et le bus passe à 0
=> il y a au moins une sonde dont le ROM commence par 10
Le maître va déterminer leur ROM

3) le maître propose 100 et le bus reste à 1
=> aucune sonde dont le ROM commence par 100 donc elles commencent toutes par 101

etc.

le détail est là : http://www.maxim-ic.com/app-notes/index.mvp/id/187

Si tu programmes ton microprocesseur en C, tu trouveras une implémentation de l'algorithme sur le même site.
Si c'est en assembleur, c'est plus compliqué mais la TN contient tous les détails pour implémenter l'algorithme.

Bien sûr, pour ceux qui sont sur un ordinateur, Maxim fournit les bibliothèques (C, Java, etc.) qui font tout toutes seules.

Maintenant, il est clair que si ton système veut savoir ce qu'il mesure, il lui faut de toute manière savoir que le ROM x désigne la sonde qui est à tel endroit. Cela fait partie de la configuration minimale que tu dois fournir si tu veux des traitements différents des différentes sondes.

Cordialement,
T.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 »

Bonjour a tous,

un grand merci a tous deux pour vos réponses
(à 61 ans les neuronnes vont moins vite !)
Là tu me fais peur, Bernard, je m'y approche a grands pas :shock:

Voila pourquoi je n'aime pas trop les systèmes évolués. Ils simplifient l'utilisation mais cachent le "comment ca fonctionne". Comme tu le dis, c'est tel interface qui s'en occupe (mais on sait pas comment). Maintenant, si ce qu'on veut faire est de toute façon relié a un PC, pas de raison de chercher plus avant puisque ca fonctionne... tout est solutionné.

Dans mon cas, pas d'interface, pas d'USB, un microcontroleur qui s'occupe de tout et qu'il faut programmer. Et le programmer demande de bien connaitre ce qui se passe au niveau du bit... d'ou ma question.

A ce niveau, l'explication (et surtout l'exemple) donné par p_bricoleur est explicite et éclaircit un point que je n'avais pas compris.
Il faut dire que je me suis intéressé au bus I2C et délaissé le 1 wire mais le ds18s20 me fait changer d'avis (20 capteurs sur un microcontroleur ne peut se faire que via un bus pour ne pas utiliser toutes les pattes du microcontroleur).
Je n'ai pas encore décortiqué le lien mais il m'a l'air instructif et je le lis demain.

Mais ta remarque est judicieuse. Il ne suffit pas de connaître les adresses présentes sur le bus, mais encore leur position physique (ex sonde haut de cuve).
Il semblerait qu'il faille effectuer cette recherche d'adresse capteur par capteur (pour connaître son adresse) puis d'associer l'emplacement physique du capteur a son adresse.

Pour diminuer la charge d'un remplacement d'1 capteur défectueux, je pense qu'il serait utile de prévoir quelques capteurs de réserve avec leur adresse associée (déjà déterminée) pour pouvoir effectuer le remplacement sans devoir relancer la recherche d'adresse qui peut être assez lourde (déséquipement du bus pour y placer le seul composant a identifier).

Pas si simple que ca, ce bus... moins aisé que l'I2C, en tout cas.
Mais on arrivera a en être maître... c'est pas un circuit intégré qui va me résister :roll:

je vais approfondir le lien, je sens que je vais apprendre pas mal de choses.

Tiens, une autre question, existe-t-il un adaptateur ou un "truc" qui permettrait d'assurer le contact thermique entre ce capteur (dont le diamètre est de 4.6mm) dans un doigt de gant pour pt1000 (6mm)

Amitiés
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 »