DS18B20 sur bus 1-Wire

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

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

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

Message par mon gros paddy »

[quote="pruvost"]
Est ce accessible aux non initiés ???[/quote]

Bonjour.

Oui, l'idée, en dehors du choix des capteurs :-) , serait de proposer un "kit de départ" accessible à tous, dans l'ambiance "entraide bénévole" chère à ce forum.
Il est vrai que passé le grand moment de solitude de la programmation des registres :cry: entre autres, c'est que du bonheur :-D .

Le kit serait "schéma / typon / programme de départ en basic" (donc pas d'assembleur :shock: ).
qu'en dites vous ???

Un p'tit exemple sans prétention d'un circuit: 4 entrées tempé et une sortie 220V on/off (oui oui, la sortie LCD est dessus :-) ):
Fichiers joints
regul_pic.jpg

Avatar du membre
ctthect
Newbie
Newbie
Messages : 40
Enregistré le : sam. févr. 27, 2010 22:32 pm
Localisation : St FONS (69)
Contact :

Message par ctthect »

[quote="mon gros paddy"][referp=57476;quote="pruvost"]
Est ce accessible aux non initiés ???[/quote]
Il est vrai que passé le grand moment de solitude de la programmation des registres :cry: entre autres, c'est que du bonheur :-D .
[/quote]

d'où mon choix du picBasic qui n'a pas tous ces soucis de registres.... :-)
#########################
http://capteursolaire.blogspot.com/
#########################

Avatar du membre
treblig
Etudiant Solaire
Etudiant Solaire
Messages : 212
Enregistré le : mer. févr. 08, 2006 14:17 pm
Localisation : Pala (12)

Message par treblig »

On se demande pourquoi Microchip nous gonfle avec des registres dans ses microcontrôleurs. Il faudrait aussi supprimer les fonctions PEEK et POKE du basic pour être définitivement tranquille mais même dans un compilateur Basic open-sourceils les mettent, les fourbes ! De toute façon, le mieux c'est les Atmel (chouette, une polémique PIC vs AVR, mais, chut..., les AVR comme tous les autres ont des registres aussi...) dans un module Arduino qui est open-source tant hardware que software.

Pour revenir au 1-Wire et DS18B20, appliqué à l'Arduino, voici un exemple (en anglais) et plein d'autres (majoritairement en anglais)

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

Message par mon gros paddy »

[quote="treblig"]De toute façon, le mieux c'est les Atmel (chouette, une polémique PIC vs AVR

Arduino, voici un exemple (en anglais) et plein d'autres (majoritairement en anglais)[/quote]

Bonsoir.
Comme je l'ai dit plus haut, je ne veux pas rentrer dans une polémique quelconque :-x , l'idée est de proposer un p'tit truc simple, chic et pas cher. :razz:
L'arduino que je ne connais pas semble être une super base, mais si tout est en anglais.... :???:

Le site de notre Bigonoff National est il est vrai truffé de bons tuyaux mais un peu indigeste pour débuter..

