Probleme bei Serieller USB Kommunikation mit Lidar (RPLIDAR A2M8)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Zusammen,

    ich habe mir einen RPLIDAR A2M8 von Slamtec gekauft und möchte diesen gerne mit meinem Raspberry Pi 4 verwenden.

    Ich habe den Lidar bereits an verschiedenen Rechnern (2x Windows10 und 1xUbuntu) in Betrieb genommen, wo er auch wunderbar funktioniert hat.

    Nur leider gibt es an meinem RaspberryPi 4 Probleme.

    Knackpunkt ist die serielle Kommunikation zwischen dem PI und dem LIDAR. Normalerweise sende ich zum Start (mit pySerial) einen Request an den Lidar und müsste dann als Antwort ein Deskriptor Paket mit exakt 7 Bytes erhalten. Wie bereits erwähnt klappt das auch auf jedem Rechner den ich zu Hause hab, nur eben nicht auf dem PI, wo ich exakt NICHTS zurück empfange. Auf meinen anderen Rechnern konnte ich dieses verhalten simulieren, indem ich die Baudrate (für LIDAR Kommunikation: 115200) geändert habe. Dann habe ich auch dort nichts mehr empfangen, allerdings macht das ja auch Sinn.

    Zum überprüfen der Schnittstelle hab ich auch mal Rx mit Tx verbunden um zu sehen ob der Pi überhaupt Daten raussendet. Dies funktioniert jedoch problemlos und ich empfange genau die beiden Bytes wieder die ich auch los geschickt habe. D.h. aus meiner Sicht bekommt der LIDAR die Daten und reagiert nicht darauf (macht aber für mich wenig Sinn, da er das ja bei allen anderen Rechnern tut), oder er reagiert und der PI kann es warum auch immer nicht lesen.

    Meine Überlegung war, dass vllt die Baudrate im PI nicht wirklich die ist, die Sie vorgibt zu sein und ich deshalb keine Daten vom LIDAR empfange. Meine paar Zeilen Code mit denen ich die Kommunikation getestet habe sind im Anhang.

    Vielleicht hat ja von euch jemand eine Idee woran es liegen könnte, oder weiß wie ich der Sache weiter auf den Grund gehen kann.

    Gruß Jan


  • Probleme bei Serieller USB Kommunikation mit Lidar (RPLIDAR A2M8)? Schau mal ob du hier fündig wirst!

  • Hast du die Serielle Konsole beim RPI deaktiviert?

    Disable Linux serial console

    By default, the primary UART is assigned to the Linux console. If you wish to use the primary UART for other purposes, you must reconfigure Raspberry Pi OS. This can be done by using raspi-config:

    1. Start raspi-config: sudo raspi-config.
    2. Select option 3 - Interface Options.
    3. Select option P6 - Serial Port.
    4. At the prompt Would you like a login shell to be accessible over serial? answer 'No'
    5. At the prompt Would you like the serial port hardware to be enabled? answer 'Yes'
    6. Exit raspi-config and reboot the Pi for changes to take effect.

    Dann neustarten und nochmal probieren.

    Um sicher zu stellen, dass du den richtigen Port verndest, nimm /dev/serial0. Das ist ein Symlink auf den ersten freien verfügbaren seriellen Port.

  • Hast du die Serielle Konsole beim RPI deaktiviert?


    Dann neustarten und nochmal probieren.

    Um sicher zu stellen, dass du den richtigen Port verndest, nimm /dev/serial0. Das ist ein Symlink auf den ersten freien verfügbaren seriellen Port.

    Danke für die Antwort. Leider ist Serielle Konsole bereits deaktiviert (siehe Foto). Empfangen tu ich nach wie vor immer noch nichts :/

  • ttyUSB0 ist doch gar nicht auf dem 40 poligen Pin Header.

    Die Einstellung, die du gemacht hast, betrifft nicht den USB-Dongle, sondern PIN 8 und 10 (GPIO14/15) des Raspberry PI.

    Wenn du den USB-Dongle nutzt, musst du natürlich auch den LIDAR am USB-Dongle anschließen.

  • ttyUSB0 ist doch gar nicht auf dem 40 poligen Pin Header.

    Die Einstellung, die du gemacht hast, betrifft nicht den USB-Dongle, sondern PIN 8 und 10 (GPIO14/15) des Raspberry PI.

    Wenn du den USB-Dongle nutzt, musst du natürlich auch den LIDAR am USB-Dongle anschließen

    Doch, zwischen Lidar und PI hängt nämlich noch ein USB Serial Converter, d.h. ttUSB0 (manchmal ist es auch ttUSB1, aber dann bekomm ich einen error) sollte schon passen. Ich steuer ihn seriel per USB an und nicht über die GPIO Pins. Hab das auch auf meinem Ubuntu Rechner ja auch so gemacht, deshalb sollte es passen.

  • Dann ist ja Hardwaremäßig alles in Ordnung. ttyUSB1 kommt, wenn man entweder zwei Sticks hat oder ihn einmal abgewürgt hat. Ist aber auch nicht schlimm, da man später in Betrieb den Stick nicht einfach entfernt.

    Es muss also ein Softwareproblem sein. Bist du dir sicher, dass du Python3 nutzt?

    Starte dein Programm einmal mit python3 programm.py anstatt nur python programm.py.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!