Forum: Mikrocontroller und Digitale Elektronik Controller an Hausnetz spielt Scheibe


von Dshing S. (dshing)


Angehängte Dateien:

Lesenswert?

Hi,
ich brauche mal wieder eure Hilfe.
Ich hab mir einen Controller gebaut, der anhand von ein paar 
Sensorwerten, Eingabe befehlen und der Uhrzeit/Datum ein paar Lampen, 
Pumpen und andere Geräte steuert.
Der Controller selbst funktioniert an sich eigentlich auch.

Das Problem ist, dass  wenn man ein Gerät ohne Schuko(bisher zumindest 
nur bei solchen beobachtet) in die Steckdose steckt der Controller 
irgendwelche Befehle ausführt, die er gar nicht soll. Die Befehle sind 
völlig wahllos und reichen von dem Einschalten einer Lampe, bis hin zu 
beliebig rhythmischen Schaltmustern, die eigentlich niemals von den 
vorgegebenen Programmen ausgeführt werden könnten. Da die Pumpen nun 
alle keinen Schutzkontakt haben und über die 230V Hausstromleitung 
versorgt werden stürzt der Controller sich regelmäßig selbst ins 
Delirium.
Es gibt eine Häufigkeitsverteilung der Ausfälle, wenn man z.B. eine 
bestimmte Pumpe an der Relaisleiste schalten lässt, oder per Hand 
einsteckt, dann ist i.d.R. spätestens beim zweiten mal Happyhoure. Wenn 
man eine X-beliebige Schreibtischlampe irgendwo im Zimmer einsteckt, 
dann ist nach dem ca. 15ten mal Schluss. Wenn man aber dieselbe 
Schreibtischlampe in einem anderen Zimmer des Hauses einsteckt 
(Verlängerungsschnur aus einem anderen Zimmer reicht auch schon), dann 
passiert nichts.

Ich hab mal den Schaltplan der Spannungsversorgung und der Schaltleisten 
eingegeben, da ich vermute, dass hier das Problem liegen muss.
Ich hab es bereits mal ohne Relaisleiste und ohne externe Sensoren 
versucht (komplett vom Netz und dem Controller getrennt) aber das hat 
auch nichts gebracht.

Auf den Bildern ist der Controller zusehen, ohne externe Sensoren und 
Aktoren. Man kann leider nicht viel erkennen, aber für einen groben 
Eindruck reicht es denke ich.
Zum Controller selbst: Es sind drei µC, die mittels UART und SPI/USI 
Informationen mit einander austauschen, anhand der Informationen werden 
dann gegebenenfalls Aktionen eingeleitet.

Da ich so was leider nie gelernt habe und es nur Hobby mäßig mache, 
entschuldigt bitte falls ich essentielle Informationen vergessen habe.
Ich bin echt Ratlos woran das liegen könnte :(

Fotos:
http://www.abload.de/img/_8280727u0ra7.jpg
http://www.abload.de/img/_8280728prpxw.jpg
http://www.abload.de/img/_8280729nsq8p.jpg
http://www.abload.de/img/_82807333ir1i.jpg
http://www.abload.de/img/_8280734zroll.jpg

von Markus -. (mrmccrash)


Lesenswert?

Hast du an den Controllern Abblock-Kondensatoren?

Hier: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
findest du etwas weiter unten einen Schaltplan, in dem alle wichtigen 
Teile eingezeichnet sind. Wenn (abgesehen von dem Quarzoszillator) etwas 
davon bei dir fehlt, dann ist das ganz normal, dass die Controller 
verrückt spielen.

Abblock-Kondensatoren so dicht an die Versorgungspins der Controller, 
wie möglich, also auf Lochraster direkt an den Sockel ran!

Abgesehen davon möchten die beiden Spannungsregler ebenfalls jeweils 
2x100nF Keramik (X7R) am Eingang nach Masse und am Ausgang nach Masse, 
so nah am Regler wie möglich.

Wenn du das gemacht hast, dann können wir weiter über mögliche Probleme 
reden.

_.-=: MFG :=-._

von Wilhelm F. (Gast)


Lesenswert?

Die Controllerplatine darf überhaupt keinen Bezug zur Erde haben. 
Stichwort: Schuko. Dann sollte es gehen.

Aktuell habe ich gerade ein µC-Board hier liegen, mit dem 8051-er 
80C535, der ein Goldcap gepuffertes RAM als Programmausführungsspeicher 
hat. Früher war ein NiCd-Akku drauf, der auf der Platine die Chemie-Pest 
mit Zerstörung verbreitete. Gestern beobachtete ich bei fort 
schreitender Batterieentleerung, daß er plötzlich stoppte. Etwa bei 
4,35V. Auf dem Board befindet sich ein Reset-Baustein, aber die dumme 
Sache ist, daß der Baustein im Reset die Batterie nur halb so stark 
belastet, und die Ein- und Ausschaltungen dann schwingen. Die 
Batteriespannung kommt dann wieder hoch. Auf einmal unbeachtet lief der 
plötzlich in einem Programm, was ich einen Tag vorher ins RAM lud, und 
ab Adresse 0x1000 im RAM beginnt. Wie kommt der plötzlich dort hin? Das 
RAM ist so am Bus gemappt. 0x1000 ist die erste Adresse über dem 
Monitor-EPROM im RAM, welches im Code-Bereich liegt. Komisch.

Ich schickte den µC allerdings nicht bei Unterspannung in den 
Power-Down-Mode, so aufwändig ist das Board nicht. Die Unterspannung 
hätte ein externer Baustein signalisieren müssen, oder der ADC mit 
geeigneter äußerer Beschaltung. Z.B. Band-Gap-Referenz. Der jetzige 
Baustein erzeugt nur einen Reset, der die Batteriespannung wieder 
wachsen läßt. Ein Teufelskreis. ;-) OK, es ist nur Spielzeug. Für 
seriöse Dinge denke ich mir auch anderes aus.

So ein Netzwerk aus 3 µC im Ringnetz habe ich hier auch. Die sind 
glücklicherweise über LWL am UART gekoppelt, haben mit elektrischen 
Potentialen gar nichts zu tun.

von (prx) A. K. (prx)


Lesenswert?

Wenn die Gleichrichterdioden wirklich wie im Bild geschaltet sind, dann 
wundert mich eher dass überhaupt was passiert, ausser rauchen.

8000µF hinter dem 7805 wirken "leicht" übertrieben.

von (prx) A. K. (prx)


Lesenswert?

So ganz ohne Einblick ins Grünzeug wirds schwierig.

von Ingo (Gast)


Lesenswert?

Du hast keine Basisvorwiderstände für die PNP Transistoren? Nicht gut!!!

Ingo

von (prx) A. K. (prx)


Lesenswert?

Ingo schrieb:
> Du hast keine Basisvorwiderstände für die PNP Transistoren? Nicht gut!!!

Wieso? In Kollektorschaltung sind die unnötig.
Nur kriegen die Relais so lediglich 4,3V ab.

von Wilhelm F. (Gast)


Lesenswert?

A. K. schrieb:

> Wenn die Gleichrichterdioden wirklich wie im Bild geschaltet sind, dann
> wundert mich eher dass überhaupt was passiert, ausser rauchen.
>
> 8000µF hinter dem 7805 wirken "leicht" übertrieben.

Die Schaltung ist sowas, wie ein Pferd von hinten aufgezäumt. Hab ich so 
noch nie gesehen. ;-)

von Ingo (Gast)


Lesenswert?

Oops, habe zu flüchtig geguckt. Nichts für Ungut

von Mike J. (emjey)


Lesenswert?

Für sowas würde ich dann schon eine Platine ätzen.
Eine mit den Controllern und I/O-Pins und eine mit den Relais.

Wenn die Relais schalten können Störungen auftreten, am besten du 
entkoppelst die +5V Versorgungsspannung von der Relais-Platine.

Zum planen einer Lochraster-Platine eignet sich BlackBoard.
Beitrag "Open Source Lochraster Layout"

von Dshing S. (dshing)


Lesenswert?

Hi,
danke schon mal für die vielen Hinweise.

Ich hab jetzt vor jeden µC und an den Spannungswandlern so dicht es nur 
ging je einen 100µF Kondensator geschaltet. Leider ohne Konsequenzen.

Ich hab jetzt auch mal anstatt eines Trafos einen Akku als Stromquelle 
genommen, leider auch ohne irgendwelche Konsequenzen.

Wenn ich die Masse nicht auf Erde lege, dann funktionieren die 
Berührungssensoren nicht, aber auch wenn ich die Weglasse und die Masse 
nicht auf Erde lege, bleibt alles beim alten.

Der Gleichrichter ist in meinem Schaltplan falsch herum, das hab ich 
übersehen. Ich zeichne normaler weise nie Schaltpläne, ich bitte das zu 
entschuldigen.

Die 8000µF hab dran wegen ein paar Servos, zum Ausgleich wenn es mal 
etwas schwerer wird.

Also alles in allem ist der Controller zu Testzwecken komplett vom 
Hausnetz getrennt, sowie von den Relais und auch vom Schuko.
Ich würde euch ja den Schaltplan gerne zeigen, aber ich brauch dafür 
bestimmt einen Monat um den zu machen.

von R. F. (rfr)


Lesenswert?

Hallo,

was passiert auf den Sensorleitungen? Leider fehlt der entsprechende 
Ausschnitt völlig.

Um was für Sensoren handelt es sich?
Könntest du den Teil des Schaltplanes mal posten?
Und die SW, welche die Sensorsignale bearbeitet, auch?

Gruss

Robert

von Markus -. (mrmccrash)


Lesenswert?

Dshing Sung schrieb:
> Ich hab jetzt vor jeden µC und an den Spannungswandlern so dicht es nur
> ging je einen 100µF Kondensator geschaltet. Leider ohne Konsequenzen.

Du meinst 100 nF oder?

_.-=: MFG :=-._

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> spielt Scheibe

diese Redewendung ist mir nicht bekannt. Was soll das bedeuten??

von Dshing S. (dshing)


Angehängte Dateien:

Lesenswert?

Also so ist die jetzt noch relevante Schaltung, ein paar LEDs und 
Ausgänge hab ich weggelassen(sind aber nicht anders beschaltet), sowie 
die Siebensegment anzeige und den Quarz.
Die Relaisleiste ist nicht am 230V Netz, es sind keine Geräte in der 
Leiste und die Erde liegt vorübergehend auch nicht auf Masse und der 
Strom kommt aus einem Akku.
Es ist besser als vorher, aber manchmal flippt er dennoch aus.
Also kann es noch nur sein, dass die Leitungen irgendwie als Antennen 
wirken, denn ich bin ja nirgends mehr auch nur ansatzweise an der 230V 
Leitung.

Die 100µF sollten nF werden, aber da ist das µ wohl umgefallen und hat 
sich den Kopf gestoßen :)

von R. F. (rfr)


Lesenswert?

Vor die Sensoren sollte noch ein RC.

Wie wird die Abfrage der Sensoren gemacht?
Was machen die Interrupts ?

Gruss

Robert

von (prx) A. K. (prx)


Lesenswert?

Viel Spass mit LED1.

Q6 ist wohl auch eher kreativ gezeichnet, oder? Lass mich raten: das ist 
ein N-MOSFET, kein N-JFET 2N4416? So angesteuert fungiert der nämlich 
nur als Kurzschlussdiode. Dessen induktive Last hat hoffentlich eine 
Freilaufdiode.

Dank Grünzeug statt ICs kann man nur raten, was welcher Pin ist, aber 
AREF könnte hier unsinnigerweise gegroundet sein.

von spontan (Gast)


Lesenswert?

Die ganze Leitungsführung kommt mir doch sehr fehlerträchtig vor.

Ein Motor wird an die Conroller-Masse geschaltet, die Ausgänge der µC 
werden über mehrere Meter an die Schalttransistoren geführt.

Ist es wirklich so, das ein Controller-Ausgang über mehrere Meter an die 
Basis eines Transistors führt?

Es ist doch wesentlich schlauer und störunempfindlicher, wenn der 
Schalttransistor in der Nähe (gleiche Platine) wie der µC sitzt, nur das 
Relais weiter entfernt sitzt.

Optimal wäre das Relais und den Schalttransistor über kurze Wege 
anzubinden, die Last über den langen Weg.

5 Volt-Relais sind nicht immer das optimale, schon gar nicht, wenn die 
Verorgungsspannung des µC dadurch über mehrere Meter im ganzen Raum 
verteilt wird.

von Peter D. (peda)


Lesenswert?

Relaiskontakte für 230V brauchen einen Snubber:

http://de.wikipedia.org/wiki/Snubber

Allen Eingängen zum MC würde ich einen >=10k Schutzwiderstand 
spendieren. Noch besser sind Optokoppler.
Und die Eingänge natürlich in SW entprellen (4-fach Abtastung), damit 
Störungen nicht ungewollt was auslösen.


Peter

von Dshing S. (dshing)


Lesenswert?

Ja ich hätte auch gerne anstatt der grünen Flecken die entsprechenden µC
in die Schaltung gezeichnet, aber genau die gibt es leider nicht, und
wenn ich jetzt andere nehme kommt es auf das gleiche raus. Das gleiche
bei dem MOSFET, das ist ein IRLR024N mit Freilaufdiode. Wie gesagt,
funktionieren im primitiven Sinne funktioniert es ja, also der Motor
Läuft die LED-leist(Symbolisiert durch eine LED, weil ich fertig werden
wollte), die Sensoren ect.

Die Interrupts: Einer zählt die Zeit für die Uhr(122/s), einer guckt
nach dem TSOP ob ein IR- Signal erkannt wird(15000/s), einer pulst die
Servosteuerleitung(3900/s) und zwei unterbrechen bei empfangenden
Zeichen am UART.
Die Sensoren werden mit ADC oder einfachen I/O Pins ausgelesen, aber nur
ein paar mal pro Sekunde, oder noch seltener (Ausgenommen der TSOP).

Ich kann ja versuchen die Pins an den Controllern noch zu beschriften,
aber erst mal würde ich gerne das mit den Snubbern, bzw. mit den
RC-Glied ausprobieren, bin mir aber unsicher wo genau und in in welcher
Dimension das sein müsste.

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.