7-Segment-Anzeigen an ATmega48-Thermometer

(Firma: Herr) #3567342
Lesenswert?

Servus,

ich baue mit einem Freund zusammen gerade dieses digitale Thermometer 
für unser P-Seminar:
http://home.arcor.de/fuenfundachtzig/thermo/thermo.htm

Den Aufbau haben wir schon so gut wie fertig, aber wir möchten nun noch 
zusätzlich 3 7-Segment-Anzeigen anschließen, damit man auch ohne PC 
Werte ablesen kann.

Leider sind wir beide Neulinge in diesem Gebiet, deshalb wollte ich 
fragen wie man diese an den ATmega48 anschließt und ob man diesen dann 
anders programmieren muss, und wenn ja wie?

Wär super wenn ihr uns weiterhelft!

Viele Grüße,
chrissim
Gast #3567365
Lesenswert?

Christoph M. schrieb:
> Den Aufbau haben wir schon so gut wie fertig, aber wir möchten
> nun noch zusätzlich 3 7-Segment-Anzeigen anschließen,

Also noch mal ganz von born.
Denn der uC hat gar nicht genügend Anschlüsse übrig.
Natürlich kann man versuchen noch massenhaft externe Bauteile 
dranzubauen (z.B. ein zweiter uC :-)

Die Schaltung ist für deren eigentlichem Anwendungsbereich sowieso 
kompletter Humbug von vollkommenen Laien. Denn ein PC besitzt bereits 
einen internen I2C Bus an dem man direkt weitere LM75 anschliessen 
könnte, Software die zusätzlichen Temperaturen unter Windows anzuzeigen 
gäbe es ebenfalls fertig (zumindest unter XP hatte ich mal welche).

> ob man diesen dann anders programmieren muss,

Natürlich. Und zwar ziemlich komplett, weil man eben einen anderen uC 
mit mehr Anschlüssen braucht. Daher könnte es sinnvoll sein, an den 5V 
Bereich der seriellen Leitung einfach einen weiteren uC anzuschliessen, 
der die Daten mitliest und auf seiner 7-Segment anzeigt. Aber dann kann 
man auch gleich die Temperatur mit einem zweiten Sensor messen, das 
spart alle Anpassungsarbeiten und kommt zu

http://www.elektronik-kompendium.de/public/arnerossius/schaltungen/avr/thermometer.htm
#3567388
Lesenswert?

Den Arduino Uno oder Duemilanove (auf jeden Fall einen mit Controller im 
DIL Gehäuse) wollte ich auch gerade empfehlen. Theoretisch würden die 
Pins am ATmega 48 gerade so ausreichen 8x Segmente mit DP plus 3 Pins 
zum Muxen. Nur gibt es inzwischen bessere Temperaturfühler, als einen 
Heißleiter. Nimm einen DS18B20 und du bis allen Ärger mit Calibrieren 
los. Mit der seriellen Schnittstelle und den Programmieradapter am 
Druckerport (welcher halbwegs aktuelle PC hat diese Schnittstellen 
überhaupt noch) ist einfach Krampf. Das macht der Arduino gleich in USB. 
Für fast alles gibt es Lib's, die du nur noch mit ein bisschen Code 
verwursten brauchst. Die LED Anzeige kannst du entweder direkt mit ein 
paar Treibertransistoren an den Prozzi hängen. Mein Favorit für sowas 
ist der SAA1064 kostet knapp über 2€. Mit dem kannst du das Display auch 
mal nen Meter weit von der Steuerung absetzen und 4 Leitungen inklusive 
Spannungsversorgung langen. Wenn's mehr als 4 Stellen werden sollen, 
schau dir mal den MAX7219 an, der kann bis zu 8 Siebensegmentanzeigen 
ansteuern. Oder du nimmst gleich ein alphanumerisches LCD Display (z.B. 
16x2) auch wenn man das direkt anschließen kann, mache ich das 
eigentlich lieber über I2C mit einem PCF8574, weil man dann das Dispaly 
von der Steuerung absetzen kann. Suche dir zu den von mir genannten 
Bauteilen ein paar Beispiele und Lib's, denn man muß ja nicht ständig 
das Fahrrad neu erfinden ;-)
Wenn ihr dann alles auf dem Arduino entwickelt habt, dann steht es euch 
frei, das auf einen Mini, oder einen nackten Chip zu proggen. Als 
Programmer eignet sich der USBasp ganz hervorragend. Da müßt ihr euch 
nicht mit dem Druckerport rumschlagen.

