Aidez-moi à fixer un thermomètre PIC16F84 avec capteur DS18B20

B

Bogdan123

Guest
Bonjour à nouveau. J'ai construit ce thermomètre sur cette page www.coolcircuit.com/project/digitemp/ , mais il ne fonctionne pas correctement. L'écran LCD montre que moi TEMP: mais ne montre pas la sonde de température. Je note que le capteur est un DS18B20. Quelqu'un peut-il m'aider à voir ce qui ne fonctionne pas correctement?
 
J'ai affichage de la température sur l'écran LCD et 1 relais o \\ p throue contrôleur. ses sur la base pic 16f 676. si req. mail moi sur pl [{} {shivendrakumarsahu77@yahoo.com shivendrakumarsahu@gmail.com}]
 
Salut, Le circuit représenté est d'utiliser le capteur DS1820, je suppose que vous parlez vous avez la DS18B20 capteur, bien que vitrually identiques la version B a une plus grande etc résolution qui peut être la raison pour laquelle cela ne fonctionne pas. Chaque fois que je vois un Pic 16F84 puce utilisée j'ai l'habitude de prendre le circuit est de 10 ans, tant de l'utilisation des composants pourraient être Obselete. Chips comme le 16F628 sont l'équivalent moderne de la 84. Ces capteurs Dallas sont difficiles à faire fonctionner au mieux de fois, pourquoi ne pas utiliser un humble NTC, très bon marché et disponibles, ainsi que de nombreux circuits pic sur le web.
 
Dans main (), essayez de supprimer le \\ n du second printf () d'appel, afin que le code devient:
Code:
 lcd_putc ("\\ f"); printf (lcd_putc, "Temp");% printf (lcd_putc », u.% u'C ", temp, temp_dec); delay_ms (1000);
\\ n dans le code original causes du code de commencer à écrire à des emplacements dans la mémoire du pilote LCD qui devraient normalement être utilisés pour le 2ème en ligne sur un écran à 2 lignes, mais qui pourrait aussi être utilisé pour la moitié droite d'un écran 1-ligne, selon le pilote utilisé. Étant donné que vous êtes en mesure d'obtenir le «Temp:" imprimé sur OK, on dirait que le module LCD que vous utilisez a un pilote qui est de commande compatible avec celui utilisé par le développeur coolcircuit, mais qui mappe les positions de caractère différent - en supprimant les n \\ Je suppose que vos cartes LCD toute la ligne sur un seul bloc contigu de mémoire ...
 
Je vous remercie pour vos messages. Je vais faire les modifications ans voir.
 
J'ai réussi à compiler le programme, et maintenant il affiche la température, mais elle montre que 72 degrés C. Peut-être que le retard est mauvais pour DS18B20. En ligne, j'ai trouvé que: "La différence principale entre les spécifications des deux parties est le temps de conversion de température:. DS1820 = 500 ms (max) et DS18S20 = 750 ms (max)" Le fichier appelé ds1820.c peuvent être modifiés donc le capteur pour voir la bonne température?
 
Salut, Je ne peux m'empêcher de votre code C, mais vous avez mentionné tout à coup un troisième capteur - la DS18S20 pour le poste. Une recherche rapide a eu cette info qui pourrait aider. Citation: Il ya 3 sondes de température numérique, alors assurez-vous d'obtenir la bonne. Il est le 1820, 18S20 et 18B20. Le 18S20 est le successeur du 1820, et ne dérive pas dans le temps. Le 18B20 offre-t-rapide de conversions, mais pour moi, le plus 18S20 plus facilement disponibles, et convient à mon applications amende. Soyez conscient que l'18B20 ne requièrent différentes méthodes de conversion de la température , puis celle décrite dans ce manuel pour le 18S20.
 
je vous remercie pour votre message. ce que vous m'avez dit me prend dans un profond brouillard, parce que je n'ai aucune expérience en programmation, et je ne sais pas quoi faire.
 
Hey est ce fil toujours actif ... Seulement, je pourrais le refaire avec l'aide et des conseils ... J'utilise un 16F684 avec un DS18B20
 

Welcome to EDABoard.com

Sponsor

Back
Top