Hi! Also gleich vorweg- ich bin Anfänger in Sachen Mikrocontroller... Ich möchte gerne 2 Schrittmotoren mit meinem mbed nxp lpc1768 board ansteuern. Die Schrittmotoren verfügen über eine Schrittmotorsteuerung: http://de.nanotec.com/schrittmotorsteuerung_smci33.html Diese verfügen über jeweils eine RS485 Schnittstelle. Ich denke, dass ich dafür Treiber wie diese brauche: http://uk.rs-online.com/web/p/line-transceivers/0412905/ und dazu noch 2 D-SUB-9 Stecker. Liege ich da richtig?
> Ich denke, dass ich dafür Treiber wie diese brauche: > > http://uk.rs-online.com/web/p/line-transceivers/0412905/ ja, sowas in der Richtung. Z.B. bei einem Programmierfehler kann es bei RS485 vorkommen, daß Dein µC und die Schrittmotorsteuerung gleichzeitig senden. Dabei können u.U. die RS485-Treiber kaputt gehen. Um davor (und anderen Fehlern) geschützt zu sein nehme ich gerne Fault protected Treiber, gibts z.B. von Maxim: http://para.maximintegrated.com/en/results.mvp?fam=rs485&267=60 > und dazu noch 2 D-SUB-9 Stecker. wozu die? Wenn ich mir das Bild von der Steuerung so anschaue, möchte die lieber direkt Drähte eingesteckt bekommen. Würde ich daher auf der µC-Seite ähnlich machen.
Gerd E. schrieb: > wozu die? Wenn ich mir das Bild von der Steuerung so anschaue, möchte > die lieber direkt Drähte eingesteckt bekommen. Würde ich daher auf der > µC-Seite ähnlich machen. Der Stecker für RS485 ist oben drauf. Wie programmiert man das eigentlich? Kann ich davon ausgehen, dass ich das von der microcontroller seite, ein einfaches uart programm schreibe mit dem ich nachrichten schicke? worauf ist noch zu achten?
> Wie programmiert man das eigentlich? Kann ich davon ausgehen, dass ich > das von der microcontroller seite, ein einfaches uart programm schreibe > mit dem ich nachrichten schicke? worauf ist noch zu achten? du musst schauen was die steuerung für ein protokoll will. RS485 ist normal unidirektional, daß heißt Du musst zwischen senden und empfangen umschalten. Über das Protokoll ist geregelt wer wann senden darf. Ist also nen bischen anders als nen Terminalprogramm am PC, das ist bidirektional. Ein gängiges Protokoll über RS485 ist z.B. Modbus.
http://de.nanotec.com/dyn_downloads_ind/242/Programmierhandbuch_V2.6_de.pdf Ich denke, dass hier das Protokoll beschrieben ist. Es wäre alternativ lt. Hersteller auch möglich das Teil über eine RS232 Schnittstelle zu steuern, jedoch sind die RS232/RS485 Kabel ziemlich teuer, besonders die vom Hersteller selbst (für andere gibt es natürlich keine Haftung).
Gibt es irgendwo ein gutes Programmierbeipsiel, das zeigt wie ich das am besten angehen kann?
Also ich hab mir das jetzt genauer angesehen und eine kleine Skizze erstellt. Um sicherzugehen, dass ich das ganze verstanden habe, habe ich eine kleine Skizze gemacht und in den Anhang gestellt. Die Anschlüsse für den D-SUB 9 Stecker habe ich aus dem Datenblatt für die Schrottmotorsteuerung. Da ich keine Verwendung für gleichzeitiges Senden und Empfangen sehe, gehe ich davon aus, dass ich einen Half-Duplex Treiber brauche. Da die Anschlüsse A und B invertierte und nicht invertierte Datenleitungen sind, bin ich davon ausgegangen, dass ich die RX+ und TX+ Anschlüsse kurzschließen kann und an den nicht invertierten Anschluss für die Datenübertragung an den Treiber (A) führen kann. Analog dazu RX- und TX- an den invertierten Anschluss (B). Liege ich da richtig? Im Datenblatt des Treibers (MAX13422E) ist angeführt, dass ich A und B mit einem 120 Ohm Widerstand kurzschließen soll. Kann ich davon ausgehen, dass im Anschluss der Schrittmotorsteuerung auch ein solcher Widerstand vorhanden ist, oder muss ich den Widerstand selbst zwischen (RX+,TX+) und (RX-,TX-) einbauen? Aus dem Programmierhandbuch für den Controller entnehme ich folgendes Protokoll für die Kommunikation: - Jeder Befehl startet mit dem Zeichen # und endet mit '\r' - Nach dem Startzeichen kommt die Adresse des Motors - Danach der Befehl als ASCII-Zeichen Nach Abarbeitung erhält man eine Antwort der Steuerung Danke
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.