Forum: Mikrocontroller und Digitale Elektronik Konzeption einer IR Fernbedienung


von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Zusammen,

ich hänge gerade an der Konzeption einer kleinen IR-Fernbedienung für 
meine Audio-Geräte.

Ich benötige 4 Eingänge für die Tasten und einen Ausgang für die 
Ansteuerung einer IR-Sende Diode.

Es würde also ein ATtiny45 ausreichen.

Allerdings hänge ich gerade bei der Auswahl der IR-Sende Diode fest. Die 
im Artikel IRSND verwendete Diode SFH409-2 gibt es nicht mehr. Welche 
Diode kann ich alternativ in Verbindung mit TSOP31238 verwenden.

Des Weiteren stellt sich mir die Frage, ob eine Sendediode ausreicht. 
Die Diode wird später hinter einer 3mm starken Acrylglas Abdeckung 
satiniert mit einer Lichtdurchlässigkeit von 70% liegen. Die Reichweite 
soll trotzdem noch bei ca. 3-4m liegen.

Als Spannungsversorgung würde ich gerne eine Knopfzelle 
(CR2032)verwenden. Zur Not auch zwei parallel geschaltet um mehr 
Leistung zu haben. Nachgeschaltet einen StepUp Regel um konstante 3.3V 
zu bekommen. Da die Leistungsaufnahme stark von der verwendeten 
IR-Sendediode abhängen wird, benötige ich auch noch etwas Hilfe bei der 
Auswahl des richtigen StepUp Wandlers.

Der Tiny soll solange die FB nicht benutzt wird, in den Schlafmodus 
gehen aber das ist noch ein anderes Thema.

Gruß
Frank

von hinz (Gast)


Lesenswert?

Frank L. schrieb:
> Welche
> Diode kann ich alternativ in Verbindung mit TSOP31238 verwenden.

Jede die auf ca. 950nm emittiert.


> Des Weiteren stellt sich mir die Frage, ob eine Sendediode ausreicht.

Ausprobieren! Das hängt ja sehr vom Öffnungswinkel und sogar vom Raum 
ab.


> Nachgeschaltet einen StepUp Regel um konstante 3.3V
> zu bekommen.

Das braucht keiner.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mit einer LD271 und einem TSOP als Empfänger sollten ohne Reflektor 
immer mindestens 6-10m Reichweite drin sein, wenn du die Trägerfrequenz 
eingermassen einhältst.
Die CR2032 kann 2 LD271 in Serie betreiben, einen Stepup brauchst du 
nicht. Allerdings solltest du einen Treibertransistor spendieren und per 
Vorwiderstand so um die 50-80mA Impulsstrom durch die LED schicken. In 
meiner Tiny FB nehme ich nur eine LED, reicht auch quer durchs Zimmer:
Beitrag "Re: Quick&dirty - schnelle Problemlösungen selbst gebaut"

Ruhestrom ist etwa 300nA, selbst eine CR2032 kann das einige Zeit. 
Vergiss den Reservoir Elko nicht, der liefert die Stromreserve für die 
IR Pulse anstatt der Batterie.
Viele Kunststoffe lassen IR so gut wie nicht durch - musst du also 
erstmal testen.

: Bearbeitet durch User
von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Matthias,
hallo Hinz,

danke für die Auskunft, ich habe mich für die SFH 4544 von Osram 
entschieden.

@Matthias, was meinst Du mit Reservoir Elko einen Goldcap oder einen 
normalen kleinen Kondensator parallel zur Batterie?

Gruß
Frank

von batman (Gast)


Lesenswert?

Irgendwas, das 200-500mA liefern kann, solange gesendet wird.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

batman schrieb:
> Irgendwas, das 200-500mA liefern kann, solange gesendet wird.

Upps, warum so viel? Die SFH4544 veträgt max. 100mA und der Rest der 
Schaltung zieht so gut wie nix.

Frank L. schrieb:
> was meinst Du mit Reservoir Elko

