uC Stromverbrauch schwankt um bis zu 2mA durch Annäherung

Gast #6541983
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)
Gast
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.
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).
Gast
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?
Gast
"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
Moderator (Firma: Titel) Persönliche Seite
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.
Gast
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:-(
(Firma: matzetronics)
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.
Gast
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?
Gast
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.
Gast
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 :-(
Gast
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.
Gast
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
Gast
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.
Gast
"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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.