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)
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).
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.
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?
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.
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.
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?