Go Down

Topic: Arduino Fehlersuche - wildes Pin13LED-blinken (Read 8324 times) previous topic - next topic

Crizz

Hallo werte Arduino-Gemeinde, ich bin beim googeln auf euer Forum gestoßen und noch Newbie in Sachen Arduino & Co. Da ich aktuell ein seltsames Verhalten eines Pro Mini mit 328er Prozessor habe, bei dem ich nicht weiter weiß, poste ich es mal hier - vielleicht fällt euch was dazu ein.

Bei besagtem Board kann ich "kleine" Sketches problemlos laden und ausführen , schiebe ich aber das eigentlich benötigte Programm drauf, das eine kompilierte Größe von knapp 14 k hat, blinkt nach dem Reboot die Pin13-LED mit einer Frequenz von geschätzt 10 - 20 Hz.

Das Programm dient zur Steuerung eines Quadrocopters, zwei andere MiniPro sind damit bereits erfolgreich im Einsatz, dieses sollte auf einen weiteren zum Einsatz kommen. Bei den anderen Boards wird normal gebootet, ohne Auffälligkeiten. Die 5 Ports die Eingangssignale verarbeiten ( Anschlüsse 2,4,5,6,7 ) arbeiten korrekt, was ich durch ein GUI-Programm feststellen konnte.

Ein defekter Bootloader scheidet wohl aus, da sonst so simple Progrämmchen wie "Blink" ebenfalls nicht funktionieren dürften. Ich vermute einen Defekt im internen Speicher, gibt es eine Möglichkeit, dies mit "haushaltsüblichen" Mitteln zu überprüfen, ggf. eine Routine für sowas mit der Möglichkeit, das Ergebnis über den FTDI auf einen PC auszugeben ?

Ich hatte das Board bereits 1x beim Lieferanten reklamiert, kam ohne Kommentar zurück, statt meinem Programm war "Blink" gespeichert, was ja auch funzt, aber ansonsten : siehe oben.

Bin im moment absolut ratlos und wäre für jede Hilfe sehr dankbar :)

herzlichen Dank !

madworm

#1
Jan 08, 2011, 10:58 am Last Edit: Jan 08, 2011, 10:59 am by madworm Reason: 1
Wenn dein code die LED "13" nicht blinken laesst, dann tippe ich auf den bootloader. BZW. permanenten reset des boards, evtl. aufgrund einbrechender versorgungsspannung (brown-out-reset), 5V regulator OK? Am besten mal die +5V mit einem osci anschauen und nach glitches < 5V suchen. Oder eben 3.3V, falls das fuer das board treffender ist.

Tritt das problem auch auf, wenn das board ohne jedwede externen komponenten betrieben wird?
Verwendest du evtl. den watchdog timer und das board laeuft evtl. mit falschen clock source fuses?

Crizz

Danke für deine Gedanken, wie schon oben erwähnt verwundert mich bei der Sache, das das Programm auf 2 Arduinos bereits fehlerfrei funktioniert. 2 Boards sind vom gleichen Lieferanten, das eine läuft, das andere zeigt die besagte Blinkerei. Und das auch gänzlich ohne Zusatzbeschaltung, nur bei anliegender Versorgungsspannung ( 5 V ) über den RAW-Eingang. Der 328 sollte aufgrund der Specs damit ja keine Probleme haben, die anderen beiden meckern darüber ja nicht, wurden mit der gleichen Quelle versorgt.

Den gleichen Effekt habe ich auch, wenn ich auf Batterieversorgung verzichte und nur den FTDI aufstecke - ebenfalls nur bei diesem einen Board.

Wie schon erwähtn laufen kleine Programme problemlos, die müßten aber doch sicher auch spinnen, wenn der Bootloader defekt wäre, oder ?

Leider kenne ich mich mit der Materie noch nicht so aus, um deinen letzten fragen folgen zu können, aber auch hier verwundert mich eben, das exakt dieses Sketch auf den beiden anderen Board läuft bzw. beim bestromen ohne angeschlossene Peripherie eben nicht das wilde rumgeblinke entsteht, sondern nur 2 kurze Signale über Pin 13 signalisieren, das die Einheit einsatzbereit und initialisiert ist.

