Forum: Projekte & Code Thermometer mit LED & LM35


von Thomas M. (thmo83)


Angehängte Dateien:

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

von Michael U. (Gast)


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

von Thomas M. (thmo83)


Angehängte Dateien:

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!

von Peter D. (peda)


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.

von Marco B. (baumi13)


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

von Karl H. (kbuchegg)


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.

von Marco B. (baumi13)


Lesenswert?

Ich danke dir vielmals.
Habs auch schon gefunden.

Lg

von MaWin (Gast)


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.

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.