Für welche Art der seriellen Kommunikation ist Arduino Severino konzipiert?


8

Arduino ist ziemlich teuer geworden, woher ich komme (2/3 des Preises von Raspberry PI), also habe ich einen Arduino Severino-Klon erstellt .

Ich hatte das Gerät mit dem RS-232 USB-Seriell-Konverter verwendet. Aber nach einer (langen) Zeit funktionierte das Gerät nicht mehr. Mein Freund kam auf einen Punkt, dass die RS-232-Kommunikation zwischen +6 und -6 V liegt (mit Schwellenwerten bei +3 und -3 Volt).

Also habe ich FT232 ausprobiert, das stattdessen 0 bis 5 Volt verwendet. ich habe ein wenigChinesisch FTDI- Chip dafür entwickelt: USB zur seriellen Vorderseite

USB zur seriellen Rückseite

Nach dem Anschließen verhält es sich jedoch unerwartet. (Mein PC war abgestürzt, eine der Kommunikations-LEDs leuchtet ständig ...) Ich habe festgestellt, dass das Arduino-Board aus einem anderen Grund defekt sein könnte (ein versehentlicher Kurzschluss ist sehr wahrscheinlich).

Für welche Art von Kommunikation ist dieses "Arduino" konzipiert?


Bitte beachten Sie meine aktualisierte Antwort.
Ricardo

Antworten:


4

Wenn man sich das Schema dieser Karte ansieht, verwendet sie eine sehr grobe Signalinversion für den RS-232. Dies ermöglicht es, ein Standard-RS-232-Signal direkt von einem Computer zu verarbeiten - nur .

Es ist alles andere als ideal und sollte wirklich einen MAX232 (oder einen ähnlichen) Chip für die Schnittstelle verwenden.

Ihr FT232-Adapter sollte diesen Teil der Schaltung umgehen und direkt mit den Pins 0 und 1 des Arduino-Klons verbunden werden. Der DTR-Pin des FT232 sollte über einen 100-nF-Kondensator mit dem RESET-Pin des Arduino-Klons verbunden sein, damit die IDE die Karte zurücksetzen kann, um in den Bootloader zu gelangen. Oh, und natürlich verbinden Sie den Boden auch mit Ihrem Arduino-Klon (etwas, das Arduino-Benutzer oft vergessen).

Sie können dem Abschnitt zum seriellen Breakout-Board des Arduino-Breadboard-Tutorials folgen und ihn auf Ihr Board anwenden.


3

Das Arduino, mit dem Sie verbunden sind, ist für serielle RS232-Signale ausgelegt, die anhand eines DB09-Anschlusses erraten werden können.

Der angezeigte FT232-Druck ist für 5-V-TTL-Signale (oder möglicherweise 3,3-V-TTL-Signale) vorgesehen. Nicht kompatibel mit Ihrem Arduino. (Übrigens: Dieser Chip ist überhaupt nicht chinesisch, er wird von www.ftdichip.com hergestellt. IMO stellen sie die besten USB / Seriell-Chip- / Treiberprodukte her.)


Danke für die zusätzlichen Infos. Ich habe meine Frage dank dir bearbeitet.

4
Sie gehen natürlich davon aus, dass es sich um einen REAL FT232-Chip handelt und nicht um eine zwielichtige chinesische Kopie ... zeptobars.ru/en/read/FTDI-FT232RL-real-vs-fake-supereal

2

Der Arduino Severino (Single Sided Serial Version 3 - S3V3rino) funktioniert mit der seriellen RS-232-Schnittstelle und nicht mit den seriellen TTL-Signalpegeln Ihrer FT232-Karte.

Um Ihr Severino mit Ihrer FT232-Karte an einen USB-Anschluss anzuschließen, benötigen Sie Verbindungen wie in den folgenden Schaltplänen:

Serielle TTL-zu-ATmega328-Schaltpläne

Im Grunde brauchen Sie also diese Verbindungen:

  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

Das ist im Grunde das gleiche, was Majenko vorgeschlagen hat (aber mit einem hinzugefügten Bild).

Ich bin nicht sicher, ob Sie diese Verbindungen direkt zum Severino herstellen können, ohne das Board oder etwas anderes zu beschädigen. Sie müssen wahrscheinlich die TX / RX-Spuren, die vom ATmega328 zur DB9-Buchse am Severino führen, abschneiden und mit den FTDI-Header-Pins verbinden.

Am besten modifizieren Sie die Severino EagleCAD-Schaltpläne, um alle RS-232-Schaltkreise zu entfernen, und ersetzen Sie sie durch den TTL-Anschluss, wie in meinen obigen Schaltplänen gezeigt, und ätzen und montieren Sie damit eine neue Karte. Es ist viel Arbeit, kann aber erledigt werden.

Ich hoffe das hilft.


1

Ein typischer 5-V-Arduino verwendet serielle Logikpegel, dh 0- und 5-V-Signalisierung.

RS232 hat Signalpegel von plus oder minus 3 bis 15 Volt. RS-232-Treiber und -Empfänger müssen einem unbestimmten Kurzschluss nach Masse oder einem Spannungspegel von bis zu ± 25 Volt standhalten können

Aus Wikipedia

Viele RS232-Schnittstellen empfangen 0-5-V-Signale.

Ich glaube, der ursprüngliche serielle Arduino hatte eine Schaltung, um RS232-Signalpegel an seinen Eingängen zu tolerieren.

Da die meisten Computer jetzt eher USB- als RS232-Anschlüsse haben, verwenden die meisten Benutzer von Arduinos eine serielle Schnittstelle auf USB-Logik-Ebene. Einige der beliebtesten Chips hierfür stammen von FTDI, wie beispielsweise der FT232RL auf Ihrem chinesischen Klon eines " FTDI-Freundes ". In diesem Fall haben alle Signale einen Logikpegel von 0 bis 5 V (oder 3,3 V, wenn Sie die Überbrückungsverbindung ändern).

Die folgenden sind also wahrscheinlich in Ordnung

 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.

Nein, ich habe zwei Antworten, die genau das Gegenteil behaupten. Was sollte ich tun? : D

@ TomášZato: Ich vermute, Sie haben nirgendwo einen echten RS232-Signalpegel. Im Zweifelsfall würde ich ein Voltmeter verwenden.
RedGrittyBrick
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.