Termostato con DS18B20 y 16F877A ajustable.

Hola D@rkbytes. Disculpa, ¿con que programa puedo compilar tu archivo que dejas?
¿Y con que programa funcionan sus archivos que dejan, porque yo lo quiero compilar en mikroC v6.0 y me sale error?
Está escrito en PICC y compilado con PCWHD Compiler de CCS.

Saludos.
 
Última edición:
D@rbytes ¿Con este programa lo escribo en c y ahí mismo me genera el .hex?



¿Con este programa escribo el texto y genero el .hex o tengo que jalarlo de otra carpeta para generar el .hex?
 
Última edición por un moderador:
D@rbytes ¿Con este programa lo escribo en c y ahí mismo me genera el .hex?



¿Con este programa escribo el texto y genero el .hex o tengo que jalarlo de otra carpeta para generar el .hex?
Si, ese programa tiene el editor y el compilador entre otras herramientas para el desarrollo de programas con PIC.
Busca por aquí en el Foro los cursos y tutoriales que hay sobre programación en C con el CSS.
En Internet también podrás encontrar mucha información al respecto.

Saludos.
 
hola Darbytes el archivo que pusiste en .rar de 3 ds1820 con lcd cuando lo compilo en ccs me sale error la librería 3wire y lcd20x4
Los programas que adjunté anteriormente fueron compilados con CCS PCM C Compiler, Version 4.130
Asegúrate que tu compilador esté actualizado, ya que la librería LCD420.C se encuentra en esa versión de CCS y no es de libre distribución.

Los archivos 1Wire y DS18B20 (de libre distribución) se fueron modificando como se fue requiriendo en los programas adjuntos, pero se agregaron en cada proyecto.

Suerte.
 
Estaba leyendo el tema de conectar dos o más ds18b20, no se nada de C porque uso siempre assembler, se puede conectar muchos sensores sobre un mismo port, yo hice un programita en el cual se transmite al sensor el código de lectura de ROM y te devuelve su address, anotas estas direcciones de cada uno de ellos, después en el programa principal antes de pedirle que lea la temperatura transmitimos el address del sensor que queremos y a continuación el pedido de lectura de temperatura y sólo va a contestar el que corresponda con el address enviado, si de algo te sirve te mandó los dos programitas (en assembler)
 
Pues bueno ya que veo que pasa el tiempo y a mi pregunta de como conectar 2 ds18b20 al 16f877A y nadie me da una idea, pues eso, que vuelvo a preguntar, para ver si se os ocurre alguna idea, ya que, dentro de mi lmitacion, he provado todo lo que se me ocurre pero no doy con la manera, decir que mi idea es conectar uno en RA0 y otro en RA1 y poderlo mostrar en pantalla, como lo hecho para un solo sensor.

No se si te ayudará esto pero yo he hecho uno parecido con un sensor para picaxe.

 
Insisto sobre el tema de como conectar dos o mas DS18B20, Yo hice en asembler pero evidentemente se puede hacer en C o cualquier otra forma. La idea es la siguiente primero hice un programa en que se conecta un solo sensor por vez, se envia primero el SKIP ROM (CCh) a continuacion el REED ROM (33h), luego los pulsitos de clock y se lee lo que devuelve el DS18B20, grabo estos los ocho byte en la EEPROM del PIC, saco el PIC y en el programador leo lo que hay en la primeras posiciones de la EEPROM eso es la direccion que tiene grabada ese DS18B20, hago lo mismo con todos los sensores que quiero conectar juntos. Ahora el programa que realmente lee las temperaturas funciona asi, despues del RESET en envia un SKIP ROM a continuacion un CONVER T (44h) y "todos juntos" los DS18B20 pasan a medir la temperatura y guardan ese dato en su memoria, despues se envia nuevamente el RESET luego el MATCH ROM (55h) luego los ocho byte correspondiente al lector que querramos, luego el READ SCRATCHPAD [BEh] y a continuacion los pulsitos y solamente el sensor que corresponda con esa direccion responde, despues hacemos los mismo con los otros sensores, las temperaturas despues las mostramos en LCD o lo que sea, ese es otro asunto, espero haber sido claro y poder transmitir esa experiencia
 
