Forum: Mikrocontroller und Digitale Elektronik prog. Temperatursteuerung


von "Greenhorn" Micha (Gast)


Lesenswert?

Hallo Ihr Freaks,
ich habe mal vor 100 Jahren oder so,
ein bischen rumgelötet. Meistens TTL, NF
bis zum Z80. Grundlagen sind also bescheiden
vorhanden. Da ich nun wieder etwas Zeit
zum Basteln habe und "glücklicherweise"
unser Kühlschrank eine Macke hat, kam mir so
eine Idee. (Die Temp.-Steuerung habe ich erst mal
gegen eine Steuerung mit OPV ausgetauscht um mir
wenigstens noch gelegentlichein ein Bier kühlen zu können. )
Ich würde mir jetzt gern eine völlig neue Steuerung
basteln. Sie sollte folgende Funktionen haben:
digitale Einstellung über Taster mit Menüführung,
wechselzeitiges Anzeigen der Soll- und Ist-Werte.
Autom. Abtaufunktion, Uhrzeit mit Datum und Kurzzeitwecker
sowie eine Warnfunktion z.B. bei offener Tür.
Generell wäre das zwar auch in TTL oder Z80 machbar, trifft
aber glaube ich nicht mehr so ganz den Geist der Zeit.
Mittlerweile gibt es ja massenweise wunderschöne MC´s
mit integr. A/D - D/A Wandler, Zeitgebern........
Nur leider gibt es so viele, dass ich gar nicht weiß, was
für mein Vorhaben das effektivste wäre! Deswegen meine Bitte
um Hilfe an Euch. Wie würdet Ihr die Aufgabe lösen?
Mfg. Micha

von Frank Linde (Gast)


Lesenswert?

Hallo Micha,

>> ich habe mal vor 100 Jahren oder so, ein bischen rumgelötet.
>> ...
>> Wie würdet Ihr die Aufgabe lösen?

nun, zuerst würde ich den verrosteten Schweißbrenner gegen eine
temperaturgeregelte Lötstation tauschen.  ;-)

Am besten schreibst Du Dir auf, welche Eingangssignale und welche
Ausgangssignale Du brauchst. Also z.B. so:

1 x IN, analog, Außentemperaturfühler
1 x IN, analog, Innentemperaturfühler
1 x IN, digital, Taster Tür
1 x OUT, digital, Motor ein/aus
...

Dann schnappst Du Dir eine Feature Map des Microcontroller-Herstellers
Deines Vertrauens und sortierst alle Typen aus, die nicht passen. Vom
verbleibenden Rest nimmst Du den, der bei Deinem Elektronik-Händler am
besten und oder billigsten zu bekommen ist, denn großartige
Anforderungen an die Leistungsfähigkeit des Controllers scheint die
Aufgabe nicht zu stellen.

Ach, so, welche Controller-Serie? Da hat wohl jeder so seine Vorlieben.
Ich mag die ATMEL AVRs.

gruß, Frank

von Mike (Gast)


Lesenswert?

Hallo,

Wenn Du dich mit Z80 aukennst, würde ich es mal darauf ankommen lassen,
die gibts ja noch preiswert, ohne Ram nur mit einem E-Prom und einem
Latch bekomst du das hin, ich habe vor 2 Jahren auch noch was mit nem
Z80 gemacht. Rücksprungadressen merkst du dir in IX IY das passt
schon.

Mike

von Micha (Gast)


Lesenswert?

Hallo Frank,
danke für die schnelle Antwort.
Den Schweißbrenner habe ich ( auf Deinen Rat hin)
zum Sero gegeben. Brachte noch richtig Geld,
weil unmengen Cu + CuO2 und so. In der Zeit wo die Ihn
auf den Sattelschlepper verladen haben, hab ich so ein bischen
auf dem Sero-Hof rumgestöbert. Und siehe da, ich fand noch
einige kg 80C51. Da hab ich mir (als "alter Jäger und Sammler")
erst mal die Taschen bis kurz vor dem abreißen gefüllt!
Kann man mit diesem Teilen nichts machen ?
Ich habe auch noch ein paar 8 bit/8 Kanal A/D Wandler mit eingesackt.
Also diese Teile hätte ich für den ersten (zweiten) Anfang da.!?
Andererseits bin ich doch auch mal an "wirklich aktuellen Sachen"
interessiert. Nun habe ich leider keine Fearture Map von diversen
MC´s. (wollte ich mir auch für meinen ((Bier))kühlschrank nicht erst
kaufen). ´Kann ich mir so etwas im Netz ziehen ?
Vieleicht kannst Du mir da noch mal helfen?
Mfg. Micha

von Micha (Gast)


Lesenswert?

Hallo Mike,
danke für die schnelle Antwort.
Ich war früher auch mal Z80 Fan. Generell finde ich, das die Teile
"Ihre Sache" gut gemacht haben. Nun habe ich leider in diesem
Kühlschrank ( Bosch ) im Bereich Steuerung kaum Platz.
Die gesamte "alte" Elektronik basiert(e) auf SMD-Technologie.
Wenn ich da mit einem Z80.- CPU.- + PIO + CTC + EPROM ran will
bekomme ich Platzprobleme. Noch dazu müsste ich
den EPROM programieren (lassen). Ich wollte eigentlich mal
"so was richtig tolles" neues basteln. Mich interssieren deshalb
MC´s die ich über die z.B. RS232 einfach programieren kann. Wenn diese
auch noch div. A/D Wandler integriert hätten, wäre ich demnächst voll
zufrieden.
Da ich zwischenzeitlich ( nach massiven Drohuneng meiner Freundin )
trotz meiner "guten OPV" Steuerung doch noch einen neuen Kühlschrank
kaufen musste, könnte ich die Winterabende( auch mit Glühwein.-da kein
Kühlschrank im Keller )gut mit der Programierung div. MC´s verbringen.
Bestimmt hast Du noch einen guten Tipp auf Lager.
Bis da hin,
Micha

von Frank Linde (Gast)


Lesenswert?

Hallo Micha,

im Regelfall sollte so eine Feature Map auf der Homepage des
Herstellers zu finden sein, genau weiß ich das aber nur für ATMEL:

http://www.atmel.com/products/product_selector.asp
oder
http://www.avrfreaks.net (und dann auf "Devices" klicken)

Gruß, Frank

von Micha (Gast)


Lesenswert?

Danke Frank.

von Beeblebrox (Gast)


Lesenswert?

Ich kenne die AVRs nicht so gut, für den Anfang fand ich die PICs von
Microchip optimal. Ok, die kann man nur sinnvoll in Assembler
programmieren, aber das ist nicht schwer. Falls hier Interesse besteht
rate ich mal bei www.sprut.de vorbei zu schauen. Hier bekommt man eine
kleine Übersicht über die PIC-Typen, findet ein kostenloses
Programmiertool und es gibt auch einfache Brenner die man mal eben
schnell auf Lochrasterplatine aufbauen kann (Der Brenner nennt sich
AN589). Diesen Brenner habe ich grade erst aufgebaut - Null Problemo.
Doku inkl. Instruction-Set Beschreibung gibts bei www.microchip.com und
eine gute Entwicklungsumgebung (MPLAB) ist auch kostenlos zu haben.
PICs gibt darüberhinaus fast überall für ein paar Euros zu kaufen. Für
den Anfang kann ich auch das Buch MSR mit PIC Mikrokontrollern (oder
ähnlich) sehr empfehlen. Ich denke AVRs sind für den Anfang auch gut
geeignet - damit kenne ich mich aber nicht so aus.

von Micha (Gast)


Lesenswert?

Hallo Beeblebrox,
Danke für die Info´s. Die beiden Links sind
echt informativ. Ich denke mal, das ich meine
Steuerung erst mal mit einem PIC versuchen werde.
Wenn alles klappt kann man ja auch mal die AVR´s
probieren.
Mfg. Micha

von Beeblebrox (Gast)


Lesenswert?

Man sollte nur im Kopf behalten, daß PICs ziemlich primitiv sind. Für
kleine Steuerungen finde ich sie optimal - aber sobald das Prohjekt
etwas komplizierter aussieht sollte man über einen anderen Kontroller
nachdenken. Für den Kühlschrank sind sie aber sicherlich ausreichend :)

von Peter D. (peda)


Lesenswert?

@Micha,

"Ich denke mal, das ich meine
Steuerung erst mal mit einem PIC versuchen werde.
Wenn alles klappt kann man ja auch mal die AVR´s
probieren."

Warum dann nicht gleich AVR ?

Ich finde die Befehlsstruktur des AVR jedenfalls wesentlich einfacher
als die des PIC. D.h. für Einsteiger ist der AVR meiner Meinung nach
besser geeignet.