Einen Elko mit 47µF-220µF. Die Knopfzelle kann den Strom für die LED nur 
mühsam alleine liefern, der Elko puffert die Pulse ab und sorgt auch 
dafür, das der MC beim Senden nicht abschmiert wg. Spannungseinbrüchen.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Der Elko sollte ja einen niedrigen Leckstrom haben. Muss man da noch 
etwas besonders gutes wie Tantal Elkos nehmen oder sind Alu Elkos 
mittlerweile auch alle so gut das man irgendwas nehmen kann? Und dann 
eher 16 V (oder noch mehr) als 10 V Typen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Kannst ja mal den Leckstrom eines Elkos bei 3V messen. Das ist aber 
normalerweise unerheblich, wenn man da einigermassen anständige Elkos 
benutzt.
Der grössere Spass ist der Ruhestrom des Controllers, wo es noch einige 
Fallstricke geben kann.

von Wolfgang (Gast)


Lesenswert?

hinz schrieb:
> Jede die auf ca. 950nm emittiert.

Wenn sie 50nm daneben liegt, kostest das auch nur weniger als 10% der 
Reichweite

von Conny G. (conny_g)


Lesenswert?

Frank L. schrieb:
> Des Weiteren stellt sich mir die Frage, ob eine Sendediode ausreicht.
> Die Diode wird später hinter einer 3mm starken Acrylglas Abdeckung
> satiniert mit einer Lichtdurchlässigkeit von 70% liegen. Die Reichweite
> soll trotzdem noch bei ca. 3-4m liegen.

Hängt von empfangenden Gerät und Protokoll ab.
Ich habe ein Sony Home Theater Gerät, das ist sehr mässig empfindlich 
und sogar mit der Original-FB muss ich direkt zielen, damit es überhaupt 
funktioniert.
Wogegen ein Philips Protokoll (weiss nicht mehr welches) mit kurzen 
Bursts mit der richtigen Fernbedienung problemlos quer durch den Raum 
geht, selbst wenn ich in die gegensätzliche Richtung halte.

Aber grundsätzlich halte ich satiniertes Acryl für keine gute Idee, das 
streut in alle Richtungen und neben den 30%, die es Dir direkt 
ausfiltert (wenn das für IR ebenso gilt und nicht noch mehr ist) nimmt 
es die Power aus dem gerichteten Strahl und es bleibt noch ein Bruchteil 
übrig. Ich würde sagen, das nimmt Dir mehr als weitere 50%.

von batman (Gast)


Lesenswert?

Matthias S. schrieb:
>> Irgendwas, das 200-500mA liefern kann, solange gesendet wird.
>
> Upps, warum so viel? Die SFH4544 veträgt max. 100mA und der Rest der
> Schaltung zieht so gut wie nix.

Oh nein, diese IR-Transmitter sind für den Pulsbetrieb spezifiziert 
vertragen dabei typischerweise bis zu 1A (s. Diagramm "Zul. 
Pulsbelastbarkeit"). D.h. im Batteriebetrieb gibt man schlicht alles 
drauf, was da ist und braucht dann nicht mehr als eine IR. Bei Elkos 
unter 470µF reicht oft schon der ESR als Begrenzung.

Es geht auch mit 100mA Pulsstrom aber man verschenkt Zuverlässigkeit und 
Reichweite.

von Johannes S. (Gast)


Lesenswert?

Matthias S. schrieb:
> Kannst ja mal den Leckstrom eines Elkos bei 3V messen.

ok, du hast Recht. Ich habe gerade mal an einem (hoffentlich guten) 
Panasonic low ESR 560 µF/35 V Elko gemessen. Bei 3 V gehts nach ca. 2 
min. < 0,1 µA, weniger kann mein Messgerät nicht anzeigen. Und auch bei 
10 V geht es nach ein paar Minuten auf 0,1 µA runter, jetzt bei 30 V bin 
ich gerade bei 2,0 µA, Tendenz immer noch fallend. Im Datenblatt die 
Werte sind höher, aber das gilt wohl für den ganzen Temperatur Bereich.

von Harald W. (wilhelms)


Lesenswert?

Johannes S. schrieb:

> < 0,1 µA, weniger kann mein Messgerät nicht anzeigen.

Da täuscht Du Dich. Schalte mal einen 1MOhm Widerstand parallel
und schon hast Du im 200mV-Bereich einen Vollausschlag von 200nA!
Gerade zur Messung von Leckströmen ist eine solche Hilfskonstruk-
tion ideal.

von Werner M. (Gast)


Lesenswert?

Conny G. schrieb:
> Aber grundsätzlich halte ich satiniertes Acryl für keine gute Idee, das
> streut in alle Richtungen und neben den 30%, die es Dir direkt
> ausfiltert (wenn das für IR ebenso gilt und nicht noch mehr ist)

Da die IR-Wellenlänge größer als die des sichtbaren Lichtes ist, wird 
die Streuung bei IR wohl eher geringer sein.

von Johannes S. (Gast)


Lesenswert?

Harald W. schrieb:
> Da täuscht Du Dich.

Die alten Analogtechniker :) Danke. Hab es mal probiert und bin jetzt 
bei 59 nA bei 3V.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> low ESR

