No se puede establecer comunicación a través de RS232 a una escala digital

3

Soy un estudiante senior de ingeniería eléctrica y creo que lo intenté todo. Aquí está el caso: (no, no estoy usando los convertidores de USB a RS232)

Compré una báscula digital que puede enviar el peso en serie a una máquina. Cuando solicita los datos enviando W (57 en hexadecimal), la báscula devuelve el peso. Como siempre lo hago, trato de acotar a los culpables, así que intenté lo siguiente:

1) Creé un conector RS232 usando MAX232 y una frambuesa pi y pude enviar a través de Minicom (como masilla) una W y recibir un valor de peso.

2) Utilicé el mismo circuito para conectar la Raspberry Pi a mi máquina con Windows y me comuniqué con éxito con Putty.

simple ¿verdad? Me refiero a UART, debería ser.

Así que el cable está bien, la báscula funciona como se anuncia, la masilla en las ventanas funciona, los puertos en la máquina con Windows funcionan; Sin embargo, la máquina de Windows y la balanza se niegan a comunicarse. Lo que significa que W no está llegando a la escala porque no estoy recuperando nada, ni siquiera basura.

3) También probé los pasos 1 y 2 con una máquina virtual que ejecuta win 7 en lugar de Win 10, e incluso probé un cable usb a rs232 que sé que es funcional ... funciona con rpi pero no con la escala.

Sólo tengo una última explicación. En mi edificio no tenemos puesta a tierra en los enchufes. Todos los aparatos funcionan bien, pero le darán un toque limpio si los toca con el pie descalzo. Lo que esto tiene que ver con el problema es que creo que el sistema (fuente de alimentación de rpi + max232 + DC) está bien conectado a tierra, mientras que el sistema de PC (no conectado a tierra) a escala (no conectado a tierra) está sufriendo un problema de ruido. ¿Puede ser este el caso? ¿Tienes alguna otra sugerencia que pueda probar? (Llamé a mi abuela para pedirle agua bendita) Gracias de antemano.

    
pregunta nawf

3 respuestas

2

El motivo por el que funcionó la conexión desde Rpi - > Escala y no PC - > La escala se debe a la suerte (o falta de ella): la escala espera un TX y un RX cruzados y, como la conexión RPi fue de mi creación, accidentalmente crucé el RX y el TX en el nivel MAX232. Entonces, el uso de un cable no cruzado con el Rpi funcionó (ya que la señal que ingresaba ya estaba cruzada en MAX232) mientras que el uso de un cable cruzado no funcionó. Por el lado de la PC, estaba sucediendo lo contrario y ahí es donde comenzó la confusión. En una conclusión y una lección para beneficiar a los lectores, el estándar RS232 originalmente estaba destinado a la comunicación DTE / DCE (T para terminal y C para comunicación, también conocido como computadora a módem). Más tarde, el estándar se usó más ampliamente como DTE / DTE o "módem nulo en serie" donde Rx y Tx están entrecruzados como tales.

Sepuedenencontrarmásconfiguraciones(conhandshaking,etc.)enlafuente enlace

Así como @Tut y @Rioraxe señalaron rápidamente, el problema estaba en el cable, así que asegúrese de saber el tipo de cable que está utilizando probándolo con un medidor de ohmios o cualquier otro método.

    
respondido por el nawf
0

La mejor solución aquí es extraer el osciloscopio para que puedas:

  1. Mida y verifique la velocidad en baudios.
  2. Verifique los niveles de voltaje o la interfaz serial. Algunos dispositivos usarán voltajes de señalización bipolar estándar, ya que se supone que RS232 debe usar, mientras que algunos en estos días pueden estar usando niveles de lógica TTL unipolar.
  3. Verifique qué pines son los pines de datos de entrada y salida en cada extremo para poder enganchar correctamente Rx y Tx en cada dirección.
respondido por el Michael Karas
0

Asegúrese de tener los tres cables UART conectados correctamente RX / TX / GND entre la PC y la báscula. También es posible que desee verificar el nivel de voltaje de la señal.

¿Es la escala RS-232 (-3 a -12 o +3 a + 12V) o es UART (+ 3.3V, + 5V, otros)?

    
respondido por el mjh2007

Lea otras preguntas en las etiquetas