Forum: Mikrocontroller und Digitale Elektronik Herz und Nierencheck Fernbedienung


von (Hobby-)Bastelmann (Gast)



Lesenswert?

Hallo zusammen

Vor kurzem habe ich einen Prototypen dieser Fernbedienung gebaut, der im 
Grunde ganz gut funktioniert hatte, allerdings nur einige Stunden lang. 
Danach waren die Batterien leergesaugt. Ich hatte zwar extra einen low 
drop Spannungsregler eingebaut, um die Batterien zu schonen, allerdings 
habe ich wohl zu wenig auf die übrigen Bauteile geachtet, insbesondere 
auf die IR LED, die mit 100mA betrieben wurde, was gemäss dem Artikel 
"Versorgung aus einer Zelle" zuviel für die CR2032 war.
Auf jeden Fall wollte ich nun die vorliegende Version durch die 
Verwendung von vorwiegend SMD-Teilen etwas eleganter gestalten und über 
einen Step up Regler mit zwei AAA Zellen versorgen.

Meine Fragen an euch:
- kann das Gerät mit den aufgelisteten Bauteilen funktionieren, ohne 
dass ich jeden Tag neue Batterien kaufen muss oder mir das Teil um die 
Ohren fliegt?
- seht ihr im Platinenlayout gravierende Fehler, die Schwierigkeiten 
verursachen könnten?

Angemerkt sei, dass ich Vias etwas stümperhaft realisiere, indem ich 
abgeschnittene Bauteildrähte einlöte. Aus diesem Grund kann ich keine 
Vias unter anderen Bauteilen platzieren. Ausserdem kam beim 
doppelseitigen Belichten, eine Seite immer etwas schlechter heraus, 
weshalb ich möglichst alles auf der selben Seite platziert habe. Die 
Unterseite ist bis auf die zwei senkrechten Verbindungen zwischen den 
Vias eine Massefläche und hauptsächlich mit den Tastern verbunden. Den 
Mikrocontroller habe ich ausgewählt, weil ich diesen über ein Arduino 
Board programmieren kann, inklusive Fuses auf internen Oszillator 
schalten, weshalb ich gerne an diesem Bauteil festhalten würde.

Hier nun also die Bauteile inkl. Links zu Datenblättern:

uC: ATMEGA168-20AU – 
https://www.distrelec.ch/ishop/Datasheets/hs645165-645166_e.pdf

IR LED: IR 383 – 
https://www.distrelec.ch/ishop/Datasheets/ir383_eng_tds.pdf

Regler: MCP1640T-I/CHY – 
https://www.distrelec.ch/ishop/Datasheets/MCP1640_eng_datasheet.pdf

C1: Keramikkondensator SMD 4.7 uF 25 VDC 0805 , GRM21BR61E475KA12L – 
https://www.distrelec.ch/ishop/Datasheets/nmGRM_data_en.pdf

C2: Keramikkondensator SMD 10 uF 6.3 VDC 0805 , GRM21BR60J106KE01L – 
https://www.distrelec.ch/ishop/Datasheets/nmGRM_data_en.pdf

C3: Keramikkondensator SMD 100 nF 50 VDC 0805 , C0805C104K5RAC – 
https://www.distrelec.ch/ishop/Datasheets/slCeramic-Chip-Condensers_e.pdf

D2-5: Kleinsignaldiode SOT-323 75 V , BAW56W – 
https://www.distrelec.ch/ishop/Datasheets/baw56-series_eng_tds.pdf

L1: Induktivität, SMD 4.7 uH 1.72 A ±30% , 744042004 – 
https://www.distrelec.ch/ishop/Datasheets/lr744042004_data_DE.pdf

LED1-4: SMD-LED blau 0603, 19-21UBC/C430/TR8 – 
https://www.distrelec.ch/ishop/Datasheets/07530447.pdf

Vielen Dank im Voraus!

(sorry, anständig verlinken hab ich nicht hingekriegt :) )

von Moritz A. (moritz_a)


Lesenswert?

So ganz spontan:

a) Wozu der Regler? Der Atmel tut auch mit den 3V, falls rein für die 
LED: Per Enable nur anschalten, wenn die LED auch sendet.

b) Sleep-Modes im µC ordentlich genutzt?

von Frank M. (frank_m35)


Lesenswert?

Also ein Step-Up ist eine ganz schlechte Wahl für eine so heikle 
Batterieanwendung. Entweder, wie Moritz empfohlen hat, direkt den uC an 
die Batterie hängen, oder mit einem speziellen Step-Down mit Bypass 
Funktion noch mehr sparen: TPS62730

Den uC natürlich auf geringstem Takt laufen lassen und ständig schlafen 
legen. Nur für das senden kurz aufwecken.

