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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.