Hallo. Ich bin neu in diesem Forum und habe noch keine Erfahrung mit Mikrocontrollern. Letzteres ist der Grund meiner Bitte: Bevor ich einfach alles zusammenlöte und dabei wichtige Dinge vergesse oder unschuldige Vielbeiner verbrenne, hätte ich gerne die Meinung/Tipps erfahrenerer Bastler zu diesem Projekt: Ziel: Steuerung für Licht und Heizung in einem Terrarium. Modular, erweiterbar, mit Display, Tastern, Funkuhr, Temperatursensoren und unempfindlich gegenüber kurzen Spannungseinbrüchen. Funktionen: - Schalten und Dimmen (Netzspannung*) - Nulldurchlauf der Netzspannung bestimmen (für Dimmer) - Treiben von LEDs - Kommunikation über 1-wire-Bus - Ansteuerung eines Displays - Menübasierte Steuerung über Taster - Auslesen einer Funkuhr Jetzt habe ich schon direkt einige Fragen: - Für den Dimmer möchte ich den Nulldurchgang der Spannung recht genau bestimmen, dafür muss ich ja ständig einen der Eingänge abfragen (polling). Wenn ich die Kommunikation über den 1-wire-Bus in Software selber gieße, ist der µC ja eine ganze Weile mit selbigem Bus beschäftigt. So weit ich weiss dauert die Übertragung eines Bits 60 µs und allein die Adresse eines "Clients" hat schon 64 Bit, das sind schonmal 4 ms bevor überhaupt Nutzdaten übertragen werden. Wenn ich aber die Phasenlage eines 100 Hz-Sinus bestimmen will möchte ich mit ~1 kHz dieses Signal überwachen, vermutlich eher mehr. Denke ich hier falsch, kann ich bei der Kommunikation auf dem 1-wire-Bus kurze Pausen machen? Oder sollte ich einen externen Baustein für die Bus-Kommunikation verwenden? Oder vielleicht den Nulldurchgang mit einem Optokoppler und einem Schmitt-Trigger als Interrupt auf einen der Eingänge legen? - Während der 1-wire-Bus genutzt wird soll man die Interrupts ausschalten, dort könnte ich also einen Nulldurchgang oder ein Signal des DCF77-Empfängers verpassen, was ich mit einem Timer korrigieren könnte. Oder auch nicht, da ja auch ein Timerinterrupt ein Interrupt ist. Wie löse ich dieses Problem? Oder ist es womöglich keins? Kann ich den Dimmer nutzen während Kommunikation auf dem 1-wire-Bus läuft? Das Setzen der Ausgänge sollte ja wirklich zügig gehen. - Kann ich auf allen Eingängen eines Atmega8 Interrupts auslösen oder ist das eine spezielle Eigenschaft der Eingänge "Int0, Int1", wie es der Name suggeriert? - Wenn ich 6 Pins für das Display und 5 Pins für Taster reserviere, bleibt bei einem Atmega8 nicht viel übrig. Ist es empfehlenswerter das Display an den 1-wire-Bus zu hängen oder sollte ich die Taster über einen Multiplexer abfragen? Die 2 gesparten Pins würden schon reichen. - Würdet ihr zur Spannungsversorgung einen kleinen Trafo mit Linearregler oder eine "Wandwarze" benutzen? (An die Netzspannung muss ich (natürlich mit einem kleinen Trafo) eh ran um den Nulldurchgang zu bestimmen) Im Ahnhang finden sich die Pläne die ich bisher gemacht habe. Aufgebaut werden sollen die Schaltungen auf Streifenrasterplatinen. Ich würde mich über konstruktive Kritik zu den Schaltplänen aber auch zu dem Konzept ansich freuen. =) Grüße, Andi * Ich bin Physikstudent, arbeite dabei auch mit Hochspannung und habe bereits Audio-Verstärker gebaut. Die Netzspannung wird, wie in den Bildern im Anhang sichtbar, nur über sehr kurze Strecken zu Relais, Triacs oder Trafos geführt. Die Triacs werden über Optokoppler von der Niederspannungsseite getrennt.
>Ich bin neu in diesem Forum und habe noch keine Erfahrung mit >Mikrocontrollern. Klar, ich hab auch mit nem Atomkraftwerk angefangen bevor ich ne Sonne gebaut habe. >- Schalten und Dimmen (Netzspannung*) Flossen weg Anfänger! >Die Netzspannung wird, wie in den >Bildern im Anhang sichtbar, nur über sehr kurze Strecken zu Relais, >Triacs oder Trafos geführt. Die Länge ist Wurst. Halt lieber Abstand zur Niedervoltseite. Was soll der 1u da parallel zum Relais? Schwingkreis bauen? AREF an GND dürfte interessante Nebenwirkungen haben.
holger schrieb: > Klar, ich hab auch mit nem Atomkraftwerk angefangen bevor ich > ne Sonne gebaut habe. Ich würde natürlich nicht alles auf einmal zusammenlöten sondern nach und nach aufbauen. >>- Schalten und Dimmen (Netzspannung*) > > Flossen weg Anfänger! Siehe Sternchen. > Die Länge ist Wurst. Halt lieber Abstand zur Niedervoltseite. Wird mit Trafos/Optokopplern getrennt, das Board mit dem µC kommt auf eine eigene Platine, die Ausgangsmodule kriegen jeweils eigene Platinen, die Spannungsversorgung sitzt auf einer eigenen Platine > Was soll der 1u da parallel zum Relais? Schwingkreis bauen? Guter Hinweis. Ist ein Platzhalter, falls man z.B. eine Diode dort hinsetzen möchte. Ich weiss nicht wie sehr sich die Spulen in den Relais wehren wenn man ihnen den Strom klaut und wie sehr sie die Dioden im ULN belasten. > AREF an GND dürfte interessante Nebenwirkungen haben. "analog reference pin for the A/D Converter" Was würde man da denn anschliessen?
AVR-Tutorial Im übrigen halte ich es mit holger: Verlier dein Projekt nicht aus den Augen, aber fang mit einfacheren Dingen an. Wenn du die im Tutorial aufgezeigte Schaltung aufbaust, zum Laufen kriegst, sie programmierst und dich da durcharbeitest, dann hast du schon ein ganz gutes Rüstzeug, um dich an dein eigentliches Projekt zu wagen. Müssen ja keine geäzten Platinen sein, die kann man auch Fädeln oder auf einer Streifenrasterplatine aufbauen. In deinen Schaltungen sind da ein paar Dinge, die mir so gar nicht gefallen. zb: 5V aus 12V, LCD-Kontrastspannung steckermässig getrennt von den restlichen LCD Leitungen, überhaupt hast du da jede Menge einzelner Steckanschlüsse quer verteilt, du konfigurierst dich mit Kabeln zu Tode, ....
Schonmal herzlichen Dank für die bisherigen Antworten > zb: 5V aus 12V, LCD-Kontrastspannung steckermässig getrennt von den > restlichen LCD Leitungen, überhaupt hast du da jede Menge einzelner > Steckanschlüsse quer verteilt, .... Welche Probleme (abgesehen von der Verlustleistung) gibt es wenn ich die 5 Volt aus 12 Volt erzeuge? Ich wollte nicht für jede benötigte Spannung einen eigenen Trafo nehmen, da die Auswahl an großen, günstigen Gehäusen beschränkt zu sein scheint. Ja, ich habe die Spannungsversorgung von den Datenleitungen getrennt. Ist das nicht wünschenswert? Dann versuche ich demnächst sowas an eine lange Buchsenleiste zu legen. Das mit den verteilten Steckern sehe ich erstmal nicht als Problem, aber vielleicht übersehe ich ja wichtige Argumente. Wenn man geätzte Platinen einsetzt würde man das vermutlich anders lösen, ja. Mein Haupt-Augenmerk beim Routen war das Vermeiden von Kreuzungen. Hätte ich andere Prioritäten setzen sollen? Grüße, Andi
Andi M. schrieb: > Schonmal herzlichen Dank für die bisherigen Antworten > >> zb: 5V aus 12V, LCD-Kontrastspannung steckermässig getrennt von den >> restlichen LCD Leitungen, überhaupt hast du da jede Menge einzelner >> Steckanschlüsse quer verteilt, .... > > > Welche Probleme (abgesehen von der Verlustleistung) gibt es wenn ich die > 5 Volt aus 12 Volt erzeuge? > abgesehen von der Verlustleistung genau das ist das Problem Du baust kein Netzteil, du baust eine Heizung :-) > Ja, ich habe die Spannungsversorgung von den Datenleitungen getrennt. > Ist das nicht wünschenswert? Überleg dir einfach mal, wie du das LCD anschliessen willst. Im einfachsten Fall geht vom LCD ein 16-poliges Flachbandkabel auf eine Buchse, die du einfach auf der Hauptplatine einsteckst und das LCD ist korrekt verkabelt. Man kann auch abspecken, indem zb die Kontrastspannungseinstellung zum LCD wandert, genauso wie die Hintergrundbeleuchtung. Wenn die LCD Ansteuerung über den 4 Bit Bus passieren soll, dann reicht auch ein Flachbandkabel mit 8 Adern (4 Datenleitungen, 2 Steuerleitungen, VCC, GND). Nimm noch eine schaltbare Hintergrundbeleuchtung dazu (Transistor ebenfalls zum LCD dazu) und du brauchst 9 Adern. Also einen 10-poligen Anschluss. Wenn du das ganze jetzt universell machen willst, dann wäre es imho besser zunächst mal alle Ports des µC auf identische 10-polige Anschlüsse zu führen. Jeweils einen Anschluss für einen kompletten Port, dazu noch VCC und GND an jedem Anschluss und du kannst dann da drann beliebige Zusatzplatinen anstecken. Mit immer dem gleichen 10-poligen Flachbandkabel und immer gleicher Steckerbelegung.
Könnte man so machen, aber einige der Anschlüsse werde ich ja fest verteilen: Display, 1-wire-Bus, Taster Die Module die ich anschliessen will benötigen ja nur einen I/O-Pin und eine Versorgungsspannung, Flachbandkabel halte ich an der Stelle für Overkill, da führe ich ja mehrere I/O-Pins zusammen, oder habe ich dich missverstanden? Ich dachte eher so an die "PS 25/2G WS" von Reichelt. (2,3,5,8 oder 10 Pole) Habe gerade das AVR-Tutorial gelesen, das mit AREF habe ich wohl falsch verstanden =) Würdet ihr denn die Detektion des Nulldurchgangs mit einem A/D-Wandler machen (Trafo -> Gleichrichter -> A/D) oder eher so: Netzspannung -> Gleichrichter -> Widerstand -> Optokoppler Auf der anderen Seite 5 Volt -> Optopkoppler -> GND Netzspannung macht Nulldurchgang, Optokoppler macht "zu", auf der anderen Seite sperrt er den Stromfluss, die 5 Volt liegen hinter dem Widerstand an, werden vielleicht noch mit Schmitt-Triggern aufbereitet und der Impuls wird an den µC geleitet.
Andi M. schrieb: > Funkuhr, ... und einige Störquellen wie Display, Dimmer usw. Andi, eine Vision ist gut, aber der Weg wird steinig sein. Fang klein an.
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.