Hallo, ich habe ein Arduino Nano Board an 5V und betreibe ihn mit 16 MhZ. Anhang des Artikels http://s6z.de/cms/index.php/arduino/nuetzliches/9-winterschlaf-fuer-arduino Wenn ich den ersten Code im Artikel lade, komme ich auf circa 60 mA Stromfluss. Wenn ich den zweiten Code im Artikel probiere, komme ich auf circa 40 mA. In dem Artikel wird zwischen den beiden Codes bereits von einer Stromeinsparung Faktor 10 gesprochen. Da komme ich ja nun lange nicht hin. Mein Frage nun, liegt es einfach daran, dass ich den µC mit 5 V und 16 MhZ anstatt beispielsweise mit 3,3 V und 8 MhZ betreibe? Oder warum spare ich nicht man annähernd die Hälfte an Leistung ein (Immerhin Sleepmode Power Down)?
Hi Der ATMega ist nicht der einzige Verbraucher auf dem Nano. MfG Spess
Bitte Quellen gründlich lesen. Im zitierten Artikel wird ein Arduino Pro Mini verwendet, das ist praktisch ein Nano ohne USB Adapter ...
René L. schrieb: > In dem Artikel wird zwischen den beiden Codes bereits von einer > Stromeinsparung Faktor 10 gesprochen. Da komme ich ja nun lange nicht > hin. Das geht nicht! LM7805 = 5mA USB Interface = 20mA usw. Das kriegst du nur mit einem einzelnen Chip hin, der direkt an Ubatt ohne Linearregler betrieben wird (oder mit Low Drop - Low Power Regler) und das ist auch nicht schwer und sogar mit der Arduino IDE machbar. PS: Der Text lässt keine tiefere Fachkenntnis vermuten, das ist "Ausprobiererei". Hier ist die Lösung für dein Problem: http://www.3bm.de/wp-content/uploads/2013/09/ATtiny84_arduino-tiny_pins.png + 8pol. ISP Stecker + UsBasp Programmer (o-ä.) + Arduino IDE.
Christian J. schrieb: > Hier ist die Lösung für dein Problem: eher weniger lieber einen miniPRO mit ATmega328 http://www.ebay.de/itm/1Stk-Mini-Pro-atmega328-5V-16M-Replace-ATmega128-fur-Arduino-Compatible-Nano-Neu-/171390098914?pt=LH_DefaultDomain_77&hash=item27e7a55de2 und http://www.ebay.de/itm/Neu-FT232RL-FTDI-USB-zu-TTL-Serien-Konverter-Adapter-Modul-5V-3-3V-fur-Arduino-/221683276833?pt=LH_DefaultDomain_77&hash=item339d5a5c21 und nach dem Proggen den FTDI Adapter abziehen
:
Bearbeitet durch User
Joachim B. schrieb: > lieber einen miniPRO mit ATmega328 > Ebay-Artikel Nr. 171390098914 Und wie wird der programmiert? Passender Bootloader ist da mit drin? Oder muss noch gebrannt werden? Kompatibel zur IDE?
>Passender Bootloader ist da mit drin?
ja watt denn sonst, das iss nen Dino!
Wenn schon aus China, dann bitte zum günstigsten Preis. http://www.ebay.de/sch/i.html?_from=R40&_sacat=0&_sop=15&LH_BIN=1&_nkw=arduino+pro+mini&LH_PrefLoc=2
Ok vielen Dank für die ganzen Antworten! Sowas in der Art dachte ich mir schon. Wenn ich das Zeug aus dem Ausland bestelle, kann ich wegen den paar Euro wieder zum Zoll was!? :(
:
Bearbeitet durch User
Man hätte ja den Nano eigentlich auch so bauen können, dass der USB IC nur mit der Spannung von einem eingesteckten USB Kabel versorgt wird und demzufolge auch nur dann aktiv ist, nicht auch von dem 5V Pin der Platine selber.
> Man hätte ja den Nano eigentlich auch so bauen können, Vielleicht.... Aber Arduinos sind nicht als Stromsparwunder konzipiert. Das lag nie in der Absicht der Entwickler. Ok, der Lilypad mag da eine Ausnahme sein. Aber sonst.... Für meine "Sparmodelle" setzte ich auf Optiboot und internen Takt von 1 oder 8 MHZ. Denn der originale Bootloader kann bei diesen niedrigen Frequenzen nicht mehr... Auch ist Optiboot kleiner, also etwas mehr Flash für Anwendungen Die IDE 1.6.X bietet die Möglichkeit eigene hardware Kreationen unter zu bringen. Siehe: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification Aus verschieden Quellen zusammengesuchtes und angepasstes, um Standalone ATMega328P zu betreiben, findet sich im Anhang. Ist noch nicht 100% getestet, aber das kann ich ja euch überlassen.... ;-) Nach der Auswahl des "Breadboaard ATMega" blendet die IDE 2 weitere Menues ein. Eins um Takt und Bootloader festzulegen, und das andere um den Brownout einzustellen.
Ulrich F. schrieb: > Für meine "Sparmodelle" setzte ich auf Optiboot und internen Takt von 1 > oder 8 MHZ. Denn der originale Bootloader kann bei diesen niedrigen > Frequenzen nicht mehr... Auch ist Optiboot kleiner, also etwas mehr > Flash für Anwendungen > Die IDE 1.6.X bietet die Möglichkeit eigene hardware Kreationen unter zu > bringen. interessant und warum nicht mal mit Baudratenquarzen 7.xx 14.xx oder 18.xx ich war schon drauf und ran Optiboot umzuschreiben, aber verdammt ich habe so viele andere Baustellen. Auch musste ich mir ne Lösung für fastLED und mighty m1284p einfallen lassen: Beitrag "Arduino FastLED LIB vs. WS28xx LIB" Lösung, fastLED patchen..... Joachim B. schrieb: > "endgültige" Lösung gefunden, > > welche nur AVR m1284p und fastled anspricht und alle anderen F_CPU > unangefasst lässt: > > in delay.h in der fastLED LIB aus:
1 | // #define NS(_NS) (_NS / (1000 /
|
2 | > (F_CPU / 1000000L))) |
3 | > #if F_CPU < 96000000 |
4 | > #define NS(_NS) ( (_NS * (F_CPU / 1000000L))) / 1000 |
5 | > #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / (F_CPU / 1000000L) |
6 | > #else |
7 | > #define NS(_NS) ( (_NS * (F_CPU / 2000000L))) / 1000 |
einfach folgendes gemacht:
1 | > // #define NS(_NS) (_NS / (1000 / (F_CPU / 1000000L))) |
2 | > #if F_CPU < 96000000 |
3 | > #if defined(__AVR_ATmega1284P__) && (F_CPU==16000000L) |
4 | > #define NS(_NS) ( (_NS * ( (F_CPU-1600000L) / 1000000L))) / 1000 |
5 | > #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / ((F_CPU-1600000L) / |
6 | > 1000000L) |
7 | > #else |
8 | > #define NS(_NS) ( (_NS * (F_CPU / 1000000L))) / 1000 |
9 | > #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / (F_CPU / 1000000L) |
10 | > #endif |
11 | > #else |
12 | > #define NS(_NS) ( (_NS * (F_CPU / 2000000L))) / 1000 |
> für AVR 1284p und 16 MHz > > könnte auf 8MHz erweitert werden
:
Bearbeitet durch User
Ulrich F. schrieb: > Die IDE 1.6.X bietet die Möglichkeit eigene hardware Kreationen unter zu > bringen. Das geht schon seit Ewigkeiten. Einfach die Boards.??? um einen passenden Eintrag erweitern und fertig. Außerdem kann auch die IDE über ISP programmieren, sodass man auf den Bootloader verzichten kann.
> Das geht schon seit Ewigkeiten. Früher musste man das selbstgebastelte Zeugs im Arduino Programmverzeichnis unterbringen. Es kam einem bei einem IDE Update abhanden. Das hat sich geändert. Auch sind die Anpassungsmöglichkeiten vielfältiger geworden. > Außerdem kann auch die IDE über ISP programmieren, > sodass man auf den Bootloader verzichten kann. Die Fuses kann man weiterhin (aus der IDE) nur setzen, wenn man den Bootloader schreibt. > interessant und warum nicht mal mit Baudratenquarzen 7.xx 14.xx > oder 18.xx Genau den Quarz Tüddel spare ich mir ein. Falls du mir deine Boards.txt (und die Bootloader) schicken willst, bastel ich sie gerne zusammen. Durch Kalibrieren des Taktes verbessert sich das Verhalten bei 9600Baud und 1MHz. Aber 4800Baud bei 1MHz geht auch ohne Kalibrierung ganz gut.
Ulrich F. schrieb: > Falls du mir deine Boards.txt (und die Bootloader) schicken willst, > bastel ich sie gerne zusammen. das wäre prima momentan nutze ich ja gerne optiboot mit 1M am 16 MHz Quarz wenn es dann mehr Auswahlmöglichkeiten gäbe wäre klasse die 7.xx 14.xx 18.xx MHz Baudraten für die Quarze Optiboot 1M wird dann nicht mehr gehen aber evtl. die 9xxk (für 14.xx und 18.xx MHz) und 4xxk (für 7.xx MHz) Ist ein Haufen Zeug, sicher das du das machen willst? die Arduino IDE sollte aber weiter funktionieren, nur eben die Auswahlmenüs erweitern, mit wieviel Baud fährt denn die IDE zur Programmierung normalerweise am FTDI? Danke schon mal per Mail über Forum geht nicht wegen Anhänge?
Joachim B. schrieb: > die Arduino IDE sollte aber weiter funktionieren, nur eben die > Auswahlmenüs erweitern, mit wieviel Baud fährt denn die IDE zur > Programmierung normalerweise am FTDI? Normale Baudraten sind 115200 57600 19200 Wobei wobei 115200 nicht für FTDI genutzt wird. (soweit mir bekannt)
Also ich habe erfolgreich einen Arduino ProMini als Basis für eine 7-Segment-LED-Uhr auf Stromsparen getrimmt. Dazu musste ich den LDO auslöten/zerstören und auch die Betriebs-LED musste dran glauben. Das Datenblatt erlaubt zwar keine 16MHz bei 3.0-4.2V, aber hat bei mir so funktioniert. (Bastelkram halt, da darf man auch mal die Spec missachten - sollte sie aber bei Fehlersuche im Hinterkopf haben.) Anstatt mit Fuses Risiko einzugehen, habe ich im Programmcode auf 4 MHz runtergeschaltet. Zudem jede Menge Sleep, wo immer möglich, und mit 1-1.5kHz die Anzeige mal aufblitzen lassen per Timer2/Interrupt. Reicht für Abends/Nachts, bei starker Sonneneinstrahlung erkennt man aber nichts mehr ;) Bin damit unter 2 mA gelandet. Anstatt direkt aus einem LiIon zu speisen, noch einen sparsamen LDO mit Ausgangsspannung 3.3V davorsetzen, mit sehr niedrigem Quiescent Current (oder deutsch: Ruhestrom?); mit RT9166 waren das noch laut Datenblatt 220-300µA, der XC6206 soll da nur 1µA verbraten. Akku direkt liefert 4 Wochen Laufzeit, mit RT9166 8 Wochen. Der XC6206 sitzt erst 2 Wochen dadran, nach 4 Wochen seit letztem Akkuwechsel. Bin gespannt.
:
Bearbeitet durch User
Ulrich F. schrieb: > Normale Baudraten sind 115200 57600 19200 > Wobei wobei 115200 nicht für FTDI genutzt wird. (soweit mir bekannt) also muss man doch mal an TxD und RxD ein paar max3232 hängen und die Arduin IDE beim Proggen belauschen, ich habe nix im Netz gefunden mit welchen Baudraten ein Nano oder miniPRO 328 bei 16 MHz programmiert wird, aber gefühlt ewig, da ist der Mighty mit Optiboot 1M ein Segen.
Joachim B. schrieb: > ich habe nix im Netz gefunden mit > welchen Baudraten ein Nano oder miniPRO 328 bei 16 MHz programmiert > wird, Dann schau mal in die boards.txt Da nennt sich das boardname.upload.speed , oder so ähnlich.
So habe jetzt einen Arduino Pro Mini genommen. Bei 12,4 V mit einem ext. Spannungsregler (Ausgang 5V) vorm µC bin ich von ca. 26 mA (Arduino nano) auf 9,7 mA (Arduino pro mini) runter gekommen. Zusätzlich setze ich nach 30 min den µC in den Power-down Modus, wodurch der Strom nochmal auf 4,1 mA sinkt. Aufgeweckt wird er durch Pin Change Interrupts von 3 definierten Eingängen (für meine Schaltung so möglich). Ich weiß zwar nicht genau wieviel Strom durch die SMD LED am Ausgang des MIC5205 fließt, aber ich denke es wird ein Großteil der 4,1 mA sein oder? In dem Schaltplan http://www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf ist ein Jumper "SJ1" zu sehen. Verstehe ich es richtig, dass dieser nur bei der 3,3 V Variante vorhanden ist?
Ulrich F. schrieb: > Dann schau mal in die boards.txt > Da nennt sich das boardname.upload.speed , oder so ähnlich. Danke gefunden, aber WTH machen die? uno.name=Arduino Uno uno.upload.speed=115200 uno.build.mcu=atmega328p uno.build.f_cpu=16000000L ############################################################## atmega328.name=Arduino Duemilanove w/ ATmega328 atmega328.upload.speed=57600 atmega328.build.mcu=atmega328p atmega328.build.f_cpu=16000000L ############################################################## nano328.name=Arduino Nano w/ ATmega328 nano328.upload.speed=57600 nano328.build.mcu=atmega328p nano328.build.f_cpu=16000000L alles mega328 alle 16MHz aber verschiedene upload speed? ich glaube man sollte die alle mit optiboot tunen.....
Joachim B. schrieb: > Danke gefunden, aber WTH machen die? Ich vermute mal: Jedes von diesen Boards nutzt einen anderen Bootloader. Zumindest der UNO nutzt Opiboot von Hause aus. (in meiner Arduino IDE)
René L. schrieb: > Ich weiß zwar nicht genau wieviel Strom durch die SMD LED am Ausgang des > MIC5205 fließt, aber ich denke es wird ein Großteil der 4,1 mA sein > oder? So ca. 3mA.
Vorwiderstand der Power-LED ausgelötet. Jetzt bin ich von den 4,1 mA nochmals auf 1,4 mA runter gekommen.
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.