2WD Roboter RPi4 OpenCV

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

    Ich möchte mir einen, wie im Titel erwähnt, Roboter mit visueller Intelligenz bauen.

    Ich habe schon mehrere Roboter auf arduino Basis gabaut und programmiert.

    Dieses Mal soll es auf Basis des Raspberry Pi sein. Dabei möchte ich eine Menge über OpenCV und Python lernen, was beides noch Neuland ist. Mit mehreren Raspberrys arbeite ich schon über Jahre in meinem Smarthome.

    Daher ist der Umgang mit Elektronik und linux gegeben.

    Nun zu meiner Frage:

    Ich vergeude jetzt nun schon den 3. Abend damit ein PCA9685 zum laufen zu bekommen. Ich habe sämtliche Anleitungen und Beispielscripts die das Netz so hergibt durch.

    Um auf Nummer sicher zu gehen habe ich heute noch mal das Raspian Bullseye neu aufgesetzt und Python3 und Adafruit circuit Python und Blynka nach Vorgabe von Adafruit aufgesetzt.

    Das PCA9685 habe ich an SDA 5 und SCL 3 sowie 3,3 V und GND angeschlossen. Es wird am I2C an 0x40 erkannt.

    Den Raspberry versorge ich über ein Step-down-Converter mit 5 V. Einspeisung ist ein Netzteil mit 7,5 V und 3 A. Später soll das ein RC-Akku mit 7,2 V übernehmen. Der Akku/Netzteil geht außerdem auf einen L298N welcher mit einem 5 V Ausgang den PCA9685 versorgt. GND geht hier ebenfalls zum Akku.

    Wie gesagt zuckt sich nichts an den Servos. Python zeigt keine Fehler und die Skripte laufen durch.

    Ein OLED läuft erfolgreich am I2C.

    Ich vermute dass ich hier einen generellen Fehler mache und ohne Hilfe nicht weiter komme.

    Ich hoffe daher, dass jemand mir meine Denkfehler aufzeigen kann. Die Suche habe ich bemüht, allerdings nichts passendes gefunden.

    Hier noch die beiden Beispiele von Adafruit.

    Vielen Dank für eure Mühe.


    VG Chris

  • Moin chrisle,

    erstmal: Herzlich Willkommen im Forum!

    Ich habe da eine Verständnisfrage.

    Ich vergeude jetzt nun schon den 3. Abend damit ein PCA9685 zum laufen zu bekommen.

    Das Datenblatt von NXP sagt:

    Zitat


    The PCA9685 is an I²C-bus controlled 16-channel LED controller optimized for Red/Green/Blue/Amber (RGBA) color backlighting applications.

    Wie kommst du auf die Idee damit Steppermotoren zu treiben?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Bernd666

    Wo nimmst du die Info Steppermotoren her ?

    Auf dem Bild ist doch ein Servo an dem PCA9685 angesteckt.

    chrisle

    Versuchs mal mit dem Listing

    Import Datei PCA9685:

    Bei mir hat das mit dem Code geklappt, ansonsten Verkabelung überprüfen.

  • Moin!

    Bertthias

    Wo nimmst du die Info Steppermotoren her ?

    Auf dem Bild ist doch ein Servo an dem PCA9685 angesteckt.

    Ja und? Ich kann auch einen Widerstand nehmen und da einen Motor anschliessen....

    Der TE hat nichts von einer speziellen Platine geschrieben.

    Aber egal, ich bin raus.

    Weiterhin viel Erfolg!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • chrisle

    Habe mir gerade mal das Bild angeschaut. Sehe ich das richtig das du die Stromversorgung über den LM298N zum PCA9685 machst ?

    Schliess den PCA9685 mal direkt alleine an die Stromversorgung an siehe Doku-pdf ,Abbildung ist die andere Platine aber Belegung bleibt gleich, ich habe auch deine Platine, nach der Doku erfolgreich funktionsfähig verkabelt.

    Ansonsten zeichne bitte mal einen Verkabelungsplan , so wie es verkabelt ist.

  • Vielen Dank für eure Antworten.

    Bertthias

    Am PCA liegen vom Motortreiber sauber 5 V DC an. Trotzdem habe ich gestern mal testweise eine externe Hilfsspannung angelegt. Auch hier ohne Erfolg.

    Ich teste nachher mal deine beiden Scripte. Ansonsten werde ich wohl mal nen alten Arduino rauskamen und den PCA9685 auf Funktion prüfen.


    Bernd666

    Der PCA ist eine 16-Kanalige Platine für PWM. Was Da dann hinten dran hängt ist egal. Das können LEDs, Motoren und Servos sein

  • chrisle

    Naja Motor direkt an PCA9685 geht nicht , dafür fehlt die Leistung. Ich würde hinter dem PCA9685 noch Modellbaufahrtenregler setzen , die die Motoren ansteuern.

    Hab ich mal so ausbropiert an meinen Fahrzeug , hat auch geklappt ,habs aber wieder abgebaut, war zuviel Kabelsalat.

  • Hallo Bertthias

    Beim Testen deiner scripte bekam ich folgende Meldung:

    Code
    Python 3.9.2 (/usr/bin/python3)
    >>> %Run sero.py
    Traceback (most recent call last):
      File "/home/pi/sero.py", line 17, in <module>
        pwm = PCA9685.PCA9685()
      File "/home/pi/PCA9685.py", line 73, in __init__
        import Adafruit_GPIO.I2C as I2C
    ModuleNotFoundError: No module named 'Adafruit_GPIO'

    Dann habe ich mit:

    Code
    sudo pip3 install adafruit-gpio

    das Modul nachinstalliert. Jedoch kommt jetzt folgende Fehlermeldung vom I2C.

    Fehlermeldung:


    Welche Module hast du installiert?

    Ist schon komisch dass sich bei mir gar nichts zuckt.

    Grüße Chris

    Einmal editiert, zuletzt von chrisle (16. Januar 2022 um 13:26)

  • Jetzt wird es ganz verrückt. Habe den PCA gerade am Arduino duemilanove und da ist das gleiche Spiel. Nix bewegt sich ?

    Die Verdrahtung schließe ich aus sind ja nur 4 Drähte. Also besorge ich mir mal noch einen.

    Schade um die Zeit. Das hätte ich nun wirklich als letztes vermutet.

Jetzt mitmachen!

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