Ich hatte mir gerade mal einige analoge Zeigerinstrumente besort. Mesbereich 1 bzw 5 mA Also nur Anzeigeninstrument und R als Shunt, da ich finde, das man vieles viel schneller und genauer beurteilen kann als bei Digitalinstrumenten..und siehe da...mir fällt etwas auf, das mir mit dem Multimeter noch nie aufgefallen ist... Der Stromverbrauch des Atmega32 schwank um bis zu 1mA ca, nur dadurch das man sich ihm mit der Hand näher, auch wenn ich die andere Hand am PC Gehäuse festhalte um statische Ladung auszuschließen. Ich wollte jetzt noch mal versuchen alle Ausgänge per Software auf GND bzw VCC zu legen. Die Frage ist, ob es dieses Verhalten aber auch in eiern fertigen Schaltung gibt, wenn andere ICs an den Pins hängen. Ebenfalls ist mir aufgefallen, das wenn ich einen 100nf Kontendator im laufenden Betrieg zusätzlich in die Versgrungsleitung klemme, es natürlich kurz zuckt, dann aber der Stromverbrauch um ca 0,3mA dauerhaft höher ist?!?!? Wenn ich dann den Strom für AVCC ab und wieder anklemme, ist er wieder um 0,3ma niedriger.. Derzeit habe ich keine Beschaltung am IC, daher kann ich nicht prüfen oder der ADC abstürzt, glaube ich aber nicht, das ist mir noch nie passiert. Warum also, steigt der Stromverbrauch um 0,3mA? (wenn er nicht abgestürzt vorrausgesetzt)
ach ja, die Spannungsversorung hatte ich zu testzwecken auch mal über eine LifePo4 Zelle realisiert, macht kein Unterschied ob Netzteil oder Akku
Rapper B schrieb: > Der Stromverbrauch des Atmega32 schwank um bis zu 1mA ca, nur dadurch > das man sich ihm mit der Hand näher Dann solltest du ganz dringend mal über deinen Aufbau und die Initialisierung nachdenken. Das riecht nach floatenden Eingängen und/oder Schwingerei.
Sieht mir stark nach offenen Eingängen aus, deren Potential zeitweise durch den verbotenen Bereich zwischen low und high schwebt. Dagegen hilft es: - offenen Pins als Ausgang setzen, - interne Pullups aktivieren - externe Pullups anschließen
Du hast unbeschaltetet hochohmige Eingänge die als Antenne wirken. Wenn die Hand nah ran kommt, fangen die an schnell zu schalten und erhöhen dadurch den Strombedarf. Abhilfe: Unbeschaltete Pins als Output setzten (DDRx Register Bit auf 1).
ja, davon gehe ich derzeit wie gesagt auch aus..ich werde das wie gesagt später mal testen
Frequenz? Programm? Stromverbrauch? Spannung? Läuft der uC? (Oder im reset oder abgestürzt) Externer Quartz? Ohne Beschaltung, also Du hast ein Oszilloskop? Oder wie stellst Du fest, ob er läuft?
Rapper B schrieb: > Derzeit habe ich keine Beschaltung am IC Dann mach mal wenigsten die hin, die laut Datenblatt für ein sinnvolle Funktion anzubringen ist. Und noch eins: tu das nicht während die Schaltung unter Spannung ist.
"Derzeit habe ich keine Beschaltung am IC Dann mach mal wenigsten die hin, die laut Datenblatt für ein sinnvolle Funktion anzubringen ist." ?? Die 100nf Kondensatoren sind montiert, aber die haben hierauf keinerlei Einfluss Und auch GND etc ist natürlich alles angeklemmt
Rapper B schrieb: >>> Derzeit habe ich keine Beschaltung am IC >> Dann mach mal wenigsten die hin, die laut Datenblatt für ein sinnvolle >> Funktion anzubringen ist. > Die 100nf Kondensatoren sind montiert Ja, schau mal... Und dann leg noch alle offenen Eingänge (also im unprogrammierten Zustand jeden einzelnen IO-Pin) auf einen definierten Pegel, so wie es laut Datenblatt für eine sinnvolle Funktion vorgesehen ist. Auch das gehört zur Beschaltung.
:
Bearbeitet durch Moderator
Ich komme nicht unter 0,7mA. ISt das richtig? Die Sleepmodes haben keinen Einfluss, wenn kein externes Quarz angeschlossen ist,richtig?
Also ich experimentiere gerade mit den Sleepmodes. Ich dachte er verbraucht gar nicht im power Down mode etc. Aber 0,7 hat er auch wenn ich den Sleep mode abschalte:-(
Rapper B schrieb: > Die Sleepmodes haben keinen Einfluss, wenn kein externes Quarz > angeschlossen ist,richtig? Doch, die funktionieren mit und ohne. Aber du solltest alle nicht benötigte Peripherie abschalten. Dazu gehören der ADC, der AC, der Watchdog und der Brownout Detektor. Gerade letzterer spart ganz schön ein.
Hallo, schon klar, aber offenbar geht es mit dem normalen Atmeg32 nicht unter 0,7mA? Die Sleepmodes schalten ja lediglich das Quarz und Komponenten aus, wenn aber keine an sind und kein externes Waurz genutzt wird, macht der Sleep Modus offenbar keinen Unterschied.oder?
Ahh, ich sehe gerade es gibt noch das SMCR Register, hatte fälschlicherweise nur das UMCR Register gesehen
also Du nutzt den internen Quarz? Funktioniert Dein Programm denn wirklich? Also hast Du z.B. einen Pin gesetzt / getoggelt? Solange Du keine Angaben zu Deinem Setting machst, macht es wenig Sinn das zu erraten.
1 | MCUCR.6:=1; |
2 | MCUCR.5:=1; |
3 | SMCR.0:=1; |
4 | SMCR.3:=0; |
5 | SMCR.2:=1; |
6 | SMCR.1:=0; |
Irgendwie geht der nicht unter 0,1mA Völlig egal ob sleep an oder aus, das macht maximal 0,01mA aus :-(
1 | program Atmega32_Grundversuche; |
2 | |
3 | { Declarations section } |
4 | |
5 | begin |
6 | { Main program } |
7 | DDRA:=$FF; |
8 | DDRB:=$FF; |
9 | DDRC:=$FF; |
10 | DDRD:=$FF; |
11 | PortA:=$00; |
12 | PortB:=$00; |
13 | PortC:=$00; |
14 | PortD:=$00; |
15 | delay_ms(2000); |
16 | // ADCSRA.7:=1; |
17 | MCUCR.6:=1; |
18 | MCUCR.5:=1; |
19 | SMCR.0:=1; |
20 | SMCR.3:=0; |
21 | SMCR.2:=1; |
22 | SMCR.1:=0; |
23 | MCUCR.6:=0; |
24 | MCUCR.5:=1; |
25 | |
26 | end. |
das Programm läuft schon..er verbraucht 0,2ma ca, dann nach dem delay spring er auf 0,1mA..völlig unabhängig davon was da steht..einfach weil er dann im Idle läuft
Offene Eingänge sind für elektrostatische Ladungen empfänglich. Wenn der Pegel irgendwo im unerlaubten Bereich zwisschen LOW und HIGH herum dümpelt, leiten beide Transistorender CMOS Eingangsstufe ein bisschen so dass sie unnötig Strom verschwenden. Offene Eingänge sind auch für Radiowellen empfänglich. Die Eingangs-Transistoren verstärken das Signal und reichen es an weitere interne Schaltkreise weiter. All diese brauchen Strom. he höher die empfangene Frequenz ist, umso höher die Stromaufnahme. Die Stabilisierung der Stromversorgung mittels Kondensator bewirkt, dass alle Signale (auch innerhalb des IC) erheblich schneller zwischen LOW und HIGH wechseln können. Mit mehr Energie sind höhere Pegel möglich und dadurch steigt die Stromaufnahme. Ohne Kondensator riskierst du, dass der Chip instabil läuft.
das Problem ist bereits erledigt, aber danke:-) Derzeit knapse ich am Stromverbrauch
Rapper B schrieb: > Derzeit knapse ich am Stromverbrauch Es lohnt sich, den ADC und den Brown-Out Detektor aus zu schalten, wenn du auf sie verzichten kannst.
"To enter any of the sleep modes, the SE bit in SMCR must be written to logic one and a SLEEP instruction must be executed. T" Was meint das? Ich setze SMCR.0:=1; Und dachte, damit schalte ich in in den entsprechenden Schlafmodus. Aber was meint "and a SLEEP instruction must be executed. T"" Vermutlich ist damit SMCR.0:=0; SMCR.3:=1; SMCR.2:=0; gemeint?
wie dumm von mir, dann konnte es natürlich nie funktionieren:-)
obwohl ich das jetzt nur beim Atmega324 hinbekomme.. Beim Atmega32 heißen gibt es kein SMCR Register sodnern nur das MCUCR.. NARF
ach verdammt, aht sich erledig.. Hatte MCUR.1 anstelle von MCUCR7... Jetzt gehts :-)
Wenn du den AC nicht brauchst: ACSR:=$80
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.