5 votos

Use los cables internos del cable de red para las conexiones del proyecto Arduino

Soy nuevo en Arduino y Raspberry Pi, y no tengo eletronics conocimiento fuera de este. Tengo un buen conocimiento de programación.

Acabo de enterarme de cómo soldar (básico), tengo mi LCD de trabajo, mi sensor de lluvia, sensor de temperatura externo, sensor barométrico y de la cámara de trabajo. Ellos están conectados y el registro de datos.

Ahora quiero poner esta cosa en el exterior. Voy a necesitar cables largos para mi sensor de lluvia y sensor de temperatura. Puedo desmontar una red de cable (Furukawa Cat 6) y el uso de los pares en el interior?

Voy a necesitar dos cables del sensor de lluvia y tres para el sensor de temperatura. Un cable de red tiene más que suficiente pares, así que sólo tendrá que pasar un cable.

I plan para desmantelar ambos extremos y soldadura.

Es normal esto? ¿Cuál es la distancia máxima?

La distancia sería de unos 20 metros.

Los protocolos y la interfaz - no sé, pero voy a mirar en las hojas de datos. El sensor de presión barométrica es Bmp180, el sensor de temperatura es el DS18B20 y el sensor de lluvia es la IL-83.

9voto

Tom Carpenter Puntos 7192

Ok, así que usted tiene:

  • BMP180 = I2C
  • DS18B20 = 1-Wire
  • YL-83 = Tensión Analógica

Más de 20 m, todos estos son difíciles (aunque no imposibles)

  • I2C está diseñado para corto interconexiones (inter-sistema integrado de circuito!) no tandas largas. Es especialmente problemática de par trenzado como la intercomunicación entre líneas completamente matar. Existe un método llamado dI2C o diferencial I2C, utilizando la PCA9615 chip, pero eso es sólo nominal de alrededor de 3 metros.

  • Analógica será terrible a menos que usted buffer (y probablemente incluso si usted no hace) - la caída de voltaje a través del cable de carga impartida por el ADC, y lo que es más importante el ruido causado por la interferencia con las líneas digitales, entre otras cosas.

  • 1-wire tiene limitaciones similares de I2C. a Pesar de haber re-familiarizado mismo con la especificación, este puede ser el único de los tres que se podría fiable de la interfaz de más de 20 metros mientras usted tenga cuidado con la interferencia y el ruido. Según esta Máxima nota de aplicación, 1-wire, debe ser posible (gracias @Transeúnte para este punto) más que la longitud con un poco de cuidado.

Mi sugerencia sería agregar un MCU en el extremo del cable de interfaz con todos los sensores. Algo así como el ATTiny85 sería muy compacto ser sólo un 8-pin paquete, pero habría que ver cuántos terminales de e/S son necesarios. Usted necesita por lo menos de 4 pines para las entradas (1 es un ADC, 2 I2C de la interfaz, y 1 para el 1-wire bus). Pero entonces también habría una interfaz a través de el cable. El ATTiny85 sólo tiene 6 terminales de e/S, por lo que tendría 2 a la izquierda de la interfaz con el otro extremo del cable.

Yo sugeriría algo así como RS-485 para hacer esto ya que está diseñado para ser un diferencial de e/S estándar y debería funcionar bien con un cable CAT6 - usted tendría que hacer la terminación \$100\Omega\$ lo contrario reflexiones de señal sería muy problemático. En esta configuración se habría comunicación half-duplex. Tendría dos (tal vez más) opciones para hacerlo:

  1. Implementar RS-485 directamente a través de la 2 gratis terminales de e/S de la MCU - este debe ser capaz de hacer-desde un punto de vista eléctrico, y no es difícil de implementar en el software. Además de que significa que usted no necesita un controlador externo.

  2. El uso de un controlador de chip como el MAX481. Usted podría atar los DE y !RE pines juntos y a un pin de e/S (transmisión/recepción de selección de modo), y el empate de la DI/RO pines junto a la otra libre pin I/O, el cual sería una bidireccional de datos/datos de salida de línea.

