Réseau 1-wire pour relevé de température ?
Modérateurs : ramses, Balajol, monteric, ametpierre, j2c
- p_bricoleur
- Modérateur
- Messages : 1671
- Enregistré le : mar. déc. 27, 2005 10:37 am
- Localisation : Rueil-Malmaison (92)
- Contact :
-
- Newbie
- Messages : 7
- Enregistré le : mar. nov. 11, 2008 8:48 am
- Localisation : 31
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
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
- jplalaurie
- Stagiaire Solaire
- Messages : 140
- Enregistré le : mar. mai 12, 2009 13:45 pm
- Localisation : aix en provence
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
ç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.
-
- Newbie
- Messages : 7
- Enregistré le : mar. nov. 11, 2008 8:48 am
- Localisation : 31
Désolé, le bon lien est le suivant : http://dl.free.fr/bvI9t0kNh
Un tutorat pourquoi pas ? Précisément sur quoi ?
JF
Un tutorat pourquoi pas ? Précisément sur quoi ?
JF
- Bernard (de Cagnes)
- Maitre Solaire
- Messages : 879
- Enregistré le : jeu. févr. 23, 2006 15:02 pm
- Localisation : Fretterans 71
Bonsoir tous,
je reprends ce fils, j'ai commandé mon matériel 1 Wire
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, 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.
je reprends ce fils, j'ai commandé mon matériel 1 Wire
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, 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)
- Manu25
- Etudiant Solaire
- Messages : 234
- Enregistré le : jeu. janv. 05, 2006 16:02 pm
- Localisation : Arçon, près de Pontarlier (25)
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
A+
Manu
Donnez moi qq semaines et je reviens vous voir
A+
Manu
- phil78
- Etudiant Solaire
- Messages : 171
- Enregistré le : lun. nov. 19, 2007 1:12 am
- Localisation : plaisir 78
Bonjour,
En suivant l'excellent tuto qu'a proposé fpyfu j'arrive à faire tourner mon réseau 1 Wire en local.
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.
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
En suivant l'excellent tuto qu'a proposé fpyfu j'arrive à faire tourner mon réseau 1 Wire en local.
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.
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
- Bernard (de Cagnes)
- Maitre Solaire
- Messages : 879
- Enregistré le : jeu. févr. 23, 2006 15:02 pm
- Localisation : Fretterans 71
Bonsoir Tous,
ça y est j'ai monté mo, réseau 1Wire (toujours du provisoire) et et ç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 et n'était plus à l'ombre et prenait le soleil et coupait le chauffage trot tôt .
ça y est j'ai monté mo, réseau 1Wire (toujours du provisoire) et et ç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 et n'était plus à l'ombre et prenait le soleil et coupait le chauffage trot tôt .
Amitiés ensoleillées. Bernard (Fretterans 71)
- Bernard (de Cagnes)
- Maitre Solaire
- Messages : 879
- Enregistré le : jeu. févr. 23, 2006 15:02 pm
- Localisation : Fretterans 71
- richardel
- Maitre Solaire
- Messages : 824
- Enregistré le : dim. juin 29, 2008 23:02 pm
- Localisation : Verviers Belgique
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 )
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
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 )
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é.
- Bernard (de Cagnes)
- Maitre Solaire
- Messages : 879
- Enregistré le : jeu. févr. 23, 2006 15:02 pm
- Localisation : Fretterans 71
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
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
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
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)
- p_bricoleur
- Modérateur
- Messages : 1671
- Enregistré le : mar. déc. 27, 2005 10:37 am
- Localisation : Rueil-Malmaison (92)
- Contact :
Bonsoir,
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
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").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.
La procédure de "search ROM" est un peu complexe mais elle gère le problème des réponses simultanées.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)
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
- richardel
- Maitre Solaire
- Messages : 824
- Enregistré le : dim. juin 29, 2008 23:02 pm
- Localisation : Verviers Belgique
Bonjour a tous,
un grand merci a tous deux pour vos réponses
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
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
un grand merci a tous deux pour vos réponses
Là tu me fais peur, Bernard, je m'y approche a grands pas(à 61 ans les neuronnes vont moins vite !)
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
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é.