uC "runterkühlen" mit Sleep Kommando

Gast #2298017
Lesenswert?

Hallo Leute,

Habe soeben 2000 USB Sticks mit einem Temperaturfühler drauf fertigen 
lassen.
Nun habe ich aber das Problem, das der uC (ein PIC18F13K50) den 
Temperatursensor um ungefähr 2°C erwärmt. Ich könnte nun einen Offset 
reinprogrammieren, oder eine findige Idee einsetzen.

Gedankengang: uC wird nach dem Init in den Sleep Modus verbannt. uC 
braucht weniger Saft, folglich weniger Erwärmung.
USB löst Interrupt aus, Daten werden eingelesen und an den PC übertragen 
danach wieder Sleep. Nur kurzes aufwecken der Peripherie und CPU, 
folglich weniger Erwärmung.

Ist mein Gedankengang falsch, oder kann das funktionieren?
Es ist mir klar, das diverse TVS Dioden,.. durch ihren Leckstrom das PCB 
genauso aufheizen.
#2298026
Lesenswert?

RächerMitDemBecher schrieb:
> USB löst Interrupt aus, Daten werden eingelesen und an den PC übertragen
> danach wieder Sleep.

Ja, kannst du doch machen - der UART kann doch nen IR auslösen.

RächerMitDemBecher schrieb:
> Es ist mir klar, das diverse TVS Dioden,.. durch ihren Leckstrom das PCB
> genauso aufheizen.

Ich denke, diese Leckströme werden keine nennenswerte Erwärmung 
hervorrufen.
Gast #2298036
Lesenswert?

RächerMitDemBecher schrieb:
> Ich könnte nun einen Offset
> reinprogrammieren

Ein Offset wirds hier nicht bringen, da dieser abhängig von allerlei 
Sachen ist, wie z.B. "Wind"geschwindigkeit um den Stick.

Die Sleep Methode könnte aber funktionieren. Benutzt du den µC nur zum 
Auslesen des Sensors oder macht der sonst noch einige andere Dinge?
Gast #2298050
Lesenswert?

Nach meiner Erfahrung erwärmen sich MCs nicht nennenswert beim 
Abarbeiten von Code, sondern hauptsächlich dann, wenn sie an ihren 
Ausgängen Strom liefern müssen. Deswegen wird ein Sleep vermutlich 
nichts bringen, es sei denn, dabei werden auch die Ausgänge 
abgeschaltet.
Gast #2298072
Lesenswert?

Beim Sleep werden ja dann alle Pins auf Eingang umgeschalten.
Es wird nur der Sensor ausgelesen.

Pseudocode:

while TRUE
    while(HID_Read() = 0)
      NOP0
    wend
    ReadSHT
    CopySHTDataIntoBuffer
    while(HID_Write(@writebuff,64) = 0)
    wend
  wend

Der PIC erwärmt sich um etwa 2,7°C. Es hängt nur eine LED drann (low 
current 2mA).
#2298089
Lesenswert?

ob der Sensor stimmt ist die eine Sache,

ob über das Board, bzw. der USB-Buchse die Wärme an den Sensor kommt,
oder ob der Gehäuselüfter die CPU-Wärme drüber pustet oder Deine
Hand beim Einstecken das Platinchen erwärmt etc. etc.

Welcher Sensor ists denn?


Häng mal Deinen Dongle an ne "Verlängerungsschnur" und miss nochmal.

Wärmebild gäbe genauen Aufschluss
Gast #2298353
Lesenswert?

hallo,

und du bist dir sicher das die 2K Erwärmung sind?
Habe mit dem SHT-11 ein sehr interessantes Phänomen:
Wir aktivieren den SHT-11 nur immer ganz kurz (Versorgung an, auslesen 
und Versorgung aus) da war die Temperatur auhc immer um ca. 2K daneben. 
Uns ist das am Anfang gar nicht so aufgefallen, unser jetzige Lösung, 
Einscahteln auslesen 10sec eingeschaltet lassen, auslesen Wert nehmen 
ausschalten.

seit dem sind wir ziemlich genau.
Gast #2298755
Lesenswert?

Heizung ist aus.
Es sieht tatsächlich aus, das die CPU heizt.
Unbenutzte Pins sind mit Masse fix verbunden auf Ausgang geschalten und 
low.
Leider habe ich keine Wärmebildkamera zur Verfügung (Leider nicht bei 
Conrd für 10Euro zu haben ;-) ).
Habe mal einen NI/CR/NI Fühler auf die CPU geschnalt, Testprogramm rein 
(Alles was über USB rein kommt geht gleich zurück) und siehe da: Von 
24°C auf 32°C!!! in einer viertel Stunde. Muss mir also wirklich etwas 
mit dem Programm einfallen lassen.
Das mit den 2°k zuviel habe ich auch schon mal gehabt. War damals aber 
die erste Generation. Bei den neuen sollte man aber auch etwa 500mS nach 
den Power up warten.
Gast #2299154
Lesenswert?

Ralli schrieb:
> Kann das fast nicht glauben, das sich die CPU so sehr erhitzen würde.

wieso nicht? Steht alles im Datenblatt:
bei 48 Mhz (USB full speed) und 5 V braucht man 13 mA = 65mW. bei 108K/W 
(SSOP-Geh) erwärmt sich der Prozessor um ca 7 Grad.
Wenn man das ganze noch in ein kleines Gehäuse sperrt kriegt der 
Temperatursensor ordentlich was davon ab.

Gruß Anja

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren