Auf jeden Fall mal bei Searcher in den Blog schauen, der hat gerade dieses Phänomen, der Empfindlichkeit von ADCs.
MfG
Auf jeden Fall mal bei Searcher in den Blog schauen, der hat gerade dieses Phänomen, der Empfindlichkeit von ADCs.
MfG
ich würde auf jeden fall mal das PRR Register hernehmen und die unnötige peripherie abschalten (schließlich ahst du ja einen picoPower Prozessor genommen wegen der Funktion XD)
und was das BOD abschalten bewirkt kann ich leider nciht sagen aber man kann es ja mal probieren
EDIT: Kommando zurück, ich seh gerade du benutzt ja die power.h schon .. ich mach das zwar lieber selber über die register aber das ist mein persönlciher geschmack :P
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Ich dachte irgendwo gelesen zu haben, dass BOD normalerweise gar nicht eingeschaltet ist, wenn man es selber nicht tut.
Nun habe ich gerade nochmal im Datenblatt nachgesehen und mir im boards.txt die Fuse-Bits angeschaut:
uno.bootloader.extended_fuses=0xFD
entspricht: 11111101
Wenn ich das richtig interpretiere, sind Bit#0 bis #2 die BODLEVEL Fuses. Die stünden ja dann auf 101 und damit wäre BOD an.
Sehe ich das richtig?
Habe noch ein sleep_bod_disable(); hinzugefügt.
Ansonsten hatte ich alles andere abgeschaltet.
power_spi_disable();
power_twi_disable();
power_timer2_disable();
power_adc_disable();
power_timer0_disable();
Fehlt noch was?
MfG
Geändert von Moppi (11.01.2019 um 12:31 Uhr)
Bit 7 – PRTWI0: Power Reduction TWI0
check.
Bit 6 – PRTIM2: Power Reduction Timer/Counter2
check.
Bit 5 – PRTIM0: Power Reduction Timer/Counter0
check.
Bit 3 – PRTIM1: Power Reduction Timer/Counter1
wakeup timer.
Bit 2 – PRSPI0: Power Reduction Serial Peripheral Interface 0
check.
Bit 1 – PRUSART0: Power Reduction USART0
ich meine was von UART bei dir gelesen zu haben, evtl. einen jumper pin mit internem pullup gegen gnd und nur einschalten wenn auch gejumpert (sowas wie ein debug jumper).
Nochmal korrektur, nein sehe ich nicht bei dir, hab das sayHello als Debug abgetan :P den kannst noch abshalten
EDIT3: (Gerade nachgelesen bei 8Mhz wären das 0.1mA, vll. solltest du den Spannungsteiler doch über einen pin schaltbar machen, die 0.2mA sind scheinbar signifikant)
Bit 0 – PRADC: Power Reduction ADC
den brauchst du ja. (korrektur ADC nicht Analog) also auch CHECK
sieht soweit gut aus
Geändert von Ceos (11.01.2019 um 12:47 Uhr)
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Tückisch ist aber sleep_bod_disable();
Das muss direkt vorm Schlafengehen passieren.
Wenn das funktioniert, dann habe ich ja jetzt sogar ein: power_a4988_disable();
Wenn ich richtig rechne, komme ich auf 0,47mA für alle Spannungsteiler.
Wenn der Motor läuft, geht das unter, denke ich. Theoretisch könnte ich dort noch an der Schraube für den Motorstrom drehen, weiß aber auch nicht, ob das lohnenswert ist. Ein Unterschied ist, ob die Akkus 10 Tage durchhalten oder 20 oder 30 Tage. Aber auf 2 Tage mehr oder weniger kommt es dann nicht wirklich an.
Danke Dir, so weit, Ceos!
MfG
Geändert von Moppi (11.01.2019 um 13:07 Uhr)
Lesezeichen