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
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
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
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
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
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
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.
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
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 :)
@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
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
@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
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.
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
Vorneweg: ich benutze lieber PICs, aber bei den 8-Pinnern ist wohl der AVR Tiny15 am universellsten (echt schrille Funktionsvielfallt für kaum Geld)
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.
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
@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
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
@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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.