Deine IR-LED braucht nur 1.4V bei 100mA, dein uC in der Low Voltage 
Variante arbeitet mit 1.8V, dann verwende einen sehr stromsparenden Buck 
Converter und regle die Batteriespannung auf 1.8V runter und betreibe 
alles damit.

Die anderen LEDs solltest du nicht blau verwenden, sondern eher grün 
oder gelb bzw. rot. Auf blau reagiert das menschliche Auge mit am 
unempfindlichsten. Grün ist hier viel besser. Gelb bzw. Rot haben den 
Vorteil von einer geringen Vorwärtsspannung, wodurch du die LEDs direkt 
mit der Batteriespannung betreiben kannst. (ich hoffe natürlich die LEDs 
leuchten nicht ständig sondern so gut wie nie!)

Deine Dioden haben einen normal hohen Leckstrom, zwar kommt der nur zum 
tragen beim Betätigen eines Tasters, aber trotzdem kann hier optimiert 
werden.

edit:
als Leuchtdiode verwende auch keine 08/15 LED. Deine LED hat eine 
sagenhafte Effizienz von 0.65 Lumen/Watt.
Verwende so etwas: 
http://www.leds.de/Low-Mid-Power-LEDs/SMD-LEDs/Osram-Top-SMD-LED-rot-1400mcd.html
Hat eine effizienz von 97lm/W @ 20mA 2.05V. Die wirst du mit 1.8V und 
einem geringem Strom problemlos betreiben können und sie wird immer noch 
heller als deine jetzige sein (Wenn du stabile 1.8V hast und die LEDs 
ein bisschen Hand selektierst (also kaufe doppelt so viel wie du 
brauchst und nimm nur die mit der für dich passenden Vorwärtsspannung), 
dann kannst du dir auch den Vorwiderstand sparen sofern es dann nicht zu 
hell für dich ist. Das ist eine sehr helle LED, also spiel mal ein 
bisschen mit den Vorwiderständen rum etc.)

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


Lesenswert?

Da du sowieso schon alle Taster über die Dioden veroderst und an INT1 
führst, kannst du eigentlich mit dieser Leitung auch gleich den ganzen 
MC hochfahren, so das du gar keinen Sleep Modus brauchst. Ideal wäre 
also ein StepUp mit /Enable Eingang, wenn du überhaupt einen StepUp 
brauchst (siehe oben).

von Sebastian (Gast)


Lesenswert?

Ist das Verodern der Tasten auf den Interrupt überhaupt nötig? Der 
verwendete Atmel hat doch Pin Change-Interrupt, oder sehe ich das 
falsch?

von Timbo1 (Gast)


Lesenswert?

Entweder sleep Modus, oder besser, einfach alles abschalten und nur dann 
mit Strom versorgen wenn eine TAste gedrückt wird...
Also jede Taste zu einem zentralen Kerko oder oder so legen..
Sobald eine gedrückt wird, gibts einen kurzen Spannungsschups, der dann 
wiederrum z.B. einen Fet geschlossen hält bis die CPU gestartet hat und 
von sicha uch den FET weiter geschlossen hält..für x Sekunden und dann 
wieder auf Auto Power Off geht....
liegt die Vernbedienung nur da, sit sie dann auch nach 5 Jahren noch 
einsatzbereits mit einer cr2032

von Ralph T. (programinator)


Lesenswert?

Statt des ATMEGA168 die PicoPower-Variante ATMEGA168p verwenden. Sind 
Pin- und Funktionskompatibel und haben teilweise einen deutlich 
reduzierten Stromverbrauch (siehe DC Characteristics).

von (Hobby-)Bastelmann (Gast)


Lesenswert?

Holla! Vielen Dank schonmal für alle eure Antworten!

Erstmal einige Ergänzungen zur Ausgangslage:

Über eine der 8 Tasten kann zwischen vier Codesätzen für die übrigen 7 
Tasten geswitched werden (z.B. Sat, TV, Apple TV ...). Die LED's dienen 
zur Anzeige, welches Gerät aktuell von der Fernbedienung angesteuert 
wird. Es leuchtet also nur jeweils eine davon kurz auf, wenn man die 
Wahltaste drückt und erlischt gleich wieder. Ich habe die Farbe Blau aus 
ästhetischen Gründen gewählt. Besonders hell müssen sie nicht leuchten, 
da sie ja nicht Aufmerksamkeit anziehen müssen, sondern man zum 
Zeitpunkt der Betätigung eh schon in Erwartung auf eine Veränderung auf 
die LED's blickt.

Den Regler habe ich eingeplant, da ich davon ausging, eine konstante 
Spannung halten zu müssen, auch wenn sich die Batterien mit der Zeit 
entladen. Dies hielt ich für nötig, damit die IR Reichweite sich nicht 
verändert und die Widerstände für die LED's berechnet werden können.

