nrf24l01+ Arduino Nano Verliert Verbindung

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

    Ich arbeite mit einer abgeänderten Version von hier:
    Link

    Nun zu meinem kleinen Problem.

    Wenn ich alles Funktioniert habe, sendet mein Nano jede Sekunde ein Signal zum Raspberry pi:

    Spoiler anzeigen


    Nun, sobald ich den Arduino vom Computer Trenne (der Sketch läuft dann natürlich)
    und Ihn anschliessend wieder Verbinde hängt sich mein Arduino auf. Bez. er Disconnectet immer wieder vom Computer.
    Liegt das an der TX Verbindung? oder an was kann das liegen?

    Ich bin Dankbar um jede hilfe

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (9. Februar 2015 um 19:38)

  • Hi,
    das ist das "normale" Verhalten eines Arduino ... sobald Du die Verbindung über das USB-Kabel zur IDE wieder neu herstellst, wird der sketch neu gestartet.
    Den gleichen Effekt hast Du, wenn Du den seriellen Monitor öffnest ... auch dann wird jedesmal der sketch neu gestartet.
    Ich verstehe jetzt das Problem allerdings nicht :s

    cu,
    -ds-

  • Nun der Arduino Trennt sich nach dem erneuten Verbinden mit dem Pc alle ca 5sek. wieder.
    Somit wird das bearbeiten unmöglich gemacht.
    Im Geräte Manager verschwindet er auch immer für ca. 0.5sek.
    Welche Arduino ID Version ist die beste für den nano? 1.0.6?

    Anschliessen erscheint auch bei diesem USB das die serielle Verbindung schon in gebrauch ist. Stecke ich den Arduino in eine andere Buchse und versuche den Sketch neu Hochzuladen meldet der Arduino sich kurz beim pc ab und wieder an. (Auch dieser USB wird anschließend als schon in Verwendung gekennzeichnet)

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (9. Februar 2015 um 20:02)

  • Hmm ... da hast Du anscheinend ein Problem mit dem Windows-Treiber für USB.
    Da kann ich leider nichts zu sagen, weil ich schon lange kein Windows mehr verwende.
    Ausserdem verwende ich "Pro Mini" - mit einem FTDI-Adapter (die haben keine onboard USB-Schnitstelle).
    -> Hier <- gabs da mal zu dem Thema ...


    cu,
    -ds-

  • Hallo Schnibli,+

    dann erlaube mir die Frage zu stellen, warum Du die Verbindung zwischen PC und Arduino trennst - UND dann sofort danach wieder herstellen möchtest?

    Ich habe erst seit wenigen Wochen einen Arduino, aber meine bevorzugten Anwendungen waren bisher:

    1. Sketch auf PC / RPi schreiben, compilieren, Fehler beseitigen
    2. Wenn die angeschlossene Hardware mehr Strom verbraucht, als per USB bereit gestellt werden kann, dann schließe ich ein externes Netzteil an
    3. Sketch auf Arduino hochladen, ausprobieren optimieren
    4a) Sketch läuft auf Arduino bei angeschlossenem PC / RPi
    4b) Sketch läuft auf Arduino - Verbindung zum PC / RPi wird nur getrennt, wenn es sich um eine "StandAlone-Lösung" handelt.

    Bisher habe ich nicht den Bedarf gehabt, den Arduino mehrfach vom PC / RPi zu trennen und wieder anzuschließen... :s

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (9. Februar 2015 um 20:34)

  • Andreas:
    Das Programm Funktioniert so wie es soll ("Testzweck") nun wollte ich den Arduino vom PC abstöpseln und an ein "Akku" hängen um die Funktion des Skatch auch über mehrere Meter zu Testen.
    Ich Habe den Arduino am Akku angehängt ("5V"). Dann hat sich nichts getan.
    Anschliessend habe ich Ihn am PC Angeschlossen und dann trat der Fehler auf.

    Um nun einen Fehler am Akku auszuschliessen, habe ich den Arduino vom PC getrennt und anschliessen (30-40sek) später wieder eingesteckt. Da entstand das selbe Problem.


    @tuxerli Ich habe nun mein PC neugestartet, den Arduino am Onboard USB angeschlossen, das Programm auf Sketch auf den Arduino Hochgeladen. Anschliessen hat der Arduino ein mal "Auf" gesendet und jetzt erscheint wieder das Connect und Disconnect des USB's.


    EDIT:
    Sobald ich die MISO -> GPIO12 verbindung trenne, Verbindet sich der Arduino normal.

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (9. Februar 2015 um 21:54)

  • Also solange ich einen Sketch noch entwickel und bearbeite baue ich gerne entweder eine Zustandsanzeige oder einen Heartbeat ein.
    Also z.B. wenn der Sketch startet einen Pin mit einer LED auf HIGH ziehen. Ggf. wenn noch weitere Pins frei sind an bestimmten Stellen des Codes mal auch LEDs an/ausschalten um zu Signalisieren, das dies oder jenes passiert.
    Oder man kann in dem loop() halt eine LED einmal die Sekunde an/aus schalten (Heatbeat). Damit weiß man auch ob die Schleife sauber läuft.

    Ist jetzt zwar keine direkte Lösung, aber ein nützliches Werkzeug um Sketche auf Funktion zu prüfen.

  • Hallo Schnibli,


    Andreas:
    Das Programm Funktioniert so wie es soll ("Testzweck") nun wollte ich den Arduino vom PC abstöpseln


    Dann ist der Arduino stromlos - das Sketch läuft nicht - der PC sieht keinen Arduino mehr über USB


    und an ein "Akku" hängen um die Funktion des Skatch auch über mehrere Meter zu Testen.
    Ich Habe den Arduino am Akku angehängt ("5V"). Dann hat sich nichts getan.

    Das glaube ich Dir gern. Das hätte ich so auch vermutet. Der Arduino startet sein Sketch. Der PC hat vorher schon nichts mehr gesehen und hat keine Veranlassung etwas zu suchen.


    Anschliessend habe ich Ihn am PC Angeschlossen und dann trat der Fehler auf.

    Um nun einen Fehler am Akku auszuschliessen, habe ich den Arduino vom PC getrennt und anschliessen (30-40sek) später wieder eingesteckt. Da entstand das selbe Problem.

    Gelegentlich habe ich es auch erlebt, dass die Schnittstelle noch als belegt gemeldet war - und keine neue Verbindung über die USB-Schnittstelle herzustellen war.

    Warum schließt Du die Batteryen nycht an, bevor das Sketch hochgeladen wird, trennst die USB-Verbindung und ziehst dann mit dem Arduino um dy Häuser?

    Beste Grüße

    Andreas

    P.S.: Die Ypsilone wurden fremd beygesteuert.

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • ich tippe auf eine falsche verdrahtung.
    mach bitte mal bitte ein bild von deiner verdrahtung.

  • Das ich den Akku vorher anstecken soll und anschließen den Sketch daraufladen geht mit diesem Akku nicht da dieser über die Ladebuchse angesteckt wird.
    Im Späteren gebrauch auch nicht sinvoll, Falls das Akku leer war müsste ich dann immer den Sketch neu hochladen.
    Im Anhang noch das Bild der Verdrahtung.
    Hoffe es ist verständlich :)
    Bild
    Ach du Kacke beim Bild ist es natürlich (1=weiss, 2=Schwarz, 3=Grün, 4=Orange // 5= Braun, 6=Rot, 7=Gelb, 8=Leer)

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (10. Februar 2015 um 06:51)

  • Download
    Hier der Sketch, auf Zippyshare (Oranger Download Now Button)
    Ich habe das Raspberry B+ Programm (Komplett Reingepackt
    und die libs und der Sketch des Arduino's

    Danke für deine Hilfe

    Edit:
    Vileicht kannst du mir dennoch die Arduino IE Version verraten xD
    Das ist die Aktuelle Version vom Sketch, daher auch noch ein Par Sachen von dir drin.
    Aber das was noch drin ist sollte kein Tango Spielen.
    Hab eben nochmal alles von vorne angefangen.

    Edit:

    Habe zurzeit diesen Code am laufen:

    Spoiler anzeigen


    Bis jetzt ohne Probleme

    Ein ding habe ich noch, da ich mit python mehr vertraut bin, würde ich den Empfänger gerne in Python Programmieren. Gibt es da schon was brauchbares an Libs oder Tut's?
    Bez. Der Raspberry hat ja relative Lange um Hochzufahren (45sek).
    Wie lange bootet ein Arduino und welchen müsste ich nehmen um folgendes zu erfüllen:

    -min. 8 Digitale Ausgänge
    -S2C LCD Anzeige
    -rnf24l01+ anschliessen
    min 4 digitale Eingänge

    Je schneller das System gebootet ist desto besser :) ....
    :)

    Was ich noch habe: Wenn ich als Pi eingeloggt bin und das Programm Hochlade und starte Funktioniert alles einwandfrei. mache ich einen Reboot kann es sein das es nicht mehr funktioniert (kommt aber nicht immer vor)

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (10. Februar 2015 um 22:13)

  • Also ... das sketch, den Du gepostet hast, enthält zwar - auf den ersten Blick - noch mindestens einen logischen Fehler. Der Arduino stürzt aber, zumindest bei mir, nicht ab und kappt auch die USB-Verbindung nicht. So weit scheint es sich in der Tat da eher um ein Hardware-Problem in Verbindung mit Windows zu handeln.
    Der Logik-Fehler ist auf Zeile 58:

    Code
    if (!radio.write( "hi", sizeof(unsigned long) )){


    Da wurde vorher ein unsigned long-Wert übertragen, deshalb steht dort als Sendelänge auch

    Code
    sizeof(unsigned long)

    Du überträgst jetzt aber den String "hi" ...
    Deshalb sollte dort auch z.B.

    Code
    strlen("hi")

    stehen.

    Hast Du sicher die Verkabelung so wie auf der Skizze?

    cu,
    -ds-

  • Hallo,
    Vielen Dank für den Logikfehler!
    Ich habe die Verkabelung sicherlich richtig. Ich habe jetzt viel Rum-gespielt. Denke es war ein Fehler in der Lib der durch das herunterladen oder entpacken entstanden ist.
    Nach gefühlten 200 versuchen hat es erstaunlicherweise geklappt und es Funktioniert jetzt noch.
    Ich lasse den Artikel noch ca. 1-2 Tage offen falls es wieder auftritt anschliessend werde ich Ihn als Erledigt markieren.

    Ready when you are :bravo2:

Jetzt mitmachen!

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