Au weia, DEN Fehler habe ich jetzt lange gesucht ... aber es liegt nicht an meiner Software. Es liegt an der Hardware. Genauer: An der Spannungsversorgung meiner Schaltung.
Ich dachte, ich könnte die Spannung einfach aus der USB-Spannung nehmen. Viel brauche ich ja nicht. Die 5 Volt eben, mit ein paar mA. Müsste eigentlich reichen, dachte ich.
Aber jetzt habe ich festgestellt: Die 5 Volt sind gar keine 5 Volt. Zumindest nicht bei allen Arduino-Boards und bei allen PC-Netzteilen. Sie sind sogar dann keine zuverlässigen 5 Volt, wenn weder ein Shield mit Zusatzelektronik noch ein ATMega im Arduino-Board eingesteckt sind.
Kein Wunder, daß mein Projekt nicht lief.
Ich habe drei Arduino-Boards (ohne IC und Shield) an zwei PCs und einem Steckernetzteil angeschlossen und dann die Spannung gemessen. Ich bin zu 9 verschiedenen Werten gekommen. Einer meiner PCs liefert offensichtlich eine zu niedrige Spannung von nur 4,6 Volt, und eines meiner Arduino-Boards nimmt von der Eingangsspannung an der USB-Buchse nochmal so 10 bis 15 Prozent weg.
Daß bei einem meiner PCs das Netzteil oder das Motherboard einen Hau hat, damit muß ich wohl leben. Ich werde mal bei Gelegenheit testen, wie sich dieser PC mit einem anderen Netzteil verhält, und dann meine Schlüsse ziehen, wen ich da in Rente schicke.
Aber dem Verhalten des einen Arduino-Boards würde ich gerne nachgehen, will das Board vielleicht sogar reparieren. Deswegen frage ich hier, ob jemandem von Euch etwas dazu einfällt.
Dieses Board macht - wie gesagt ohne Shield und Prozessor - aus den 5 Volt, die der PC liefert, 4,5 Volt, und aus den 4,6 Volt, die der eine defekte PC liefert, mickrige 3,9 Volt. Nun kommt der ATMega damit zwar noch wunderbar aus (weswegen das auch zuerst nicht aufgefallen ist), aber natürlich nicht meine Zusatzelektronik auf meiner selbstgebastelten Shield-Platine. Da ist nämlich ein IC dabei, das mindestens 4,2 Volt braucht, und das hat dann ein sehr seltsames Verhalten gezeigt.
Ein Blick in den Schaltplan meines Arduino Uno sagt mir nun, daß dafür eigentlich nur zwei Bauteile verantwortlich sein können: Entweder die Sicherung F1 (MF-MSMF050-2 500mA) oder der Transistor T1 (FDN340P). Für beides finde ich das Datenblatt im Internet, beides wäre auch bei einem Elektronikversand für wenig Geld lieferbar.
Aber bevor ich SMD-Bauteile auslöte, will ich vorher wissen, welches von den Beiden wirklich schuld am Problem ist. Wer weiß da etwas dazu?
Vielen Dank für Antworten.
Ach ja, meine Elektronik betreibe ich jetzt mit Steckernetzteil, und sie funktioniert prima. Die Suche nach Softwarefehlern konnte ich beenden.