Die IR-Led wollte ich diesmal eigentlich nur mit 20mA betreiben. Gemäss 
Datenblatt sollte so die Reichweite gerade ausreichen (Kann zwar mit den 
Einheiten dort nichts anfangen, also habe ich einfach den Wert der LED 
aus dem Prototypen als Vergleich genommen).

Die Tasten habe ich über die Dioden zum INT1 geführt, um den Controller 
aus dem Sleep zu holen, damit er kurz fragen kann, welche Taste gedrückt 
wurde und den IR-Code blinken kann, bevor er sich wieder schlafen legt. 
Hat beim Prototyp ganz gut funktioniert.

Was ich vergessen hatte zu erwähnen, ist, dass ich ein ziemlicher 
Neuling bin, beruflich überhaupt nichts mit solchen Dingen zu tun habe 
und dieses Projekt hier bereits meine höchsten Künste erfordert :) 
Einige eurer Vorschläge klingen deshalb für mich zwar sehr interessant, 
aber manchmal habe ich keine Ahnung, wie ich das genau realisieren soll 
:)

Zu euren Vorschlägen:

Den Regler würde ich im Prinzip sehr gerne weglassen. Erleichtert sofort 
auch das Layout und die Herstellung der Platine. Beim Hersteller meines 
Vertrauens habe ich nun auch diese Variante des Atmega168 gefunden, die 
bereits ab 1.8V funktioniert. Allerdings bereitet mir eine schwankende 
Spannungsversorgung etwas Kopfzerbrechen.

Von PinChange interrupt – was ich so verstehe, dass über jeden Pin ein 
Interrupt erzeugt werden könnte – habe ich bei der Portbeschreibung 
nichts gesehen. Werde das Datenblatt aber noch genauer danach 
untersuchen und gegebenenfalls Anpassungen vornehmen. Ursprünglich war 
die Konstruktion halt auf einen Atmega328 ausgerichtet (ArduinoUno).

Im Moment gefällt mir die Idee ganz gut, alles auf konstante 1.8V 
herunter zu regeln. Den uC nur kurzzeitig hoch zu fahren übersteigt 
glaube ich meine Fertigkeiten. LED's werde ich in diesem Falle wohl 
sowieso neue suchen müssen, da werde ich schauen, ob ich solche 
stromsparenden finden kann, wie sie in der ersten Antwort beschrieben 
wurden.

Auf welches Stichwort im Datenblatt (Leckstrom) müsste ich bei der Wahl 
der Dioden achten?

Gruss HobbyBastelMann

von Nicolas S. (Gast)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Den uC nur kurzzeitig hoch zu fahren übersteigt
> glaube ich meine Fertigkeiten.

Wenn Du die Sleep-Modi nicht nutzen willst, kannst Du eine Knopfzelle 
vergessen. Steig dann lieber auf drei Mono- oder Babyzellen um.

Andererseits sind die auch nicht wahnsinnig kompliziert- und was man 
noch nicht kann, kann man lernen.

von (Hobby-)Bastelmann (Gast)


Lesenswert?

Sleep Modus ist eingebaut. Meinte mit hochfahren sei gemeint, die ganze 
Stromversorgung zu kappen und nur bei Tastendruck auch die 
Stromversorgung einzuschalten.
Aktuell schläft das ding und wacht nur kurz bei Tastendruck auf.

Schaltregler hab ich was gefunden: Schaltregler CL-2025, XCL206B183AR-G 
– https://www.distrelec.ch/ishop/Datasheets/XCL205_206_207_eng_tds.pdf

Der läuft mit 2-6V und konvertiert auf 1.8V herunter. Das heisst, die 
Batterien können jeweils um 0.5V einbrechen, bevor das ganze aufhört zu 
funktionieren. Passiert das schnell oder kann man damit längere Zeit 
auskommen? Ansonsten hätt ich noch was gefunden, das mit 1.8V noch 
funktioniert, ist dann aber aufwändiger extern beschaltet. Habe im 
Moment aber keinen Plan, wie man so ein Gehäuse auf eine Platine kriegen 
soll, so ganz ohne Füsschen. Kann man die von der Seite anlöten?

von Frank M. (frank_m35)


Lesenswert?

Wenn du 1.8V verwendest kannst du keine blauen LEDs mehr verwenden, da 
sie eine hohe Vorwärtsspannung haben. Hier muss man halt abwägen was 
einem lieber ist: Einfacheres design und lange Laufzeit, oder 
aufwendiges design mit einschaltbaren Boost-Converter und kürzerer 
Laufzeit.

Auch wenn du bei den blauen bleiben willst und es damit etwas komplexer 
wird, nimm auch hier effiziente mit >20 lm/Watt. Wie hell sie am Ende 
leuchtet kannst du dann immer noch mit den Widerständen bestimmen, aber 
lieber eine effiziente LED mit 1mA betreiben als eine ineffziente mit 
20mA.


Der Sleep-Mode ist ein Muss! Sonst kannst du es wirklich gleich sein 
lassen. Dein uC verbraucht momentan vermutlich gerade ca. 10mA, was viel 
zu viel ist. Mit dem Sleep Mode im Idealfall 1uA!
http://www.mikrocontroller.net/articles/Sleep_Mode

http://www.atmel.com/images/doc2545.pdf
Kapitel 13, dort steht der Pin change interrupt beschrieben.
Kapitel 10, Power saving modes

Wie es funktioniert:
Du konfigurierst die Pin Change interrupts. Dann führts du dein Programm 
aus, anstatt dann ständig die Hauptschleife durchzulaufen, legst du den 
uC schlafen. Er macht nichts, bis ein Taster gedrückt wird, dann macht 
er einfach dort weiter wo er zuvor schlafen gelegt wurde.



Die IR LED blitzt ja nur ein paar Milisekunden kurz auf, dort ist es 
vorerst egal ob sie 100mA oder 20mA benötigt. Was du machen musst, ist 
die Spannungsversorgung senken, den Boost Converter abschaffen und den 
Schlafmode im uC integrieren.

von Frank M. (frank_m35)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Schaltregler hab ich was gefunden: Schaltregler CL-2025, XCL206B183AR-G
> – https://www.distrelec.ch/ishop/Datasheets/XCL205_206_207_eng_tds.pdf
Der ist totaler Overkill. Du brauchst keine 600mA Ausgangsstrom. Auch 
wirst du wohl kaum so wenig Platz haben, dass du nicht eine externe 
Spule verwenden kannst.
Das Ding kannst du als Laie nicht löten.

Nutze die parametrische Suche von TI, Maxim IC, Linear Technology um 
einen geeigneten DC-Converter zu finden.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Den Regler würde ich im Prinzip sehr gerne weglassen.

Nimmm einfach 3 AAA-Zellen, dann hast Du rund 4,5V. Ich mache das auch 
so und es läuft perfekt. Einige Anregungen kannst Du Dir hier holen:

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

Gruß,

Frank

von c-hater (Gast)


Lesenswert?

Frank M. schrieb:

> Wenn du 1.8V verwendest kannst du keine blauen LEDs mehr verwenden

Doch natürlich kann man das. Man muß bloß ein wenig mehr Grips in die 
Ansteuerung stecken, als nur einfach einen Vorwiderstand vor die LED zu 
ballern.

Sprich: statt eines statischen Pegels gibt man eine Wechselspannung aus, 
wenn's leuchten soll (natürlich sinnvollerweise per Timer). An den 
OCR-Pin hängt man eine (leicht modifzierte) kapazitive 
Standard-Spannungverdopplerschaltung.

Unds schon leuchtet's auch blau...

Bei sinnvoller Auslegung der Schaltung sogar ziemlich effizient, 
effizienter als die Standardschaltung mit Vorwiderstand.

von (Hobby-)Bastelmann (Gast)


Lesenswert?

3 AAA Zellen passen in der Breite sowieso besser als die zwei.
Trotzdem, für die IR LED und die anderen LED's hätt ich schon gerne eine 
konstante Spannung. Wäre das vielleicht ein passender Regler?

Schaltregler TSOT-23-6, LTC3560IS6#PBF 
–https://www.distrelec.ch/schaltregler-tsot-23-6/linear-technology/ltc3560is6-pbf/582076

von Wolfgang H. (frickelkram)


Lesenswert?

Hi,

(Hobby-)Bastelmann schrieb:
> 3 AAA Zellen passen in der Breite sowieso besser als die zwei.
> Trotzdem, für die IR LED und die anderen LED's hätt ich schon gerne eine
> konstante Spannung. Wäre das vielleicht ein passender Regler?
>
> Schaltregler TSOT-23-6, LTC3560IS6#PBF
> https://www.distrelec.ch/schaltregler-tsot-23-6/linear-technology/ltc3560is6-pbf/582076

es ist hier schon mehrfach angeklungen/erwähnt worden. Lass den Regler 
weg. Du brauchst ihn nicht. Er zieht nur sinnlos Strom wenn Deine 
Fernbedienung schläft. Wenn Du vermeiden willst das im Sleep-Modus im 
Regler Strom fließt musst Du ihn ab schalten (wurde auch schon erwähnt). 
Die Logik dafür ist aber erstens viel zu komplex und zweitens fließen 
dann immer noch unnötig Leckströme.
Du brauchst auch keine konstante Spannung für die LEDs. Fahr die IR-LED 
doch mit maximalem Strom. Wenn die Batterie dann leerer wird sinkt der 
Lichtstrom, na und. Es wird dann immernoch lange funktionieren, das hast 
Du Dir ja auch schon mal überlegt.
Ansonsten empfehle ich Dir das Design so einfach wie möglich zu halten 
und den µC viel schlafen zu lassen. Ich würde ebenfalls AA oder AAA 
Batterien nehmen und auch die Status-LEDS weg lassen.

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


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Meinte mit hochfahren sei gemeint, die ganze
> Stromversorgung zu kappen und nur bei Tastendruck auch die
> Stromversorgung einzuschalten.

