Forum: Mikrocontroller und Digitale Elektronik USB<->ttl wandler


von Martin W. (martin_1987)


Lesenswert?

Hallo,

ich bin auf der Suche nach einem USB<->TTL wandler um mit meinem 
Rechener diesen Servo-Motor 
(http://www.agaverobotics.com/products/servos/robotis/ax12/docs/AX-12.pdf) 
ansteuern zu können.

Nun habe ich folgenden Wandler gefunden 
(https://www.sparkfun.com/products/9716), verstehe aber nicht wie die 
Kommunikation funktionieren soll. Ich habe am Wandler 6 Ports, am Servo 
aber nur 3. Und wenn ich das mal ignoriere, dann gibt es je einen Sende- 
und Empfangsport, aber sicher nur einen DATAport am Servo?

Ich weiß darüber nicht viel, daher wäre es super wenn mich jemand 
aufkären könnte.

Vielen Dank

BG
Martin

: Verschoben durch User
von Ralf (Gast)


Lesenswert?

Vom USB-Wandler brauchst du drei Pins: GND, Rx, Tx. Die drei anderen 
sind für Hardware-Handshake und um externe Peripherie zu versorgen.

Dein Servo will 9.6V haben. Alle drei GNDs verbinden (USB-Wandler, 
Servo, Spannungsquelle).
Am USB-Wandler einen Widerstand an TxD, vom Widerstand auf RxD. Das 
RxD-Signal geht an den Data-Pin vom Servo. Im Datenblatt zum Servo ist 
auch eine Schaltung gezeigt, wie der UART des Masters beschalten sein 
sollte.

Das sollte klappen (Alle Angaben wie immer ohne Gewähr).

Ralf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir im Datenblatt des Servomotors die Schaltung auf Seite 8 an.

Die Signale TxD und RxD verbindest Du mit den Signalen des FT232, die 
Leitung "Direction Port" verbindest Du mit dem Steuerausgang des FT232, 
mit dem der bei RS485-Wandlern die Sende-/Empfangsumschaltung macht. 
Welcher das ist, findest Du im Datenblatt des FT232, dort gibt es eine 
Beispielbeschaltung mit RS485-Treibern.
Sollte die Polarität des Signales falsch herum sein, musst Du nur den 
Inverter an den anderen TriState-Buffer anschließen.

Du brauchst also zusätzlich zum FT232 noch einen 74HC04 und einen 
74HC126.

von mar IO (Gast)


Angehängte Dateien:

Lesenswert?

Rufus Τ. Firefly schrieb:
> Sieh Dir im Datenblatt des Servomotors die Schaltung auf Seite 8 an

Bei mir auf Seite 7. Bei deinem geposteten FTDI Basic Breakout kannst Du 
für DIRECTION_PORT CTS oder DTR verwenden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

mar IO schrieb:
> Bei mir auf Seite 7.

Ich habe auf die Zahl gesehen, die der PDF-Reader anzeigt, nicht auf die 
Ziffer auf der Seite unten.

> Bei deinem geposteten FTDI Basic Breakout kannst Du
> für DIRECTION_PORT CTS oder DTR verwenden.

Sollte er bleiben lassen, der FT232 kann das in Hardware und macht das 
mit einem separaten Pin, CBUS2/TXDEN (siehe Seite 11 im Datenblatt des 
FT232R sowie wie schon angedeutet die RS485-Treiber-Schaltung auf Seite 
28).

Verwendet man eine der Handshakeleitungen, muss man die per Software 
ansteuern, was aber unnötig ist, da das eben der FT232 auch selbst 
erledigen kann.

von mar IO (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Sollte er bleiben lassen, der FT232 kann das in Hardware und macht das
> mit einem separaten Pin, CBUS2/TXDEN (siehe Seite 11 im Datenblatt des
> FT232R sowie wie schon angedeutet die RS485-Treiber-Schaltung auf Seite
> 28).
>
> Verwendet man eine der Handshakeleitungen, muss man die per Software
> ansteuern, was aber unnötig ist, da das eben der FT232 auch selbst
> erledigen kann.

Das wusste ich noch gar nicht. CTS und DTR sind bei diesem 
Sparkfun-Breakout Board rausgeführt. Darum habe ich die beiden 
aufgeführt.

Schematic vom Breakout Board: 
https://www.sparkfun.com/datasheets/DevTools/Arduino/FTDI%20Basic-v21-5V.pdf

von Martin W. (martin_1987)


Lesenswert?

Danke für die schnellen Antworten. Ich habe mir das Datenblatt des FT232 
und das vom Servo angeschaut.
Ich baue also die Schaltung so auf wie auf S. 7 im Datenblatt des 
Servos, wobei ich den DIRECTION_PORT durch den TXDEN des FT232 ersetze, 
und falls das nicht funktioniert invertiere ich das Signal des TXDEN 
Ports - stimmts?

Muss ich mit dem PWREN# auch noch was anstellen, oder brauche ich den 
hier nicht?

von Martin W. (martin_1987)


Lesenswert?

Da ich es eigentlich vermeiden möchte noch eine Platine zu basteln habe 
ich noch einmal recherchiert. Kann ich diesen Baustein auch verwenden?
http://de.aliexpress.com/item/USB-2-0-to-TTL-RS485-Serial-Converter-Adapter-FTDI-FT232RL-SN75176-double-function-double-protection/583268610.html

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein. Dein Servo wird nicht mit RS485 angesteuert; die einzige 
Gemeinsamkeit, die es hier mit RS485 gibt, ist der Halbduplexbetrieb und 
die resultierende erforderliche Sender-/Empfängerumschaltung.

Du wirst nicht umhinkommen, die beiden ICs noch irgendwo unterzubringen. 
Da es die auch im klassischen bastelfreundlichen DIP-Gehäuse gibt, ist 
das mit 'nem Stück Lochrasterplatine eine Angelegenheit von ein paar 
Minuten.

Außerdem musst Du die Platine mit dem FT232 drauf ja auch irgendwie 
verarbeiten, auch da bietet sich die Lochrasterplatine an, auf der Du 
die Stiftleiste unterbringen kannst, auf die das "Breakout Board" 
draufgesteckt werden muss.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.