Das koennte die IR-Diode nun wiederum uebelnehmen.

Oder ein Ohm davorschalten.
Oder einfach einen "normalen" Elko nehmen.

von Johannes S. (Gast)


Lesenswert?

Die Diode wird ja nicht direkt an den Elko angeschlossen sondern über 
einen Schalttransistor. Und der Elko ist nur ein Puffer um die Batterie 
zu stützen.

von Norbert S. (norberts)


Lesenswert?

Moin,

Um es klar zu stellen:
Die CR2032 macht bei >100mA nicht mehr viel sondern reisst nur noch die 
Hufe.
Das muß komplett der Elko übernehmen.
Eine saubere Lösung wäre eine komplette Trennung der Batterie von der 
Elektronik, die mit den Tasten überbrückt wird.
Da gibt es dann praktisch gar keine Ruhe- oder Leckströme mehr.

Gruß,
Norbert

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> sondern über einen Schalttransistor

Ein IRLML6402, das waer mein Favorit zum Schalten
der IR-Diode, hat ein Rds(on) von 0.065 Ohm.
Und ein FET sollte es schon sein, um die LiO-Zelle
bestmoeglich zu nutzen.

Mit einer CR2032 und geschaetzten 1.6 V Flussspannung
der IR-Diode fliesst dann erheblich mehr als das gewuenschte
eine Ampere als Puls.

Wer rechnen kann ist klar im Vorteil.

von Norbert S. (norberts)


Lesenswert?

Moin,

Ein fluffiger Elko (also nicht Low-ESR) und eine CR2032 könnten als 
Vorwiderstand reichen.
Ich würde aber Low-ESR nehmen und sowas wie 6R8 als Vorwiderstand.

Gruß,
Norbert

von batman (Gast)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#5072821:
> Mit einer CR2032 und geschaetzten 1.6 V Flussspannung
> der IR-Diode fliesst dann erheblich mehr als das gewuenschte
> eine Ampere als Puls.
>
> Wer rechnen kann ist klar im Vorteil.

Noch besser, wer auch lesen kann. Bei 1A liegt die Flußspannung der o.g. 
IR bei 3,5V.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Also ich betreibe die LD271 in der o.a. Q&D Fernbedienung mit 4V (1 
LiIon Zelle) minus Uce Sat eines BC337 und 27 Ohm Vorwiderstand. Das 
sind knapp unter 100mA und damit reicht die FB etwa 10m weit.
Es ist also sicher nicht nötig, die LED mit mehr Strom zu belasten und 
sie im Surge zu betreiben. Stecke ich einen Reflektor auf die LED, 
reicht sie etwa doppelt so weit, aber man muss gut zielen.

Norbert S. schrieb:
> Eine saubere Lösung wäre eine komplette Trennung der Batterie von der
> Elektronik, die mit den Tasten überbrückt wird.
> Da gibt es dann praktisch gar keine Ruhe- oder Leckströme mehr.

Oder man programmiert anständig. Meine FB hat, wie schon öfter erwähnt, 
etwa 300nA Ruhestrom. Allerdings musste ich wg. der fetten LiIon Zelle 
nur einen kleinen Stützelko spendieren mit 22µF.

von Frank L. (Firma: Flk Consulting UG) (flk)



Lesenswert?

Hallo Zusammen,

Danke für das ganze Feedback.

Da ich zur Zeit keinen ATMEGA328 rumliegen habe, habe ich die Schaltung 
mal nur auf dem Reißbrett designed.

Das ganze soll später im Sleepmode SLEEP_MODE_PWR_DOWN laufen. Aufwachen 
soll das ganze, wenn eine Taste gedrückt wurde. Deshalb will ich den 
INT0 auf fallende Flanke einstellen. Alle Taster sind durch eine Diode 
entkoppelt am INT0 angeschlossen.