Le réglage des registres, nécessaire pour dire qui fait quoi (telle patte en entrée analogique, l'autre en sortie, etc) est très simple:
c'est du genre "TRISB=0" ou "ANSELH=1". 8-)
Mais si on sait pas, ça marche pas. :sad:

D'où l'intérêt d'un programme exemple dédié à la carte....

Donc je réitère ma question, ça vous branche pas de proposer une p'tite carte (Pic, hein, moi Avr je ne connais pas :lol: ) hyper fiable, avec disons 2-3 entrées tempé, et 1 ou 2 sortie relais, et le tout pour une poignée de composants standards ???

nicolas34
Expert Solaire
Expert Solaire
Messages : 543
Enregistré le : lun. mars 03, 2008 12:43 pm
Localisation : montoulieu (34)

Message par nicolas34 »

hello tous
[quote="mon gros paddy"]

Donc je réitère ma question, ça vous branche pas de proposer une p'tite carte (Pic, hein, moi Avr je ne connais pas :lol: ) hyper fiable, avec disons 2-3 entrées tempé, et 1 ou 2 sortie relais, et le tout pour une poignée de composants standards ???[/quote]
si, moi ça me dit bien (pas pour concurrencer Patrick hein ), pour comprendre un peu ces bestioles.
j'en ai quelques unes qui trainent et j'aimerais bien en faire quelque chose,
mais newbie complet - j'ai juste donné un hex à manger à un un p'tit 12f675, et ça a marché :razz: .
donc je suis en attendant d'être capable.
A plus
Nicolas Pons pour CR (pas que c'était mieux avant..mais un peu quand même)
https://webold.apper-solaire.org/

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,

Quel beau projet mais...
Quelles sondes de température choisir ? Il y a des adeptes des PT1000, d'autres ne jurent que par les KTY, le vrai standard sont les PT100 mais les LM35 sont appréciées et la simplicité revient aux dernières DS18B20.
Chaque type de sonde a ses adeptes.

Au niveau du processeur, même combat... y a les Pics, les AVR, et même la famille des MCS51. Les différents types de processeurs n'ont pas beaucoup d'importance (pour peu qu'ils aient suffisamment de mémoire, d'entrées sorties, d'interfaces et de temporisateurs) si on veut les programmer avec un langage de haut niveau (basic, C...). Il suffit que le compilateur (un programme capable de traduire le langage évolué en langage compréhensible par le processeur) soit choisi en fonction du processeur.
Je ne parle pas des adeptes des processeurs 32 bits.

Au niveau des besoins, c'est la pagaille. Chaque installation est différente. Il est difficile de concevoir quelque chose qui puisse convenir a tous. (la seule exception connue est le minisun).
- Au niveau Hardware (certains se contenteront de 3 sondes de température or, pour mon installation, il y en a une grosse trentaine)
- Au niveau programmation. La gestion diffère si on a une ou plusieurs cuves,
avec le système de refroidissement (avec ou sans piscine), si le système est en pression ou en drain bach, si on a a faire a un système ECS ou combiné chauffage etc...

Pour mon installation, je suis en train de concevoir une carte d'interface qui comporte 24 sorties 220V (via bus I2C), 4 ou 8 relais, 3 entrées PT1000, 1 entrée solarimètre (merci a Ramses) , 3 entrées pour débitmètres et un bus 1 wire pour des sondes DS18B20 en nombre voulus.
Un écran LCD 4X20 et un clavier 6 touches
C'est un ATméga 32 (choisi pour sa quantité de mémoire) qui gère l'ensemble. Son rôle est, uniquement, de gérer les entrées sorties, mesure de température et de débits en fonction d'un message RS232.
Il fait donc des tâches élémentaires et sa programmation devrait être universelle et valable pour tous.

Cette carte devrait permettre beaucoup (trop) de possibilités pour la plupart des installations. (sauf pour mon cas, il faudra deux cartes...).
Si la carte offre trop de possibilités, il suffit de ne pas câbler ce dont on a pas besoin.
La carte sera double face (c'est inévitable) avec des trous métallisés.
Une fois bien au point, je pourrais vous offrir les shémas mais la carte devra être fabriquée et montée. Pour une question de place, il y a quelques composants cms mais soudable a la main.
Au besoin, je la soumettrais a Patrick pour:
1- avoir son avis
2- voir si la carte peut servir a la majorité.
Un peu de patience.

Encore un mot très important... Cette carte répond a des demandes via le canal RS232. Ca veut dire qu'il faut "quelque chose" qui fournisse ces messages.
Cela pourrait être fait par un ordinateur mais la consommation permanente est un frein.
Je viens de faire une découverte, c'est un ordinateur Sheevaplug (prix 100€) qui ressemble a un adaptateur secteur. Il n'a pas d'écran, pas de clavier mais il a de la mémoire (512Mram et 512Mflash), tourne a 1,2GHz, a une sortie USB, une sortie ethernet, un lecteur SDHC (carte mémoire) et même, avec 5 livres sterling de plus, une interface e-sata pour un disque dur externe. Le tout tournant sous linux et ne consomme que 5W.
Le programme principal sera dans cet ordinateur (probablement programmé en C) mais là, pas de mystère, même si on effectue le programme comme des "petits blocs", il faudra les assembler pour l'adapter a chaque installation.
C'est la limite du système.
Le Sheeva ressemble a ceci :
http://www.newit.co.uk/

Pour ceux qui ne veulent pas du Sheeva, ils pourraient ajouter du code dans l'atméga de la carte d'interface (il devrait rester pas mal de place). Je pense le programmer soit en C soit en bascom (qui est un dérivé du basic assez simple). Peut-être une bonne solution pour "apprendre". :cool:

Votre impression ? (si ca intéresse du monde, je ferais tirer quelques cartes de plus).

Amitiés
Modifié en dernier par richardel le ven. juil. 02, 2010 21:12 pm, 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
richardel
Maitre Solaire
Maitre Solaire
Messages : 824
Enregistré le : dim. juin 29, 2008 23:02 pm
Localisation : Verviers Belgique

Message par richardel »

Debever a écrit
Pour les amateurs de thermomètres DS18B20 sur bus 1-Wire, voici une adresse à un prix imbattable:
Je confirme, c'est 5 fois moins cher qu'habituellement.
J'en ai commandé 50 et trois jours après, ils étaient arrivés... Rien a dire et excellant suivi. Très bonne adresse, merci Debever.

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

Forhorse
Etudiant Solaire
Etudiant Solaire
Messages : 278
Enregistré le : lun. févr. 08, 2010 14:42 pm
Localisation : 61 - Perche

Message par Forhorse »

Pour les entrées/sorties sur les systèmes à base de microcontrôleurs je vois beaucoup d'amateurs qui utilisent des composants spécifique ou compliqué (I2C, etc...) ou alors d'enormes microcontrôleurs...
Alors que bien souvent les besoins d'entrée/sorties avec le monde exterieur peuvent être simplement resolu avec des registres à decalage.
Registre parrallèle vers serie pour les entrées, et serie vers parrallèle pour les sorties. Ainsi avec 3 pattes d'I/O du µC (une de donnée, une d'horloge et une de validation) on peut lire/écrire plusieurs dizaines d'entrées/sorties peripheriques, et la routine de lecture/écriture de ces E/S est vraiment simple

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,

Houla, encore une polemique de plus a débattre :-o
je voudrais éviter de rentrer dans ce genre de débat mais ici, je pense qu'il vaut mieux préciser les choses.

Oui Forhorse, tu as raison.
Le problème, en électronique, c'est qu'il y a une flopée de solutions pour résoudre un problème.
Je me souviens d'un circuit type "registre a decalage" (AY3015... si je me souviens bien) qui fonctionnait parfaitement (mais qui est obsolète depuis au moins 2 lustres) :roll:

Au temps des microprocesseurs, les registres a décalage sont inclus dedans qu'ils s'appellent UART, I2C ou autre ISP alors pourquoi ne pas les utiliser ?
S'ils paraissent plus compliqués, c'est le hardware interne qui s'en occupe. Au niveau programmation, il suffit d'écrire la donnée dans le bon registre et c'est tout. (c'est plus simple que d'envoyer les données en série en gérant le temps avec du soft et des timers)
De plus, pour te parler I2C, tu peux piloter 16 circuits de type "registre a décalage" qu'on appelle PCF8574. Chaque circuit peut piloter 8 entrées/sortie ce qui fait au total 128 entrées/sortie avec seulement 2 liaisons sortant du processeur. Et si tu dois changer 1 sortie, t'as pas besoin de renvoyer 128 informations (dont 127 restent identiques), tu ne renvois qu'un bloc de 8 bits, c'est tout.
Et ce même circuit peut servir pour lire des entrées... Il est même capable de générer une interruption si une de ses entrées change d'état.

Et juste pour rire, sur les deux mêmes fils, tu peux mettre (en plus des 16 8574), 4 SAA1064 ce qui te permet de piloter un total de 16 afficheurs 7 segments (ou un total de 128 leds dont tu peux, en plus, programmer l'intensité).
Euh... je te parle des eeprom et des RTC disponibles dans cette série ?

Maintenant, tu as raison, pour les petites extensions, les registres a décalage font très bien leur travail mais si d'autres solutions ont été inventées, c'est pas pour t'embêter :-D , c'est pour offrir beaucoup plus. :smile:
Ca demande juste de ne pas rejetter toute inovation (sous prétexte que "ce qu'on a suffit") et de lire le datasheet.
Il faut se méfier du "ce qu'on a suffit", j'ai appliqué cela aux PC a l'arrivée de windows... depuis ca fait des années que je rame pour refaire mon retard avec les pc modernes :cry:

Le bus "1 Wire" fait un peu exception car il est rarement repris dans les processeurs... par contre, n'avoir qu'un câble qui relie une trentaine de capteurs est un avantage. Quand on sait que tout est intégré dans le capteur, c'est la facilité même.
Mais ca me parait un peu compliqué car il y a encore quelques zones d'ombre que je devrais éclaircir. Mais ca ira.

Amitiés
Modifié en dernier par richardel le sam. juil. 03, 2010 20:05 pm, modifié 4 fois.
L'important n'est pas la température de l'eau solaire, c'est le nombre de KWh engrangé.

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 »

[mode HS culture : ON]

[quote="richardel"]... (mais qui est obsolète depuis au moins 2 lustres)...[/quote]
Dans la Rome antique, le lustre (du latin lustrum) ou la lustration (de lustratio) est le nom de la cérémonie de purification précédant les recensements qui avaient lieu tous les cinq ans, où les censeurs étaient élus. Le lustre désignait également l'espace de temps de cinq ans séparant deux recensements.

Au pluriel, il signifie par extension une longue durée comme dans l’expression courante : « Il y a des lustres ».


[mod HS : OFF]

Toutes mes excuses pour cette intrusion dans un monde où je ne comprends rien :oops:

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 »

Pour Richardel :
Je confirme, c'est 5 fois moins cher qu'habituellement.


Méfiance méfiance... En électronique, il y a actuellement pas mal de problème de contre-façons.
Le tout tournant sous linux et ne consomme que 5W.


Mon système tourne actuellement sous un vieux portable Pentium II, le tout pour 7W (écran éteint).

Manu

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 »

Dans la Rome antique, le lustre (du latin lustrum) ou la lustration (de lustratio) est le nom de la cérémonie de purification précédant les recensements qui avaient lieu tous les cinq ans, où les censeurs étaient élus. Le lustre désignait également l'espace de temps de cinq ans séparant deux recensements.

Au pluriel, il signifie par extension une longue durée comme dans l’expression courante : « Il y a des lustres ».
Merci, Thermitch, pour cette escapade... hum, disons lumineuse (lustre) mais combien instructive qui me permet de rectifier...
je passe de 2 a 4 lustres, dans ce cas :-D
Méfiance méfiance... En électronique, il y a actuellement pas mal de problème de contre-façons.
Au niveau des appareils (appareils photos, camescope), je comprends mais crois-tu qu'il y ait vraiment des risques au niveau composants ?
Quoiqu'il en soit, je les essaierais et s'il y a des problèmes, je les mettrais plus facilement en cause.
Mon système tourne actuellement sous un vieux portable Pentium II, le tout pour 7W (écran éteint).
C'est vrai que cette consommation est déjà faible. Maintenant, le sheeva prend moins de place et son prix (par rapport a un portable) me permet d'en acheter un second pour parer rapidement a une éventuelle panne.
Le sheeva n'a pas d'écran... c'est moins pratique que ta solution mais il sera accessible via ethernet avec un autre PC et il a aussi un port console au cas ou.

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

Forhorse
Etudiant Solaire
Etudiant Solaire
Messages : 278
Enregistré le : lun. févr. 08, 2010 14:42 pm
Localisation : 61 - Perche

Message par Forhorse »

Je rejette pas l'innovation, je propose juste une petite solution facile à mettre en oeuvre et avec des composants courants. (et parfois même de recuperation)
Je n'ai rien contre les circuits peripheriques en I2C au contraire, le probleme c'est que pour les amateurs il n'est pas toujours forcement facile de se les fournir et ils ne sont pas forcement bon marché.
par exemple le PCF8574 coute facilement plus de 2€
un 75HC595 coute un peu plus de 50ct
Pour une carte de 16 ou 32 IO la difference est negligable, si on commence à vouloir faire de la petite serie la difference de prix commence à se sentir.
Après quand on à la possibilité d'utiliser des circuits modernes c'est sûr que c'est plus souple et plus performant, donc forcement plus pratique.

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,

c'est vrai qu'au niveau prix, l'avantage est au 595 (bien qu'on trouve des PCF aux alentours de 1.1€ sur ebay actuellement mais le prix habituel est, en général, supérieur a 2 €)

par contre, cette série va, peut-être, m'intéresser au niveau du débitmètre. Je n'ai que 3 entrées disponibles au processeur (avec compteur intégré) alors que j'aimerais pouvoir étendre à 4 débit-mètres.
le 74HC950 est un compteur 8 bits avec sorties 3 états ce qui va me permettre de les lire via un seul PCF.

merci pour l'idée

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

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

Enfin, je progresse modestement. J'ai quelques DS18B20 sur un bus et une carte avec PIC 16 877 qui cherche automatiquement les capteurs, affiche le code avec vérification du CRC, la température, même dans les valeurs négatives (c'est la qu'était l'os, hélas!)
Programmation en assembleur, mais ce n'est pas imbuvable.

Je vais essayer maintenant de reproduire les fonctions du minisun, ce sera forcément plus cher, mais moins bien...

Daniel
Modifié en dernier par daniel 53 le mer. juil. 21, 2010 15:17 pm, modifié 1 fois.

Répondre

Retourner vers « Régulation »