Genauso meinte ich das auch. Da INT0 in deiner derzeitigen Schaltung auf 
nahezu GND gezogen wird, kann man das auch auswerten und die Versorgung 
damit einschalten. Ordentliche Sleepmodes sind zwar gut, aber gar nicht 
ganz einfach, denn die Zustände an den I/O Pins im Sleep müssen für 
wenig Stromverbrauch auch stimmen. Ein einziger falscher Pullup oder 
Pulldown kann dir die gesamte Bilanz vermiesen.

von Axel S. (a-za-z0-9)


Lesenswert?

Wolfgang Heinemann schrieb:
> es ist hier schon mehrfach angeklungen/erwähnt worden. Lass den Regler
> weg. Du brauchst ihn nicht. Er zieht nur sinnlos Strom wenn Deine
> Fernbedienung schläft.

ACK

> Du brauchst auch keine konstante Spannung für die LEDs. Fahr die IR-LED
> doch mit maximalem Strom. Wenn die Batterie dann leerer wird sinkt der
> Lichtstrom, na und.

nochmal ACK

Ich frage mich wieviele der "Experten" die bisher hier geantwortet 
haben, schonmal in eine handelsübliche IR-Fernbedienung geschaut haben. 
Die laufen heute praktisch alle mit 3V. Und keine hat einen 
Spannungsregler eingebaut. Und alle verwenden einen Vorwiderstand für 
die IR-LED. Zufall?


(Hobby-)Bastelmann schrieb:
> die IR LED, die mit 100mA betrieben wurde, was gemäss dem Artikel
> "Versorgung aus einer Zelle" zuviel für die CR2032 war

Schon falsch. Entscheidend für die Batterielebensdauer ist der 
Dauerstrom. Die IR-LED wird aber mit Impulsen betrieben. 100mA sind da 
eher das Minimum. Allerdings muß man dafür einen (leckstromarmen, also 
besser Tantal) Elko parallel zur Batterie schalten, der die 
Spitzenströme puffert.

Da die Fernbedienung überdies >99% der Batterielebensdauer inaktiv sein 
wird (der µC ist dann im Tiefschlaf) ist es der Stromverbrauch in 
diesem Zustand, der über die Batterielebensdauer entscheidet. Ein 
Picopower-AVR sollte es also schon sein. Und man muß im Sleep auch 
wirklich alles abschalten. Inklusive BOD. Die Stromaufnahme sinkt dann 
deutlich unter 1µA. Weitgehend unabhängig von der Versorgungsspannung. 
Auf jeden Fall ist es völlig illusorisch zu glauben, man könnte den 
geringeren Ruhestrom bei kleineren Spannungen mit einem vorgeschalteten 
Spannungsregler ausnutzen. Die Verluste durch den Spannungsregler werden 
immer höher sein als die Einsparung.

Und wenn man alles mit 3V betreibt, dann gehen vermutlich auch die 
blauen LED. Grenzwertig zwar, aber geht. Die IR-LED bekommt einen 
richtigen Treiber; kleiner LL-MOSFET oder auch bipolar. Ein einzelner 
Portpin schafft bei 3V Versorgung nicht mal annähernd 100mA, eher 20. 
Man könnte notfalls Pins parallel schalten, aber was soll der Geiz?
Der Vorwiderstand der IR-LED wird für z.B. 100mA bei Batterie- 
Nennspannung ausgelegt. Wenn die Batterie schwächer wird, sinkt der 
Strom und damit die Reichweite. Ganz normales Verhalten also.


XL

von (Hobby-)Bastelmann (Gast)


Lesenswert?

okay, überredet. Ich lasse den Regler weg. Auf die LED's möchte ich aber 
nicht verzichten. Sonst muss ich immer zuerst was umschalten, was ich 
gar nicht will, um festzustellen, welches Gerät ich überhaupt gerade 
bediene. Die leuchten ja nur kurz, wenn ich das Gerät umschalte, für den 
grossen Rest der Zeit sind sie abgeschaltet.