Wo ich mir noch nicht ganz klar bin, ob die Dioden D1 bis D4 reichen 
oder ob ich zur Entkopplung noch mehr machen muss.

Des Weiteren stelle ich mir die Frage, ob der Tastendruck für das 
Aufwachen dann direkt auch als Kommando für IRSDN erkannt wurde, oder ob 
ich nochmals eine Taste drücken muss.

Als Energiequelle nutze ich zwei Lithiumbatterien mit 1.33V und 170mA in 
Reihe.

Muss ich bei der Schaltung noch etwas beachten, oder kann ich sie vom 
Prinzip her so lassen.

Im Anhang mal die Schaltung der erste Entwurf des Boards und das Profil 
in dem ich die FB einbauen möchte.

Den Deckel und die Abdeckungen vorne und hinter erstelle ich auf meiner 
CNC Fräse. Deckel und rückseitige Abdeckung sind aus schwarzem Acryl 3mm 
die Frontabdeckung wird ebenfalls aus Acryl mit einer 
Lichtdurchlässigkeit von 70%.

Gruß
Frank

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> Flußspannung der o.g. IR bei 3,5V

Eine IR-LED mit einer Flußspannung von 3.5 V ist karp0tt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Frank L. schrieb:
> Muss ich bei der Schaltung noch etwas beachten, oder kann ich sie vom
> Prinzip her so lassen.

Du kannst dir den Aufwand mit den Dioden sparen. Du kannst Pinchange 
Interrupts konfigurieren, die den MC aus dem Powerdown wecken. Für die 
paar Tasten tuts übrigens auch locker ein Tiny2313 oder Tiny44. Ich kann 
dir gerne mal den Sourcecode meiner FB mit 16 Tasten und Tiny2313 
posten.
Wichtig zum Stromsparen ist die Konfiguration aller Pins auf Ausgang 
bzw. Eingang mit Pullup. Ein Pin, der irgendwo floatet, zieht 
erheblichen Strom.

Frank L. schrieb:
> aus Acryl mit einer
> Lichtdurchlässigkeit von 70%.

Check mal, ob das auch für IR gilt. Viele Kunststoffe sind da nämlich 
ganz anders als im sichtbaren Bereich.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Matthias,

danke für die Info. D.h. ich verwende die PCINTs 10-13 für das 
Aufwecken.
Ich hatte es in der Doku anders verstanden.

Den ATMEGA328 verwende ich in der Regel in den meisten Schaltungen. Das 
ich auch einen kleineren verwenden kann, weiß ich. Ursprünglich wollte 
ich einen ATTiny45 nehmen, bin aber aus einem mir nicht mehr ganz klaren 
Grund davon abgekommen.

Nachdem ich mir den ATTiny45 nochmals zur Brust genommen habe, werde ich 
diesen verwenden, da er vollkommen ausreichend ist. Da ich den sogar da 
habe, werde ich mir die Schaltung nachher mal auf einem Steckbrett 
aufbauen :-)

Gruß
Frank

P.S. danke für das Angebot mir Deine Sourcen zur Verfügung zu stellen. 
Die einzige Frage in diesem Zusammenhang wäre, wie Du mit Repeatframes, 
also wie Du sie erkennst, in IRSND umgehst und wie und wann Du die CPU 
in den Schlaf schickst.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Frank L. schrieb:
> wie Du mit Repeatframes,
> also wie Du sie erkennst, in IRSND umgehst

Da ich sende und nicht empfange, gehe ich gar nicht mit Repeatframes um 
- ich sende den gleichen Code, solange die Taste gedrückt bleibt, mit 
einer Pause von etwa 100ms. Das klappt bisher mit allen Geräten, die ich 
ausprobiert habe. Dazu setze ich nach dem ersten Senden ein Flag und 
warte lange (700ms). Alle darauf folgenden Aussendungen haben dann die 
100ms Pause.
1
/* send the IR Code with fixed protocol and the command code */
2
void Flash_IR(uint8_t command){
3
    irmp_data.protocol = IRMP_RC5_PROTOCOL;      // use RC5 protocol
4
    irmp_data.address  = GIGASET_ADDRESS;                 // set address to device to control
5
    irmp_data.command  = 0x0000 + command;                // set command 
6
    irmp_data.flags    = 0;                      // don't repeat frame
7
    irsnd_send_data (&irmp_data, TRUE);        // send frame, wait for completion
8
/* autorepeat active ? If yes, wait 600ms */
9
  if (!RemoteFlags.IsRepeat) {
10
    RemoteFlags.IsRepeat = TRUE;
11
    _delay_ms(600);
12
  }
13
  _delay_ms(100);
14
  RemoteFlags.KeyPressed = FALSE;
15
}
Da der Code nun wirklich nicht gross ist, hänge ich ihn einfach mal an. 
Wenn da ab und zu noch 'Medion' drin steht, sind das Überbleibsel von 
der vorherigen Anwendung der FB. Nun ist es ein Gigaset Satelliten 
Empfänger.

