Hallo, in den letzten Tage habe ich einen einfachen Wecker basierend auf einem ATMega88 gebaut. Das Projekt diente lediglich der Einarbeitung in die Mikrocontroller Programmierung und Elektronik. Die Funktionalität umfasst - Uhrzeit/Datum anzeigen - Uhrzeit/Datum einstellen - Alarmzeit setzen - Alarm aktivieren/deaktivieren - Alarm auslösen mit Schlummerfunktion - Temperatur anzeigen - Menüsteuerung mittels 4 Taster Die Stromversorgung erfolgt durch 4 AAA Batterien. Ich habe euch den Schaltplan angefügt. Momentan befindet sich der Aufbau noch auf einem Breadboard. Soll aber später auf eine Steckplatine und die Bauteile in ein Gehäuse eingebaut werden. Bevor ich dies mache, wollte ich euch bitten mir ggf. Verbesserungsvorschläge zu geben. Insbesondere bei der Stromversorgung bin ich mir nicht ganz sicher. Ich möchte gerne eine möglichst hohe Lebensdauer der Batterien erreichen. Durch Messungen hat sich gezeigt das das LCD Display den meisten Strom benötigt (0,22A mit Hintergrundbeleuchtung). Ohne Hintergrundbeleuchtung sind es lediglich 0,01A für die Gesamtschaltung. Aus diesem Grund wird die Hintergrundbeleuchtung softwareseitig bei einem Knopfdruck für 10 Sekunden aktiviert. Grüße, Timo
Ich bezweifel das die Schaltung wie gezeichnet funktioniert. C1 ist zwei mal vorhanden und sollte 100n anstelle 100p sein. AVCC gehört mit VCC verbunden und ebenfalls ein 100n nach GND. J1 ist ISP und nicht JTAG. Am LCD gehört VDD an 5V, VO an den Schleifer des Poti. BC547 ist verkehrt, es fehlt ein Basiswiderstand und ein Widerstand im Kollektor. Das nur beim schnellen drüber schauen, es wir sicher noch einiges zu verbessern sein.
Welchem Zweck dient dieser 11.0529 MHz-Quarz (der vermutlich 11.0592 hat)? Ich hätte für eine Uhr eher 32 KiHz vermutet.
Timo B. schrieb: > lediglich 0,01A für die Gesamtschaltung. LOL, 10 mA sind extrem viel für eine Quarzuhr. Mit einem EFM32 und dessen LCD auf dem STK verbraucht das Uhren-Beispiel <10µA, das sind 1000fach weniger Strom. Eine CR2032 hält da Jahre.
PS: ... eine batteriebetriebene Uhr, um genau zu sein. Und hätte für diesen Zweck auch einen AVR8 vom P-Typ genommen.
Hubert G. schrieb: > Ich bezweifel das die Schaltung wie gezeichnet funktioniert. > C1 ist zwei mal vorhanden und sollte 100n anstelle 100p sein. > AVCC gehört mit VCC verbunden und ebenfalls ein 100n nach GND. > J1 ist ISP und nicht JTAG. > Am LCD gehört VDD an 5V, VO an den Schleifer des Poti. > BC547 ist verkehrt, es fehlt ein Basiswiderstand und ein Widerstand im > Kollektor. > > Das nur beim schnellen drüber schauen, es wir sicher noch einiges zu > verbessern sein. Danke für die Antwort. Die Schaltung funktioniert auf dem Breadboard bisher ohne Probleme aber genau aus solchen Gründen habe ich ja nachgefragt. - C1 gibt es nur einmal und hängt zwischen 5V und GND. Ich wusste nur nicht wie ich das sonst zeichnen soll. - C1 ist tatsächlich ein 100nF statt 100pF. Das war nur in der Zeichnung falsch. - Das AVCC mit VCC verbunden werden soll wusste ich nicht. Hab es aber gerade nachgelesen. Vielen Dank. Das werde ich ändern - Der Poti an VDD des LCD hatte den Hintergrund das mein LCD bei 6V der 4 AAA Batterien nicht funktioniert hat. Der Poti dient dazu die Spannung zu regulieren. Poti an V0 ist doch primär für den Kontrast? Hab da nicht die Notwendigkeit gesehen - Die Widerstände für den Transistor werde ich auch noch ergänzen. @S. Landolt: Den Quarz und Controller hatte ich hier rumliegen. Was spricht gegen den Quarz? Mit einem 16 Bit Timer, 1024 prescaler und 54736 Vorladewert bekomm ich ziemlich genau eine Sekunde. @Jim Meba: Und wo siehst du Einsparpotential ohne die komplette HW zu ändern?
:
Bearbeitet durch User
> Was spricht gegen den Quarz?
Der Stromverbrauch.
Aus dem Datenblatt: "15μA at 32kHz, 1.8V (including oscillator)" - mit den 11... MHz liegt man mindestens um den Faktor 100 höher. Am Rande: > Mit einem 16 Bit Timer, 1024 prescaler und > 54736 Vorladewert bekomm ich ziemlich genau eine Sekunde. Stimmt das? Ich komme auf rund 5.068 s.
Wurde ein 32,768kHz Quarz sich merklich auf die Lebensdauer der Batterie auswirken? Genau um solche Dinge geht es mir. Also falls noch jemand Einsparpotential sieht bitte her damit ;-)
> LOL, 10 mA sind extrem viel für eine Quarzuhr.
Auch wenn das sehr wohl stimmt, verstehe ich dass es in diesem Vorhaben
nicht so sehr darum geht den absolut kleinsten Strom/Energieverbrauch
hin zu bekommen.
Vielmehr geht es wohl darum bei dieser nun (aus der Reste&Bastelkiste)
gegebenen HW die hiermit mögliche maximale Optimierung zu realisieren.
Also, läuft das jetztige Programm die ganze Zeit oder wird bereits des
uCs Schlafmodus genutzt?
In welchem Zeitintervall "geschieht etwas" an dieser Uhr? (jede s? Jede
1/2s?)
Was kann dann geschehen? (Anzeigesegment an/aus, etc...)
Wielange benötigt der uC dafür? (irgendwelche xx...xxxx us)
--> die restliche Zeit bis zum nächsten "Geschehnis" MUSS der uC in den
Stromspar&Schlafmodus gehen, danach wieder geweckt werden.
hi, eine weitere option wäre auf 3V statt 5 umzusteigen, dann musst du am lcd einen widerstand ändern, damit es mit 3 spielt. dann bleibt noch einiges ungeklärt im sw bereich, z.b. cpu clock, sleep mode, ... mt
Als Anhaltspunkt: ATmega88 bei 5.0 V im Power-save-Modus mit asynchronem 32 KiHz-Oszillator: 7.5 uA gemessen (bei 3.3 V sind es 6.0 uA).
Verlustleistungsphobiker schrieb: >> LOL, 10 mA sind extrem viel für eine Quarzuhr. > > Auch wenn das sehr wohl stimmt, verstehe ich dass es in diesem Vorhaben > nicht so sehr darum geht den absolut kleinsten Strom/Energieverbrauch > hin zu bekommen. > Vielmehr geht es wohl darum bei dieser nun (aus der Reste&Bastelkiste) > gegebenen HW die hiermit mögliche maximale Optimierung zu realisieren. > > Also, läuft das jetztige Programm die ganze Zeit oder wird bereits des > uCs Schlafmodus genutzt? > In welchem Zeitintervall "geschieht etwas" an dieser Uhr? (jede s? Jede > 1/2s?) > Was kann dann geschehen? (Anzeigesegment an/aus, etc...) > Wielange benötigt der uC dafür? (irgendwelche xx...xxxx us) > --> die restliche Zeit bis zum nächsten "Geschehnis" MUSS der uC in den > Stromspar&Schlafmodus gehen, danach wieder geweckt werden. Vielen Dank für deine Antwort. Der Controller tritt zuerst in die state machine ein. Falls er sich im Display State befindet (der Normalfall wenn nicht gerade Eingaben erfolgen oder der Alarm ausgelöst ist), aktualisiert er mit jedem Schleifendurchlauf der Mainloop das LCD. Danach werden die Taster abgefragt und der Temperatursensor ausgelesen. Im Sekundentakt bekommt der Controller einen Interrupt der die Zeit erhöht. Du hast aber vollkommen recht. Es reicht ja eigentlich wenn die Anzeige ausgelöst durch den Interrupt aktualisiert wird. Ich werde mich mit dem Sleep Mode beschäftigen. Das war mir bisher noch unbekannt.
Was ist das für ein Display das 200mA für die HGB braucht? Was hältst du von einem externen Uhrenbaustein? Zwischendurch kannst du dann deinen Mega schlafen legen.
> Ich werde mich mit dem Sleep Mode beschäftigen.
Ja eben - mit dem 11 MHz-Quarz ist nur der Idle-Modus möglich, und damit
zieht der ATmega88 2.2 mA bei 5.0 V (gegenüber den genannten 7.5 uA).
- BC547 hat kein Vorwiderstand - die Labels führen alle ins Leere - AVCC, AREF und GND am Pin 22 würde ich nicht einfach offen lassen - C2 und C2 sind auf einer Seite nicht mit GND verbunden - 11MHz als Takt für eine Uhr? Da kannste auch was langsameres nehmen. - wenn RV1 nicht richtig hochohmig ist, macht er dir die Batterie leer, ohne dass der Mikrocontroller läuft - ob C1 mit den 5V verbunden ist, steht auch nicht fest Da gibt es noch einiges zu tun am Schaltplan, bevor man überhaupt mit Software anfangen kann. Möglicherweise reicht auch ein kleinerer Prozessor, schließlich wird es nur eine Uhr.
Timo B. schrieb: > Durch Messungen hat sich gezeigt das das LCD Display den meisten Strom > benötigt Richtig. Ich habe zwar kein Datenblatt zum DC162C gefunden und du hast keines verlinkt, aber diese alphanumerischen Displays sind bekannt für hohen Stromverbrauch. Nimm ein nacktes Glas mit 4 7-Segment Stellen. Dazu dann einen Controller mit vielen Anschlüssen (oder 74HC595). Dann einen 32768Hz Quartz. Dann lass den Controller möglichst lange schlafen, aufwachen per Timer so 100x pro Sekunde, man multiplext so ein Display locker mit 100Hz, damit fragt man auch die Tasten ab und alle 50x schaltet man den Doppelpunkt um. Dann läuft das auch mit Batterie. Den DS1820 noch schlafen legen oder per PortPin abklemmen.
S. Landolt schrieb: > Aus dem Datenblatt: "15μA at 32kHz, 1.8V (including oscillator)" - mit > den 11... MHz liegt man mindestens um den Faktor 100 höher. Und mit 32kHz an T2 im Power-Save <1µA.
Nochmal vielen Dank für die zahlreichen Antworten und Anregungen. Ich habe den Schaltplan nochmal akualisiert. Die Änderungen im Folgenden aufgeliestet: - C1 zwischen GND und 5V gesondert in Zeichnung dargestellt - C1 Label auf den richtigen Wert gesetzt (100nF) - Pin 22 mit GND verbunden - AREF mit VCC verbunden - AVCC mit VCC verbunden - Typo bei Y1 verbessert - J1 auf ISP geändert - Poti von VDD des LCD entfernt - Basiswiderstand für Transistor eingefügt - Widerstand an Kollektor des Transistor eingefügt Offene Punkte: - Reicht C1 für die Verbindung von AVCC mit VCC oder muss noch ein zusätzlicher Kondensator nach GND? - Durch die Entfernung des Poti von VDD des LCD hat sich der Strom von 10mA auf 8mA reduziert. Ist ein Poti an V0 notwendig? - Ist der Basiswiderstand des Transistor richtig gewählt? - Wie bestimmte ich die Größe des Widerstand für den Kollektor des Transistor? - Ich habe mir jetzt mal einen 32kHz Quarz bestellt. Ist es damit dennoch möglich die notwendige Baudrate für eine spätere serielle Kommunikation zu ermöglichen? Bezüglich des Stromverbrauchs der HGB des LCD habe ich nochmal im Datenblatt nachgeschaut. Die Angaben sind max. 220mA und typ. 130mA. (http://cdn-reichelt.de/documents/datenblatt/A500/LCD162C%23DIS.pdf) Wie bekomme ich den Verbrauch von meinen 220mA auf die 130mA? Sobald die Schaltung soweit es geht optimiert ist kümmer ich mich um die Umstrukturierung der Software (Verwendung des Sleep Mode) Wäre super wenn ihr bitte nochmal über die Schaltung schauen könntet und mir bei der Beantwortung der offenen Punkte behilflich sein könntet.
:
Bearbeitet durch User
Timo B. schrieb: > - Widerstand an Kollektor des Transistor eingefügt Wenn du den Transistor jetzt noch richtig rum einbauen würdest..... Dann würde sich mein Augenkrebs, direkt und deutlich, mildern. Frage: Ist im Display schon eine Strombegrenzung für die LED eingebaut? Du hast Aref an Vcc geklemmt! Das ist unnötig, und aus meiner Sicht sogar grotten falsch! Timo B. schrieb: > - Ich habe mir jetzt mal einen 32kHz Quarz bestellt. Ist es damit > dennoch möglich die notwendige Baudrate für eine spätere serielle > Kommunikation zu ermöglichen? Der µC kann dann mit 8MHz intern laufen. Damit sind einige Baudraten recht gut möglich. Eine Kalibrierung mit Temperaturkompensation, wäre dann kein großer Fehler.
Timo B. schrieb: > AREF mit VCC verbunden Wie kommst du denn jetzt auf DAS? Timo B. schrieb: > Ist es damit dennoch möglich die notwendige Baudrate für eine spätere > serielle Kommunikation zu ermöglichen? Notfalls Software-UART. Timo B. schrieb: > Wie bekomme ich den Verbrauch von meinen 220mA auf die 130mA Anderes Exemplar kaufen. Das sind Exemplar- (und Umgebungsbedingungen)streuungen. Aber ob 220 oder 130: Beides ist um Grössenordnungen zu viel, es ist das falsche Display. Timo B. schrieb: > Ist ein Poti an V0 notwendig? Bei solchen Displays: Ja. Man kann auch ein mal einstellen und danach mit Temperaturkompensation nachregeln, Schaltungen finden sich öfter in den Datenblättern, aber weniger Strom braucht das auch nicht.
Arduino F. schrieb: > Wenn du den Transistor jetzt noch richtig rum einbauen würdest..... > Dann würde sich mein Augenkrebs, direkt und deutlich, mildern. > > Frage: > Ist im Display schon eine Strombegrenzung für die LED eingebaut? > > > Du hast Aref an Vcc geklemmt! > Das ist unnötig, und aus meiner Sicht sogar grotten falsch! > > Der µC kann dann mit 8MHz intern laufen. > Damit sind einige Baudraten recht gut möglich. > Eine Kalibrierung mit Temperaturkompensation, wäre dann kein großer > Fehler. Danke für den Hinweis mit dem Transistor auch wenn man das deutlich zurückhaltender ausdrücken kann. Deine Frage mit der Strombegrenzung kann ich nicht beantworten. Habe dazu im Datenblatt nichts gesehen. Inwiefern ist das notwendig? Wenn ich es nicht falsch verstanden habe, wurde mir ein paar Posts weiter oben dazu geraten AREF nicht offen zu lassen. Hab ich das falsch interpretiert oder gehen da die Meinungen einfach auseinander? @MaWin: Gibt es denn 16x2 Displays die besser geeignet wären oder ist das ein generelles Problem dieser Displays? Ich würde nämlich nur ungern 7-Segment Anzeigen verwenden.
:
Bearbeitet durch User
AREF kannst du unbeschaltet lassen, wenn du den ADC des atmega nicht nutzen möchtest. Wenn du den Adc mit interner referenz benutzen möchtest, baue einen Kondensator von Aref nach Gnd ein und schließe sonst nichts an. Wenn du Vdd als referenz für den adc verwenden möchtest, dann kondensator nach masse und anschließen an Vdd. AVCC, VCC am atmega und VDD am LCD bekommen jeweils einen eigenen 100nF-C gegen Gnd. Den Vorwiederstand für die HGB kannst du einfach durch Probieren herausfinden. Oder du rechnest ihn aus. Flussspannung der Led aus dem LCD-Datenblatt und maximaler Strom, der Rest ist dann wie für jede andere Led. Dunkler kannst du dann über Pwm machen. Und versorge den Temperatuesensor aus einem Portpin des Atmega, dann kannst du den auch komplett abschalten um strom zu sparen.
Arduino F. schrieb: > Timo B. schrieb: >> - Ich habe mir jetzt mal einen 32kHz Quarz bestellt. Ist es damit >> dennoch möglich die notwendige Baudrate für eine spätere serielle >> Kommunikation zu ermöglichen? > Der µC kann dann mit 8MHz intern laufen. > Damit sind einige Baudraten recht gut möglich. > Eine Kalibrierung mit Temperaturkompensation, wäre dann kein großer > Fehler. mit einer genauen 2^15Hz Referenz oder schlicht Uhrenquarz) kann man den internen RC-Oszi einfach kalibrieren. Suchfunktion im Forum sollte dazu einiges liefern. Dann ist auch die Baudrate wunschgemäß.
Markus E. schrieb: > Und versorge den Temperatuesensor aus einem Portpin des Atmega, dann > kannst du den auch komplett abschalten um strom zu sparen. Dazu muss auch R2 an diesen Portpin. Sonst versorgt sich der Temperatursensor über die Datenleitung.
> @MaWin: Gibt es denn 16x2 Displays die besser geeignet wären oder ist > das ein generelles Problem dieser Displays? Ich würde nämlich nur ungern > 7-Segment Anzeigen verwenden. Tja, 4 Stellen * 7 Segmente sind erst einmal viel weniger als 16 Stellen 2 Zeilen 5 * 7 Segmente. Dann kommt noch die umfangreichere Ansteuerlogik (Zeichendecoder, Anzeigespeicher, uC-Schnittstelle) hinzu. Will alles auch von der Tafel speisen
Timo B. schrieb: > Danke für den Hinweis mit dem Transistor auch wenn man das deutlich > zurückhaltender ausdrücken kann. Im vorherigen Threadverlauf, hast du die Ansage "Transistor falsch rum" ignoriert, oder übersehen. Und so immerhin bemerkt. Timo B. schrieb: > Wenn ich es nicht falsch verstanden habe, wurde mir ein paar Posts > weiter oben dazu geraten AREF nicht offen zu lassen. Hab ich das falsch > interpretiert oder gehen da die Meinungen einfach auseinander? Nein, da gehen die Meinungen nicht auseinander, soweit ich weiß. 1. Eine Beschaltung ist empfehlenswert. 2. Aber auf Vcc zu klemmen ein Fehler. Also: Falsch interpretiert. Im Datenblatt des µC steht, wie man es machen sollte, falls du uns/mir nicht glaubst.
Timo B. schrieb: > Gibt es denn 16x2 Displays die besser geeignet wären oder ist > das ein generelles Problem dieser Displays? Ich würde nämlich nur ungern > 7-Segment Anzeigen verwenden. E-Ink Display?
Beitrag #5364851 wurde vom Autor gelöscht.
Ok vielen Dank. Habe die angesprochenen Punkte nun verbessert und V3 vom Schaltplan angefügt. Geändert wurden jetzt: - AREF mit 100nF C nach GND - AVCC mit 100nF C nach GND - VDD vom LCD mit 100nF nach GND - Richtung des Transistor geändert Noch offene Punkte: - Könnte ich z.b. VDD von T1 an PB1 hängen. Wie sieht das dann mit dem erwähnten Widerstand R2 aus? Das ist mir nicht ganz klar. Danke für die Vorschläge für ein anderes Display. Ich glaub ich belass es jetzt aber mal bei dem LCD und beobachte wielange die Batterien halten. Bei dem Projekt geht es ja primär nur um den Lerneffekt.
:
Bearbeitet durch User
Timo B. schrieb: > Noch offene Punkte: > - Könnte ich z.b. VDD von T1 an PB1 hängen. Wie sieht das dann mit dem > erwähnten Widerstand R2 aus? Das ist mir nicht ganz klar. R2 zwischen T1.pin2 und T1.pin3 sowie T1.pin3 (VDD) an einen geeigneten Port. Wozu dient R4?
R4 gehört an den Kollektor und sollte etwa 10 Ohm haben für 100mA Ledstrom, wenn ich das richtige Datenblatt des LCD habe.
Timo B. schrieb: > Gibt es denn 16x2 Displays die besser geeignet wären oder ist das ein > generelles Problem dieser Displays? I Die üblichen alphanumerischen Matrixdisplays haben nicht genügend Anschlüsse für jeden einzelnen LCD Punkt, das müssten bei 16 x 2 x 5 x 7 ja 1120 sein, also Multiplexen sie, und das kostet Strom, auch weil Analogspannungen erzeugt werden müssen, sie brauchen also prinzipbedingt mehr, daher verwenden batteriebetriebene Uhren 7-Segmente. Es gäbe stromsparendere als deines, z.B. EA DOG, oder Sharp LS013B4DN04 oder eben e-Paper, aber selbst die brauchen mehr Strom als ein 7-Segment LCD.
R4 hätte ich als Kollektor Widerstand erwartet, nicht am Emitter.
Timo B. schrieb: > Gibt es denn 16x2 Displays die besser geeignet wären Schau mal bei Electronic Assembly rein. Zumindest die grafischen Displays brauchen ca. 100-150 µA; ohne Beleuchtung. Ich würde für einen Wecker transreflektive Displays verwenden. Die brauchen im Normalfall nicht beleuchtet werden. Im Dunkeln kann man dann ja mal kurz die Beleuchtung aktivieren.
So auch die Änderungen habe ich eingearbeitet. Der aktuelle Schaltplan sieht nun wie angefügt aus. Ich habe jetzt auch die Software etwas umstrukturiert. Es wird alle 250ms ein Interrupt ausgelöst. Bei jedem Interrupt werden die Buttons abgefragt und ggf. darauf reagiert. Bei jedem vierten Interrupt wird die Zeit um eine Sekunde erhöht und die Anzeige aktuallisiert. In der Zwischenzeit geht der Controller in den Idle Mode. S. Landolt hatte vorhin bemerkt das mit meinem 11,0592MHz Quarz nur dieser Modus möglich wäre. Durch was begründet sich das? Ich habe nun (dank eurer Hilfe) den Stromverbrauch im normalen Modus auf ~5mA (von 10mA) reduziert bekommen. Sobald die HGB aktiviert wird, braucht er weiterhin 220mA. Ich glaub damit kann ich leben. Kann man irgendwie berechnen wie lange damit die 4 AAA Batterien halten? Ich würde gerne zusätzlich noch die Möglichkeit bieten den Wecker auch im Netzbetrieb zu betreiben. Was müsste ich hierfür beachten? Ich geh mal davon aus das ich nicht einfach die zweite Stromquelle parallel zu den Batterien hängen kann?
:
Bearbeitet durch User
Was nützt dir ein Display welches ab 4V nichts mehr anzeigt aber der Controller immer noch läuft ? Naja wecken tut er ja dann noch, nur siehste nix mehr. Toller Wecker.
Timo B. schrieb: > Kann man irgendwie berechnen wie lange damit die 4 AAA Batterien halten Ca.2 Wochen bei gelegentlicher Hintergrundbeleuchtung. 2250mAh Aldi Topcraft Mignon 5mA 24h abzüglich Beleuchtung, keine Ausnutzung bis 0.9V/Zelle Keine Ahnung warum du nicht begreifen willst, dass dein Stromverbrauch um EINE GRÖSSENORDUNG zu hoch ist.
Mist, ich hab für AA statt AAA gerechnet, also eher nur 1 Woche.
Timo B. schrieb: > Kann man irgendwie berechnen wie lange damit die 4 AAA Batterien halten? Klar, suche wieviel Kapazität die Batterien haben und teile die durch die Stromaufnahme. Geschätzt haben die AAA 1000 mAh, bei 5 mA halten die dann ca. 200 h, damit ist die Uhr teuer und Umweltunfreundlich im Unterhalt. Ca. 200 h weil die Kapazität bei höheren Strömen sinkt. Zweite Stromquelle geht über Dioden (Schottky mit geringem Spannungsabfall)
> ... Idle Mode ... Durch was begründet sich das?
Die Tabelle im Abschnitt 'Sleep Modes', in meiner Datenblattversion
Table 10-1.
Man benötigt für eine Uhr ja ein fortlaufendes Zeitsignal, das liefert
ein Quarzoszillator; der Oszillator für 11 MHz braucht mehr Strom,
außerdem läuft bei ihm der gesamte Controller mit; der asynchrone 32
KiHz-Oszillator hingegen kommt mit wenig Strom aus und er läuft alleine,
nur der Timer2 hängt noch dran.
Jede Woche die Batterien wechseln ist natürlich weniger cool. Das heißt ich komm an einem anderen Display nicht vorbei. Dann werd ich mir die genannten mal näher anschauen und eins bestellen. Aufjedenfall hab ihr mir sehr geholfen und ich hab was gelernt. Um mehr geht es bei dem Projekt ja eigentlich auch nicht. Meine Freundin hat sich eh schon über den Piezobuzzerton beklagt und somit wird der Wecker in seiner aktuellen Form eh keinen Einzug in unser Schlafzimmer finden.
Vielleicht doch erstmal reiner Netzbetrieb, das schiebt einige Probleme/Herausforderungen in den Hintergrund. Und die Integration eines Audio-Moduls mit den Lieblingsmelodien vorsehen.
> Meine Freundin hat > sich eh schon über den Piezobuzzerton beklagt und somit wird der Wecker > in seiner aktuellen Form eh keinen Einzug in unser Schlafzimmer finden. ...demnach ist nur ein Einluller toleriert, nicht ein ordentlicher Wecker.
Ich muss aber auch zugeben das es sich momentan eher wie ein Rauchmelder anhört. Aber so wird man definitiv wach ;-)
Das ist natürlich individuell verschieden, aber ich lasse mich lieber von einer angenehmen Melodie wecken, die mich dann den Rest des Tages begleitet. Und hoch komme ich immer, egal wie spät (bzw. früh) es geworden ist, dafür sorgen schon die bevorstehenden Aufgaben.
Timo B. schrieb: > Insbesondere bei der Stromversorgung bin ich mir nicht ganz sicher. > Ich möchte gerne eine möglichst hohe Lebensdauer der Batterien > erreichen. > Durch Messungen hat sich gezeigt das das LCD Display den meisten Strom > benötigt (0,22A mit Hintergrundbeleuchtung). Ohne Hintergrundbeleuchtung > sind es lediglich 0,01A für die Gesamtschaltung. Aus diesem Grund wird > die Hintergrundbeleuchtung softwareseitig bei einem Knopfdruck für 10 > Sekunden aktiviert. Hallo, ich habe ein paar Vorschläge, um Strom zu sparen. 1. LCD mit Blau-Beleuchtung verbrauchen wie regel viel weniger, als grün. Z.B. 2004 braucht ca. 25 mA. Wenn Transistor für Beleuchtung nicht an PB0, sondern an PD6/OC0A oder PD5/OC0B hängt, kannst du LCD-Beleuchtung nicht nur einfach ein/ausschalten, sondern auch per PWM Lichtstärke anpassen und auch damit Strom sparen. 2. AVR hat auch CLKPR-Register. Somit kann man F_CPU runtersetzen, wenn keine großen Berechnungen notwendig sind - falls man nicht komplett schlafen will. Je niedriger bleibt F_CPU, um so geringer bleibt Stromverbrauch. Quarz 11,0592 MHz hat hier kaum etwas zu suchen. Das ist Quarz für USART, um übliche Baud Rate zu ermöglichen. Für eine Verwendung ohne USART - hier bringt das eher Komplikationen. Quarz ist für CPU gar nicht notwendig, es reicht RC-Oszillator. Auf XTAL1-2 lieber 32768 Hz-Quarz hängen und mit Timer2 arbeiten. Noch mehr Strom kann man sparen mit einem Uhr-Modul, per I2C geschaltet. Die gibt es für 2 €. Dort hat man auch IRQ-Ausgang, so kann AVR auch schlafen, wenn nicht gebraucht. So ein Modul hat auch Platz für eine Li-Batterie, somit ohne zusätzlichen Aufwand wird Problem mit Uhr-Arbeit, wenn Strom abgeschaltet ist, gelöst.. AVR kann fast ganze Zeit schlafen und von Timer2 oder von IRQ von Uhr-Modul erweckt werden, um die Zeit zu zählen und um die Tasten zu befragen, dann wieder schlafen. PRR-Register: alles abschalten, was nicht gebraucht: ADC, USART, SPI, TWI So kannst du viel Strom sparen. Und noch etwas: Wenn Lautsprecher nicht an PC4 sondern an PB1/OC1A hängt, kannst du mit Timer1 in CTC einfache Melodien durchspielen. C1 sollte natürlich nicht 100 p sein, das ist Quatsch. Am besten zwei in parallel: 100n und 10u, beides Keramik. Auch für Reset schadet 100n-Kondensator nicht. Timo B. schrieb: > Es wird alle 250ms ein Interrupt ausgelöst. > Bei jedem Interrupt werden die Buttons abgefragt und ggf. darauf > reagiert. > Bei jedem vierten Interrupt wird die Zeit um eine Sekunde erhöht und die > Anzeige aktualisiert. Die Tasten reagieren dann zu langsam. Hier wäre eine andere Lösung besser. Z.B. dass AVR durch Tastendruck aus dem Schlafen erweckt wird. Dann mit 10 ms entprellen, auf Tastendruck etwas machen und wieder schlafen - so lange nächste Sekunde oder nächsten Tastendruck kommt. Kurz gefasst: Timer 2 oder Uhr-Modul -> Uhr-Tik Timer 1 in CTC -> alles mit Klang Timer 0 in PWM -> LCD-Beleuchtung Und wenn Rechenleistung nicht gebraucht, dann statt auf Tastendruck oder nächste Sekunde blöd warten -> Extended Standby So bleibt AVR Hauptzeit mit Verbrauch ein paar uA und wird nur sehr kurz auf ein paar mA kommen. Viele Grüße, P.S.: auf dem zweiten Bild steht Transistor im Sinn Stromsparen sehr ungünstig. Erste Variante (natürlich mit pnp-Transistor) war besser. Noch besser hier wäre MOSFET, so wie IRLML2030
:
Bearbeitet durch User
> Noch mehr Strom kann man sparen mit einem Uhr-Modul, per I2C geschaltet.
Auch wenn es hier konkret wegen der Anzeigenproblematik keine Rolle
spielt, möchte ich doch diese Aussage relativieren: ein eigenes
RTC-Modul halte ich für unnötigen Aufwand, falls die oben genannten 7.5
uA tatsächlich zuviel sein sollten, nähme ich lieber einen neueren
ATmega88PA, damit kommt man unter 1 uA, und das sollte dann doch
reichen.
Uhr-Modul vereinfacht vieles. Wenn die Uhr von Stromnetz gehen sollte, dann wird sie so ohne zusätzlichen Aufwand auch ohne Strom weiter zählen. Wenn das mit Timer 2 gemacht wird, so sollte man AVR in jedem Fall irgendwie weiter speisen. Natürlich wenn die Uhr nur von Batterien läuft, gibt es Problem nicht. So große "unnötigen Aufwand" ist das auch nicht: TO will sowieso Programmieren lernen, so schreibt er. Damit kann er I2C programmieren lernen. Was Kosten betrifft: mit so einem Modul bekommt man gleich auch Quarz und Kondensatoren. Heutige RTC kann man im Programm auch abstimmen, also kein Trimmkondensator notwendig. Da von RTC auch ISR benutzt sein kann, bleibt Timer 2 für andere Zwecke verwendbar.
:
Bearbeitet durch User
S. Landolt schrieb: > ein eigenes > RTC-Modul halte ich für unnötigen Aufwand und was ist mit Stromausfall? Maxim B. schrieb: > Uhr-Modul vereinfacht vieles. > Wenn die Uhr von Stromnetz gehen sollte, dann wird sie so ohne > zusätzlichen Aufwand auch ohne Strom weiter zählen. Wenn das mit Timer 2 > gemacht wird, so sollte man AVR in jedem Fall irgendwie weiter speisen. > Natürlich wenn die Uhr nur von Batterien läuft, gibt es Problem nicht. > > So große "unnötigen Aufwand" ist das auch nicht: TO will sowieso > Programmieren lernen, so schreibt er. Damit kann er I2C programmieren > lernen. sehe ich genauso, AVR schläft zu 99% und wird von der RTC geweckt wenn die Anzeige sich ändern soll oder er wecken soll, weitere Vorteil, der AVR baucht viel weniger Saft und die RTC übernimmt die Sekunden zählen und passend der Wecker für den AVR bereit zu stellen. https://www.ebay.de/itm/DS3231-AT24C32-IIC-precision-Real-time-clock-module-memory-modul-DS3231/172320069240?_trkparms=aid%3D555018%26algo%3DPL.SIM%26ao%3D2%26asc%3D49134%26meid%3D1e263b30065b4843a05dbbe5fa99c807%26pid%3D100011%26rk%3D5%26rkt%3D12%26sd%3D300938684376%26itm%3D172320069240&_trksid=p2047675.c100011.m1850
Es gibt sogar welche mit SPI. Nachteil: die sind etwas teurer als mit I2C. Außerdem lernt TO dann I2C nicht. Mit diesem Modul wäre sogar so möglich: man taktet AVR mit 32768 Hz-Ausgang von Modul. Somit bleibt Schlafen überflüssig, AVR wird auch so wenig verbrauchen. Dann aber lernt TO Schlafmodus nicht... Aber TO kann alle Varianten einfach ausprobieren.
:
Bearbeitet durch User
Joachim B. schrieb:
> und was ist mit Stromausfall?
Wo ist der Unterschied, was macht denn der RTC-Chip bei Stromausfall?
Man speist dann z.B. aus einem 0.22 F Kondensator, reicht für einige
Tage.
Joachim B. schrieb: > Ebay-Artikel Nr. 172320069240 S. Landolt schrieb: > was macht denn der RTC-Chip bei Stromausfall? der läuft weiter
Ich kann es nicht auf Anhieb erkennen, hat das Teil eine eingebaute Batterie oder einen größeren Kondensator? Ich kannte bislang nur die reinen Chips. Aber egal, jedem das Seine, was mich betrifft, so programmiere ich meine Uhrenfunktionen lieber selbst und versorge sie bei Stromausfall, wie gesagt, aus 0.22 F.
S. Landolt schrieb: > Ich kann es nicht auf Anhieb erkennen OK als Brillenersatz :) https://i.ebayimg.com/images/g/E3AAAOSw65FXwBMr/s-l1600.jpg
S. Landolt schrieb: > Ich kann es nicht auf Anhieb erkennen, hat das Teil eine eingebaute > Batterie oder einen größeren Kondensator? Da ist ein Akku drauf! Ein LIR2032 incl. Ladeeinrichtung
S. Landolt schrieb: > Aber egal, jedem das Seine, was mich betrifft, so programmiere ich meine > Uhrenfunktionen lieber selbst und versorge sie bei Stromausfall, wie > gesagt, aus 0.22 F. hatte ich bei meinem ersten Timer auch, aber 10,-€ nur für den DS3231 Chip hier beim local Dealer oder 1,-€ mit LiR, EEPROM und Platine aus China machen mir heute die Wahl leichter.
> Da ist ein Akku drauf!
Wass nich all gibbt! Und das zu solchem Preis.
Die Halbwertszeit von einmal erworbenem Wissen wird auch immer kürzer.
Vorsicht: Akku ist bei den meisten nur am Foto drauf, besonders bei den "Schnäppchen". Geliefert wird dann ohne oder mit billigst CR2032
S. Landolt schrieb: > Wass nich all gibbt! Und das zu solchem Preis. Es ist nicht alles Gold, was glänzt.... Viele dieser Uhren werden ohne Akku geliefert, und unbedarfte User klemmen da eine CR2032 in den Halter. Das geht natürlich nicht lange gut... Manche der CR versagen einfach, andere machen den den Deckel auf. Abhilfe: Ladeschaltung weg machen. Ich finde diese besser, ebay 272553300625 Dort wird eine CR1220 verwendet. Da spart man sich das EEPROM ein, und man kann die I2C Pullup so bestücken, wie man möchte.
Muss also so ein junger Fuchs noch vor Elektronik- und Programmierkurs erst einen Lehrgang in chinesischem Geschäftsgebaren belegen. Und ein altgewordener Hase wackelt mit den Ohren dazu.
Arduino F. schrieb: > Viele dieser Uhren werden ohne Akku geliefert, und unbedarfte User > klemmen da eine CR2032 in den Halter. Was ist so schlecht mit CR2032? In PKW-Schlüssel arbeitet diese Li-Batterie ganz gut.
Arduino F. schrieb: > Viele dieser Uhren werden ohne Akku geliefert, und unbedarfte User > klemmen da eine CR2032 in den Halter. ich hatte vorher immer den Verkäufer gefragt und dann die LiR in extra Tütchen mit bekommen. Aber mit CR und Ladeschaltung oder ganz ohne habe ich auch erlebt!
Maxim B. schrieb: > Was ist so schlecht mit CR2032? In PKW-Schlüssel arbeitet diese > Li-Batterie ganz gut. Ich habe gar nichts gegen diese Batterien! Nur haben sie nichts in einer Schaltung mit Akkuladeeinrichtung zu suchen. Das geht einfach nicht zusammen. Gibt auch einige Berichte im Internet dazu. Unter anderem, auch die Empfehlung, bei der Kombination, eine Schutzbrille zu tragen.
Vielen Dank für eure Antworten. Ich kam die letzten Tage leider nicht dazu mich weiter mit dem Wecker zu beschäftigen. Über Ostern will ich jetzt die Zeit jedoch wieder dafür nutzen. Ich habe mir jetzt ein DS3231 Modul besorgt und verwende wieder den internen 8Mhz Quarz. Die I2C Kommunikation mit dem Modul funktioniert auch bereits. Jedoch benötigt das Modul alleine 3,4mA (gemessen). Damit habe ich ja erstmal nichts gewonnen. Das Modul ist mit GND, 5V der Stromquelle sowie SDA und SCL des Controllers verbunden. Ist das vielleicht noch eine Konfigurationssache oder wie könnte man den Stromverbrauch des Moduls reduzieren? Oder handelt es sich bei dem Stromverbrauch lediglich um das Laden des LIR2032 und der Verbrauch reduziert sich sobald dieser geladen ist? Bei dem Modul handelt es sich um dieses: https://www.amazon.de/DS3231-AT24C32-Clock-Memory-Arduino/dp/B00P9278HM/ref=sr_1_7?ie=UTF8&qid=1522425646&sr=8-7&keywords=ds3231
:
Bearbeitet durch User
Timo B. schrieb: > Oder handelt es sich bei dem Stromverbrauch lediglich um das Laden des > LIR2032 und der Verbrauch reduziert sich sobald dieser geladen ist? möglich, oder sind Ladeverluste die immer anstehen oder das ist nur der Verbrauch bei Betrieb. Ladeschaltung ausser Betrieb nehmen noch mal messen, evtl. ist eine CR 2032 ohne Ladeschaltung günstiger. Ich würde auch messen wenn keine I2C Kommunikation läuft. Ausserdem gilt wer misst misst Mist, also mal die Meßschaltung untersuchen!
Also ist das eher unnormal und nicht der übliche Stromverbrauch eines solchen Moduls? Ich finde leider kein Datenblatt für das Modul. Betrachtet man jedoch den spezifizierten Verbrauch des DS3231 und des verbauten EEPROM einzeln, müsste der Gesamtverbrauch des Moduls jedoch wesentlich geringer sein als die gemessenen 3mA.
Timo B. schrieb: > müsste der Gesamtverbrauch des Moduls jedoch > wesentlich geringer sein als die gemessenen 3mA. ich tippe ja immer noch auf Ladeschaltung und Leckstrom oder Fehlmessung oder beides.
G. H. schrieb: > ich würde mal die LED verdächtigen ... guter Punkt, die nervt eh und habe ich abgelötet :)
der TO reklammiert 3mA Verbrauch der Hinweis auf LED schein zielführend, zum Stromverbrauch minimieren finde ich LED ablöten sinnvoll, nichts was man mit Bewertung -1 bewerten sollte, aber das kapieren einige ja eh nicht genauso wie die Sinnlosigkeit des Bewertungssystem!
:
Bearbeitet durch User
G. H. schrieb: > ich würde mal die LED verdächtigen ... Danke für den Tipp. Habe die LED ausgelötet und den Stromverbrauch des Moduls auf 1,7mA reduziert. Joachim B. schrieb: > möglich, oder sind Ladeverluste die immer anstehen oder das ist nur der > Verbrauch bei Betrieb. Die Batterie läd jetzt seit ca. 5 Stunden und müsste ja eigentlich bald voll sein. Der Verbrauch hat sich dadurch noch nicht reduziert.
Timo B. schrieb: > Die Batterie läd jetzt seit ca. 5 Stunden und müsste ja eigentlich bald > voll sein. Der Verbrauch hat sich dadurch noch nicht reduziert. wie sollte er sich auch ohne echte Ladeschaltung reduzieren, das sind Ladeverluste, vermutlich wird der nie weiter runter gehen http://www.produktinfo.conrad.com/datenblaetter/250000-274999/252279-da-01-en-KNOPFZELLENAKKU_LITHIUM_LIR2032.pdf Rechnen wir mal 5V Versorgung 0,7V an der Diode gibt ca. 4,3V an 200 Ohm 4,2V bei voll gibt 0,1V Differenz und damit es fliesst weiterhin ein Strom von 0,5mA da aber die typische Vf eine Si Diode stromabhängig ist und bei 1mA https://www.vishay.com/docs/81857/1n4148.pdf schon unter 0,7V liegt (hier 0,6V bei 1mA) haben wir einen Strom von 5V Versorgung <0,6V an der Diode gibt ca. >4,4V an 200 Ohm 4,2V bei voll gibt 0,2V Differenz es fliesst weiterhin ein Strom von 1mA mit jeder Menge Abweichung möglich. Diese ewige Ladung liegt aber bei der LiR2032 mit 50mAh bei ca. 1/50 C und ist somit unkritisch http://www.produktinfo.conrad.com/datenblaetter/250000-274999/252279-da-01-en-KNOPFZELLENAKKU_LITHIUM_LIR2032.pdf Seite 4
:
Bearbeitet durch User
für ein netzbetriebenes Gerät ist so ein Uhrenmodul mit Akku und Ladeschaltung sinnvoll. Für ein batteriebetriebenes Gerät wo dann der Akku - mit Verlusten - aus einer Batterie geladen wird, gibt das generell wenig Sinn. Ich würde die Ladeschaltung entfernen und den Akku durch eine CR3220 ersetzen.
G. H. schrieb: > Ich würde die Ladeschaltung entfernen und den Akku durch eine CR3220 > ersetzen. CR2032 schrieb ich aber schon Joachim B. schrieb: > Ladeschaltung ausser Betrieb nehmen noch mal messen, evtl. ist eine CR > 2032 ohne Ladeschaltung günstiger.
ja, aber sie ist nicht eventuell günstiger sondern - in dieser Situation - prinzipiell.
Das leuchtet mir ein. In dem Fall werde ich Ladeschaltung ausser Betrieb nehmen. Die CR2032 müsste ja auch einige Monate durchhalten? Die Frage die bleibt ist jetzt nur wie ich die Ladeschaltung entfernen kann? Reicht es die Si-Diode zu entfernen? Nochmal vielen Dank für die ganze Hilfe in diesem Thread. Wirklich überraschend wie hilfbereit und freundlich die Leute hier sind. Ist man aus anderen Foren garnicht gewohnt :-)
:
Bearbeitet durch User
Timo B. schrieb: > Die Frage die bleibt ist jetzt nur wie ich die Ladeschaltung entfernen > kann? > Reicht es die Si-Diode zu entfernen? entweder die Diode oder den R201 https://i.ebayimg.com/images/g/~wcAAOSwgZ1XwBMc/s-l1600.jpg wenn du sie aber noch mal nutzen willst ist es wohl besser den R201 etwas zu verschieben das er nur noch mit einem "Bein" auf dem Lötpad liegt. 1. ist ein R201 leichter und billiger zu beschaffen als die Melf und 2. nimmt er weniger Platz ein wenn man den leicht versetzt lötet. aber wie du es magst und schaffst. Ich gebe zu die Diode ist besser zu packen weil größer. Timo B. schrieb: > Nochmal vielen Dank für die ganze Hilfe in diesem Thread. Wirklich > überraschend wie hilfbereit und freundlich die Leute hier sind. Beitrag "(Warum) ist das Forum (so) anfängerfeindlich?"
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.