Konnte nun auch die sparsameren LED's bei meinem Lieferanten finden 
(halt nur grün). Ich kann den Widerstand so bemessen, dass bei vollen 
4.5V ca. 5mA durch die LED fliessen (max. wäre bei 7.5 gemäss 
Datenblatt) und bei 3V die empfohlenen 2mA. D.h. jede Batterie kann um 
0.5V einbrechen, bevor die LED's schwächer als im Normalbetrieb 
leuchten. (die Änderung der Durchlassspannung hab ich mal 
vernachlässigt, da sich diese kaum verändert und die Grafik irgendwie 
der Tabelle zu widersprechen scheint.)

Bei der Auswahl des Transistors für die IR LED brauche ich wohl ein 
bisschen Hilfe. Da kenne ich mich ganz schlecht aus :/

Wegen dem Sleep-Modus muss ich nochmals im Datenblatt nachlesen. Der 
Prototyp wurde ja mit einem Atmega328 betrieben. Diesen konnte man mit 
dem Interrupt nur aus gewissen Schlafzuständen aufwecken, weshalb ich 
nicht alles abschalten konnte. Möglicherweise funktioniert der 168er ja 
ein bisschen anders.

von Axel S. (a-za-z0-9)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> okay, überredet. Ich lasse den Regler weg. Auf die LED's möchte
> ich aber nicht verzichten.

Verlangt ja keiner

> Konnte nun auch die sparsameren LED's bei meinem Lieferanten finden
> (halt nur grün). Ich kann den Widerstand so bemessen, dass bei vollen
> 4.5V

Warum jetzt doch 3 Batterien? 2 reichen doch.

> ca. 5mA durch die LED fliessen (max. wäre bei 7.5 gemäss
> Datenblatt) und bei 3V die empfohlenen 2mA.

Das wird sicher zu hell sein. Wenn das wirklich hocheffiziente LED sind, 
werden 0.5mA reichen. Du willst ja nur etwas signalisieren und nicht 
beleuchten.

> Bei der Auswahl des Transistors für die IR LED brauche ich wohl ein
> bisschen Hilfe. Da kenne ich mich ganz schlecht aus :/

Für den Anfang tuts ein BC327 oder 337 aus der Bastelkiste. Besser wäre 
ein low-sat Typ wie z.B. ZTX650. Alternativ ein kleiner MOSFET wie 
IRLML2402.

> Wegen dem Sleep-Modus muss ich nochmals im Datenblatt nachlesen. Der
> Prototyp wurde ja mit einem Atmega328 betrieben. Diesen konnte man mit
> dem Interrupt nur aus gewissen Schlafzuständen aufwecken, weshalb ich
> nicht alles abschalten konnte.

Das Stichwort ist pin change interrupt. Klassisch macht man eine 
Matrix für die Tasten. Im Ruhezustand legt man alle Spalten auf das 
aktive Potential (sinnvollerweise L) und schaltet an dem Zeilen die 
Pullups ein. Sobald irgend eine Taste gedrückt wird, geht eine der 
Zeilen entsprechend auf L und weckt den µC per pin change interrupt auf.

Einmal aufgewacht scannt der µC einmal die Matrix ab und findet so die 
gedrückte(n) Taste(n), reagiert entsprechend und geht nach dem Loslassen 
der Taste(n) wieder in den power save Mode.

Wenn du genügend Pins hast, kannst du auch jede Taste an einen einzelnen 
Pin hängen. Mit deinen gerade mal 8 Tasten geht das auf jeden Fall.


XL

von Frank M. (frank_m35)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Konnte nun auch die sparsameren LED's bei meinem Lieferanten finden
> (halt nur grün). Ich kann den Widerstand so bemessen, dass bei vollen
> 4.5V ca. 5mA durch die LED fliessen (max. wäre bei 7.5 gemäss
> Datenblatt) und bei 3V die empfohlenen 2mA. D.h. jede Batterie kann um
> 0.5V einbrechen, bevor die LED's schwächer als im Normalbetrieb
> leuchten. (die Änderung der Durchlassspannung hab ich mal
> vernachlässigt, da sich diese kaum verändert und die Grafik irgendwie
> der Tabelle zu widersprechen scheint.)

So wie es sich anhört sind das low-current LEDs, das sind die falschen.
Suche nach den wirklich ganz hellen (aber nicht die 1W power LEDs!) und 
betreibe diese dann mit einem ganz geringem Strom, unter 1mA um eine 
Helligkeit zu erhalten die du momentan mit deiner bei 20mA erreichst.
vielleicht:
https://www.distrelec.ch/top-led-superhell/seoul-semiconductors/mgt-801

von (Hobby-)Bastelmann (Gast)


Lesenswert?

