Thermometer 3-stellig (Assembler) ATmega8

Gast #241092
Lesenswert?

Ich wollte mal "schnell" ein Digital-Thermometer bauen,
als Geschenk-Idee für einen guten Freund, aber:

Die 7-Segment-LED-Display (SA-23, SC23) Bauhöhe 7cm, sind so hell, dass
man nachts ein Zimmer damit ausleuchten könnte.

Deshalb stattete ich das Thermometer mit einer internen Uhr aus, die
sich beim Einschalten automatisch auf 21.00 Uhr stellt, somit konnte
ich die Tasten zum Stellen einsparen.
Zwischen 23 und 5 Uhr arbeitet das Display im abgedunkelten Betrieb.

Besonderheiten zum 7-Segment-LED-Display (SA-23, SC23):

Die Flussspaunnung UF beträgt bei den Balken a...f ca 7V und beim DP
ca. 4V (also 5V reichen nicht aus, um die Balken zum leuchten zu
animieren).
Aber die Leuchtkraft ist sehr interessant, schon bei ca. 5mA pro Balken
wird man regelrecht geblendet.

Nun mein Tipp:

Die Balken des Display habe ich mit 8 Transistoren angesteuert, diese
kann man problemlos weglassen, somit entfallen 16 Bauelemente,
Transistor + Basiswiderstand.

Zum Assembler-Programm:
Jede Sekunde wird die Temperatur gemessen/berechnet, ein Mittelwert
gebildet (über 1 Minute) und die Uhrzeit berechnet.
Nach jeder vollen Minute erscheint für einige Sekunden die aktuelle
Stunde, damit man inetwa weiß, auf welcher Uhrzeit die interne Uhr
steht.

Noch ein Tipp:
Wird das Display zu schnell getaktet, dann treten seltsame Effekte auf,
z.B. die ausgeschalteten Balken werden nicht richtig dunkel, wird es zu
langsam getaktet, dann flimmert alles.

Als Dateianhang habe ich eingefügt:
 - Fuse-Bits
 - Schaltplan
 - Assemblercode für Quarz 4,096 MHz
 - hex -File
 - 2 Fotos

Bernhard
Angehängte Dateien:
Gast #241093
Lesenswert?

wie kommst du auf die Idee, die Segmenttreiber könne man weglassen? Kann
man nicht, dann bekommst du die 10V auf die AVR-Ports, wenn das Digit
eingeschaltet, das Segment aber aus ist.
Auf jeden Fall ist es höchst unsauber, meiner Meinung nach geht der AVR
davon sofort oder in kurzer Zeit ins Nirwana.
Aber einen ULN2803 könntest du dafür benutzen.
Gast #241094
Lesenswert?

>dann bekommst du die 10V auf die AVR-Ports, wenn das Digit
 eingeschaltet, das Segment aber aus ist.

Die 10V liegen nicht am AVR-PIN an,
da ca. 6...7 Volt immer über das Segment "abfällt" und
der Fluss-Strom in diesem Zustand nur wenige µA beträgt.
Und das kann der AVR verkraften.

>Aber einen ULN2803 könntest du dafür benutzen.
Danke für den Tipp

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