: Bearbeitet durch User
von Frank L. (Firma: Flk Consulting UG) (flk)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich habe ein Problem beim ATTiny45 mit Timer0 und Timer1.

Timer1 initialisiere ich für IRSDN.
Timer0 initialisiere ich für das Debounce nach Peter.

Schalte ich alternativ nur einen von den beiden Timern an, funktioniert 
jeder für sich korrekt. Schalte ich beide Timer ein, klappt nur noch 
Timer0.

Der Ausschnitt im Anhang, initialisiert beide Timer und sendet in einer 
Endlosschleife per IRSDN einfach mal was raus. PB0 ist dauerhaft High.

Nehme ich die Zeile timer0_init() raus, sehe ich am Scope, dass die IR 
Diode irgendetwas sendet.

Das Init von Debounce ist bewusst aus kommentiert.

Wo steckt mein Fehler?

Gruß
Frank

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank L. schrieb:
> Timer1 initialisiere ich für IRSDN.
> Timer0 initialisiere ich für das Debounce nach Peter.

IRSND benutzt noch einen weiteren Timer für die IR-Modulation (PWM) - 
abhängig vom gewählten Ausgabepin. Zeig bitte mal Deine irsnd-conf.h.

Da der Attiny nur 2 Timer hat, machst Du mit dem timer0_init-Aufruf die 
IR-Modulation kaputt.

Mein Tipp: Bau den Debounce in der ISR ein, wo auch irsnd_ISR() 
aufgerufen wird. Peters Code braucht nicht exakt 10msec-Ticks. Dann ist 
der Timer0 wieder frei.

Siehe auch:

http://www.mikrocontroller.net/articles/DIY_Lernf%C3%A4hige_Fernbedienung_mit_IRMP

: Bearbeitet durch Moderator
von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Danke Frank,

dann verstehe ich das Verhalten.

Gruß
Frank

von Frank L. (Firma: Flk Consulting UG) (flk)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

vielen Dank nochmals für die Hilfe. Vorgestern sind die 
Prototypenplatinen angekommen und bis auf einem kleinen Fehler im Layout 
sieht es sehr gut aus.