Para ambas opciones, por ejemplo, podría sentarse en el modo de recepción hasta que se le indique a transmitir por un maestro en el otro extremo del cable. Momento en el cual se recogen y envían la información acerca de los valores del sensor. Una vez enviada la respuesta, de nuevo el interruptor en modo RX y esperar nuevas instrucciones del maestro.


En cualquier caso, si se combinan los sensores sólo tienen una interfaz. Dado que no hay grandes volúmenes de datos, la reducción de la velocidad de transferencia podría ayudar a más de esta distancia - por ejemplo, podría utilizar dI2C o 1 cable de interfaz de la MCU sobre el cable tan largo como usted corre el autobús lentamente (10kHz tal vez) para permitir que las señales se propagan y resolver.

4voto

Stefan Arentz Puntos 151

Bien basado en los sensores está utilizando tiene las siguientes interfaces:

BMP180 - I2C

DS18B20 - Onewire

YL-83 - mtc sólo digital llueve / no llueve pin? - o una salida de tensión analógica (¿cuánto es el de la lluvia)

Para Onewire hay una nota de aplicación disponible que describe la operación a través de largas distancias, no estoy del todo seguro de si ese principio se puede aplicar a dicho sensor, pero supongo que de 20 metros debe ser factible, que son capaces de llegar a los 200 metros. Podría ser que usted tiene que adaptar el software o cambiar la resistencia pull-up para hacer frente con el cable más largo.

La salida digital del sensor de lluvia no debe representar ningún problema, tiene un alto grado de unidad de la fuerza y como es una simple alta / baja de salida push-pull. Realmente no puede decir cuál es el límite de la longitud del cable sería.

Si desea utilizar la salida analógica del sensor de lluvia, las cosas se ponen difíciles. Basado en la mejor esquemático de siempre, la salida analógica no está guardado. En realidad es un simple divisor resistivo formado por la resistencia de 10kOhm y lo de la resistencia de las gotas de lluvia producir. Para conseguir que la señal incluso de forma remota utilizable sobre los 20 metros que necesita al menos un op-amp seguidor de voltaje. No tengo experiencia con esto, alguien tendrá que decirle lo que podría funcionar mejor.

Mi enfoque sería conseguir un microcontrolador pequeño en el que hay que manejar el analógico digital de conversión, también leer el valor del sensor de temperatura y, a continuación, enviar los datos sobre los 20m de cable con una baja tasa de baudios de la UART (4800 baudios funciona bien en distancias más largas).


Esto fue antes de que me di cuenta de que en realidad no coloque el BMP180 fuera (o si?), así que voy a dejarlo aquí como un bono de la información...

I2C a través de una de 20 metros de cable de par trenzado, sé que es posible, si usted realmente hacer cosas desordenadas y doblar el protocolo a los extremos. Que no lo haga. No se supone para cubrir las distancias.

El principal problema que se enfrenta con estas longitudes de cable es la capacitancia del cable que va a cambiar las señales. Como I2C y Onewire son tanto el uso de resistencias pull-up y de drenaje abierto de los transistores de la capacitancia del bus es limitado. Por ejemplo, la especificación de I2C por NXP la limita a un máximo de 550pF.

Ahora una normal de cable tendrá algo alrededor de 120pF/m capacitancia (yo no he probado que en un cable de ethernet) así que si tienes suerte, usted podría tener, quizás, de 3 a 4 metros sin "tratamiento especial".

Si usted quiere colocar su I2C sensor de ahí, me gustaría sugerir el uso de un microcontrolador pequeño para leer el sensor a través del I2C y enviar los datos a través del cable largo con algo más útil, como una baja velocidad en baudios de la UART o incluso algo diferencial para mayor inmunidad al ruido.

3voto

BenG Puntos 394

Puesto que usted no ha mencionado cómo se va a utilizar el sensor de la información, voy a asumir que usted es capaz de trabajar con el arduino a través de ethernet. Te sugiero cambiar su pensamiento y el lugar de la ardunio en una carcasa impermeable junto con los sensores(o corto en el cable de señal se ejecuta a ellos). Añadir un poe etherenet escudo de la ardunino y poder/infereface a él a través de lo largo de los 20m etherenet ejecutar. Esto significa que todo va a ser trabajar dentro de sus especificaciones, y sospecho que puede ser más dentro de su conjunto de habilidades?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X