Auch muß man keine Unterschiede zwischen den kleinen AVRs und den
großen teuren Boliden machen. Ein billiger ATTiny26 macht alles ganz
genauso wie ein großer ATMega256.
Programme lassen sich also leicht auf andere AVRs übernehmen.

Zwischen den PIC-Familien sind die Unterschiede dagegen sehr groß.
Deshalb sieht man viele mit den teuren Boliden PIC18F*** anfangen, da
bei den kleinen doch ne Menge nützlicher Befehle fehlen.
Die billigen PIC12C509 nimmt heute kaum noch jemand, zumindest wird das
bei den Vergleichen PIC/AVR immer so herausgestellt.
Programme lassen sich also nur schwer auf andere PICs übernehmen.


Für den hilfesuchenden Anfänger halte ich auch für wichtig, daß man
wesentlich mehr gleichgesinnte AVR-Bastler und AVR-Foren findet als
beim PIC.


Der 8051 ist zwar auch ein sehr leistungsfähiger MC (bis zu 50MIPS)
aber für den Anfänger nicht ganz so gut geeignet. Man muß nämlich erst
das Konzept der verschiedenen Speicherbereiche (register, data, idata,
pdata, xdata, sfr, code, bit) verstehen.


Peter

von Micha (Gast)


Lesenswert?

Hi Peter,
ich weiß ja nicht ob Du nun die ganzen Beiträge
gelesen hast. Wenn ja, kennst Du mein Ziel ja.
Welchen AVR würdest Du mir empfehlen ?
Ich habe mittlerweile so viel verschidene Meinungen
gelesen, das ich nun gar nicht mehr weis, was
ich nehmen soll. Ich hoffe nur, das nicht noch einer
mit GAL´s anfängt.
Mfg. Micha

von Peter D. (peda)


Lesenswert?

@Micha,

ich habe mich jetzt auf den ATMega8 eingeschossen. Er ist schön klein
und hat ein optimales Preis-Leistungverhältnis (z.B. Segor: 4,80Eur).

Auch kann man ihm einen Bootloader verpassen und ihn dann ganz bequem
über die COM programmieren.

ADC ist auch drin, sofern Du nicht gleich einen digitalen Sensor nimmst
(z.B. DS18B20, DS1621).

Mit seinen 8kB Flash + 1kB RAM kann man schon recht große Programme
schreiben und die 23 I/O-Pins sollten auch genug sein.


Wenn Du etwas C kannst, ist der WINAVR zu empfehlen, sofern Du nicht zu
den nur-Mausschubsern gehörst.


Peter

von Beeblebrox (Gast)


Lesenswert?

Also das was Peter da schreibt ist so nicht ganz richtig. Das Erlernen
der PIC-Programmierung lernt man ganz schnell, da dieser nur etwas mehr
als 30 Befehle hat. Alle PICs die ich bislang programmiert habe
benutzen genau den selben Befehlssatz (bei der 18er - Serie mag das
anders sein). Es gibt eine öffentliche Yahoo-Group und man findet
Tonnenweise Programmierhilfen im Netz. Was Probleme mit PICs angeht
kann man auch mich gerne fragen. Was die einzelnen Derivate angeht
kommen immer wieder neue raus. Es gibt mitlerweile von fast allen Typen
die "f" - Versionen, die man bequem flashen kann ohne mit UV-Licht
löschen zu müssen. Ich denke schon, daß ein AVR mehr leisten kann, aber
das ist nicht immer erforderlich und meiner Meinung nach ist der PIC
einfach simpler als ein AVR/8051. Aktuell benutzt werden meist die PICs
12f675 (DIL8 !), 16f628 (DIL18), 16f87x (bis DIL40). Der 12f675 hat
trotz seiner Winzigkeit schon einen AD-Wandler und kostet nur 2-3
Euros.

von Micha (Gast)


Lesenswert?

