Problem: Arduino+Can-bus Shield mit RPi steuern

  • Hallo Zusammen

    ich bin neu hier und möchte euch gleich mit einem Problem nerven.

    Ich verwende ein Arduino mega 2560, dazu ein Motor-shield und ein CAN-bus shield.
    Über das Motor-shield steuere ich zwei Linear-Motoren und über das CAN-bus shield vier Schrittmotoren.
    Alles mittels Serial-Monitor.

    Diese Kombination befindet sich auf einem FTS (Fahrerlosem Transportsystem). Um nun nicht mit meinem Laptop hinterher rennen zu müssen, habe ich ein Raspberry Pi B anstelle meines Laptops angeschlossen.
    So kann ich via VNC Verbindung von meinem Laptop auf den RPi zugreifen. Die Arduino Software läuft auf dem RPi.

    Die 2 Linear- Motoren kann ich ohne Probleme ansteuern, jedoch funktioniert so die Kommunikation via CAN-Bus nicht mehr. Mit dem Laptop direkt am Arduino gab es keine Probleme, weshalb ich Fehler in der Programmierung ausschließen kann.
    CAN- Bibliotheken von zwei unterschiedlichen Quellen habe ich auch schon getestet.

    Ich weiß nicht mehr weiter, vielleicht hat ja jemand von euch zufällig noch eine Idee?

    Gruß
    Roland

  • Welche Software hast du auf dem Laptop denn verwendet?

    Die Sache ist ja die dass der Arduino das CAN-Shield anspricht, nicht der Laptop oder der Raspberry... Demzufolge hat es eigentlich erst mal nichts damit zu tun ob du einen Laptop oder PI an den Arduino anschließt. Entscheidend wäre dann allerdings wie die Kommunikation zwischen den beiden Devices aussieht - also Arduino und Computer.

  • Und was hast du sonst noch so an den PI angeschlossen? Kann sein das der PI nicht genug Strom liefern kann um alles zu versorgen - der alte B ist ja limitiert auf maximal 300mA für die USB-Ports, eher weniger wenn du nicht explizit den HDMI Port ausgeschaltet hast...

    Auch könnte die Arduino-IDE auf dem PI falsch installiert oder eingerichtet sein - allerdings fehlen mir auch noch etwas mehr Details deinerseits "was genau nicht funktioniert" :huh: Was gibst du ein und was müsste er dann zurück geben?

    Wie gesagt spricht der Arduino ja mit dem Shield und nur der Computer spricht mit dem Arduino. Der Computer weiß nichts von irgendeinem Shield, der 'sieht' nur den Arduino.
    Wenn der Arduino aber zu wegnig Saft für sich selber und das Shield hat, geht das halt nicht mehr so richtig.

    Versuch mal testweise den Arduino an einen aktiven USB-Hub anzuschließen, wenn es dann wieder funktioniert weißt du das der nackte PI zu wenig Strom für dein Konstrukt liefert

Jetzt mitmachen!

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