mikrocontroller.net

Forum: Projekte & Code Thermometer mit LED & LM35


Autor: Thomas Moosmann (thmo83)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Programm in C für ein LED-Thermometer geschrieben
Features:
- 4x7-Segmentanzeige gemultiplext
- Temperatursensor LM35
- Prozessor Tiny26
- Quellcode, Hex-Datei und Stromlaufplan liegen in der Zip-Datei bei.

Gruß Thomas

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

den Widerstand an ARef erscheint mir etwas seltsam, bei Aref = int
sollte dort besser ein 0,1µ gegen Masse ran.

0,5Grad kann man mit dem LM35 auch durchaus brauchbar noch auswerten.
Bit 7 in ADCL = 1 -> .5 anzeigen, Bit7 = 0 -> .0 anzeigen.
Man kann den Umschaltpunkt natürlich auch auf Bit7/Bit6 -> 01 bzw. 11
legen, dann wechselt die Anzeige bei .25 bzw. .75 Grad.

Habe ich mal in eine Heizungs-Geschichte so eingebaut, weniger wegen
der Genauigkeit, mehr wegen des optischen Eindrucks... ;)

Gruß aus Berlin
Michael

Autor: Thomas Moosmann (thmo83)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ja, richtig. Das muß ein Kondensator an den Ausgang. ich habe es
nochmals im Datenblatt des Tiny26 nachgeschaut.

Ich habe die 0,5°C entfernt, weil ich nur 4x7-Segmentanzeigen habe:
Das Programm gibt die Temperatur nach dem Schema: z.B. 20°C aus.
-> Das Display zeigt das so an: 2 0 ° C!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
31Hz ist aber verdammt wenig, das flimmert doch ganz heftig.

Einfacher ist es daher, das Multiplexen im Timerinterrupt zu machen,
denn dann entfällt jegliche Abhängigkeit von der Hauptschleife.

Günstiger ist es auch, die Anzeige synchron zur AD-Wandlung dunkel zu
tasten, denn dann hat man keine Verfälschung durch den Segmentstrom.


Hier mal ein Beispiel:

http://www.mikrocontroller.net/forum/read-4-210743.html#new


Peter


P.S.:
Es macht Quelltexte unverständlich, wenn man überall magische
Zahlenwerte direkt einträgt.
Günstiger ist es, diesen per #define aussagekrägftige Namen zu
verpassen.
Dann ist es auch einfacher Änderungen zu machen, z.B. wenn man mal die
Anschlüsse tauscht.

Autor: Marco B. (baumi13)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Könnte mir bitte jemand sagen, welche 4x7 Segmentanzeige da benutzt 
wird?
Wenn möglich, mit Artikelnummer.

Dankeschön im Voraus,

Liebe Grüße
BM

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geh zum Elektronikhändler deines Vertrauens und such nach 4-stelligen 
7-Segmentanzeigen mit gemeinsamer Anode, die dir gefallen.

Dann holst du dir das zugehörige Datenblatt und identifizierst, welche 
physikalischen Pins, den 'Pins' a bis g bzw. den 4 Stellen entspricht.

Kurz gesagt: Wenn du weißt was du tust, kannst du jedes 4 stellige 
7_Segment Element nehmen, welches eine gemeinsame Anode hat.

Autor: Marco B. (baumi13)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke dir vielmals.
Habs auch schon gefunden.

Lg

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1k an blauer (also 3.6V) 7-Segmentanzeige bei 5V
Versorgungsspannung lassen ca. 1mA fliessen, und
das nur 1/4 der Zeit.
Kein Wunder, daß die 7mA einer Stelle vom MUN2110
geschaltet werden können mit seinem gigantischen
10k Basiswiderstand und 10k BEWiderstand, denn
er bekommt nur 330uA Basisstrom, da reicht sogar
20-fache Stromverstärkung für.

Hätte man es richtig gebaut, unter Auslastung
zumindest der 20mA die so ein uC-Ausgang liefern
kann, dann wären R4-R12 47 Ohm, die MUN2111
wären BC857 und sie bekämen 470 Ohm Basiswiderstand.

Dann würde die Anzeige sogar leuchten, zwar immer
noch nur halb so hell wie im Datenblatt beworben,
aber nicht nur im Dunklen erkennbar, allerings
käme man dann nicht mehr mit einer 1N4148 und 78L05
aus sondern müsste den Strom auch liefern.

Runterdimmen kann man dann durch geringere Einschaltzeit
immer noch.

Eine Reset-Beschaltung braucht man bei so einer
Anwendung eher nicht,. Sollte der uC abstürzen,
sollte man den Wtachdog einschalten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.