Como le agrego al mismo proyecto para variar la temperatura, ya sea con push button o potenciometro, que varie de 35 a 90°c, alguien tendra algo parecido?
 
gracias D@rkbytes, aunque la idea de remondino me parece muy buena.
¿Algo así cómo el sistema que adjunto?

El proyecto aún tiene detalles, pero funciona. :)

Saludos.
 

Adjuntos

  • OneWire MultiDevice SCH.jpg
    OneWire MultiDevice SCH.jpg
    93.1 KB · Visitas: 160
  • 16F628A DS18B20 OneWire MultiDevice.rar
    28.1 KB · Visitas: 341
Última edición:
Ya te digo, eso esta muy bien.
Te crearia algun problema poner un trozito del codigo con la explicacion de las funciones, para entenderlo, si no es posible lo entiendo y no pasa nada.
Con ese sistema te ahorras cantidad de cables que no veas, es una pasada.
 
Hola que tal, si bien este tema es medio viejito espero que no les moleste mi pregunta :unsure:
Que cambios debo hacerle al codigo del 16f877 + 2 ds18b20 para hacerlo funcionar en un 16f628a?
eh metido mano y logro leer un sensor pero el otro parece no leerlo, alguien podria guiarme un poco?

Desde ya gracias
 
¿Qué cambios debo hacerle al código del 16F877 + 2 DS18B20 para hacerlo funcionar en un 16F628A?
He metido mano y logro leer un sensor pero el otro parece no leerlo.
¿Alguien podría guiarme un poco?
Son mínimos los cambios, pero mejor adjunto el proyecto modificado para un PIC16F628A para que compares.

Suerte.
 

Adjuntos

  • 16F628A 2 DS18B20.rar
    20.1 KB · Visitas: 255
Bueno he visto la simulacion de D@rkbytes y me parece espectacular, tengo una pregunta especifica, como haces para leer la ROM de varios sensores cuando todos estan conectado en el mismo pin, trabajo en BASIC C y usando la idea de remondino he logrado leer la temperatura de varios sensores, pero solo si ya he leido previamente la ROM de cada uno por separado y usando el 55h para selecionar cada sensor.
 
Bueno he visto la simulacion de D@rkbytes y me parece espectacular, tengo una pregunta especifica, como haces para leer la ROM de varios sensores cuando todos estan conectado en el mismo pin, trabajo en BASIC C y usando la idea de remondino he logrado leer la temperatura de varios sensores, pero solo si ya he leido previamente la ROM de cada uno por separado y usando el 55h para selecionar cada sensor.
Mira por aquí: Dallas DS18B20, 1 wire bus, +/-, multi device, Light codes.
Tal vez esto te ayude a resolver tus dudas.

saludos.
 
Bueno. Pues después de bastante tiempo intentando a mi manera y cómo no, con la inestimable ayuda que me aporta D@rkbytes, pues tengo terminado y listo para montar y probar este controlador de temperatura con un DS18B20, el cual por un error mío no tiraba para delante. Al final explicaré el error.

Me gustaría, si es posible, me digáis donde he cometido algún error, ya que cuando lo pruebo en proteus, aunque va como yo quiero, me marca enseguida la saturación de CPU a niveles altos incluidos 100%.
La casi totalidad de las ideas del programa vienen dadas por D@rkbytes, no sé si las he entendido bien pero lo he intentado.

El gran error al que me refería y espero que os sirva alguna vez como ejemplo de lo mala que es la confianza, y encima que me pase a mi aún, es doblemente peor, ya que como técnico que soy se supone que no me debería haber pasado. "Grave error de confianza".
Es que cuando terminé de montar la placa con los componentes el LM7805, todavía no sé como, lo monté al revés, con lo que cada vez que lo miraba estaba seguro de que estaba bien puesto, y lo mas curioso es que se calentaba.
Después de cambiar 3, le echaba la culpa a los chinos, porque pensaba que los que compré eran defectuosos.
Menos mal que se me ocurrió mirar en Internet. Todavía me estoy dando golpes en la cabeza. Jejeje.

Adjunto archivo rar.
 

Adjuntos

  • 1 DS18B20.rar
    45.1 KB · Visitas: 96
Última edición por un moderador:
Atrás
Arriba