Hi Peter+Beeblebrox,
es klingt beides nicht schlecht.
Eh ich mich nun entscheide, vieleicht noch eine Frage.
Was schaffen die Ausgänge? Kann ich da mit einer
normalen LED-Anzeige ran, oder muß ich Treiber nehmen.
Wenn ich einen 8 Pin PIC nehmen würde, bräuchte ich ja
noch einen PIO ( LED Anzeige + Sensor + Taster )?!
Wie ist das beim AVR ( 23 I/O ,sofern belastbar, müssten
ja eigentlich ausreichen ?
Hat von Euch beiden einer einen Schaltplan oder einen
Link zu "meiner" Temperatursteuerung ?
Es muß nicht der hundertprozentige sein.
Diesen etwas zu modifizieren dürfte ja nicht der
aller größte akt sein .
Für den Fall das nun bei beiden wieder das gleiche raus
kommt, muß eben eine Münze werfen.
Mfg. Micha

von NoName (Gast)


Lesenswert?

Vorneweg: ich benutze lieber PICs, aber bei den 8-Pinnern ist wohl der
AVR Tiny15 am universellsten (echt schrille Funktionsvielfallt für kaum
Geld)

von thkais (Gast)


Lesenswert?

Eine LED-Anzeige (7-Segment) steuert man zumeist per Multiplexing an.
Hierbei spart man ne Menge Ausgänge, da man nur einmal die Ausgänge für
die 7 Segmente braucht, und dann eine Art Selektierung für die Stelle.
Beispiel: Eine 4-stellige Anzeige braucht 28 Ausgänge, mit Multiplexing
nur noch 11. Allerdings muß man dann den Ausgängen Transistoren, oder
besser, Transistor-Arrays (sind mehrerer Transistoren in IC-Form)
spendieren. Der Fantasie sind keine Grenzen gesetzt. Bei den
Controllern gibts verschiedene Ausführungen, auch was die Anzahl der
Ausgänge betrifft. Aber der Preis ist proportional zur Anzahl der
Ausgänge. Der bereits angesprochene ATmega-8 hat z.B. bis zu 21
Ausgänge (wenn ich mich nicht verzählt habe und man sowohl Quarz als
auch reset wegläßt).
Ich kann aus persönlicher Erfahrung nur die Atmels empfehlen, die PICs
habe ich mir kurz angeschaut und gleich beiseite gelegt. Der Assembler
des PIC ist (für mich) sehr ungewöhnlich, beim Atmel fühlte ich mich
gleich zu Hause (bin mit Z80,6502,68000 vorbelastet). Der Atmel hat
eine modernere Struktur, beim PIC muß man sich teilweise noch mit
Speichersegmentierung rumschlagen. Aber, wie immer im Leben, diese
Entscheidung mußt Du selbst treffen. Lade Dir doch mal die Befehlssätze
beider Controller runter oder ein paar Programmbeispiele, dann kannst
Du es Dir selbst anschauen.

von Micha (Gast)


Lesenswert?

Hi thkais,
das mit dem Muxen ist schon klar.
Meine Überlegung war nur die, daß
ich bei 8 PIN ja max über einen extra
SIO am meine benötigten Pin´s rankomme.
Insofern denke ich es macht mehr Sinn
einen IC mit z.B. 20 I/O zu nehmen.
Die Frage mit der LED-Anzeige war blöd
gestellt. Ich meinte einen Multiplexbetrieb.
Schafft der AVM das ohne Treiber.
Mfg. Micha

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

@Beeblebrox,

"Das Erlernen der PIC-Programmierung lernt man ganz schnell, da dieser
nur etwas mehr als 30 Befehle hat."

Das eine hat bloß mit dem anderen nicht das geringste zu tun.
Als zu DDR-Zeiten der erste 7400-Nachbau fertig war, hieß es: "Man
kann alle Digitalschaltungen nur mit 7400 aufbauen". Das stimmte auch,
bloß braucht man dann Kuchenbleche als Platinengröße, um z.B. einen
74193 nur mit 7400 nachzubilden.


Man kann auch beim AVR mit nur 30 Befehlen alles machen. Man muß dann
bloß ganz schön um die Ecke denken, d.h. viele Befehle durch größere
Folgen anderer Befehle nachbilden und das finde ich alles andere als
einfach.


@Micha,

da kann ich thkais nur voll zustimmen. Wenn man den Z80 bereits kennt,
wird man mit dem AVR-Befehlssatz wesentlich schneller warm.

Aber wie thkais schon sagte, einfach mal in die Befehlssätze und in
Beispielprogramme reinschauen. Die Entscheidung kann Dir keiner
abnehmen.

Wie stehts denn bei Dir so mit C ?


Als Anzeige empfehle ich Dir moderne High-Efficiency-Typen, z.B.
HDSP-121. Die sind nur wenig teuerer, aber schön hell und das Netzteil
muß auch nicht so groß ausgelegt werden.
Anbei ein Beispiel einer Multiplexschaltung. In dem 5-stelligen Display
sind alle gleichen Segmente parallel geschaltet.



Peter

von Micha (Gast)


Lesenswert?

Hi Peter,
ich habe mir inzwischen auch mal im Netz
ein paar andere PIC & AVR Sachen angeschaut.
Ich glaube ich nehme Amtel.
Ob der nun pro Chip ein Teuro mehr kostet oder nicht,
sollte bei soetwas glaube ich auch nicht die Entscheidung
beeinflussen. Er muß sich einfach Idiotensicher anwenden und erweitern
lassen. Alles andere macht für mich als (wieder)Anfänger
keinen großen Sinn. Was ich später als das Wahre betrachte wird sich
zeigen. Ich habe mit dem ganzen Elektronikbasteln ca 1985 aufgehört.
( Ich bin deswegen aber noch keine Hundert, sondern begann mich damals
mit 16 sehr intensiv mit BIO-Mechankik zu beschäftigen ;-)
Dann kam dies und das und so war es halt vorbei.
Mir fehlen deshalb ca. 18 Jahre "Fortschritt"
In Punkto Z80 habe ich ein bischen HEXA auf meinem LC80
"programiert".
Von C weiß ich eigentlich nur das es eine Programiersprache ist.
Ob ich nun Pascal, C, C++ oder was auch immer nehme, ich muß alles
komplett neu lernen. Das ist übrigens gleich meine nächste Frage
Welche Programiersprache ist "die richtige" ?
Deine Schaltung habe ich mir angeschaut. Besten Dank dafür.
(könnte ich mir übrigens auch mal bauen )Also besten Dank.
Schönes Wochenende noch,
mfg Micha

von Stromi (Gast)


Lesenswert?

@mich
probiere doch mal Bascom AVR, es gibt fertige Temperaturauswertung mit
den Dallas Temp-Sensoren, die sind auch noch als "alarm-tempwert"
programmierbar. und es gibt uhrenbausteine von Dallas 1wire-System.
Dann nimmst du die RC5-Befehle zum Bedienen mit normalen
Fernbedienungen, das spart die Tastaturen. nicht zu vergessen die
einfachen LCD-Befehle in Basic.
Lade dir mal die Demoprogramme mit 2k Code runter. Die AVR's sind
mehrfach programmierbar. d.h. man kann vieles ausprobieren ohne molto
TEUROS ausgeben zu müssen. Die Programmiereinrichtung kann man
preiswert selbst bauen.


www.mcselec.com

von Frank Linde (Gast)


Lesenswert?

Hi Micha,

>> Welche Programiersprache ist "die richtige" ?

super Frage! Gibt bestimmt den üblichen flamewar. ;-) Ich eröffne dann
mal: Wenn Du alle Details verstehen willst, dann nimm Assembler. Wenn
Dir die Programme über den Kopf wachsen oder Du Ausschlag von Mnemonics
bekommst, nimm Vitamin C. Wenn Dich der Preis für BASCOM nicht juckt,
ist der vermutlich auch keine schlechte Wahl, habe aber keine Erfahrung
damit.

Na, los, schlachtet mich! :-)

Gruß, Frank

von MooseC (Gast)


Lesenswert?

oder nimm die 1-Draht Temperatur Anzeige inkl. LCD von Peter.
Eine einfache Temp.regelung mit Hysterese dazu programmieren dürfte
kein Problem für Dich sein, wenn Du schon Erfahrungen mit dem
Programmieren hast(ist doch wie schwimmen oder Fahrradfahren).

Damit stehst Du auch nicht gleich vor einen Berg unbekannter Probleme,
die einem schnell die Lust rauben können.

@Frank. Ich hatte die Exorzisten schon bei der Frage PIC oder AVR
erwartet.

MooseC

von Micha (Gast)


Lesenswert?

Hi @ all,
in Richtung Hardware hab ich mich nun für die AVR`s entschieden.
Ich denke mal das ist ein System mit dem man die nächsten
Jährchen basteln und experimentiern kann.
Nur in punkto Programmiersprache habe ich ausser etwas HEXA, und das
ist auch schon Lichtjare her, keinen Plan.
Was sind die Unterschiede, Vor.-Nachteile........der P.-Sprachen.
Also dann, gruß an alle
Micha

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.