RS485-Kommunikation von Jetson Nano zu Trinamic Schrittmotor

OP #6339773
Lesenswert?

Moin,

versuche derzeit mit meinem Nvidia Jetson Nano einen Schrittmotor von 
Trinamic anzusteuern. Der Treiber des Motors funktioniert mit RS485.
Habe hierzu einen 3.3V kompatiblen UART zu RS485-Konverter gekauft.
Alles verbunden, aber das Jetson erkennt den Port nicht.
Ich kann den UART-Port mit meinem Python-Programm normal öffnen aber zur 
Anfangsinitialisierung werden alle Ports "gescannt" und hier findet er 
nichts.
Anbei die Schaltung des Konverters.
Natürlich ist an 'PLUS' der + Port des Treibers und an 'MINUS' der -Port 
des Treibers angeschlossen. Alle GND's wurden auch miteinander 
verdrahtet.
VCC ist 5V, wie im Datenblatt von Trinamic angegeben.
Mein Konverter benutzt, wie im Anhang zu sehen, 4k7 
Pullup/Down-Widerstände. Bei Trinamic werden diese mit 680R angegeben.
Könnte das ein Grund dafür sein, wieso mein Jetson den Treiber nicht 
erkennt?
Angehängte Dateien:
#6339799
Lesenswert?

Chris M. schrieb:
> Natürlich ist an 'PLUS' der + Port des Treibers und an 'MINUS' der -Port
> des Treibers angeschlossen.

Wie bedienst du das R/T Signal?

'R' steht für Receive, 'T' für Transmit. Das bedeutet, dass solange der 
UART die Bits sendet muss R/T wohl auf 0 gesetzt werden (wenn die 
normale Namenskonvention passt und das Signal nicht zusätzlich negiert 
ist). Das ist nicht so einfach, wie es sich anhört, da die Daten 
gepuffert werden und du per Software nicht immer abfragen kannst, ob 
jetzt alle Bits tatsächlich gesendet wurden.

Hast du ein Oszi oder einen Logic Analyzer?

 Michael
OP #6340562
Lesenswert?

Michael D. schrieb:
> Chris M. schrieb:
>> Natürlich ist an 'PLUS' der + Port des Treibers und an 'MINUS' der -Port
>> des Treibers angeschlossen.
>
> Wie bedienst du das R/T Signal?
>
> 'R' steht für Receive, 'T' für Transmit. Das bedeutet, dass solange der
> UART die Bits sendet muss R/T wohl auf 0 gesetzt werden (wenn die
> normale Namenskonvention passt und das Signal nicht zusätzlich negiert
> ist). Das ist nicht so einfach, wie es sich anhört, da die Daten
> gepuffert werden und du per Software nicht immer abfragen kannst, ob
> jetzt alle Bits tatsächlich gesendet wurden.
>
> Hast du ein Oszi oder einen Logic Analyzer?
>
>  Michael

R/T wird über das Serial-Module von Python bedient. Das Modul ist auch 
in der PyTrinamic (Python library direkt von Trinamic) implementiert. 
Das werde ich bei der Programmierung noch einmal genauer begutachten.
Oszi hab ich leider erst wieder ab Anfang August zur Verfügung.

Timo N. schrieb:
> Welcher Trinamic ist es denn und braucht der nicht noch ein Enable
> oder
> ein Pullup an RST?

Es handelt sich um einen PANdrive Motor "PD42-3-1370-TMCL". Der 
Controller des Motors ist ein TMCM-1370. Laut Datenblatt muss ENABLE auf 
GND gezogen werden, um ihn zu aktivieren. Das habe ich schon gemacht.

fchk schrieb:
> Du hast RX und TX vertauscht. TX ist am Jetson ein Ausgang, D vom
> Transceiver ein Eingang. RX ist ein Eingang, R der zugehörige Ausgang.
>
> fchk

Auch Tauschen lässt den Port nicht erscheinen.


Der kleine Programmschnipsel, der mir Sorgen macht ist folgender
1
import serial
2
print(serial.tools.list_ports.comports(include_links=True))
3
#Output: []

Diese Funktion ist essenziell und wird zum Initialisieren des Trinamic 
ConnectionManager genutzt. "Normalerweise" sollte hier der COM-Port 
erscheinen, jedoch bleibt die Liste leer.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren