Forum: Mikrocontroller und Digitale Elektronik IO Relaiskarte für Hausstrom-Steuerung


von Thomas Leitner (Gast)


Lesenswert?

Hi

Da mir das Suchen nach Infos schon zu langwierig wird, und ich sehe,
dass in diesem Forum die meisten Problemchen kompetent gelöst werden,
hoff ich doch, dass mir bei meiner Spielerei geholfen werden kann :)

Also zur Sache:
Ich plane an einer Relaiskarte zur Steuerung vom Stromnetz in meiner
Bude.
D.h. alle (230V~) Signale von Taster bzw. Bewegungsmelder laufen über
diese Karte und werden an den PC weitergegeben bzw. bei PC-Ausfall von
der Karte selbständig verwertet.
Gesteuert werden 230V~ Ausgänge und eventuell auch Gleichstrom
Ein-/Ausgänge bis 12V oder so, die ich bei der geplanten modularen
Bauweise jederzeit noch anhängen kann.

Insgesamt wären es dann mindestens 13 Eingänge (230V) und 20 Ausgänge
(230V).
Die restlichen Anschlüsse für Temperatursensoren und sonstige Sensoren
sind zurzeit noch nicht nötig aber könnten modular angehängt werden.

Der modulare Aufbau von der ganzen Geschichte sollte dann in dieser
Weise zusammenhängen:

> Hauptplatine (5V Betriebsspannung) mit einem Mikrocontroller in
Master-Mode.
Auf der befindet sich der Serielle Anschluss für den PC, der zur
Kommunikation bzw. Programmierung des MCs dient/dienen sollte.
Für die jeweiligen Slave-MCs (auf eigenen Platinen) wären dann
Flachband-Steckverbindungen mit Pins für VCC, GND, ISP-Kommunikation
und vor allem Reset für Programmierung.

> Platinen mit den Slave-MCs. (5V Betriebsspannung und 230V
Lastenspannung)
Also eine Platine mit den 230V Ausgängen, die vom Slave-MC gesteuert
werden.
Und eine Platine mit den 230V Eingängen…
Und weitere für LowVolt und für Mess- bzw. Regelung.
Die MCs sollten programmiert werden können, ohne dass etwas ein- bzw.
umgesteckt werden muss. Trotzdem will ich zur Sicherheit, dass der
Programmiermodus am Board manuell und nicht elektronisch geschaltet
wird. Z.B. mit einem Rotary Switch die Resetleitung der jeweiligen
Slaves an den Programmieradapter führen.

> Wäre vielleicht auch sinnvoll, wenn man den Programmieradapter auf
einer eigenen Platine platziert.

Die wichtigeren Schaltungen bzw. Infos aus denen ich das ganze plane.

230V Switch-Modul
http://www.hoelscher-hi.de/hendrik/light/smodul.shtm

230V Dimmer
http://www.piware.de/hardware/dimmer.pdf

Serielles Interface
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm

Microcontroller Interfaces
http://www.ucpros.com/work%20samples/Microcontroller%20Communication%20Interfaces%202.htm

UART:
http://www.mikrocontroller.net/tutorial/uart.htm

Funktionieren würde das dann so:
Also für die Mikrocontroller hab ich mir jetzt nur die AVRs angekuckt.
Denke was anderes würde nicht besser passen, oder?
- Master-AVR loopt alle Slaves mit Eingangsfunktion durch und fragt ab,
ob was vorliegt.
- Wird ein Taster gedrückt, liegt auf der Eingangskarte an dem
entsprechenden Pin vom Slave-AVR ein Signal an.
-  Die festgelegte Adresse des Pins wird im Slave zwischengespeichert
und beim nächsten Abruf vom Master an diesen weitergegeben.
- WENN der PC aktiv ist sendet der Master die Adresse und Schaltstatus
an diesen weiter
-- Am PC wird ausgewertet und dementsprechend eine Ausgangsadresse und
Schaltwert zurückgesendet
- ANSONSTEN erfolgt die Auswertung vom Master und gibt die
Voreingestellte Ausgangsadresse an dementsprechenden Slave weiter.
- Der Slave schaltet dann das Relais.

Außerdem sollte auch der PC auch jederzeit seinen Senf an den Master
abgeben können.
D.h. der PC hätte eigentlich auch eine Master-Funktion, außer der
Master-MC behandelt den auch als Slave. Wobei ich nicht weiß ob das
Sinn macht, wenn der PC, der eigentlich Die Kontrolle über den
Master-MC hätte, als Slave behandelt werden soll.

Daher meine Frage:
Hätte da jemand einen Tipp wie man am besten die Kommunikation zwischen
PC <=> Master und Master <=> Slaves gestaltet. Also ob ISP hier sinnvoll
ist? Für die Programmierung der AVRs wäre es jedenfalls von Vorteil,
weil die Leitungen schon zum Seriellen Port führen würden. Und I²C oder
so wollt ich nicht nehmen, weil ich nur 2 Byte sende (Pin-Adresse und
Schaltwert). Oder kann ich ISP für die Slaves und UART für den PC
gleichzeitig verwenden??
Bzw. soll ich den Aufbau komplett anders gestalten?

Optimal wäre natürlich, dass alle AVRs, die Eingänge überwachen auch
sofort Daten an den Master-AVR senden können, ohne dass erst der
Master-AVR diesen AVR ansprechen muss. Gesendet werden dabei nur 2
Bytes (1. Selbst definierte Adressen und 2. Schaltwert des jeweiligen
Pins, wobei ich Adresse und Schaltwert absichtlich nicht auf ein Byte
zusammenfasse, weil der Schaltwert auch für einen Dimmer bzw. als
Messwert verwendet werden kann).
Der Master-AVR sendet die erhaltenen Werte sofort an den PC, dieser
kann jederzeit ohne Aufruf vom Master-AVR an diesen Senden.
Jetzt wäre ich da also auf der Suche nach Kompromisslösungen, um dies
annähernd zu erreichen.

Das wärs erstmal :)
Danke schon mal fürs Durchlesen :)

Weil das Teil vom Aufbau her flexibel durch ansteckbare Slave-Module
der Anwendung angepasst werden kann, dessen Funktion nur von der
Programmierung abhängt und Relaisschaltungen in diesem Bereich so
ziemlich gefragt sind,  bin ich sicher, dass nicht nur ich die
Antworten darauf hilfreich finde :)
Kann sein, dass ich zwar weiterhin blöd frage.. elektrotechnisch
gesehen bin ich am Stand eines 9V-Baukasten-Bastlers mit dem bisschen
Elektrotechnik-Wissen, das man in der Maschinenbau-HTL mitbekommen
hat…. Was ein Mikrocontroller tut, weiß ich ja auch erst seit 3 Tagen
(dank dieser Seite ;) )

mfg Leiti

von Matthias Friedrich (Gast)


Lesenswert?

zu... viel.... input.... :)

" Optimal wäre natürlich, dass alle AVRs, die Eingänge überwachen
auch
sofort Daten an den Master-AVR senden können, ohne dass erst der
Master-AVR diesen AVR ansprechen muss"

Das schreit eigentlich nach CAN. Für ein Protokoll wie oben beschrieben
ist das ideal und sehr einfach zu implemenieren. CAN-Controller sind
billig zu haben und es gibt viel im Netz dazu zu finden, icl. Code.
Außerdem hast du dann im Prinzip gleich den physical Layer mit im
Griff. SPI und I2C eignen sich imho nicht für solche Szenarien.

Auf jeden Fall solltest du mal einen Blick in eine der letzten
Elektor-Ausgabe schauen, dort ging es genau um dieses Thema. Dort wird
ein Hausbus auf i2c vorgestellt.

Zu den Links, speziell Dimmer: Auch hier sollte auf jeden Fall ein
Snubber-Network zur Entstörung eingesetzt werde. Dort ist es nötiger
als beim Schalter.
Die Schalterplatinen sehen für mich nicht wirklich brauchbar aus, auf
den ersten Blick sieht es für mich danach aus, dass dir
Mindestsicherheitsabstände nich wirklich eingehalten werden.
Bauchschmerzen habe ich auch bei der Tatsache, dass die komplette
Leistungselektronik über den Kühlkörper mit Strom versorgt wird. ("..
muss man halt isolieren...")
Soche Hacks würde ich auf keinen Fall nachbauen. Vor allem nicht am
Hausnetz.

Gruß,
Matthias

von Hendrik Hölscher (Gast)


Lesenswert?

@Mattthias:
"Solche Hacks" sind der Leistungselektronik (z.B.: Wechselrichtern)
durchaus üblich. Auch in einigen PA-Endstufen werden die Endtransen auf
diese Weise versorgt.
So kann man ohne unglaublich dicke Leiterbahnen interessante Mengen
Strom verteilen.
Die Isolation der Kühlkörper sollte keine Probleme ergeben
(Nylonschrauben).

Bei meinen Lastteilen handelt es sich nich um QuickHacks sondern um nun
mehr die dritte Revision nach 2Jahren Entwicklung. In der ersten
Revision dachte ich noch ähnlich wie du, aber die Leute haben die
Kühlkörper als optional betrachtet - und es hagelte ärgerliche Mails,
wenn die Triacs nicht ungekühlt 10A mitmachten... (Explizite Hinweise
brachten nichts).
Dann gab es Spaßvögel, die - nach meinem Hinweis auf Kühlpflicht - alle
Triacs auf eine Aluleiste schraubten und die Glimmer/Silikonscheiben
vergaßen...

Daraufhin habe ich zahllose Designs durchgeackert und mich in div.
Foren schlaugemacht. Das Ergebnis ist der "Quickhack" g.

Zum OK-Abstand:
Zwischen Steuerseite und Lastteil verläuft nur eine PE-Schleife. Diese
dient zur Kriechstromabführung. Dies ist in der Nähe von Nebelmaschinen
bei Zwangskühlung sinnvoll, da sich der Fluidfilm negativ auf die
Isolation auswirkt... Auch dieser Punkt ist also optimiert ;-)

Darum meine Bitte:
Bevor du anderer Leute Arbeit schlecht machst - überlege Dir den
Hintergrund und deine eigene Erfahrung / Kompetenz.

zur Steuerung an sich:
Als serieller Steuerungsbus hat sich in der Lichttechnik DMX512
durchgesetzt. Dies wird wohl auch seine Gründe haben ;-)

Grüße, Hendrik

von Matthias Friedrich (Gast)


Lesenswert?

ich möchte niemandem seine arbeit schlecht machen. warum nehemn manche
leute solche bedenken immer gleich persönlich???

wo große ströme fließen kann man nicht vorsichtig genug sein. zu meiner
kompetenz: ich entwickle beruflich steuerungen für die
automatisierungstechnik die in jedem umfeld funktionieren müssen und
habe auch schon geräte beim vde zulassen und mich mit diversen normen
vertraut machen müssen.
mit ist durchaus bewußt, was die PE-schleife soll, trotzdem muss sie
mindestens 3mm (oder 2mm luftspalt) von der galvanisch getrennten seite
entfernt sein.
ein solches gerät mit spannungsführendem kühlkörper würdest du beim vde
niemals durchkriegen.

gruß,
matthias

von Thomas Leitner (Gast)


Lesenswert?

Tach

Mal danke für die Vorschläge.
Habe mich da jetzt so einigermaßen über CAN-Controller schlau gemacht.
Aber das ganze ist mir für den Anfang doch bisschen zu unübersichtlich,
weil soviel Zeugs dabei ist (besonders bei den Datenblättern), was ich
überhaupt nicht brauche aber ja lese um das erst mal festzustellen… Und
wegen der Elektor-Ausgabe muss ich erst schauen, ob ich die wo
auftreiben kann.

Wenn ich das jetzt so richtig verstanden habe, dann dienen
CAN-Controller nur zur Kommunikation und für In-/Outputs dienen dann
angehängte Mikrocontroller.
Oder eben ein Mikrocontroller mit integriertem CAN-Controller, was mir
jetzt zurzeit so vorschwebt.

Also jetzt hängen am CAN-Bus
> ein Haupt-Mikrocontroller der alle Messages verarbeitet und
dementsprechend wieder welche sendet.
> die Slave-Mikrocontroller die je nach Funktion Messages für den
Haupt-MC senden oder vom Haupt-MC empfangen.
> und den PC, wobei ich annehme, dass da noch ein CAN-Controller
dazwischen geschaltet werden müsste, oder?

Und dafür bräuchte ich dann eben
> Einen Mikrokontroller mit CAN und fürs Hauptprogramm ausgelegt ist
und keine extra IO-Pins haben muss.
> und die Slave-MCs mit CAN und mehr für IO ausgelegt, aber nicht viel
Speicher fürs Programm haben muss.
> und was, damit der PC auf den CAN-Bus kann.

Wenn ich mich nicht täusche, dann hat Atmel kaum solche CAN-MCs..
Und ich glaub es würde für diese Schaltung passendere geben.
Wenn da wer ein schönes Teil wüsste, wäre mir da sehr geholfen, weil da
jetzt von 1657556 CAN-Mikrocontrollern von anderen Herstellern die
Datenblätter durchzulesen wäre bisschen aufwendig, besonders wenn sich
dann nachher wieder ne andere Lösung findet :)

Andere Lösung wäre, dass ich vor den AVRs jeweils einen CAN-Controller
hängen würde, oder???

Ach übrigens: lol wegen Hacks..
@ Matthias, was glaubst du was ich da gerade produzieren will G
Solche Bastelteile sind die einzigen Bestandteile von meiner Schaltung
die voraussichtlich einwandfrei funktionieren würden :)
War ziemlich froh, dass ich nach längerer Suche auf Hendriks Seite so
eine Schaltung gefunden habe, war ja dann auch der Ausgangspunkt von
der ganzen Idee.. :)
Aber egal.. jetzt sind die Relais-Schaltungen so ziemlich
nebensächlich, brauch erst mal die passenden Controller.

mfg Leiti

von Hendrik Hölscher (Gast)


Lesenswert?

zum persönlich nehmen:
In dem Kram steckt 'ne Menge Arbeit. Und wenn die einer beim
Überfliegen "QuickHack" nennt verleitet das schon danach ;-)

Die Abstände unter dem OK sollten mit den von Dir genannten hinkommen.
(Bislang weiß ich von >150 derart nachgebauten Modulen, die ohne
Ausfälle laufen - da hab ich wohl pures Glück gehabt g)

Zur Body-Speisung: Es gibt zwar auch isolierte Triacs aber bei den
meisten ist ein A mit der Kühlfläche verbunden. Ich denke nicht, dass
dies nu gemacht wird, um den Umsatz an Glimmerscheiben zu erhöhen ;-)
(Aus meinen vorigen Revisionen weiß ich, dass letztere sowieso
weggelassen werden...)

Fazit:
mein Kram funzt problemlos. Wer Deine Bedenken teilt, kann gerne ein
eigenes Layout zu der Schaltung entwickeln (mit entsprechenden
Leiterbahnen).
Ich werde die Stärke / Position des PE-Ableiters Deiner Kritik auf
jeden Fall anpassen! Die Speisung bleibt auf Grund der o.g.
Vorgeschichte ;-)

Grüße, Hendrik

von Matthias Friedrich (Gast)


Lesenswert?

ich weiss, dass in solchen projekten ne menge arbeit steckt, und es
liegt mir fern, diese leistung schlecht zu machen. ich habe auch nie
bezweifelt, dass das modul funktioniert.
das mit dem quickhack war vielleicht übertrieben, das geb ich zu :)

@thomas:
zweich mögliche controller mit internem can sind der 90can128
(avr-architektur, leider schwer zu beschaffen) oder der 89c51cc01
(mcs-51 architektur, gibts bei rechelt).
alternativ kannst du jeden controller nehmen und daran einen mc2515 von
microchip per spi anschließen.

der 89c51cc01 läuft in einer unserer steuerungen ohne probleme. er ist
sehr einfach auch mit freien compilern zu programmieren und man braucht
keinen isp-adapter um ihn zu flashen. dies geschieht über die serielle
schnittstelle.

gruß,
matthias

von Peter Mahler (Gast)


Lesenswert?

Hallo


Zum Thema CAN-Controller :

Bei Conrad bekommst du den PIC18FX48/PIC18FX58/ mit CAN für 7-12 Öre.
Aber auch an einen AVR mit Businterface ist es kein Problem einen
SJA1000-Chip anzuschliessen, beide verfügen über das selbe
gemultiplexte Bus-Interface. Der SJA1000 ist der mit Abstand am meisten
verwendete CAN-Controller (...zumindest von Hobbyisten), entsprechend
gibt es viel Doku und Erfahrung im Netz.
Bei Elektronikladen gibt es vorgefertigte Module (CANDIP) mit Mega162 +
SJA1000 + CAN-Transceiver zum Preis von 70.- (+Mwst.), das ist zwar
schon ordentlich über dem Preis der Bauteile, spart dir aber Zeit beim
Zusammenbau der Komponenten.


Was deine Slaves angeht, gab es vor Jahren mal sogenannte
SLIO-CAN-Controller(82C150). Das sind Chips, die über I/O verfügen und
direkt am CAN-Bus betrieben werden können, ohne dass eine Programm
darauf läuft ähnlich den I2C-Teilen PCF8574,... Leider wurden diese
abgekündigt und sind nur noch als Auslauftypen verfügbar. Bei Phytec
www.phytec.de sind jedoch entsprechende Controller-Module zu
erträglichen Preisen verfügbar.


Für den PC kann man sich das ganze ebenfalls selbst bauen
unter
   http://private.addcom.de/horo/can200/
gibt es ein Minimal-Projekt für einen CAN-Bus Interface am
Parallel-Port. Das lässt sich im Zweifelsfall noch fliegend Verdrahten.


Gruss,

Peter

von Thomas Leitner (Gast)


Lesenswert?

Hi

Danke für die Antworten.
Habe jetzt noch ein bisschen nach Infos gewühlt und auch einiges
gelesen.
Hätte ich gleich nur nach dem Bussystem gesucht, hätte ich
wahrscheinlich gar nicht gepostet, weil es hier eh schon was gibt.
http://www.mikrocontroller.net/forum/read-1-66019.html
Ursprünglich hätte ich das ganze nur mit einem 79 IO-Pin AVR gedacht,
ohne dem ganzen Bus-Zugs, weil ich das sowieso zentral im Schaltkasten
steuere. (Vorher eigentlich statt dem MC nur ne Steckplatine)
Aber wäre dann eben nicht so einfach erweiterbar.
Werde das ganze jetzt mit CAN probieren, dabei aus Platzgründen nur die
Aktoren in den Schrank im Keller packen, und die Steuerung samt dem PC
2m oberhalb in einen Kasten im EG. Benötige dann dafür praktischerweise
nur EINE 5V-Stromquelle.

Eines würde mich aber noch interessieren:
In meiner Hütte würde ich von Taster bis Schaltkasten eine Kabellänge
von maximal 12m erreichen.
Ursprünglich wollte ich nur an die Steckdosen 230V-Leitungen haben und
Lampen und Taster alle mit 12V oder 24V oder so betreiben.
Antwort des Elektrikers war aber, dass durch den Spannungsabfall die
Leitungen zur Antenne werden. Und Leute mit Herzschrittmacher die Hütte
nicht lebend verlassen würden (Wäre aber auch kein Problem, häng ich
eben ein Warnschildchen vor die Tür ;)  ).
Wenn ich da an meine 9V Leitungen denke, die ich früher kreuz und quer
durch mein Zimmer liegen hatte, dann müsste ich schon strahlen.
Also geglaubt hab ich dem nur, das die 12V Verbraucher (Lampen) zu
wenig Saft bekommen würden.
Aber die Taster hätte ich doch sicher auch mit 12V machen können,
oder?
(Aber da 12V + 230V nicht in einem gemeinsamen Rohr sein dürfen, und es
wegen der Installation und Hüttenkonstruktion nicht trennbar ist,  ist
jetzt sowieso alles 230V..)

mfg Leiti

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.