Bonjour Sylvain,
Content de trouver ta trace sur ce forum ! car je t'ai envoyé un mail sans réponse il y a qq mois.
Ces derniers mois j'ai ressorti deux de tes programmes (horloge du 7/4/2013 et Thermo du 7/7/2011) pour faire un thermostat préparateur d'ECS pour ma chaudière qui n'en comporte pas.
Préalablement je me suis servi de tes routines sur PIC16F628 pour faire un thermostat haute résolution pour couper le chauffage si la température d'une cloison de ma maison est trop élevée (mesure de la température d'inertie).
J'ai constaté qu'il y avait toujours un écart de température lue de bien +2°à +3° en dehors de la tolérance de température de la sonde DS18B20 !
En diminuant la fréquence de lecture de la sonde toutes les minutes, la lecture de température était beaucoup plus fidèle : la sonde DS18B20 s'auto-chauffe quand on cause avec elle.
Ce point est connu en lisant bien les datasheets !
Mais il subsistait encore un décalage de +1,5°, avec cela difficile d'apprécier les faibles variations en dessous de 0.1° !
En reprenant ton code j'ai découvert que le programme mettait un état 1 sur le port avant de libérer le bus (en entrée) après un forçage à 0 par la sonde, ceci provoquait un micro-court circuit via la sonde et donc un auto-échauffement !

Après correction de tes routines la mesure était beaucoup plus fidèle !
Je vois encore ce même hic dans ton dernier programme ? ou alors quelque chose m'échappe sur le protocole 1 wire ?
D'autre part, le programme de décodage DCF77 a été corrigé et rendu plus robuste par des contrôles de cohérence qui renforcent le contrôle de parité si 2 bits sont faux.
Toutes les nuits il fait une resynchro avec 5 tentatives pour choper le basculement de l'heure été/hiver. Et en fin de journée il enclenche la chaudière si la température est dans la plage d'hysthérésis
Le thermostat ECS fonctionne très bien maintenant et se débrouille tout seul après une coupure de courant !
Pour ce qui est du mode parasite, je l'ai implémenté sur ce projet !
J'ai validé le protocole 1-wire avec une charge capacitive de 1 nF sur le bus, et toujours 4k7 de pullup (qui peut être diminué à 1k)
Le câble fait 3 m de long et il est blindé par une tresse de masse reliée côté capteur et côté PIC.
Pour des longues distance en mode parasite je vous suggère d'utiliser du câble coaxial (pour TNT ou parabole) avec des connecteurs F.
Ce câble ref 17PATC (le coax noir qui résiste aux UV) fait 52 pF/m ce qui permet de déporter une sonde sur 20 m pour 1000 pF de charge. Je pense que l'on pourrait aller à 40 m avec une résistance de charge de 1k (à valider)