¿Habrá algún efecto en una señal en un cable largo?

Voy a necesitar una gran longitud de cable desde la entrada analógica de mi microcontrolador hasta un sensor LDR o similar. Es probable que la longitud del cable sea de unos 100 m, ¿tendrá algún efecto en la lectura del ADC? ¿Hay alguna manera de que pueda reducir los efectos?

El enfoque estándar sería colocar otro microcontrolador junto al sensor y hacer que comunique los datos.
@starblue: ¿te refieres a un amplificador de búfer?
@endolith: creo que starblue significa hacer la conversión de ADC en el sitio y vincular los datos digitales a través de los 100 m de cable.

Respuestas (5)

Sí, normalmente no pondrías un sensor a 100 metros del ADC.

¿Por qué? Debido a que esa longitud de cable experimentará una caída de voltaje debido a la resistencia del cable de cobre, haga una estimación rápida para demostrar, utilizando 24 AWG ( tabla de calibre de cable ), la resistencia sería de aproximadamente 8 ohmios.

Usando la Ley de Ohm y digamos 10 mA de corriente (supongo, un nivel de señal pequeño) que equivaldría a una caída de aproximadamente 0.1 voltios.

V = I * R
voltage drop = 10mA times 8 ohms
V = 0.010 * 8 = 0.08
or approximately 0.1 V. 

Si es una señal de 5V que es 2%, suficiente para perder precisión.

Normalmente, para que una señal se transmita de manera confiable a una distancia más larga y resista la interferencia y maneje la resistencia del cable, puede hacer algunas cosas.

El primero es aumentar el voltaje, digamos que use una señal de 24 voltios en lugar de 5 V (o 3,3 V) o cualquiera que sea el límite de su entrada ADC. Esto puede ser útil, y es lo que hace el protocolo serial RS-232 (EIA-232) para mejorar la confiabilidad de la comunicación a distancia.

El segundo es usar un bucle actual , donde la información se codifica como diferencias actuales, de modo que el valor LDR se codifica cerca del sensor y el bucle actual abarca la distancia de 100 metros. Esto requeriría un transceptor de bucle de corriente en cada extremo de la distancia, y al menos un extremo del bucle debería tener una fuente de alimentación robusta para proporcionar la potencia necesaria para el bucle.

Una tercera forma sería usar una señal diferencial , donde dos cables ( líneas de transmisión balanceadas) se extienden entre el sensor LDR y el ADC. La diferencia entre los dos valores es la señal real . Esto tiene muy buen rechazo de interferencia de modo común (filtrado). Los ejemplos incluyen RS-422 y la mayoría de los modos Ethernet. Hay circuitos integrados de controladores de línea para RS-422, similares al popular transceptor/controlador MAX232 para comunicaciones en serie RS-232.

Probablemente detectará interferencias. Tal vez pueda usar el mismo diseño de circuito que un micrófono, con los dos cables LDR dentro de un cable blindado y cargas iguales y un amplificador diferencial en el otro extremo.

Dado que va a un ADC, supongo que su señal LDR cambia lentamente en relación con el tiempo que tarda una señal en viajar 100 m (500 ns), por lo que no debe preocuparse por los efectos de la línea de transmisión .

La resistencia del cable probablemente tampoco lo afectará si la resistencia del sensor está en kiloohmios. El cable puede ser de 50 ohmios más o menos por sí solo.

En realidad, si su señal LDR cambia lentamente en relación con la interferencia, el amplificador diferencial podría ser excesivo y podría simplemente filtrar la interferencia con un filtro de paso bajo.

@ ¡la resistencia de un cable no es lo mismo que su impedancia característica!
@stevenh ¿Dónde mencioné la impedancia característica?
Disculpa, me equivoque. la fuerza de la costumbre, me temo. 50 ohmios en conexión con alambre/cable tipo de disparadores que marcan :-/

Sus 100 m de cable actuarán como una gran antena y captarán todo tipo de EMI (interferencia electromagnética). Podría usar un cable blindado, como sugiere Endolith, o un par trenzado decente (decente = suficientes giros por metro).
Una impedancia más baja al final del cable también reduce la EMI, pero cuanto más baja es esta impedancia, más entra en juego la resistencia del cable. Es posible que deba ajustar su lectura de ADC para la pérdida.

Esta sería una aplicación ideal para un AT-tiny, que es un AVR de 8 pines. Encienda el Tiny para simplemente realizar la conversión ADC y transmita su información a través de los 100 m de cable golpeando la señal digitalizada. Dado que la señal cambiará muy lentamente, puede enviar bytes individuales, digamos una vez por segundo, a una velocidad de transmisión baja (por ejemplo, 2400 bps). Al ejecutar la señal como analógica a través de 100 m de cable, es probable que recopile un montón de ruido no deseado, al que una señal digital debería ser inmune.

Si no desea programar un AVR según la sugerencia de JustJef, puede probar un convertidor de analógico a digital de un cable como DS2450 de Maxim. Este es un ADC cuádruple. Debería poder enviar datos hasta 500 m si sigue sus pautas. (Pude hacer funcionar fácilmente un sensor de temperatura DS18B20 a 30 m con un cable de alarma básico).