Forum: Mikrocontroller und Digitale Elektronik RS485-Kommunikation von Jetson Nano zu Trinamic Schrittmotor


von Chris M. (chris_appment)


Angehängte Dateien:

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?

von Michael D. (nospam2000)


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

: Bearbeitet durch User
von Timo N. (tnn85)


Lesenswert?

Welcher Trinamic ist es denn und braucht der nicht noch ein Enable oder 
ein Pullup an RST?

von fchk (Gast)


Lesenswert?

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

von Chris M. (chris_appment)


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.

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.