Forum: Mikrocontroller und Digitale Elektronik MD25 reagiert nicht auf serielle Htem>usb>rs232>ttl Kommandos


von Jan (Gast)


Lesenswert?

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

von Jim M. (turboj)


Lesenswert?

Jan schrieb:
> Jemand eine Idee was ich falsch mache?

Die 26 ist hexadezimal, das wäre 38 dezimal.

von Jan (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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
von Oliver R. (orb)


Lesenswert?

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.

von Jan (Gast)


Lesenswert?

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
}

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jan schrieb:
> Mich wundert auch, dass ich über VCC und GND keine 5V messe.

Wie versorgst Du denn Dein Board mit Spannung?

von Jan (Gast)


Lesenswert?

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?

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Jan (Gast)


Lesenswert?

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

von Jan (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.