Gruß Gerald
(Firma: Herr) #3567394
Lesenswert?

Vielen Dank schonmal für eure schnellen Antworten!!! :D

Die Lösung von MaWin mit dem 2. uC der mitliest erscheint mir gerade am 
Besten, wie würde das denn genau funktionieren?

Unser Verständnis müsste ich wohl leider bei 0 einordnen, da wir zwar 
den Aufbau nach dem Schaltplan zusammenlöten konnten, aber nichts davon 
bis jetzt wirklich verstehen...
#3567415
Lesenswert?

Christoph M. schrieb:
> Unser Verständnis müsste ich wohl leider bei 0 einordnen
Dann sehe ich schlechte Chancen, wenn ihr keinen findet, der euch die 
komplette Software schreibt oder noch viel Zeit zur Verfügung habt.

Wenn der aktuelle Aufbau nicht verändert werden darf/soll, würde ich an 
JP1 (falls das nicht benötigt wird) 3 Schieberegister anschließen.
Oder, eine zweite Platine mit µC bauen, die die RS232-Daten empfängt und 
mit 7-Seg ausgibt.
Gast #3567460
Lesenswert?

Christoph M. schrieb:
> also der Aufbau mit dem ATmega48 sollte schon gleich bleiben,

Zu den von mir o.g. Schaltungen habe ich noch Leerplatinen für 4-stell. 
LCD (ohne ATtiny !) und 3-stell. LED-Ansteuerung mit 4094 
Schieberegistern.
Gegen Rückumschlag verschenke ich diese in (nahezu) beliebiger 
Stückzahl. Dann kann der ATmega48 so bleiben, wie er ist. Nur noch das 
Zusammenlöten und die ser. Ansteuerung müßten von Euch erledigt werden.
Überlegt es Euch.
(Firma: Herr) #3570586
Lesenswert?

Hallo vielen Dank für eure Hilfe schonmal :)
wir haben heute versucht den ATmega zu flashen mit avrdude, aber es hat 
nicht funktioniert. Es wurde nur angezeigt, dass keine Verbindung 
hergestellt werden konnte.
Der Grund dafür ist vielleicht, dass wir ein USB auf D-Sub Kabel 
verwendet haben, da wir keinen PC mit so einem Anschluss haben.
Stimmt das? Und wenn ja was müsste man denn am Aufbau ändern, damit man 
ihn mit einem USB-Kabel flashen kann?

Viele Grüße,
Christoph
#3570658
Lesenswert?

Ich hab' doch weiter oben schon geschrieben, das ihr den USBasp nehmen 
sollt ;-)
Selber bauen, siehe hier: http://www.fischl.de/usbasp/
Oder beim freundlichen Chinesen Ebay, Dealxtreme, Alienexpress und wie 
die üblichen Verdächtigen sonst noch alle heißen.
3€ und 3 Wochen Geduld und du bist ein Problem los und kannst dich den 
restlichen Problemen widmen.
Siehe Murphy: In jedem kleinen Problem steckt ein Großes, was gerne 
heraus will ;-)))
Gast #3573396
Lesenswert?

Der Programmer von Conrad sollte auch gehen.

Der Mega48 sollte auch genug Pins haben: 7 oder 8 für Segmente und dann 
3 fürs Multiplexing. Solange man nicht in die Sonne geht, reicht normal 
auch der Strom der µC Pins aus um die Segmente zu treiben, notfalls auch 
noch für den gemeinsamen Pin der Stellen - da wären aber eher 3 
Transistoren zu empfehlen.

Die etwas einfachere Variante ist ggf. ein LCD Modul.

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