Para que tipo de comunicação serial o Arduino Severino foi projetado?


8

O Arduino tornou-se bastante caro de onde eu venho (2/3 do preço do Raspberry PI), por isso criei um clone do Arduino Severino .

Eu tinha usado o dispositivo com o conversor USB-serial RS-232. Mas depois de um longo tempo, o dispositivo parou de funcionar. Meu amigo chegou a um ponto em que a comunicação RS-232 varia entre +6 e -6 V (com limites de +3 e -3 volts).

Então, eu tentei o FT232, que usa 0 a 5 volts. eu tenho um poucochinês Chip FTDI projetado para fazer isso: lado frontal usb para serial

lado traseiro usb para serial

No entanto, após conectá-lo, ele se comporta inesperadamente. (ele tinha deixado de funcionar meu PC, um dos LEDs de comunicação é ligado o tempo todo ...) Percebi que a placa Arduino pode ser quebrada por um motivo diferente (um curto-circuito acidental é muito provável).

Então, para qual tipo de comunicação esse "Arduino" foi projetado?


Por favor, veja minha resposta atualizada.
Ricardo

Respostas:


4

Observando o esquema dessa placa, ela usa uma inversão de sinal muito grosseira para o RS-232. Isso permite que ele trabalhe com um sinal RS-232 padrão direto de um computador - apenas .

Está longe do ideal e realmente deve usar um chip MAX232 (ou similar) para a interface.

Seu adaptador FT232 deve ignorar essa parte do circuito e conectar-se diretamente aos pinos 0 e 1 do clone do Arduino. O pino DTR do FT232 deve se conectar ao pino RESET do clone do Arduino por meio de um capacitor de 100nF para permitir que o IDE reinicie a placa para entrar no carregador de inicialização. Ah, e claro, conecte também o solo ao seu clone do Arduino (algo que os usuários do Arduino costumam esquecer).

Você pode seguir a parte da placa de interrupção serial do tutorial da placa de ensaio do Arduino e aplicá-la à sua placa.


3

O arduino ao qual você se conectou foi projetado para sinais seriais no nível RS232, que podem ser calculados a partir do uso de um conector DB09.

A impressão FT232 exibida é para sinalização de 5V TTL (ou talvez 3.3V 'TTL'). Não é compatível com o seu arduino. (BTW: esse chip não é chinês, é fabricado pela www.ftdichip.com IMO, eles produzem os melhores produtos de driver / chip USB para serial.)


Obrigado pela informação adicional. Editei minha pergunta graças a você.

4
Você está assumindo, claro, que é um chip real FT232, e não uma cópia chinesa desonesto ... zeptobars.ru/en/read/FTDI-FT232RL-real-vs-fake-supereal

2

O Arduino Severino (Single Sided Serial versão 3 - S3V3rino) foi projetado para funcionar com a interface serial RS-232, não com os níveis de sinal serial TTL da sua placa FT232.

Portanto, para usar sua placa FT232 para conectar seu Severino a uma porta USB, você precisará de conexões como as dos esquemas abaixo:

Esquemas de TTL serial para ATmega328

Então, basicamente você precisa dessas conexões:

  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

Isso é basicamente o mesmo que Majenko sugeriu (mas com uma foto adicionada).

Não tenho certeza de que você possa fazer essas conexões diretamente no Severino sem danificar a placa ou qualquer outra coisa. Você provavelmente precisará cortar os traços TX / RX que vão do ATmega328 ao conector fêmea DB9 no Severino e conectá-los aos pinos do cabeçalho FTDI.

O melhor seria modificar os esquemas Severino EagleCAD para remover todos os circuitos RS-232 e substituí-los pelo conector TTL, como mostrado nos meus esquemas acima, e, com isso, gravar e montar uma nova placa. É muito trabalho, mas pode ser feito.

Eu espero que isso ajude.


1

Um Arduino 5V típico usa serial de nível lógico - ou seja, sinalização de 0 e 5V.

O RS232 possui níveis de sinal de mais ou menos 3 a 15 volts. Os drivers e receptores RS-232 devem ser capazes de suportar curto-circuito indefinido no terra ou em qualquer nível de tensão de até ± 25 volts

Da Wikipedia

Muitas interfaces RS232 receberão sinais de 0 a 5V.

Eu acredito que o Arduino serial original tinha um circuito para tolerar os níveis de sinal RS232 em suas entradas.

Como a maioria dos computadores agora tem portas USB em vez de portas RS232, a maioria dos usuários do Arduinos usa uma interface serial USB ao nível lógico. Alguns dos chips mais populares para isso são da FTDI, como a FT232RL no seu clone chinês de um " Amigo da FTDI ". Neste caso, todos os sinais são de nível lógico 0-5V (ou 3,3V, se você alterar o link do jumper).

Portanto, o seguinte provavelmente está OK

 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.

Bem, não, eu tenho duas respostas afirmando exatamente o oposto. O que devo fazer? : D

@ TomášZato: Suspeito que você não tenha um nível de sinal RS232 verdadeiro em lugar algum. Eu usaria um voltímetro em caso de dúvida.
RedGrittyBrick
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.