Per quale tipo di comunicazione seriale è progettato Arduino Severino?


8

Arduino è diventato piuttosto costoso da dove vengo (2/3 del prezzo di Raspberry PI), quindi ho creato un clone di Arduino Severino .

Avevo usato il dispositivo con il convertitore USB-seriale RS-232. Ma dopo (molto) tempo, il dispositivo ha smesso di funzionare. Il mio amico ha scoperto che la comunicazione RS-232 varia tra +6 e -6 V (con soglie a +3 e -3 volt).

Quindi ho provato FT232 che utilizza invece da 0 a 5 volt. Ne ho un po 'Cinese Chip FTDI progettato per farlo: da USB a seriale frontale

da USB a seriale sul retro

Tuttavia, dopo averlo collegato, si comporta in modo imprevisto. (si è bloccato il mio PC, uno dei LED di comunicazione è sempre acceso ...) Mi sono reso conto che la scheda Arduino potrebbe rompersi per un motivo diverso (è molto probabile un cortocircuito accidentale ).

Quindi per quale tipo di comunicazione è progettato questo "Arduino" ?


Si prega di vedere la mia risposta aggiornata.
Ricardo,

Risposte:


4

Osservando lo schema di quella scheda utilizza un'inversione di segnale molto grezza per l'RS-232. Ciò gli consente di funzionare con un segnale RS-232 standard direttamente da un computer - solo .

È tutt'altro che ideale e dovrebbe davvero utilizzare un chip MAX232 (o simile) per l'interfaccia.

L'adattatore FT232 dovrebbe bypassare quel blocco del circuito e collegarsi direttamente ai pin 0 e 1 del clone di Arduino. Il pin DTR dell'FT232 dovrebbe connettersi al pin RESET del clone di Arduino tramite un condensatore da 100nF per consentire all'IDE di ripristinare la scheda per accedere al bootloader. Oh, e ovviamente, collega anche il terreno al tuo clone di Arduino (qualcosa che gli utenti di Arduino spesso dimenticano).

È possibile seguire la parte della scheda di breakout seriale del tutorial della breadboard di Arduino e applicarla alla scheda.


3

L'arduino a cui sei collegato è progettato per segnali seriali di livello RS232, che possono essere indovinati dall'uso di un connettore DB09.

La stampa FT232 che mostri è per la segnalazione 5L TTL (o forse 3.3V 'TTL'). Non compatibile con il tuo arduino. (A proposito: quel chip non è affatto cinese, è fatto da www.ftdichip.com IMO che produce i migliori prodotti chip / driver da USB a seriale.)


Grazie per le informazioni aggiuntive. Ho modificato la mia domanda grazie a te.

4
Stai presumendo, ovviamente, che si tratti di un chip REAL FT232 e non di una copia cinese ingannevole ... zeptobars.ru/en/read/FTDI-FT232RL-real-vs-fake-supereal

2

Arduino Severino (Single Sided Serial versione 3 - S3V3rino) è progettato per funzionare con l'interfaccia seriale RS-232, non con i livelli di segnale seriale TTL della scheda FT232.

Quindi, per utilizzare la scheda FT232 per collegare Severino a una porta USB, avrai bisogno di connessioni come quelle negli schemi seguenti:

Schemi da TTL seriale a ATmega328

Quindi, in sostanza, hai bisogno di queste connessioni:

  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

Questo è fondamentalmente lo stesso suggerito da Majenko (ma con l'aggiunta di una foto).

Non sono sicuro che tu possa effettuare queste connessioni direttamente nel Severino senza danneggiare la scheda o qualsiasi altra cosa. Probabilmente dovrai tagliare le tracce TX / RX che vanno dall'ATmega328 al connettore femmina DB9 sul Severino e collegarle ai pin dell'intestazione FTDI.

La cosa migliore sarebbe modificare gli schemi Severino EagleCAD per rimuovere tutti i circuiti RS-232 e sostituirli con il connettore TTL come mostrato nei miei schemi sopra e, con quello, incidere e assemblare una nuova scheda. È un sacco di lavoro, ma può essere fatto.

Spero che questo possa essere d'aiuto.


1

Un tipico Arduino a 5 V utilizzerà un seriale a livello logico, ovvero segnali a 0 e 5 V.

RS232 ha livelli di segnale più o meno da 3 a 15 volt. I driver e i ricevitori RS-232 devono essere in grado di resistere a cortocircuito indefinito a terra o a qualsiasi livello di tensione fino a ± 25 volt

Da Wikipedia

Molte interfacce RS232 riceveranno segnali 0-5V.

Credo che Arduino seriale originale avesse circuiti per tollerare i livelli del segnale RS232 sui suoi ingressi.

Poiché la maggior parte dei computer dispone ora di porte USB anziché RS232, la maggior parte degli utenti di Arduinos utilizza un'interfaccia seriale USB a livello logico. Alcuni dei chip più popolari per questo provengono da FTDI come FT232RL sul clone cinese di un " amico FTDI ". In questo caso tutti i segnali sono a livello logico 0-5 V (o 3,3 V se si modifica il collegamento jumper).

Quindi probabilmente sono 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.

Bene, no, ho due risposte che affermano esattamente il contrario. Cosa dovrei fare? : D

@ TomášZato: sospetto che tu non abbia un vero livello di segnale RS232 da nessuna parte. Userei un voltmetro in caso di dubbio.
RedGrittyBrick il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.