Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/01/2015 #41
Moderador

Avatar de D@rkbytes

miglo dijo: Ver Mensaje
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%
Lo único que tienes que hacer para reducir la carga de CPU, es cambiar la resistencia pull-up del DS18B20 de análoga a digital.

Igualmente para otras resistencias que realicen algún tipo de conmutación. (Por ejemplo, LED's o transistores.)
En la simulación es mejor que algunas resistencias sean digitales para evitar la sobrecarga.
08/01/2015 #42


Sí señor, ese era el problema. Gracias de nuevo, D@rkbytes.
Lo que no entiendo es el por qué de que se sature, si se supone que no debería influir como lo hace. Pero bueno, ya sé algo más.
Una pregunta: ¿Se supone que sólo afecta en el programa de proteus, verdad?
09/01/2015 #43
Moderador

Avatar de D@rkbytes

miglo dijo: Ver Mensaje
Lo que no entiendo es el por qué de que se sature, si se supone que no debería influir como lo hace. Pero bueno, ya sé algo más.
Se satura el programa por la cantidad de datos a los que está siendo expuesta la resistencia.
Al trabajar en modo análogo, se está comportando como una resistencia normal y eso es lo que produce la sobrecarga.
miglo dijo: Ver Mensaje
Una pregunta: ¿Se supone que sólo afecta en el programa de proteus, verdad?
Así es. Eso únicamente ocurrirá en el simulador, en el montaje físico no existe ese tipo de problema.
16/11/2015 #44


Usar el codigo del ds18b20 con 16f887
Buenas, estoy tratando de hacer funcionar el codigo con un pic 16f887 pero me arroja valores negativos, no se si es porque desactive el delay por medio del crystal.

Se agradece la ayuda.

Adjunto archivo en ccs y proteus con 16f887
Archivos Adjuntos
Tipo de Archivo: zip 3-DS18B20 16F887.zip (62,5 KB (Kilobytes), 46 visitas)
16/11/2015 #45


Hola picnoob

En el archivo main.h tienes definido esto: #use delay(clock=8000000) pero el PIC tiene programado 1MHz.
Lo cambié y ya no da valores negativos.

saludos
a sus ordenes
16/11/2015 #46


MrCarlos dijo: Ver Mensaje
Hola picnoob

En el archivo main.h tienes definido esto: #use delay(clock=8000000) pero el PIC tiene programado 1MHz.
Lo cambié y ya no da valores negativos.

saludos
a sus ordenes
Gracias! El que no sabe es como el que no ve.

Ahora mi pregunta es, este pic tiene oscilador interno, ya lo he utilizado antes, pero este circuito trae con crystal, si elimino esta parte del circuito sera que funcionara correctamente?
17/11/2015 #47
Moderador

Avatar de D@rkbytes

Debe funcionar igual, porque no necesitas conteos de precisión y tampoco frecuencias de operación elevadas.
La salida del DS18B20 es digital, así que no debe preocuparte el tipo de oscilador.
10/04/2016 #48

Avatar de ingeniero18

Gente!!! Primero que nada, hace rato que vengo buscando info de cómo conectar este sensor a un pic, y es la primera vez que encuentro algo concreto y que ande.
Mis conocimientos de programación son mínimos, pero tengo ganas de agregar unas cosillas al proyecto.
La idea principal sería un PIC con lcd y un sensor DS18B20 (tal cual como comenzaron hablando en este tema del foro) pero me gustaría agregar a esto que los valores de temperatura puedan almacenarse en una tarjeta SD o pendrive y que, mediante un real time clock, almacenar también los datos de fecha y hora para cada valor de temperatura. Mi consulta inicial sería cómo puedo comenzar a conectar la SD y el RTC y, dicho sea de paso, en qué formato podrían quedar los valores almacenados para luego verlos en una PC.

Muchas gracias!!!!
13/04/2016 #49
Moderador

Avatar de D@rkbytes

ingeniero18 dijo: Ver Mensaje
Mi consulta inicial, sería. ¿Cómo puedo comenzar a conectar la SD y el RTC? Y dicho sea de paso. ¿En qué formato podrían quedar los valores almacenados para luego verlos en una PC?
La conexión de una memoria SD o uSD es por SPI y el RTC, por ejemplo, un DS1307, es por I2C.
El formato depende de la forma de obtener las lecturas.
Y se pueden guardar como Float o Word usando 4 bytes, o se pueden dividir las lecturas y guardarlas como bytes.
13/04/2016 #50

Avatar de ingeniero18

D@rkbytes dijo: Ver Mensaje
La conexión de una memoria SD o uSD es por SPI y el RTC, por ejemplo, un DS1307, es por I2C.
El formato depende de la forma de obtener las lecturas.
Y se pueden guardar como Float o Word usando 4 bytes, o se pueden dividir las lecturas y guardarlas como bytes.
Gracias por el aventón!!! Voy a arrancar por eso y con unos pdf q encontré en internet.
Si alguien más tiene más para adentrar en el tema sería genial.
Gracias!!!
13/04/2016 #51


no recuerdo... creo que el DS1305 era por SPI...
algun ahorro de pines al manejarlo desde el mismo bus que las SD.
13/04/2016 #52
Moderador

Avatar de D@rkbytes

Si, el DS1305 se controla por SPI, pero el DS1307 que mencioné, se controla por I2C, menos pines y más sencillo.

Existen módulos listos para usar.

Este módulo RTC con DS1307 ya cuenta con todo lo necesario, hasta con batería y una EEPROM 24LC32


Y este otro es un adaptador para micro SD por SPI.

Si no hay que almacenar muchos datos, yo optaría por usar la memoria interna del PIC.
Imágenes Adjuntas
Tipo de Archivo: jpg Tiny RTC DS1307.jpg (18,8 KB (Kilobytes), 102 visitas)
Tipo de Archivo: jpg Adaptador micro SD.jpg (23,6 KB (Kilobytes), 101 visitas)
19/07/2017 #53


Hola, soy nuevo y estoy montando un circuito con el sensor ds18b20 , Pic 16f877a y lcd 2x 16 para mi pecera, ya tengo todo pero estoy estudiando cómo utilizarlo ya que solo he manejado el lm35 pero ese no se puede sumergir, entonces, cualquier cosa puedo solicitar su ayuda?
19/07/2017 #54

Avatar de george.manson.69

Puedes Revisar este tema hay un ejemplo y libreria para trabajar con el sensor de temperatura DS18B20

Probando ejemplos para el XC8
06/08/2017 #55


control de temperatura
Hola

Estoy montando un control de temperatura para mi pecera con el ds18b20 y pic 16f877a y no me lee el sensor, ¿Alguien me puede ayudar?, adjunto programa y esquema
Archivos Adjuntos
Tipo de Archivo: rar PEZ.rar (100,7 KB (Kilobytes), 14 visitas)
07/08/2017 #56
Moderador

Avatar de D@rkbytes

El programa está muy mal estructurado y contiene bastantes declaraciones que no son necesarias.

Fuera de eso, el problema lo tienes en la librería DS18B20.C
En la función ds1820_read(); debes seleccionar el resultado para un DS18B20 y dejar comentado (//) el resultado para un DS18S20.
07/08/2017 #57


control de temperatura
Buenos dias

Será que usted me_puede ayudar? Es que es la primera vez que utilizo ese sensor y lo que he hecho es basado en lo que he encontrado en internet, le agradeceria
07/08/2017 #58
Moderador

Avatar de D@rkbytes

Saludos. Ya te mencioné lo que se tiene qué hacer.
Aquí te dejo la parte del cambio en la librería DS18B20.C
Código PHP:
//result = (float) temp3 / 2.0;   //Calculation for DS18S20 with 0.5 deg C resolution 
result = (float) temp3 16.0;  //Calculation for DS18B20 with 0.1 deg C resolution 
Como verás, sólo es cambiar un tipo de resultado por otro.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.