Realizer

Du sagst du hast 2 gleiche Uno's. Der eine geht und der Neue nicht. Bei deiner letzten Rücksendung haben die das Ding vielleicht angeschlossen, das Blinkprogramm getestet und gedacht: Der Typ kennt sich nicht aus und haben 's dir dann einfach wieder zugesandt. (Reine Vermutung von mir).

Ruf dort an, sag denen genau das, was du hier gesagt hast: Kleine Programme gehn prima, große eben nicht (die wiederrum auf dem anderen problemlos laufen). Ich vermute der Chip hat nen Fehler im Flash. Oder sonstwo drinnen. Ab in die Post und zurück damit.

Ob es möglicherweise mit neueren oder älteren Firmwaren zu tun haben könnte, kann ich dir aus dem Stehgreif auch nicht sagen.
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

Crizz

okay, mir war wichtig, das ich nicht einfach erneut reklamiere, und es evtl. ein bekanntes Problem ist, das sich einfach lösen läßt, d.h. das ich mit meiner Vermutung wenigstens nicht total daneben liege. Dann bleitb das WE eben für andere Projekte offen, und ich werde am Montag mal versuchen, jemanden vond er Technikabteilung des Anbieters an die Strippe zu bekommen.

Soweit aber schonmal besten Dank. Sehr nett von euch, das man als Newbie hier nicht im Regen steht :)

Realizer

Jop, genau versuchs am Montag, vielleicht kommt hier ja doch noch ein Thread von jemandem der schon ähnliche Erfahrungen gemacht hat. Mehr kann ich leider dazu nicht sagen.

Ich drücke die die Daumen.
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

uwefed

#6
Jan 09, 2011, 12:27 am Last Edit: Jan 09, 2011, 12:30 am by uwefed Reason: 1
"( 5 V ) über den RAW-Eingang."  Welcher Eingang ist das?
Wir reden da von 3 Arduino mini Pro von Sparkfun? 2 funktionieren, einer nicht?

Sind das alle 3 5V Versionen? Den Arduino mini pro gibt es als 5V Version mit 16MHz Taktfrequenz und 3,3V Version mit 8Mhz Taktfrequenz.
Der Quarz bzw Resonator ist zu klein um was zu erkennen.
Auskunft geben Punkte auf der Optionenliste auf der Unterseite.

Falls Du eine 3,3V Version mit 5V betreibst müßte es keine Hardware-Probleme geben; umgekehrt schon.
SW-mäßig: Das einzige ist, daß wenn Du einen Sketch mit der falschen Frequenz (im IDE eine 5V Version statt der 3,3V Version eingestellt) kompilierst, alle Zeiten falsch sind ( Unterschied Faktor 2).
Grüße Uwe

Crizz

Danke Uwe, da hab ich schon drauf geachtet, das auch wirklich 3 identische ( 328, nicht 168 ) geliefert wurden, weil ich die 5V Version bevorzuge. Die Markierungen auf dem Board sagen zumindest das es 5V 16 MHz Atmels sind, die da werkeln, und der Aufdruck auf dem Chip sagt zumindest auch das es ein 328 ist ( Wenn auch nur schwer lesbar weil ziemlich klein ). 2 sind wie gesagt aus der selben Lieferung, der eine arbeitet fehlerfrei. Ich schau mal was morgen bei dem Telefonat rauskommt und werde es euch natürlich auch wissen lassen, vielleicht steht ja irgendwann nochmal jemand vor dem selben Problem :)

uwefed

Dann Alles Gute beim Reklamieren
Grüße Uwe

Crizz