Ok, wenn ich die Grafiken richtig interpretiere und die Daten richtig 
verrechne, habe ich mit den superhellen LED's bei 1mA tatsächlich noch 
die 6-fache Lichtstärke verglichen mit den anderen bei den empfohlenen 
2mA; ganz zu schweigen, wenn da mehr mA fliessen... Gekauft :) Und so 
wies aussieht, kann ich dann sogar die blauen nehmen, da diese bei 1mA 
eine Durchlassspannung von 2.7V aufweisen. Wenn ich einen Widerstand von 
300 Ohm verbaue, erhalte ich den Strom von 1mA, wenn die 
Batteriespannung auf 3V abgefallen ist, und einen Strom von 5mA bei 
voller Betriebsspannung (Durchlassspannung 2.9V), denke ich zumindest :)

Ich bleibe wohl bei den drei Batterien, auch wenn zwei reichen würden, 
da die drei optisch eigentlich fast besser aussehen, da die Breite des 
Batteriefachs dann mit der Breite der Platine übereinstimmt und es gibt 
halt noch n paar V spatzig, bevor alles zusammenbricht :)

Zum Kondensator, der parallel zur Batterie geschaltet werden soll: Da 
ist ja noch der 100nF Kondensator, den man für den Controller einbaut. 
Erfüllt der diesen Zweck auch gleich oder müsste ein zweiter mit einer 
anderen Kapazität verbaut werden? Wie gross müsste der sein? Das würde 
ja irgendwie von der Impulsdauer, der Dauer zwischen den Impulsen und 
dem Spitzenstrom abhängen, oder nicht?

Zwischendurch würde ich gerne nochmals ein Dankeschön einwerfen, dass 
ihr hier soviel Zeit investiert und all diese Sachen raussucht. Ist für 
mich ganz viel Neues dabei :D

von Wolfgang H. (frickelkram)


Lesenswert?

Hi,

(Hobby-)Bastelmann schrieb:
> Ok, wenn ich die Grafiken richtig interpretiere und die Daten richtig
...
> Zum Kondensator, der parallel zur Batterie geschaltet werden soll: Da
> ist ja noch der 100nF Kondensator, den man für den Controller einbaut.
> Erfüllt der diesen Zweck auch gleich oder müsste ein zweiter mit einer
> anderen Kapazität verbaut werden? Wie gross müsste der sein? Das würde
> ja irgendwie von der Impulsdauer, der Dauer zwischen den Impulsen und
> dem Spitzenstrom abhängen, oder nicht?

In "normalen" Fernbedienungen sind da ca. 10µF Elkos drin. Ich denke die 
brauchst Du mindestens auch. Wenn Du Platz hast mach den Elko größer.

von Axel S. (a-za-z0-9)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Zum Kondensator, der parallel zur Batterie geschaltet werden soll: Da
> ist ja noch der 100nF Kondensator, den man für den Controller einbaut.
> Erfüllt der diesen Zweck auch gleich

Nein, der ist in jedem Fall zu klein.

> oder müsste ein zweiter mit einer
> anderen Kapazität verbaut werden? Wie gross müsste der sein? Das würde
> ja irgendwie von der Impulsdauer, der Dauer zwischen den Impulsen und
> dem Spitzenstrom abhängen, oder nicht?

Richtig. Wobei man da nicht übermäßig genau sein muß. Typische Werte 
sind 47-100µF. Leitungsführung beachten! Genauso wie der 100nF Abblock-C 
nah an die GND/Vcc Anschlüsse des AVR gehört, gehört dieser Kondensator 
nah an die IR-LED und den Treiber. Also wenn du einen npn-Transistor 
oder n-FET verwendest, dann das (-) Bein des Kondesators nah an 
Emitter/Source und das (+) Bein nah an die Anode der LED.

Bei 3 Zellen (3x AAA oder was?) entschärft sich die Problematik etwas, 
weil diese Zellen ja einerseits gut Strom abgeben können und 
andererseits Spannungsreserve da ist. Wenn du wirklich wild entschlossen 
bist 3 Zellen zu verbauen, solltest du darüber nachdenken, 2 IR-LEDs in 
Reihe zu verwenden. Die kannst du dann entweder mit weniger Strom 
betreiben oder so montieren daß die Fernbedienung in breiterem Winkel 
abstrahlt.


XL

von (Hobby-)Bastelmann (Gast)


Angehängte Dateien:

Lesenswert?

Okay. Pin Change Interrupt scheint ganz einfach zu sein mit der 
entsprechenden Library :)
Denke, zwei IR Leds werden nicht nötig sein, da beim Prototypen die 
Reichweite mit ausgestrecktem Arm bereits gereicht hat und ich nun eine 
etwas bessere, mit einem bisschen kleineren, aber immer noch 
ausreichenden Winkel einzubauen gedenke.

