Hallo, Ich habe hier ein Motor-Driver Board MD25[http://www.robot-electronics.co.uk/acatalog/Drive_Systems.html, dass ich über eine USB-RS232 Schnittstelle an eine TTL Converter angeschlossen habe. Die Pine des Converters sind der Md25 Doku entsprechend angeschlossen: http://www.robot-electronics.co.uk/htm/md25tech.htm Will ich nun über Hterm die in der seriellen Doku beschriebenen Kommandos ausführen passiert nix: http://www.robot-electronics.co.uk/htm/md25ser.htm Ich sende in einem erst die 00 und dann z.B. die 26. Nun sollte ich eigentlich die Software-Version des Boards als Antwort erhalten. Auch auf andere Kommandos wird weder geantwortet noch mit Aktionen der Motoren reagiert. RS232 Schnittstelle und TTL Converter funktionieren an einem STM32 Board hervorragend. Die Spannungquelle des MD25 ist eine Labornetzteil. Ich verwende diesen TTL Converter: http://www.dfrobot.com/index.php?route=product/product&product_id=196 Hterm habe ich mit den verschiedenen Baudraten und Jumpersetting durch getestet. Die Kommandos als Hex gesendet. Da ich von dem MD25 zwei Boards hier habe kann ich ausschließen, dass die beide kaputt sind. Ausserdem neu. Jemand eine Idee was ich falsch mache? LG, Jan
Bei HTerm kann ich den Type einstellen. Ich stelle auf Hex und sende die 26. Würde ich auf Dec stellen, dann müsste ich die 38 senden.
Jan schrieb: > Hallo, > > Ich habe hier ein Motor-Driver Board > MD25[http://www.robot-electronics.co.uk/acatalog/Drive_Systems.html, > dass ich über eine USB-RS232 Schnittstelle an eine TTL Converter > angeschlossen habe. Die Pine des Converters sind der Md25 Doku > entsprechend angeschlossen: > http://www.robot-electronics.co.uk/htm/md25tech.htm Das erste was ich immer tue ist: kontrollieren, ob auch auf dem Rx-Pin des IC was ankommt. Also leg einen Stein auf die PC-Tastatur (damit der dauersendet) und kontrollier mit einer LED, ob sich auf der Platine am Rx Pin was tut. Da kann einfach zu viel schief gehen, inklusive falsch ausgekreuztem Kabel, als dass ich mich da blind auf 'ich hab alles wie aufgezeichnet verkabelt' verlassen würde. Kann ja sein, dass ohnehin alles in Ordnung ist. Aber ehe ich das nicht kontrolliert habe, gehe ich grundsätzlich nicht davon aus, dass es das ist. Vor allen Dingen dann nicht, wenn eine serielle Verbindung nicht funktioniert.
:
Bearbeitet durch User
Karl Heinz schrieb: > Das erste was ich immer tue ist: kontrollieren, ob auch auf dem Rx-Pin > des IC was ankommt. Dafür kann man statt des Motors auch einfach eine Brücke zwische RX und TX an den Converter hängen. Dann müßte jedes gesendete Zeichen wieder ankommen und man hat gleich beide Richtungen geprüft.
Hallo, habe gerade mal den Tip von Karl-Heinz beherzigt und mit eine LED über RX und Ground geschaltet. Ebenso über Vcc und GND. Leider tut sich nix. Mich wundert auch, dass ich über VCC und GND keine 5V messe. Weder am Board noch am TTL Ausgang. Als Stein habe ich diesen Code ausgeführt:
1 | using System; |
2 | using System.Collections.Generic; |
3 | using System.Diagnostics; |
4 | using System.Linq; |
5 | using System.Text; |
6 | using System.Threading.Tasks; |
7 | using System.IO; |
8 | using System.IO.Ports; |
9 | |
10 | namespace ConsoleApplication1 |
11 | { |
12 | class Program |
13 | { |
14 | static void Main(string[] args) |
15 | { |
16 | Console.WriteLine("Press any Key to start Application"); |
17 | Console.ReadKey(); |
18 | |
19 | try |
20 | { |
21 | SerialPort serialPort = new SerialPort(); |
22 | |
23 | serialPort = new SerialPort("COM32", 38400, Parity.None, 8, StopBits.Two); |
24 | serialPort.Open(); |
25 | Console.WriteLine("Port opend"); |
26 | |
27 | byte[] GET_VERSION = { 0x00, 0x29 }; |
28 | int received; |
29 | |
30 | for (int i = 0; i < 100000;i++) |
31 | { |
32 | serialPort.Write(GET_VERSION, 0, 2); |
33 | received = serialPort.ReadByte(); |
34 | |
35 | Console.WriteLine("received: " + received); |
36 | |
37 | //System.Threading.Thread.Sleep(1); |
38 | } |
39 | |
40 | serialPort.Close(); |
41 | Console.WriteLine("Hb627 closed!"); |
42 | Console.ReadKey(); |
43 | } |
44 | catch (Exception ex) |
45 | { |
46 | Console.WriteLine("EXCEPTIO: " + ex.ToString()); |
47 | Console.ReadKey(); |
48 | } |
49 | } |
50 | } |
51 | } |
Jan schrieb: > Mich wundert auch, dass ich über VCC und GND keine 5V messe. Wie versorgst Du denn Dein Board mit Spannung?
Mit einem Basetech Labornetzteil BT-153 auf 12V. Das Board zieht laut Anzeige 0.08A. Wer stellt den bei TTL die Spannung zur Verfügung? Kommen die vom Board oder über (hier) USB?
Im Anhang ein ScreenShot von HTerm. Rätzelhaft ist mir auch warum die gesendeten Daten bei Received stehen? Das auch nur wenn das Board angeschlossen ist. Send ich im Kreis oder was?
Jan schrieb: > Wer stellt den bei TTL die Spannung zur Verfügung? Kommen die vom Board > oder über (hier) USB? Das sollte das Board machen, da steht schließlich > 5. Onboard 5v regulator can supply up to 1A peak, > 300mA continuously to external circuitry Wenn es das nicht tut, ist da irgendwas defekt. Sieh Dir mal den dreibeinigen Spannungsregler direkt neben der Schraubklemme an.
Rufus Τ. Firefly schrieb: > Sieh Dir mal den > dreibeinigen Spannungsregler direkt neben der Schraubklemme an. Der linke Pin hat 12V und der rechte 5V bei beiden Boards
Kabelbruch zwischen Board und Converter. Schande auf mein Haupt.
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.