Mehr Schwierigkeiten hat es mir gemacht, nachdem alles bestückt war zu 
erkennen, warum die FB nicht funktionierte :-(

Nach ein wenig nachdenken, lag es am Brown-Out Detector. diesen hatte 
ich auf 2.7 Volt eingestellt. Die Spannung bricht aber wesentlich mehr 
ein, wenn ich sende. Nachdem ich den Detector auf den kleinsten Level 
gesetzt habe (1.7V) funktioniert es.

Ich werde jetzt noch ein wenig mit dem Vorwiderstand zur Sendediode 
experimentieren - zur Zeit 37 Ohm - um den Strom durch die Sendediode 
etwas zu reduzieren bei akzeptabler Reichweite.

Derzeit beträgt die Reichweite gut 6m ohne Bündelung und etwa 45° 
ausgerichtet zum Empfänger.

Gruß
Frank

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Frank L. schrieb:
> Die Spannung bricht aber wesentlich mehr
> ein, wenn ich sende.

Dann addiere doch noch einen Elko. Wir hatten ja oben schon über die 
Bedeutung eines Reservoir Elkos diskutiert. 47µF/6V bekommst du noch 
untergebracht :-P
Ich persönlich finde die Leiterbahnen sehr dünn für ein mobiles Gerät, 
aber das ist Geschmackssache.

: Bearbeitet durch User
von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> 47µF/6V

Bei "richtigen" FB habe ich schon 1000 uF gesehen.

Und 1 Ohm vor der Diode.

von Frank L. (Firma: Flk Consulting UG) (flk)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

nachdem ich jetzt die Fernbedienung unbenutzt habe liegen lassen, muss 
ich feststellen, dass die Batterien leer sind.

Jetzt stellt sich mir die Frage, ob ich am Sleepmodus noch etwas ändern 
kann.

Ich würde mich freuen, wenn nochmals jemand darüber schauen könnte und 
mit Verbesserungsvorschlägen um die Ecke kommen würde.

Der Sourcecode und Schaltplan sind angehangen.

Gruß
Frank

von Mario M. (Gast)


Lesenswert?

Kann es sein, dass der ATTiny gar nicht in den Sleep Mode geht? 
(Leerlauf-Stromaufnahme gemessen?) Und wenn doch, durch was wird er 
geweckt? Kann ich im Programm gerade nicht finden.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo,

der Tiny wird durch einen Interrupt aufgeweckt.
1
ISR(PCINT0_vect)
2
{
3
  ;
4
}
5
6
void key_init(void)
7
{
8
    PCMSK |= (1<<PCINT1) | (1<<PCINT2) | (1<<PCINT3) | (1<<PCINT4);
9
  GIFR = (1 << PCIF);              // clr pendings
10
  GIMSK |= (1<<PCIE);
11
}

Gruß
Frank

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Vergessen hinzuzufügen, dass Teil hat jetzt ziemlich genau ein Jahr mit 
dreimal benutzen im Schrank gelegen.

Gruß
Frank

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lies dir bitte noch mal die Library Reference zu avr/sleep.h durch.
Entweder machst du
1
  #include <avr/sleep.h>
2
3
    ...
4
      set_sleep_mode(<mode>);
5
      sleep_mode();
oder die lange Variante:
1
     ...
2
        sleep_enable();
3
        sei();
4
        sleep_cpu();
5
        sleep_disable();
Bei letzterer wird das sleep_disable() ausdrücklich empfohlen.
Ich allerdings benutze die obere Nummer und die funktioniert wie 
gewünscht. Es ist aber wichtig, das
* nicht benutzte Pins am besten als Ausgang programmiert werden.
* kein benutzter Ausgang in Ruhe Strom liefern muss.
* kein Eingang floatet und auch kein Pullup Strom liefern muss.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Noch eine Ergänzung.

Die verwendeten Batterien sind zwei Stück Silberoxid-Knopfzelle, 303, 
175 mAh in Serie geschaltet.

Gruß
Frank

von Mario M. (Gast)


Lesenswert?

Frank L. schrieb:
> PCMSK |= (1<<PCINT1) | (1<<PCINT2) | (1<<PCINT3) | (1<<PCINT4);

Sorry, hab ich beim hin- und herblättern immer übersprungen.

Frank L. schrieb:
> ziemlich genau ein Jahr

Das wären ca. 20µA. Soviel würde etwa der Brown Out Detector brauchen. 
Ist er per Fusebits deaktiviert?

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Nein, der ist aktiviert für 1,7V.

Ich habe mal eben gemessen, es sind in etwa 23uA genauer geht es mit 
meinem Agilent nicht. Von daher Ruhezustand scheint zu funktionieren.

Gruß
Frank

von Norbert S. (norberts)


Lesenswert?

Frank L. schrieb:
> Nein, der ist aktiviert für 1,7V.

Moin,

Was'n das für ein Satz?
Also ist er aktiviert!
Deaktiviere den. Dann halten die Batterien ewig.

Gruß,
Norbert

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Norbert,
Ja ja das Deutsch :-)

Ich deaktiviere den Morgen mal und werde neu messen.

Danke
Gruß
Frank

: Bearbeitet durch User
von Norbert S. (norberts)


Lesenswert?

Moin,

Oh, Mario hatte ja gefragt, ob er DEaktiviert ist. Mein Fehler!

Nunja, wenn der jetzt an ist und Du ihn ausschaltest, sollte er nur noch 
ca. 0,2µA verbrauchen.

Gruß,
Norbert

: Bearbeitet durch User
von unmöglich (Gast)


Lesenswert?

Frank L. schrieb:
> Ich deaktiviere den Morgen mal und werde neu messen.

Es ist ein Unterschied, ob man den Morgen deaktiviert oder morgen 
deaktiviert.

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
Noch kein Account? Hier anmelden.