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?
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
Welcher Trinamic ist es denn und braucht der nicht noch ein Enable oder ein Pullup an RST?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.