Laden...

[gelöst] Motordriver reagiert nicht auf serielle Ansteuerung [==> Kabelbruch]

Erstellt von #CPferdchen vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.729 Views
#
#CPferdchen Themenstarter:in
28 Beiträge seit 2011
vor 9 Jahren
[gelöst] Motordriver reagiert nicht auf serielle Ansteuerung [==> Kabelbruch]

Hallo,

Ich habe hier ein Motor-Driver Board MD25, dass ich über eine USB-RS232 Schnittstelle an eine TTL Converter angeschlossen habe. Die Pine des Converters sind der MD25 Technical Documentation
entsprechend angeschlossen:

Will ich nun über Hterm die in der MD25 Serial Documentation beschriebenen Kommandos ausführen passiert nix:

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 RS232-TTL Converter.

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,
Pferdchen

F
10.010 Beiträge seit 2004
vor 9 Jahren

Dies ist nicht das Help Board für HTerm.

Aber nur weil du irgendwas in Hex schreibst, wird davon nicht magisch ein echtes Byte das zur Seriellen schnittstelle gesendet wird.
Wenn du bytes senden willst, solltest du das auch tun.

#
#CPferdchen Themenstarter:in
28 Beiträge seit 2011
vor 9 Jahren

Dies ist nicht das Help Board für HTerm.

Entschuldigung. Ich war davon ausgegangen, dass im Smalltalk-Forum der inhaltliche Gegenstand eines Threads keine Rolle spielen würde.

Aber nur weil du irgendwas in Hex schreibst, wird davon nicht magisch ein echtes Byte das zur Seriellen schnittstelle gesendet wird.
Wenn du bytes senden willst, solltest du das auch tun.

Beim Inistialisieren des COM-Ports gebe ich doch 8bits als Data an. Also gehe ich mal davon aus das am Ende auch ein Byte gesendet wird.

Hinweis von herbivore vor 9 Jahren

Da es um eine Frage der Programmierung (der seriellen Schnittstelle) geht, gehört die Frage im "Rund um die Programmierung" ==> verschoben. Sie ist durchaus erlaubt; ob sich ein Helfer damit auskennt, steht auf einem anderen Blatt. Davon abgesehen wäre auch in Smalltalk nicht alles erlaubt, sondern auch da gibt die entsprechende Forenbeschreibung den Rahmen vor.

185 Beiträge seit 2005
vor 9 Jahren

Beim Inistialisieren des COM-Ports gebe ich doch 8bits als Data an. Also gehe ich mal davon aus das am Ende auch ein Byte gesendet wird.

Das hat doch nichts damit zu tun ob ein Byte gesendet wird, sondern wie das Byte Übertragen wird.
Hast du schon mal mit die Schnittstelle mit 7/N/2 initialisiert?

F
10.010 Beiträge seit 2004
vor 9 Jahren

@#CPferdchen:
Da hast du aber einiges falsch verstanden.

Wenn du bei HTerm in die Eingabezeile 0x00 eingibst, werden 4Byte übertragen,
nämlich die bytewerte für 0, x, 0 und 0.

#
#CPferdchen Themenstarter:in
28 Beiträge seit 2011
vor 9 Jahren

Das hat doch nichts damit zu tun ob ein Byte gesendet wird, sondern wie das Byte Übertragen wird.

Die Daten werden doch als Data-Frames als [Startbits + x Datenbits + Stoppbits] übertragen. Sende ich einen Wert dessen Darstellung n Bits benötigt wird dieser seriell in n/x einzelne Sequenzen zerlegt gesendet. Ist das so richtig?

Hast du schon mal mit die Schnittstelle mit 7/N/2 initialisiert?

Kannst du mir das näher erklären. Durch Google werd ich nicht schlauer.

@#CPferdchen:
Da hast du aber einiges falsch verstanden.

Wenn du bei HTerm in die Eingabezeile 0x00 eingibst, werden 4Byte übertragen,
nämlich die bytewerte für 0, x, 0 und 0.

Mir ist klar, dass das 0x nur die übliche Markierung eines Hexwertes bedeutet. Ich sende also nur den eigentlichen Wert nach 0x.

Danke,
#CPferdchen

U
1.688 Beiträge seit 2007
vor 9 Jahren

Hallo,

hast Du mal einen Screenshot von HTerm?

#
#CPferdchen Themenstarter:in
28 Beiträge seit 2011
vor 9 Jahren

Hallo,

ein Screenshot von HTerm im Anhang.

Habe gerade auf Grund eines Tips mal eine LED über RX und Ground geschaltet und dauer gesendet. Ebenso über Vcc und GND. Leider tut sich nix. Mich wundert auch, dass ich über VCC und GND keine 5V mit einem Multimeter messe. Weder am Board noch am TTL Ausgang. Wie gesagt hab ich alles in doppelter Ausführung. Also hab ich das auch mit zwei TTL Convertern getestet.

Wenn ich gerafft habe wie ich an dem Oscillokop das hier rum fliegt Bilder speicher lade ich das auch nochmal hoch.

Mein Dauersender:


using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.IO.Ports;

namespace ConsoleApplication1
{
    class Program
    {
        //public static SerialPort serialPort;

        static void Main(string[] args)
        {
            Console.WriteLine("Press any Key to start Application");
            Console.ReadKey();

            try
            {
                SerialPort serialPort = new SerialPort();

                serialPort = new SerialPort("COM32", 38400, Parity.None, 8, StopBits.Two);
                serialPort.Open();
                Console.WriteLine("Port opend");

                byte[] GET_VERSION = { 0x00, 0xFF };
                int received;

                for (int i = 0; i < 100000;i++)
                {
                    serialPort.Write(GET_VERSION, 0, 2);
                    received = serialPort.ReadByte();

                    Console.WriteLine("received: " + received);

                    //System.Threading.Thread.Sleep(1);
                }

                serialPort.Close();
                Console.WriteLine("Hb627 closed!");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine("EXCEPTIO: " + ex.ToString());
                Console.ReadKey();
            }
        }
    }
}

Danke

#
#CPferdchen Themenstarter:in
28 Beiträge seit 2011
vor 9 Jahren

Kabelbruch zwischen Board und Converter. Schande auf mein Haupt.

Bitte löschen.