So, die Sache ist geklärt. Typischer Fall von User-Error  :-[

Ich hatte auf dem anderen Arduino eine andere Version des Sketches aufgespielt, da ich die einzelnen Routinen nicht wirklich verstanden habe und es an die 2000 Zeilen Code sind, hab ich da "geschlampt" und nicht näher nachgeschaut. Den wichtigen Hinweis dazu gab man mir bei Watterott. Das schnelle blinken der Pin13-LED deutet auf einen Reset des Prozessors hin, und zwar in einer Schleife.

Das kann zum einen durch einbrechende Versorgungsspannung ausgelöst werden ( unterhalb 4.0 V gibt es einen BrownOut-Reset ) oder durch einen Kurzschluß auf dem Board.

In der neuen Version des Sketches wird geprüft, ob eine Verbindung mit der angeschlossenen I²C-Hardware besteht. Ist das nicht der Fall, erfolgt ein Reset. Diese neuen Codezeilen hatte ich nicht beachtet. Nun war auf dem angeschlossenen Wii Motion Plus ein Lötzinn-Tropfen auf einen Sensor gefallen ( Winzig klein, fiel nicht auf ) und schloss 2 Beinchen des Sensors kurz. Daraufhin gab der WMP kein gültiges Signal zurück, und der Arduino hing in der gleichen Schleife, wie bei nicht vorhandener Beschaltung.

Diese Prüfungen sind in der Vorgängerversion meines verwendeten Sketches nicht vorhanden, deshalb verhält sich der Arduino natürlich ohne externe Beschaltung gänzlich anders.

Ich hatte total verpennt, das ich den ersten Arduino nicht mit der neuen Software upgedatet hatte, so kam es dann, wie es kommen mußte.

Habe daraus gelernt, das man nicht Äpfel mit Birnen vergleichen darf, und vorher wirklich definitiv identische Umgebungen schaffen sollte - und mit dem einfachsten anfangen sollte.

Für eure Unterstützung trotzdem nochmal herzlichen Dank - vielleicht hilft meine Erfahrung ja doch noch dem ein oder anderen bei zukünftigen Projekten :)

uwefed

Suche nach Kurzschlüssen, auch nach kleinen, und überprüfen, ob gleiche Arduinis, den gleichen Sketch programmiert haben ist uns unmöglich. Tja, das sind Sachen die wir nicht für Dich tun können.
Da war dann Watterott so kompetent Dich auf die richtigen Weg zu bringen ( wahrscheinlich hatten sie schon die Diskussion gelesen  ;)
Grüße Uwe

Crizz

Stimmt, die "Dummheit" des Users kann keiner überprüfen, und ich war anfangs ja felsenfest überzeugt, das selbe Sketch einzusetzen - da muß man sich an die eigene Nase fassen und es auch eingestehen.

Auf jeden Fall sind Diskussionen und Gedankenaustausch wichtig, und bei Watterott hat man mir durch kompetente Information letztlich auf den richtigen Weg geholfen.

Wie gesagt : ich finde es toll, das ich von allen Seiten so unterstützt wurde, auch hier im Forum. Und am meisten freut mich, das ich alter Bock auch wieder was gelernt habe, und es kein HW-Defekt war. So kann ich das Projekt verzugsfrei umsetzen :)

Realizer

Das finde ich gut !
Durch die freundliche Kompetenz der Fa. Wattenrott läßt sich nun auch in mir einen zukünftiger Kunde erahnen. Ich habe dort zwar noch nie bestellt, aber das könnte sich nun ändern.

Klar und das mit den unterschiedlichen Sketchen und des Löttropfens hätte keiner gedacht. Wir sind von absolut gleichen Gegebenheiten ausgegangen.

Na dann viel Spaß bei deinen zukünftigen Projekten. Lass mal wieder was von dir hören (und sehen) ;)
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

Crizz

Was Watterott betrifft bin ich sehr zufrieden. Der Support paßt, die Verfügbarkeit der Arduinos und Shields / Zubehör sowie Auswahl / Sortiment sind sehr gut, die Preise sind trotzdem moderat und Lieferungen schnell. Werde da in Zukunft auch weiterhin meinen Bedarf decken.

Go Up