¿Para qué tipo de comunicación en serie está diseñado Arduino Severino?

8

Arduino se ha vuelto bastante costoso de donde vengo (2/3 del precio de Raspberry PI), así que he creado un clon Arduino Severino .

Había usado el dispositivo con el convertidor USB-serie RS-232. Pero después de un (largo) tiempo, el dispositivo dejó de funcionar. A mi amigo se le ocurrió que la comunicación RS-232 oscila entre +6 y -6 V (con umbrales de +3 y -3 voltios).

Así que probé FT232 que usa de 0 a 5 voltios en su lugar. tengo un pocochino Chip FTDI diseñado para hacer eso: USB a la parte frontal de serie

USB a la parte posterior en serie

Sin embargo, después de conectarlo, se comporta inesperadamente. (se había estrellado mi PC, uno de los LED de comunicación está encendido todo el tiempo ...) Me di cuenta de que la placa Arduino podría romperse por una razón diferente (es muy probable que se produzca un cortocircuito accidental ).

Entonces, ¿para qué tipo de comunicación está diseñado este "Arduino" ?

Tomáš Zato - Restablece a Monica
fuente
Por favor vea mi respuesta actualizada.
Ricardo

Respuestas:

4

Mirando el esquema de esa placa, utiliza una inversión de señal muy cruda para el RS-232. Esto le permite trabajar con una señal RS-232 estándar directamente desde una computadora, solo .

Está lejos de ser ideal y realmente debería usar un chip MAX232 (o similar) para la interfaz.

Su adaptador FT232 debe pasar por alto esa parte del circuito y conectarse directamente a los pines 0 y 1 del clon Arduino. El pin DTR del FT232 debe conectarse al pin RESET del clon Arduino a través de un condensador de 100nF para permitir que el IDE restablezca la placa para ingresar al cargador de arranque. Ah, y por supuesto, conecta el suelo a tu clon de Arduino también (algo que los usuarios de Arduino a menudo olvidan).

Puede seguir la parte de la placa de conexión en serie del tutorial de la placa de pruebas Arduino y aplicarla a su placa.

Majenko
fuente
3

El arduino al que se vinculó está diseñado para señales seriales de nivel RS232, que pueden adivinarse mediante el uso de un conector DB09.

La impresión FT232 que muestra es para señalización de 5V TTL (o quizás 3.3V 'TTL'). No es compatible con tu arduino. (Por cierto: ese chip no es chino en absoluto, está hecho por www.ftdichip.com IMO, hacen los mejores productos de chip / controlador de USB a serie).

Wouter van Ooijen
fuente
Gracias por la información adicional. He editado mi pregunta gracias a ti.
44
Está asumiendo, por supuesto, que es un chip REAL FT232, y no una copia china poco fiable
2

El Arduino Severino (versión serie de un solo lado 3 - S3V3rino) está diseñado para funcionar con la interfaz serial RS-232, no con los niveles de señal serial TTL de su placa FT232.

Entonces, para usar su placa FT232 para conectar su Severino a un puerto USB, necesitará conexiones como las que se detallan a continuación:

Serie TTL a ATmega328 esquemas

Entonces, básicamente necesitas estas conexiones:

  FTDI |  ATmega328           | Arduino Severino 
----------------------------------------------------
  DTR  |  Pin 1 (thru cap C6) | RESET (thru cap C6) 
  RXI  |  Pin 3               | TX (D1)  
  TXO  |  Pin 2               | RX (D0)  
  VCC  |  Not connected       | Not connected
  CTS  |  Not connected       | Not connected  
  GND  |  Pin 8 & 22          | Ground

Eso es básicamente lo mismo que Majenko sugirió (pero con una imagen agregada).

No estoy seguro de que pueda hacer estas conexiones directamente en el Severino sin dañar la placa ni nada más. Probablemente necesite cortar las trazas TX / RX que van del ATmega328 al conector hembra DB9 en el Severino y conectarlas a los pines del encabezado FTDI.

Lo mejor sería modificar los esquemas de Severino EagleCAD para eliminar todos los circuitos RS-232 y reemplazarlos por el conector TTL como se muestra en mis esquemas anteriores y, con eso, grabar y ensamblar una nueva placa. Es mucho trabajo, pero se puede hacer.

Espero que esto ayude.

Ricardo
fuente
1

Un Arduino típico de 5V usará una serie de nivel lógico, es decir, señalización de 0 y 5V.

RS232 tiene niveles de señal de más o menos 3 a 15 voltios. Los controladores y receptores RS-232 deben ser capaces de soportar cortocircuitos indefinidos a tierra o a cualquier nivel de voltaje de hasta ± 25 voltios

De Wikipedia

Muchas interfaces RS232 recibirán señales de 0-5V.

Creo que el Arduino serial original tenía circuitos para tolerar los niveles de señal RS232 en sus entradas.

Dado que la mayoría de las computadoras ahora tienen puertos USB en lugar de puertos RS232, la mayoría de los usuarios de Arduinos usan una interfaz serial USB a nivel lógico. Algunos de los chips más populares para esto son de FTDI, como el FT232RL en su clon chino de un " amigo FTDI ". En este caso, todas las señales son de nivel lógico 0-5 V (o 3,3 V si cambia el enlace de puente).

Entonces, los siguientes probablemente estén bien

 PC DE-9 RS232    ----- Severino DE-9
 PC DB-25 RS232   ----- Severino DE-9
 PC USB port ---- "FTDI Friend" ---- Arduino 0(RX), 1(TX), Reset, GND and (optionally) VCC.
RedGrittyBrick
fuente
Bueno, no, tengo dos respuestas que dicen exactamente lo contrario. ¿Qué tengo que hacer? : D
@ TomášZato: Sospecho que no tienes un verdadero nivel de señal RS232 en ningún lado. Usaría un voltímetro si tuviera dudas.
RedGrittyBrick