Hallo, Ich benutzte ein Raspberry Pi Zero mit dem ich auch mittels avrdude einen AVR über GPIO programmieren möchte. Das hatte ich versucht in Betrieb zu nehmen, doch leider den Pegelwandler vergessen (weswegen es im ersten Anlauf nicht geklappt hat). Mein eigentliches Problem ist aber, dass der Stromverbrauch des Raspberry jetzt plötzlich im idle etwa 25 mA höher ist als vor dieser Inbetriebnahme (also fast 50 % höher). Liegt es daran, dass durch die 5 V an einigen Pins etwas defekt ist (die Kanäle funktionieren scheinbar aber alle noch)? Wie könnte man dies überprüfen? Oder aber setzt der avrdude bestimmte Pins so, dass der Stromverbrauch höher ist? Auch im poweroff Zustand ist der Stromverbrauch um genau die 25 mA höher. Wie kann ich das Problem eingrenzen und wieder zu dem alten Stromverbrauch gelangen? Jemand Ideen oder ähnliche Erfahrungen gehabt? Danke und Gruß Carsten
Carsten schrieb: > Liegt es daran, dass durch die 5 > V an einigen Pins etwas defekt ist Wahrscheinlich. Allerdings können 25mA mehr oder weniger beim Raspberry Pi auch durchaus durch eine geänderte Konfiguration oder Software verursacht werden. Das sind ja weniger als 5%. Mein Laptop nimmt unter Linux rund 10% mehr Strom auf, als unter Windows. Da siehst du mal, wie viel Spielraum dort für fine-tuning ist.
Stefan ⛄ F. schrieb: > sind ja weniger als 5%. Wenn es so wäre, wäre es mir egal. Im Idle braucht der Pi Zero aber nur 50-60 mA. Da machen 25 mA mehr schon viel aus. Deswegen habe ich auch dieses Modell ausgewählt, weil es batteriebetrieben werden soll.
Carsten schrieb: > Im Idle braucht der Pi Zero aber nur 50-60 mA. Ach so, ich dachte an den normalen Raspberry Pi. 50% mehr ist natürlich schon heftig.
Carsten schrieb: > Wie kann ich das Problem eingrenzen und wieder zu dem alten > Stromverbrauch gelangen? Testweise eine original Boot SD einlegen?
Carsten schrieb: > Ich benutzte ein Raspberry Pi Zero mit dem ich auch mittels avrdude > einen AVR über GPIO programmieren möchte. Das hatte ich versucht in > Betrieb zu nehmen, doch leider den Pegelwandler vergessen (weswegen es > im ersten Anlauf nicht geklappt hat). Warum Pegelwandler? Die AVR-Chips kann man doch auch wunderbar mit 3.3V flashen. Ich betreibe meine Aufbauten grundsätzlich mit 3.3V und spare mir das Pegelwandlungsproblem dadurch. Zum Mehrverbrauch kann ich nichts sagen, dafür zu Deinem eigentlichen Vorhaben. Bei mir (ebenfalls Pi Zero) hat es nur mit der avrdude 6.1 Version von Kevin Kuzner geklappt, die ich extra für den Pi kompiliert habe. Mit allen anderen Versionen bin ich gescheitert. Trotzdem war es noch endloses Rumgefrickel mit den Einstellungen und Parametern. Jetzt läuft es einwandfrei, ich kann damit meine AVRs drahtlos über Wifi im Betrieb umprogrammieren. Bei Bedarf kann ich die Einstellungen hier gerne teilen. Was mich interessieren würde: Läuft das auch mit anderen PIs? Hast Du eine neuere Version von avrdude auf dem Pi Zero zum Laufen gebracht?
Felix schrieb: > Was mich interessieren würde: Läuft das auch mit anderen PIs? Hast Du > eine neuere Version von avrdude auf dem Pi Zero zum Laufen gebracht? Ich versuche dies zum ersten Mal. Ich habe es mit der Version 6.2 getestet. Mit der Version 6.3 habe ich Probleme gehabt (gpio busy...). Der avrdude läuft und ich sehe Signale auf den Pins. Ein Flashen konnte ich noch nicht testen. Ich bin nach dieser Anleitung vorgegangen: https://ozzmaker.com/program-avr-using-raspberry-pi-gpio/ Was muss denn noch konfiguriert werden? Ich hätte gedacht, jetzt wo ich auch Signale auf den Pins sehe, dürfte einem Programmieren nichts mehr im Wege stehen. Die 5V brauche ich, weil die angeschlossene Peripherie des Controllers nicht mit niedrigeren Spannungen arbeitet. Und der Pegelwandler zwischen Raspberry und Controller ist einfacher als zwischen Controller und Peripherie.
Felix schrieb: > Warum Pegelwandler? Die AVR-Chips kann man doch auch wunderbar mit 3.3V > flashen. ISP heisst "In System Programming". Wenn sein System auf 5V läuft, dann ist das halt so.
Carsten schrieb: > Ich bin nach dieser Anleitung vorgegangen: > https://ozzmaker.com/program-avr-using-raspberry-pi-gpio/ Mit der Anleitung habe ich es versucht und nicht geschafft, 6.2 war nicht zum Laufen zu bringen. Die Pegel habe ich mir aber nicht angeschaut, deswegen kann ich dazu nichts sagen. Die Frage ist halt, ob vielleicht ein falsches Timing das Problem ist. Deswegen interessiert mich Dein Ergebnis mit 6.2 Kurz zu meinem erfolgreichen Versuch mit 6.1: Anleitung hier im Forum: https://www.mikrocontroller.net/articles/Raspberry_Pi_als_Universalprogrammer Mit Einstellungen meine ich die Konfiguration von avrdude.conf und die Parametrisierung des eigentlichen avrdude Aufrufs: sudo /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -U flash:w:<dateiname>:i avrdude.conf programmer id = "linuxspi"; desc = "Use Linux SPI device in /dev/spidev*"; type = "linuxspi"; reset = 22; baudrate=115200; ; Ein Knackpunkt war in meiner Erinnerung noch, dass es im System mehrere avrdude.conf Dateien gibt (wahrscheinlich durch die vielen Experimente) und man aufpassen musste, dass die Richtige gezogen wird.
Gegebenenfalls hilft ein Schaltplan weiter. Der Stromverbrauch kann auch einfachsterweise über die internen Dioden nach Vss an den I/O-Ports herrühren.
Dieter D. schrieb: > Der Stromverbrauch kann auch einfachsterweise über die internen Dioden > nach Vss an den I/O-Ports herrühren. Kannst du das bitte etwas näher erläutern? Einen Schaltplan gibt es nicht (bzw. nur den vom Raspberry Pi Zero W). Den erhöhten Stromverbrauch messe ich ohne angeschlossene Peripherie.
Jeder I/O Pin hat zum Schutz gegen elektrostatische Ladung (z.B. durch Berühren mit dem Finger) intern sogenannte ESD Dioden. Die sind aber nicht unendlich hoch belastbar. Es kann passieren, dass Dioden bei Überlastung einen dauerhaften Kurzschluss machen. Wenn z.B. die untere Diode einen Kurzschluss hat und der Ausgang auf HIGH geschaltet wird, dann fließt der maximal mögliche Strom, den der Ausgang liefern kann. 25mA liegen da mitten in dem Rahmen, den ich erwarten würde. Es ist meist ca. doppelt so viel, wie das Datenblatt als maximal zulässigen Strom nennt.
Vielen Dank, Stefan. Wieder um eine Erkenntnis reicher :-)
Carsten schrieb: > Vielen Dank, Stefan. Wieder um eine Erkenntnis reicher :-) Carsten schrieb: > Einen Schaltplan gibt es nicht Oft reicht auch nur einer Verschaltungsskizze der Platinen, Pegelwandler mit den Spannungsangaben. Wenn Du mit der Antwort das selber findest, dann ist es nicht mehr unbedingt notwendig. Manchmal werden "Angstwiderstände" (1k) dazwischen geschaltet, damit der Strom klein bleibt.
Es liegt offenbar wirklich an einem defekten Pin. Ein Pin kann nur noch high Pegel messen. @Felix: avrdude mit linuxgpio hat bei mir ohne Probleme funktioniert. Nach der Anleitung, die ich oben verlinkt habe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.