Pregunta:
El uso de una resistencia de 4.7kOhm con sensor de temperatura DS18B20
camillejr
2016-11-04 00:51:05 UTC
view on stackexchange narkive permalink

Estaba usando un sensor de temperatura DS18B20 con Arduino.

He leído que debe conectar la línea de entrada digital y la línea de 5V con una resistencia de 4.7kOhm, como en la imagen.

¿Alguien puede explicarnos por qué necesitamos hacer esto? ¿Y por qué esta resistencia? ¿Qué sucede si no ponemos una resistencia en absoluto o usamos una resistencia diferente?

Dallas DS18B20 with the 4.7kOhm resistor

¿La hoja de datos dice?
Aquí hay un blog interesante sobre el tema https://wp.josh.com/2014/06/23/no-external-pull-up-needed-for-ds18b20-temp-sensor/
Dos respuestas:
jose can u c
2016-11-04 00:57:37 UTC
view on stackexchange narkive permalink

Las preguntas frecuentes de la página del producto [ https://www.maximintegrated.com/en/support/faqs/ds18b20-faq.html] tiene una entrada:

  P: ¿Se necesita la resistencia de 4,7 kΩ para el funcionamiento de 5 V y 3,3 V? R: Sí, la resistencia pullup de 4,7 kΩ se requiere para aplicaciones de 5 V y 3,3 V.  

El bus requiere que la señal de control sea alta para que el dispositivo maestro pueda bajarla para solicitar datos, y el dispositivo esclavo pueda bajarla para dar los datos. Esto le permite tener varios dispositivos de 1 cable en el mismo "un cable".

La hoja de datos señala otro propósito:

  Otra característica del DS18B20 es la capacidad para operar sin una fuente de alimentación externa. La energía se suministra a través de la resistencia pullup de 1 cable a través del pin DQ cuando el bus está alto. La señal de bus alto también carga un capacitor interno (CPP), que luego suministra energía al dispositivo cuando el bus está bajo. Este método de derivar energía del bus de 1 cable se conoce como "energía parasitaria". Como alternativa, el DS18B20 también puede ser alimentado por un suministro externo en VDD.  
Tenga en cuenta que aunque se requiere * una * resistencia, no es necesario que sea de 4,7 kohmios. Las resistencias internas del arduino son suficientes para impulsar 4 sensores a 2-3 pies de cable, no en modo parásito. La resistencia de 4.7k le permite controlar sistemas con una capacitancia mucho mayor (docenas de sensores en varios medidores). Para jugar o con un solo sensor, realmente no es necesario.
Dat Han Bag
2016-11-04 03:38:54 UTC
view on stackexchange narkive permalink

Agregando a la respuesta de José anterior para responder a sus otras dos preguntas

¿Y por qué esta resistencia? Cuando el dispositivo no tiene su propia fuente de alimentación, utiliza la energía que pasa a través de la resistencia pull-up, por lo que con esta resistencia se alimenta correctamente. También la otra razón, como escribió José, es porque es el valor que diferencia los bits altos o bajos.

¿Qué sucede si no ponemos una resistencia en absoluto o usamos una resistencia diferente? Si va a tiene un valor fuera de especificación, no espere que el dispositivo funcione correctamente porque está usando la resistencia incorrecta, por ejemplo es posible que no funcione porque si la resistencia es demasiado alta, entonces, según la ley de ohmios, es posible que no reciba suficiente poder parásito. Aunque debería poder tolerar la tolerancia de error de la resistencia, cambiarla unos pocos ohmios en cualquier sentido desde 4700 ohmios no hará una diferencia. Puede dañar el dispositivo sin una resistencia.

¡Gracias! Lo que todavía no entiendo es que suministramos la energía al sensor de temperatura directamente a través de la línea de 5V (una de las patas del sensor está conectada a los 5V de Arduino). Entonces, ¿eso significa que la fuente de alimentación va de 5 V, a través de la resistencia a la línea de entrada digital (la pierna del medio)?
¿Cómo crees que funciona el sensor cuando se alimenta desde el arduino?
Estoy tratando de entender lo que estás pensando, por eso pregunté eso.
En su caso de uso particular, no está utilizando la función de poder parasitario. La resistencia de 4.7k ohmios es una resistencia "pull-up" para la línea de datos del bus. ¿Por qué 4.7k? A 5 V, la máxima corriente que puede fluir a través de la resistencia es de aproximadamente 1 mA. Eso es lo suficientemente débil como para que cualquier otro dispositivo en el bus deba hacer para bajar la línea a (cerca de) 0 V es un sumidero de más de 1 mA de corriente. Pero cuando ese dispositivo se pone en marcha (deja de bajar la corriente), la línea siempre vuelve a subir a 5V.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...