Hallo, Ich habe eine Schaltung zum beleuchten des Kellerflurs aufgebeut.
Sie soll über einen Bewegungsmelder das Licht (vorerst mal nur weis)
eines RGBW Led Streifens einschalten.
Die Schaltung hat auf dem Steckbrett einwandfrei funktioniert, das heist
das die Led's an und aus gingen wenn sie sollten.
In Keller im eingebeuten oder auch im offenen Testbetrieb (unter dem
Zählerschrank) gingen die Led's nicht mehr zuverlässig aus sondern
blieben eingeschaltet obwohl sie laut Programm ausgehen müssten.
Meine vermutung ist das ich noch ein paar Kondensatoren einlöten muss.
Die frage ist nur wo und wie groß.
Kann mir mal jemend bei der Fehlersuche helfen?
MfG Fritz
hier mal das aktuelle Programm:
1
/*Steuerprogramm füuer die Kellerbeleuchtung mit LED Strip
2
incl. ueberwachung der Hintertuer und Anzeige durch
3
Lichtsignat
4
*/
5
//Initialisieren der Ledpins fuer PWM
6
intledGruen=3;
7
intledGelb=5;
8
intledBlau=6;
9
intledWeis=9;
10
intfadeSprung=5;
11
//Initial ledhelligkeit
12
intledw=0;
13
intledg=0;
14
intledr=0;
15
intledb=0;
16
17
//sonstige Sensoren
18
//int tuerGeschlossen = 4;
19
//int tuerVerschlossen = 7;
20
21
//Bewegungsmelder
22
intbewHinten=8;
23
intbewVorn=12;
24
intsensorHinten=digitalRead(bewHinten);
25
intsensorVorn=digitalRead(bewVorn);
26
27
//Zeitsteuerung
28
unsignedlongpreviusMillis=0;
29
unsignedlonginterval=10000;//zeit in Millisekunden
Wozu überhaupt die Optokoppler?
Hast Du mal die Signale am Arduino gemessen? Passen die zum Programm?
Was sagen die Ausgänge der Optokoppler? Passen die zu den Eingängen?
Zeig mal ein Bild der Platine.
...
Ich würde prinzipiell jedem IC einen 100 nF Kondensator spendieren, und
für die gesamte Platine einmalig einen Elko mit 100-470 µF verwenden...
Der Optokoppler macht wenig Sinn, da Du keine galvanische Trennung
erreichst (es sind ja die selben 5 V)! Mit 100 Ohm zwischen Portpin und
dem Gate vom FET sollte der µC selbst dann nicht kaputtgehen, falls der
FET mal durchbrennt - da der FET dann auch schneller durchschaltet hält
er wahrscheinlich sogar länger ;-)
hier mal ein Foto der Schaltung.
als FET hab ich IRF3205 verbaut. Ich weis das der Opokopler hier niht
unbedingt Sinn macht weil alles aus dem gleichen Netzteil gespeist wird.
Das ich hab den Plan gezeichnet bevor ich den FET hatte. Außerdem hatte
ich keinen passenden Footprint gefunden und musste erst einen anpassen.
R6, R7, R10, R11 sind Strombegrenzungen des Optokoplers und Gates des
Fet.
Die waren so vorgesehen. (siehe:
http://blog.simtronyx.de/arduino-rgb-led-strip-steuerung-mit-mosfets-und-optokopplern-teil-1-die-hardware/)
Wo muss ich den am besten welche Kondensatoren hinzufügen? Die Schaltung
reagiert so empfindlich das ich schon aufpassen muss wo ich meine Finger
hin mache damit die Fet's nicht durch schalten. Das ganze wird gespeist
über das 12V Netzteil was bei dem LED Streifen dabei war.
ich werde mal einen größeren Elko hinter die Hohlbuchse löten weil die
Probleme anscheinend über die Stromversorgung kommen (vermute ich mal).
Als Leiterbahnbreite hab ich 0,4mm mit 0,4mm Abstand gewählt damit ich
die Platine vernünftig mit der Tonertransfer Methode fertigen konnte.
Fritz B. schrieb:> Das ganze wird gespeist> über das 12V Netzteil> was bei dem LED Streifen dabei war.
Hast Du zum Steckbrett-Test auch dieses Netzteil benutzt oder ein
gescheites Labornetzteil? Entweder sammelst Du schon Müll über Dein
Netzteil ein oder der Keller-Aufbau hat durch lange Drähte noch weiteren
Müll eingesammelt?
> Ich weis das der Opokopler hier nicht unbedingt Sinn macht> weil alles aus dem gleichen Netzteil gespeist wird.
Das ist die falsche Begründung. Er macht keinen Sinn, weil alle
Spannungen ein gemeinsames GND Potential haben. Das kannst duch auch mit
mehreren Netzteilen haben und es ist üblicherweise der Fall. Nicht
gemeinsames GND Potential wäre ein Sonderfall.
Wie bereits gesagt sollte jedes IC einen 100nF Kondensator zwischen VCC
und GND bekommen, und zwar so nahe am IC, wie möglich.
Dann halte dich an die Infos des Datenblattes vom Spannungsregler. Da
gehören mehrere Kondensatoren hin (egal, welchen du verwendest).
Und alle längeren leitungen sollten durch einen Tiefpass vor Einstreuung
von Radiowellen beschützt werden. Lies dich zum Thema EMV ein.
1
100 Ohm
2
Kabel o----[===]-----+---------o Eingang des µC
3
|
4
=== 100nF
5
|
6
|
7
kabel o--------------+---------o GND
Dann solltest du dafür sorgen, dass der I2C Bus nicht mit langen
leitungen verwendet wird. Der Bus eignet sich nur, für Verkabelungen
innerhalb eines Gerätes. Mehr als 50cm sind sehr bedenklich.
Bei I2C kannst du natürlich keinen 100nF Kondensator nehmen, wegen der
Frequenzen. Und da die Pins von µC Bidirektional sind, musst du den
Widerstand auf die andere Seite legen.
Ich sehe gerade, dass dein Spannungsregler Teil des Arduino Clones ist.
Prüfe mal, ob der überhaupt genug Strom für die externen Lasten liefern
kann, insbesondere die 4 Optokoppler.
Du hast wahrscheinlich ein EMV-Problem.
Mit analogWrite betreibst du deine LEDs geschaltet (PWM). Das verursacht
Oberwellen in der 12 V Versorgungsspannung. Die solltest du daher in der
Nähe der MOSFETs mit nem 100 nF und einem 470 µF Kondensator abblocken.
Der Arduino hat eigentlich alle Kondensatoren drauf, die er braucht.
Dann solltest du erstmal ein einfaches Testprogramm auf den Arduino
schieben mit dem du via Serieller Monitor einfach den analogWrite
ansprichst. Also wenn du 0 schreibst weiße LEDs aus, wenn du 127
schreibst bei 50 % usw.
Dann kannst du testen ob die LEDs bei 0 auch aus gehen, wenn nicht tut
die Endstufe mit dem Optokopllern und Mosfets nicht das was sie soll.
Hast du ein Oszilloskop zum Messen?
Die Endstufe von http://blog.simtronyx.de/ ist ziemlich, naja,
bescheiden. Die Optokoppler haben hier keinen Sinn und eignen sich auch
eigentlich nicht um MOSFETs anzusteuern. Die Gatespannung ist mit 6 V
(wenn denn die Optokoppler voll durchsteuern) auch ziemlich knapp (sind
ja keine Logic-Level Mosfets).
Als Alternative zu der Endstufe würde ich IRLU024N vorschlagen, die
kannst du einfach mit einem 270 Ohm Widerstand an die Ausgänge vom
Arduino hängen, wenn du mit weniger als 12 A aus kommst.
Mfg Bimbo385
Fritz B. schrieb:> hier mal ein Foto der Schaltung.
Warum hast du das so verquer aufgebaut - die Endstufen sollten in die
Nähe der Ausgangsbuchsen, deine Pegelwandler (Optokoppler) zwischen
Endstufen und MC und das ganze so logisch aufgebaut, das vor allem die
leistungsführenden Leiterbahnen kurz und dick sind.
Mit den von MaWin schon angesprochenen R6,R7, R9 und R11 baust du einen
Spannungsteiler mit den Pulldowns und verschenkst damit den Vorteil der
hohen Gatespannung, die du eigentlich aus den 12V gewinnen wolltest.
Diese Widerstände solltest du also durch sehr viel kleinere (vllt. so
100-330 Ohm) ersetzen, um die Gates bei leitendem Optokoppler voll
durchzusteuern. Dann kannst du auch die IRF3205 nehmen.
Fritz B. schrieb:> als FET hab ich IRF3205 verbaut.
Wenn man wenigstens vorher mal in Die Datenblätter der Bauteile gucken
würde, die man verkaut, findet man
RDS(on) Static Drain-to-Source On-Resistance ––– ––– 8.0 mΩ VGS = 10V,
ID = 62A
die benötigen also 10V Ansteuerspannung. Du hast 12V, aber einen 10k/10k
Spannungsteiler auf 6V. Natürlich geht das nicht bzw. geht nur
zufälligerweise manchmal.
> http://blog.simtronyx.de/arduino-rgb-led-strip-steuerung-mit-mosfets-und-optokopplern-teil-1-die-hardware/)
Der Schaltplanvorschlag ist einfach Humbug.
Von Laien für Laien... ...aber Hauptsache schön bunt und als Video für
die Teletubbigeneration.
Lass die 10k in Reihe zum Optokopplerphototransistor weg.
Fritz B. schrieb:> Das ganze wird gespeist> über das 12V Netzteil was bei dem LED Streifen dabei war.
Kann ein Problem sein, die müssen nicht ebaonders gut sein.
> ich werde mal einen größeren Elko hinter die Hohlbuchse löten weil die> Probleme anscheinend über die Stromversorgung kommen
Kann sinnvoll sein.