Habe also mal den Schaltplan entsprechend angepasst. Ich konnte partout 
nirgends eine Library mit dem Modell des IRLML2402 finden, deshalb ist 
das im Plan verwendete Schaltzeichen falsch. Das Gehäuse stimmt jedoch 
mit dem des IRLML2402 überein.
Wie nennt man die Spannung, die mindestens am Gate anliegen muss, damit 
er aufhört zu sperren und überhaupt leitend wird? Ist das die "Gate 
Threshold Voltage"? Die wäre bei diesem Modell nämlich erfrischend 
niedrig :)

Die Funktion des Elkos verstehe ich noch nicht so ganz. Wenn die 
Spannung am Gate des Mosfets sich erhöht, schliesst sich der Stromkreis 
zwischen Gate und Source, die IRLED leuchtet und der Elko lädt sich 
parallel dazu auf. Wann entlädt er sich dann aber wieder? Kann er ja 
eigentlich auch nur dann, wenn der Stromkreis geschlossen ist? Aber dann 
lädt er sich doch noch mehr auf? Was macht er da?

Platinenlayout folgt noch. Hatte ich noch zu wenig Zeit bis jetzt :)

Gruss

HobbyBastelmann

von Axel S. (a-za-z0-9)


Lesenswert?

(Hobby-)Bastelmann schrieb:
> Okay. Pin Change Interrupt scheint ganz einfach zu sein mit der
> entsprechenden Library :)

Häh?

> Habe also mal den Schaltplan entsprechend angepasst. Ich konnte partout
> nirgends eine Library mit dem Modell des IRLML2402 finden, deshalb ist
> das im Plan verwendete Schaltzeichen falsch. Das Gehäuse stimmt jedoch
> mit dem des IRLML2402 überein.

BSS138 oder BSS123 sollte jedes E-CAD in der Lib haben. So gesehen würde 
bei deinen Anforderungen ein BSS138 (= 2N7002 - findet man massig auf 
alten Platinen) auch reichen. Bedrahtete Variante wäre BSS98, BSS100, 
2N7000. Notfalls sogar BS170.

> Wie nennt man die Spannung, die mindestens am Gate anliegen muss, damit
> er aufhört zu sperren und überhaupt leitend wird? Ist das die "Gate
> Threshold Voltage"?

Ja.

> Die wäre bei diesem Modell nämlich erfrischend niedrig :)

Komischer Zufall, was?

> Die Funktion des Elkos verstehe ich noch nicht so ganz.

Der ist auch falsch eingezeichnet. Der Pluspol des Elkos gehört an Vcc 
(aka das andere Ende von R10)


XL

von Konrad S. (maybee)


Lesenswert?

Such dir für den Schaltplan irgendeinen N-MOSFET, so ist es etwas 
irritierend.

Die interessierenden Spannungen findest du bei RDSon. Hier steht, dass 
der Widerstand bei 4.5V 0.25Ohm beträgt, bei 2.7V sind es 0.35Ohm.
Der Artikel mag hilfreich sein: 
http://www.mikrocontroller.net/articles/FET

Der Elko sollte meiner Meinung nach mit seinem Plus nicht zwischen 
IR-LED und Widerstand hängen, sondern zwischen Widerstand und VCC. Der 
Elko wird permanent geladen, er hängt direkt an GND (und VCC, selbst wie 
eingezeichnet über den Widerstand). Wenn der MOSFET leitend wird, dann 
versorgt der Elko die IR-LED (soweit seine Ladung reicht) und 
verhindert/vermindert starke Spannungseinbrüche auf VCC.

von (Hobby-)Bastelmann (Gast)


Angehängte Dateien:

Lesenswert?

Voila. Elko wurde umgehängt. Gehäusemässig sollte alles stimmen. Aber 
wieso bloss bekomme ich um die GND-Vias keine Wärmedämmlöcher (Thermals 
heissen die, glaube ich)? Erstens sehe ich so nur schlecht, wo ich 
bohren muss und zweitens verläuft mir so der Lötzinn unnötig.

von (Hobby-)Bastelmann (Gast)


Lesenswert?

Die Platine ist scheinbar ganz gut herausgekommen. Nach der Bestückung 
scheinen alle Verbindungen wunschgemäss zu funktionieren.
Allerdings stellt sich mir nun ein neues Problem: Wenn ich den 
Bootloader per Arduino IDE mit dem ArduinoUno Board als Programmer auf 
meinem Atmega168PV-10AU installieren möchte, erscheint folgende 
Fehlermeldung:

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Nach ein wenig herumgegoogle kam ich zum Schluss, dass das Problem sein 
muss, dass ich die PV-10AU Variante des atmega168 verwende, womit die 
IDE nicht rechnet, da das Lilypad mit einer anderen Variante des 
atmega168 bestückt ist. Allerdings konnte ich noch keine Lösung finden, 
wie ich meine Variante über die IDE und das ArduinoUno Board mit dem 
Bootloader meiner Träume beglücken kann  Weiss jemand von euch Rat?

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.