Hallo *.*
Ich stehe wieder mal auf dem Schlauch. Ich möchte n LEDS am Ausgang
Arduino Nano P10 dimmen. Hierzu habe ich folgende Schaltung gezeichnet,
nur den relevanten Teil davon. Probleme macht der orange eingekreiste
Bereich:
Ausgangslage:
- Wenn ich nur eine LED mit R direkt an P10 anschliesse, kann ich
wunderbar dimmen (0 - 5V).
- Die LEDS müssen highside geschalten werden, da in der Anwendung die
Masse fix an den Kathoden verbaut ist.
- Es sind bis zu 70 LEDS verbaut, wobei jede mit max 10mA betrieben
wird.
- Die Quelle ist ein LM2940, max 1A, er ist sowohl die Quelle für den
Arduino als auch für die LED Last.
Problem:
Mit einer LED klappt alles wunderbar (dimmen), nur nicht am Ausgang Q1.
Problem dürfte sein, dass einer der Transistoren bereits voll austeuert,
mangels korrekter Berechnung der Widerstände.
Hat jemand eine Idee, oder soll ich ein FET nehmen?
Q1 ist BD138, sorry die Bezeichnung fehlt leider.
Gruss, Philipp
4.7 Ohm ? Nicht doch eher 4k7 ?
600mA schalten wollen bei 5V mit 1k Basisvorwiderstand, also 5mA
Basisstrom ? Das wird nichts, dein Transistor hat keine Stromverstärkung
von 120, sondern eher von 20, braucht also 30mA Basisstrom also 130 Ohm
Widerstand. Die 30mA schaltet der Q2 dann mit 4k7 Basisvorwiderstand.
Besser wäre nur eine Stromverstärkung von 10 zu fordern, also 68 Ohm an
der Basis von Q1 und 680 Ohm vor Q2.
Hallo,
wie willst Du aus dem AVR-Pin mit fast 1A Strom bekommen???
5V High-Pegel - 0,7V Ube für Q2 sind 4,3V, macht bei 4,7 Ohm fast 1A...
Dafür willst Du Q1 mit (5V - 0,7V Ube - 0,3V Uce von Q2) / 1k mit 4mA
Basistrom für 600 mA Last schnell in die Sättigung bekommen?
600/1 = 100 * 3 (Übersteuerung) wäre eine Stromvertärkung von 300 für Q1
bei dem Laststrom. Rechne eher mit 1/10tel davon, also 30.
Macht dann ca. 60mA nötigen Basisstrom und damit 4V/60mA ca. 56 Ohm oder
weniger.
Die 4,7 Ohm auf 470 Ohm vergrößern.
Und dann über einen LogicLevel-MosFET für Q1 nachdenken.
Da hat jemand schneller gerechnet...
Gruß aus Berlin
Michael
Ja, natürlich 4k7, habe den Schaltplan überarbeitet. Hab' hier leider
nix anderes als das Fritzing Zeugs.
@Michael, danke, meinst Du das so, wie gezeichnet?
Ich muss dazu noch sagen, dass ich ganz bewusst nicht von einer
Konstantstromregelung spreche, weil sowohl bei 10 oder 70 LEDS dieselbe
Funktion erlangt werden soll, was das Dimmen anbelangt.
Beispiel:
Labornetzteil, begrenzt auf 1A. Ich kann n LEDS anschliessen und die
über den Spannungsregler dimmen, solange die nicht (gesamt) mehr als
1A ziehen. Der Strom stellt sich dabei an der LED ein. Ich hoffe ich
habe mich verständlich ausgedrückt.
Diese Funktionalität möchte ich über der AR realisieren. Eine LED zieht
dabei nie mehr als 10mA, wobei die mit max. 20mA betrieben werden könnte
(weil in der Anwendung sind über 10mA zu hell).
@Amiga: Danke, es waren natürlich 4k7, wobei das auch falsch ist. Ich
hoffe die labberkopische Überarbeitung passt besser.
Stefanus F. schrieb:>> Mit einer LED klappt alles wunderbar (dimmen), nur nicht am Ausgang Q1.>> Was macht denn der Ausgang von Q1 anstelle des erwarteten Verhaltens?
Wie folgt:
Der Code dimmt probehalber im Loop von 0 - 255, resp, 0-5V am Ausgang.
Mit einer LED geht das.
Am Ausgang von Q1 stelle ich folgendes fest: bei low = leuchtet nicht,
irgenwann dazwischen steuert der voll durch, und die LED leuchtet fix.
Also zusammengefasst die blinkt einfach nur.
68Ohm an die basis von Q1 und den R6 mit 220 Ohm direkt auf dessen
BE-Strecke, also nach rechts rücken auf die andere Seite von R6.
480Hz oder 980 an D10? Wie schmal (in µs) ist der kürzeste Impuls? Der
Transistor (beide!) muss sicher und schnell leiten UND sperren. Sperren
in so kurzer Zeit ist meist das Problem, weil die Basis nicht schnell
genug ausgeräumt bekommst. Stromverstärkung wurde ja schon genannt. Den
4A-Typ verwenden. Da sinkt die Stromverstärkung bei 600mA nicht ganz so
arg.
Evtl. geht ein BD438 besser...
Philipp G. schrieb:>> Was macht denn der Ausgang von Q1 anstelle des erwarteten Verhaltens?> Wie folgt:> Der Code dimmt probehalber im Loop von 0 - 255, resp, 0-5V am Ausgang.> Mit einer LED geht das.
Die LED hast du an einen anderen Ausgang als D10 angeschlossen, richtig?
> Am Ausgang von Q1 stelle ich folgendes fest: bei low = leuchtet nicht,> irgenwann dazwischen steuert der voll durch, und die LED leuchtet fix.> Also zusammengefasst die blinkt einfach nur.
Dann hast du mit Sicherheit den Ausgang nicht als PWM Pin konfiguriert.
Digitale Ausgänge verhalten sich nämlich genau so, wenn man mit
analogWrite darauf zugreift:
Auszug aus wiring_analog.c:
1
// Right now, PWM output only works on the pins with
2
// hardware support. These are defined in the appropriate
3
// pins_*.c file. For the rest of the pins, we default
4
// to digital output.
5
voidanalogWrite(uint8_tpin,intval)
6
{
7
// We need to make sure the PWM output is enabled for those pins
8
// that support it, as we turn it off when digitally reading or
9
// writing with them. Also, make sure the pin is in output mode
10
// for consistenty with Wiring, which doesn't require a pinMode
11
// call for the analog output pins.
12
pinMode(pin,OUTPUT);
13
if(val==0)
14
{
15
digitalWrite(pin,LOW);
16
}
17
elseif(val==255)
18
{
19
digitalWrite(pin,HIGH);
20
}
21
else
22
{
23
...
24
PWMTimerbenutzen
25
}
Es wird Zeit dass du deinen Quelltext zeigst und auch einen Plan, wie du
die LEDs angeschlossen hast.
4ms oder 4000 us, der Dimmeffekt soll für das Auge angenehm erscheinen,
als nix Wildes gefordert. Ich überarbeite dann mal den Plan.
@stefan:
Doch, die LED ist an P10 und funzt wunderbar:
> Doch, die LED ist an P10 und funzt wunderbar:
Ich sehe in deinem Schaltplan kein P10.
Dein Quelltext ist unvollständig, ich kann nicht sehen, welche Werte
iPwrPinOut und iValue haben.
Hast du das richtige Arduino Modell in der IDE eingestellt? Hast du eine
Library eingebunden, die diesen Pin vielleicht anders verwendet?
Stefanus F. schrieb:>> Doch, die LED ist an P10 und funzt wunderbar:>> Ich sehe in deinem Schaltplan kein P10.>> Dein Quelltext ist unvollständig, ich kann nicht sehen, was iPwrPinOut> und iValue ist.
P10 bezieht sich auf Pin 10 vom Ardu, korrekter müsste ich D10
schreiben. Eine LED an D10 mit Vor R funzt wunderbar.
1
// declarations
2
#include<EEPROM.h>
3
constintiPwrPinOut=10;
4
constintiIlluMax=255;//
5
constintiIlluMin=1;//
6
constintiIncreaseStep=10;//
7
constintiBrightnessIGNDefault=120;
8
constintiBrightnessIlluDefault=15;
9
10
intiBrightnessIGN=0;// default brightness when ignition is on
11
intiBrightnessIllu=0;// default brighness illuminiation switch is on
Nochmal frage ich nicht nach dem GANZEN Quelltext. Mit diesen Fragmenten
ist nur eine Aussage möglich: Es sollte funktionieren.
Tut es aber nicht, also ist gezieltes Vorgehen angesagt.
Reduziere dein Programm auf ein Minimum, womit das Problem
nachvollziehbar und messbar wird.
1
voidsetup()
2
{
3
pinMode(10,OUTPUT);
4
digitalWrite(10,HIGH);
5
}
6
7
voidloop()
8
{
9
}
Und jetzt misst du die Spannungen an D10, am Kollektor von Q2 und am
Kollektor von Q1.
1
voidsetup()
2
{
3
pinMode(10,OUTPUT);
4
digitalWrite(10,LOW);
5
}
6
7
voidloop()
8
{
9
}
Messe erneut die Spannungen an D10, am Kollektor von Q2 und am Kollektor
von Q1.
Teile uns die Messergebnisse mit.
ÄXl schrieb:> der, in der Nachricht eingebette, Quellcode lässt sich nicht> kompilieren.> Sorry - ich bin da überfragt.
Das ist korrekt, funktionieren tut der wunderbar aber wie gesagt die
Transistor Beschaltung nicht.
Ich habe es mal vereinfacht damit er sich kompilieren lässt:
> Das ist korrekt, funktionieren tut der wunderbar aber wie> gesagt die Transistor Beschaltung nicht.
Das kann nur ein Irrtum sein. Die "analogen" Ausgänge liefern
abwechselnd pulsieren High und Low. Demnach geht die LED an und aus. Das
hast du auch bestätigt. Also funktioniert die Schaltung.
> Stimmt der Plan?
Das habe ich Dir bereits bestätigt. Nochmal: Der Schaltplan ist in
Ordnung.
Der Fehler muss im Programm stecken.
@Stefan: Eine grüne LED mit Vorwiderstand funktioniert wunderbar an D10.
Aber meine Schaltung ist wohl grundauf falsch dimensioniert, bitte lies
hierzu die beiden Beiträge von den Michaels:
>600mA schalten wollen bei 5V mit 1k Basisvorwiderstand, also 5mA>Basisstrom ? Das wird nichts, dein Transistor hat keine Stromverstärkung>von 120, sondern eher von 20, braucht also 30mA Basisstrom also 130 Ohm
ÄXl schrieb:> weil du die Basis nicht schnell> genug ausgeräumt bekommst.
So sollte es eigentlich funktionieren, auch bei einer PWM-Frequenz bis
zu 10kHz. Noch niederohmiger brauchen die Widerstände nicht sein!
Du willst also weder den Quelltext noch die Schaltung untersuchen,
sondern lieber diskutieren.
Ich verrate Dir was: Dieses Problem kann man nicht weg diskutieren. Ich
bin raus. Bei so wenig Kooperation kann ich Dir nicht helfen.
Was traurig ist, denn diese Schaltung und das Programm sind Kinderkram.
Philipp G. schrieb:> Der Code dimmt probehalber im Loop von 0 - 255, resp, 0-5V am Ausgang.> Mit einer LED geht das.
Der Ausgang vom Arduino Nano liefert nie ein Analogsignal, auch wenn
die Funktion analogwrite() heißt. Das Signal ist immer ein PWM-Signal,
also ein Digitalsignal (entweder 0V oder 5V), mit einstellbarem
Tastverhältnis.
Ach Du grüne Neune schrieb:> Noch niederohmiger brauchen die Widerstände nicht sein!
Was soll dieser niederohmige R6?
BJTs werden mit Strom gesteuert und der kann nicht fließen, wenn Q2
sperrt.
Hallo,
Wolfgang schrieb:> Was soll dieser niederohmige R6?> BJTs werden mit Strom gesteuert und der kann nicht fließen, wenn Q2> sperrt.
er verküzt die Ausräumzeit der Basis und beschleunigt damit das
Abschalten.
Man kann auch noch einen Kondensator parallel zu r5 schalten um die
Einschaltzeit zu verkürzen.
Ob es bei der genutzen PWM-Frequenz Sinn macht?
genauso macht R7 durchaus Sinn obwohl der AVR ja aktiv Low/High
schaltet. Beim Reset und damit tristate der Pins verhindert er aber
Dreckeffekte durch Einsreuungen.
Gruß aus Berlin
Michael
Stefanus F. schrieb:> Du willst also weder den Quelltext noch die Schaltung untersuchen,> sondern lieber diskutieren.
@Stefan:
Grundsätzlich, ich schätze und respektiere Deine Meinung sehr, du bist
immer sehr hilfsbereit. Ich habe oben einen kleinen Code geliefert mit
dem sich das Problem durchaus reproduzieren lässt. Du hast aber insofern
Recht, dass ich Vorbehalte habe den gesamten Quelltext zu posten. Dies
aus dem Grund, dass dieser fast 400 Zeilen umfasst, und noch etwas
besser strukturiert werden muss. Es fehlen zum Beispiel Entprell
Routinen an den Tastern, und es wird viel mit delays gearbeitet. Die LED
an D10 funktioniert aber durchaus. Ich wollte halt vermeiden, dass dann
seitenlang am Coding diskutiert wird und das eigentliche Problem, die
Dimensionierung der Widerstände, vergessen geht. Dies mitunter aus dem
Grund, dass ich offensichtlich das nicht auf die Reihe bekomme, das
Coding schon. Dennoch Danke Stefan!
@Achdugrüneneune: Auch dir vielen Dank.
Ausblick:
Ich realisiere heute Abend die Schaltung von @grüneneune und berichte.
bis dann, Philipp
edit:
Der_Sauerläner schrieb im Beitrag #5602741:
> Wenn du ein Schematik Programm brauchst um schaltpläne zu zeichnen oder> gar Layouts...dann nutze KiCAD...ist kostenlos, Open Source...und wird> ständig gepflegt...besser als das mieserable Fritzung.
Ich weiss, habe ich zuhause. Ich darf (hier) leider nix installieren :)
Daher der dilettantische Schaltplan.
Nach lesen dieses Threads fallen mir 2 Dinge auf:
1:
Das immer wieder auftretende pinMode(iPwrPinOut, OUTPUT) ist flüssiger
als Wasser.
Überflüssig.
2.
Statt des 2 Stufigen bipolaren Treibers, würde ich einen FET einsetzen.
z.B. einen IRLML9301 oder IRLML2244
Weil gerade auf Halde, es gibt sicherlich noch mehr brauchbare Typen.
--
Philipp G. schrieb:> - Es sind bis zu 70 LEDS verbaut, wobei jede mit max 10mA betrieben> wird.
Wie werden die 10mA gewährleistet?
Philipp G. schrieb:> Stimmt das so?
R6 muss keine 220R habenn.
Ach Du grüne Neune schrieb:> So sollte es eigentlich funktionieren, auch bei einer PWM-Frequenz bis> zu 10kHz. Noch niederohmiger brauchen die Widerstände nicht sein!
Sicher nicht, sie sind schon viel zu niederohmig.
Wolfgang schrieb:> Was soll dieser niederohmige R6?
Tja, man will sich gegenseitig überbieten,
und keine Sau rechnet hier korrekt.
Michael U. schrieb:> er verküzt die Ausräumzeit der Basis und beschleunigt damit das> Abschalten.> Ob es bei der genutzen PWM-Frequenz Sinn macht?
Natürlich nicht.
> genauso macht R7 durchaus Sinn
Nö.
Michael B. schrieb:> Ach Du grüne Neune schrieb:>> So sollte es eigentlich funktionieren, auch bei einer PWM-Frequenz bis>> zu 10kHz. Noch niederohmiger brauchen die Widerstände nicht sein!>> Sicher nicht, sie sind schon viel zu niederohmig.
Jetzt geht's gegen Abend zu und Du prophezeist mir dass die grüneneune
Schaltung doch falsch ist? Wenn Du bessere Werte hast immer gerne.
Philipp G. schrieb:> Wenn Du bessere Werte hast immer gerne
Richtig gerechnet und nicht bloss geschätzt wurde in meinem ersten
Beitrag, und du hattest die ja auch übernommen.
Daß immer noch 4.7 Ohm an den Tastern sind.....
Leute, ihr diskutiert hier marginale Verbesserungen, die am Problem des
TO völlig vorbei gehen.
Seine Last geht berets AN und AUS.
Nur nicht dann, wann er es will (keine PWM erkennbar). Das könnt ihr
nicht mit Widerständen und Kondensatoren kurieren!
Stefanus F. schrieb:> Nur nicht dann, wann er es will (keine PWM erkennbar). Das könnt ihr> nicht mit Widerständen und Kondensatoren kurieren!
pff. Ich versteh' langsam nix mehr.
Stefan D10 macht PWM 490Hz.
Ich probier dann halt einfach beide Schaltungen, grüne neune und die vom
Laberkopp.
Schade ist halt dass ich nicht beurteilen kann welche davon besser
geeignet ist.
Stefanus F. schrieb:>> Nur nicht dann, wann er es will (keine PWM erkennbar). Das könnt ihr>> nicht mit Widerständen und Kondensatoren kurieren!Philipp G. schrieb:> pff. Ich versteh' langsam nix mehr.> D10 macht PWM 490Hz.
Genau das bezweifle ich.
Stefanus F. schrieb:> Was macht denn der Ausgang von Q1 anstelle des erwarteten Verhaltens?Philipp G. schrieb:> Am Ausgang von Q1 stelle ich folgendes fest:> bei low = leuchtet nicht, irgenwann dazwischen steuert> der voll durch, und die LED leuchtet fix.> Also zusammengefasst die blinkt einfach nur.
Wenn sie blinken kann, dann kann sie auch PWM darstellen.
Was ist bei den Messungen gemäß Beitrag #5602693 heraus gekommen?
Nu wie gesagt stefan, bin hier immer noch auf der Ar...t
Also ich mach das jetzt so:
Die Pläne von grüneneune und Michael drucke ich mal aus und realisiere
beide als Drahtigel.
Und für dich stefan mache ich einen mini dimming code (siehe oben) plus
ein YouTube Vid. davon.
Das halt alles frühestens um 19:00.
Bis dann.
Philipp G. schrieb:> Schade ist halt dass ich nicht beurteilen kann welche davon besser> geeignet ist.
Kannst du dir das nicht selber ausrechnen?
Was fehlt dir?
Philipp G. schrieb:> Nu wie gesagt stefan, bin hier immer noch auf der Ar...t
Ach so, das habe in der tat vergessen. Ich habe heute Urlaub.
> Und für dich stefan mache ich einen mini dimming code (siehe oben) plus> ein YouTube Vid. davon.
Eigentlich interessieren mich zuerst die Spannungspegel bei statischen
High und Low Signalen. Denn wenn die schon nicht funktionieren, ist
alles Weitere Zeitverschwendung.
Arduino Fanboy D. schrieb:> Philipp G. schrieb:>> Schade ist halt dass ich nicht beurteilen kann welche davon besser>> geeignet ist.>> Kannst du dir das nicht selber ausrechnen?> Was fehlt dir?
Wenn ich das hier lese:
Michael B. schrieb:> Tja, man will sich gegenseitig überbieten,> und keine Sau rechnet hier korrekt.>> Michael U. schrieb:>> er verküzt die Ausräumzeit der Basis und beschleunigt damit das>> Abschalten.>> Ob es bei der genutzen PWM-Frequenz Sinn macht?>> Natürlich nicht.>>> genauso macht R7 durchaus Sinn>> Nö.
scheinen sich die beiden Herren ja auch nicht einig zu sein, und in
Sachen Analogtechnik räume ich mal beiden eine recht hohe Fachkompetenz
ein.
Ach was schrieb:> Das ist egal. Die taugen beide nichts.
Dieser User scheint hingegen eine klare Meinung zu haben.
Also du siehst, dann muss ich gar nicht anfangen.
So.
Ich habe die Labberkopp Schaltung als Drahtigel direkt an den Ardu
gehängt, für das sie nicht funktioniert geht sie ganz gut;)
Beschreibung:
Ich habe zwei Relais zwecks galvanischer Trennung mit denen ich die LEDS
in unterschiedlichen Helligkeitsstufen ansteuere. Beim Wechsel wird je
nach dem auf ein anderes Level gedimmt.
Vid: Testled hängt am BD138, el. Last mit 500mA auch daran. Wenn ich die
Last auf 100mA drossle, ist die Helligkeit dann (natürlich) anders. Das
macht in meinem Fall aber nichts da ich eh die Helligkeit über die
Taster regle.
@stefan: gucksch du vid. Die LED IST an D10 dran.
https://www.youtube.com/watch?v=3Z29kw4Iq9k
Philipp G. schrieb:> Mach einfach ctrl f nach diesem String.
Und alles nur, weil sich jemand nicht in der Lage fühlte, auf
"Markierten Text zitieren" zu drücken, damit der Bezug klar ist und eben
ohne Suche zu finden ist ...
Philipp G. schrieb:> Ich habe zwei Relais zwecks galvanischer Trennung mit denen ich die LEDS> in unterschiedlichen Helligkeitsstufen ansteuere. Beim Wechsel wird je> nach dem auf ein anderes Level gedimmt.
Das verwirrt mich.
ÄXl schrieb:>> Ich habe zwei Relais zwecks galvanischer Trennung mit denen ich die LEDS>> in unterschiedlichen Helligkeitsstufen ansteuere. Beim Wechsel wird je>> nach dem auf ein anderes Level gedimmt.>> Das verwirrt mich.
Es handelt sich um zwei Signale welche ich unbedingt getrennt haben
möchte vom Rest der Schaltung. Sowohl untereinander, also auch gegen das
Board zu.
Weiss jemand warum das PWM Signal auf dem DSO dermassen 'suboptimal'
aussieht?
Philipp G. schrieb:> Es handelt sich um zwei Signale welche ich unbedingt getrennt haben> möchte vom Rest der Schaltung. Sowohl untereinander, also auch gegen das> Board zu.
Schaltungen in Prosa, weil man zu faul ist, einen Schaltplan zu
zeichnen, sind immer Mist.
Philipp G. schrieb:> Weiss jemand warum das PWM Signal auf dem DSO dermassen 'suboptimal'> aussieht?
Weiss jemand, warum du glaubst, daß die Leute hier deinen DSP Bildschirm
sehen können, obwohl du sogar zu faul bist ein Photo zu machen ?
Michael B. schrieb:> Philipp G. schrieb:>> Weiss jemand warum das PWM Signal auf dem DSO dermassen 'suboptimal'>> aussieht?>> Weiss jemand, warum du glaubst, daß die Leute hier deinen DSP Bildschirm> sehen können, obwohl du sogar zu faul bist ein Photo zu machen ?
Können sie doch Michael, hast du das Video oben vergessen?
Philipp G. schrieb:> Weiss jemand warum das PWM Signal auf dem DSO dermassen 'suboptimal'> aussieht?
Ich würde sagen: weil du keinen (ohmschen) Lastwiderstand oder einen zu
hochohmigen Lastwiderstand angeschlossen hast.
Lothar M. schrieb:> Philipp G. schrieb:>> Weiss jemand warum das PWM Signal auf dem DSO dermassen 'suboptimal'>> aussieht?> Ich würde sagen: weil du keinen (ohmschen) Lastwiderstand oder einen zu> hochohmigen Lastwiderstand angeschlossen hast.
Die Last besteht aus der elektronischen Last (ja labberkopp auch die
sieht man im Video), sowie der LED mit Vorwiderstand.
Das Signal sieht wirklich nicht so gut aus. Bis auf den Peak werden
zumindest schon mal die schrägen Flanken durch deine beiden (NPN und
PNP) hintereinander geschalteten Emitterschaltungen begradigt, wenn du
sie auch tatsächlich mal dahinterschalten würdest und oszilloskopierst.
Ach Du grüne Neune schrieb:> Das Signal sieht wirklich nicht so gut aus. Bis auf den Peak werden> zumindest schon mal die schrägen Flanken durch deine beiden (NPN und> PNP) hintereinander geschalteten Emitterschaltungen begradigt, wenn du> sie auch tatsächlich mal dahinterschalten würdest und oszilloskopierst.
Woher könnte dieser single Peak neben dem abgeschrägten Rechteck
zustande kommen? Soll ich dem Ausgang einen fetten C gönnen?
Philipp G. schrieb:> wenn du>> sie auch tatsächlich mal dahinterschalten würdest und oszilloskopierst.
Den Satz verstehe ich jetzt grad nicht.
Philipp G. schrieb:> Woher könnte dieser single Peak neben dem abgeschrägten Rechteck> zustande kommen? Soll ich dem Ausgang einen fetten C gönnen?
NEIN, natürlich nicht, willst du bei jedem Umschalten einen Kurzschluss
gegen den nicht/schon geladenen Kondensator haben ?
Das PWM Signal sieht ok aus bis auf den Peak. Der könnte aus falscher
Programmierung stammen (kurz den Ausgang als Eingang und wieder zurück
oder so) oder er ist eine Einstreuung aus einem anderen Kanál in die
Masseleitung.
Philipp G. schrieb:> Die Last besteht aus der elektronischen Last (ja labberkopp auch die> sieht man im Video)
Videos ? Nein, ich bin nicht damit aufgewachsen alles in Form von
bewegten Bildern sehen zu müssen, dann auch noch hochkant verwackelt
unterbelichtet, für mich ein Paradebeispiel der Volksverdummung.
> sowie der LED mit Vorwiderstand.
oder es ist die elektronische Last, solche sind bekannt für jede Art von
Signalverzerrungen.
Pack an den Ausgang einen 10 Ohm Widerstand als Last und schliesse dort
parallel deinen tastkopf an. Die Spitze an den 10R/Kollektor und diese
kleine Masseklemme an die andere Seite vom Widerstand, der auch an Masse
liegt. Dieses Signal interessiert dich. kein anderes. Deine
Elektronische Last ist hier fehl am Platze.
Sind die Widerstände zwischen Basis-Emitter der beiden Transistoren
bestückt? (die, die man ja nicht braucht, weil das ja alles sooo einfach
ist?) An analogWrite() sollte es nicht liegen. dein delay(20) sorgt
dafür, das mindestens 20msekunden lang das gleiche Signal ausgegeben
wird. Wenn beim neusetzen des Tastverhältnisses ein Glicht auftritt,
dann nur alle (ca.20millisekunden, aber nicht in jeder Periode)
Nimm Dir bitte ein Blatt und einen Stift und male uns auf, was Du dort
KONKRET anstellst. Die Jungs, die sich auskennen, sind idR.. keine 25
mehr und allesamt keine Fans der neuartigen Möglichkeiten, seine Werke
zu präsentieren.
Kariertes Blatt, weicher Bleistift, im Raster aufmalen und n Bild
machen.
ÄXl schrieb:> Sind die Widerstände zwischen Basis-Emitter der beiden Transistoren> bestückt? (die, die man ja nicht braucht, weil das ja alles sooo einfach> ist?) An analogWrite() sollte es nicht liegen. dein delay(20) sorgt> dafür, das mindestens 20msekunden lang das gleiche Signal ausgegeben> wird. Wenn beim neusetzen des Tastverhältnisses ein Glicht auftritt,> dann nur alle (ca.20millisekunden, aber nicht in jeder Periode)
Ich sagte doch bereits, ich habe die lapperkopische Schaltung aufgebaut.
Da wahrt ihr ja euch nicht ganz einig, also die da, als Anhang. Er
scheint ja heute einen schlechten Tag zu haben, aber seine Rechnerei
scheint ja stimmen.
Es ist genau so bestückt wie Du im Anhang siehst, 1:1. Somit Nein, der
1K R zwischen B E bei Q2 ist nicht bestückt.
Die schrägen Flanken kommen vom BD138.
Die Ansteuerung ist zu hochohmig. Wurde aber oben schonmal gesagt.
Und ja: man muss das ausrechnen. Aber dann richtig...
Anschliessend hat man die überschlägigen Größen und kann sich daran
machen, Werte einzusetzen, die es auch zu kaufen gibt.
Nochmal, die Stromverstärkung des BD138 bricht auf lächerliche Werte
zusammen, wenn dort "ordentlich" Strom gezogen wird.
Brauchst Du denn die vollen 5Volt am Ausgang? Deine LEDs bekommen doch
sowieso einen Vorwiderstand. Dann nimm einen NPN in der Ausgangsstufe
und beschalte ihn als Spannungsfolger (Kollektorschaltung). Dann
bekommen deine LEDs nur noch 4.x Volt, aber der Ausgangsstransistor ist
nicht in der Sättigung.
Da allerdings Betriebsspannung der LEDs und deines Arduinos beide gleich
groß sind, kannst Du auch (ohne etwas beachten zu müssen) einen P-Kanal
FET einsetzen. Source an Plus, Drain an deine LEDs und Gate an D10.
ÄXl schrieb:> Da allerdings Betriebsspannung der LEDs und deines Arduinos beide gleich> groß sind, kannst Du auch (ohne etwas beachten zu müssen) einen P-Kanal> FET einsetzen. Source an Plus, Drain an deine LEDs und Gate an D10.
Habe ich schon probiert....
Scheint nicht gewünscht zu sein.
Ist vielleicht zu einfach?
ÄXl schrieb:> Wird denn was warm?
Genau. Das darf natürlich nicht passieren. Die Schaltung enthält auch
die wichtigen B-E Widerstände. Wobei ich den R3 mit 10R etwas
hochohmiger machen würde (z.B. 100R), es fallen jetzt gerade mal knapp
die 0,6 Volt für Q3 ab. Ansonsten würde ich es genauso machen. :)
Wenn das alles zu knapp wird, kann man auch für Q3 einen BD244 nehmen.
ÄXl schrieb:> Brauchst Du denn die vollen 5Volt am Ausgang? Deine LEDs bekommen doch> sowieso einen Vorwiderstand. Dann nimm einen NPN in der Ausgangsstufe
Nein, maximum 4.0V
ÄXl schrieb:> Wird denn was warm? Sonst lass es halt so...
Als ich kurz bei der el. Last 500mA eingegeben habe, wurde der BD138
natürlich warm, aber noch 'anfassbar' warm, also so 50°C, aber dem werde
ich eh einen Kühlkörper verpassen.
ÄXl schrieb:> Da allerdings Betriebsspannung der LEDs und deines Arduinos beide gleich> groß sind, kannst Du auch (ohne etwas beachten zu müssen) einen P-Kanal> FET einsetzen. Source an Plus, Drain an deine LEDs und Gate an D10.
Wenn das denn besser wäre? Ich versuche es heute abend mal.
edit: Ich habe nur den SI2305 zuhause:
D10 über R220 an Gate, Drain ist out, Source an +5V. Und zwischen +5V
und Gate noch einen 10K R, geht das?
ÄXl schrieb:> Die schrägen Flanken kommen vom BD138.> Die Ansteuerung ist zu hochohmig. Wurde aber oben schonmal gesagt.
Oben wurde gsagt, daß das schon so passt.
Die Flanken sind ausreichend.
Steilere Flanken, wie du sie mit Gewalt erwingst, erhöhen nur
sinnloserweise die Störabstrahlung der Schaltung hin zu höheren
Frequenzen und reissen die EMV Grenzwerte.
Es ist nicht immer klug, das Maximum rauszuholen. Oftmals ist
ausreichend auch einfach genug.
Michael B. schrieb:> Oftmals ist> ausreichend auch einfach genug.
Dem ist nichts hinzuzufügen.
Philipp G. schrieb:> Wenn das denn besser wäre? Ich versuche es heute abend mal.>> edit: Ich habe nur den SI2305 zuhause:
der wäre mir mit seinen grademal 8V etwas knapp. Probiers.
Praxistest, ich muss das hier noch einmal hochholen. Aktueller
Schaltplan liegt bei. Schaltung ist aufgebaut und funktioniert.
Ausgangslage:
80 LED beleuchtete Schalter habe ich vor sieben Jahren mit einer
einfachen analogen Steuerung betrieben. Hierfür habe ich damals zu
Linearregler gegriffen.
Soll:
Vor wenigen Wochen habe ich die Schaltung komplett neu mit einem Arduino
Nano auf Atmega 328 Basis neu gemacht, damit ich die LEDs nach Wunsch
auf Knopfdruck in der Helligkeit regeln kann. Die 80 LEDs werden neu mit
PWM gedimmt. Der Schaltplan liegt als Anhang bei. Am Ausgang sind
jeweils zwei LEDs in serie geschalten, und das 40 mal parallel.
Fehlerbeobachtung:
Sieben Jahre lang hat das ganze mit einem einfachen Linearregler
funktioniert. Mit der neuen Schaltung leuchten 76 LEDs mit derselben
Intensität, 2 davon flackern dunkel und zwei weitere leuchten gar nicht.
Jemand eine Idee? Hänge ich 4.4V an den Strang (2.2V pro gelber LED)
leuchten natürlich alle.
@Aexl/Michael: Der BUD138 hat einen Kühlkörper spendiert bekommen.
Selbst bei 1.5A Last bei der kalt, soweit so gut. In der Praxis bleibt
die Last unter 600mA.
Philipp G. schrieb:> Die 80 LEDs werden neu mit> PWM gedimmt. Der Schaltplan liegt als Anhang bei. Am Ausgang sind> jeweils zwei LEDs in serie geschalten, und das 40 mal parallel.
Ich wiederhole meine Frage nochmal:
> Philipp G. schrieb:>> - Es sind bis zu 70 LEDS verbaut, wobei jede mit max 10mA betrieben>> wird.> Wie werden die 10mA gewährleistet?
?
Philipp G. schrieb:> 2 davon flackern dunkel und zwei weitere leuchten gar nicht.
Schon mal drüber nachgedacht, dass da was kaputt oder falsch
angeschlossen ist?
Arduino Fanboy D. schrieb:>> Philipp G. schrieb:>>> - Es sind bis zu 70 LEDS verbaut, wobei jede mit max 10mA betrieben>>> wird.>> Wie werden die 10mA gewährleistet?>> ?
Steht im Schaltplan oben, über den BUD138.
Arduino Fanboy D. schrieb:> Philipp G. schrieb:>> 2 davon flackern dunkel und zwei weitere leuchten gar nicht.>> Schon mal drüber nachgedacht, dass da was kaputt oder falsch> angeschlossen ist?
Nicht möglich, mit Labornetzteil leuchten alle 80 konstant. Vielleicht
haben zwei davon einfach Altersschwäche im PWM Betrieb, was sich dann
natürlich auf vier auswirkt.
Deine Beschreibung lässt erahnen, dass die parallel geschalteten LEDs
nicht gut selektiert wurden. Wenn das so ist, dann wirst du sehr bald
noch weitere Probleme bekommen.
Möglicherweise fällt am Transistor zu viel Spannung ab, so das nicht
alle LEDs leuchten können. Ich hätte für so viel Strom einen MOSFET
verwendet und den Minus-Pol geschaltet, zum Beispiel mit einem IRLU024N.
> mit Labornetzteil leuchten alle 80 konstant
Auch jetzt noch? Drehe ma die Spannung langsam runter, ich gehe davon
aus, dann dann genau diese LEDs zuerst aus gehen. Wenn die LEDs gut
selektiert sing, dann gehen sie alle gleichzeitig aus.
Eventuell hilft es, den Plus-Pol am linken Ende und den Minus-Pol am
rechten Ende in die Lichterkette einzuspeisen, anstatt beides am selben
Ende.
Philipp G. schrieb:> Steht im Schaltplan oben, über den BUD138.
Ich sehe weder eine Strombegrenzung auf 10mA, noch einen BUD138.
Und das nach mehrfachem ausführlichen untersuchen ALLER deiner
Schaltpläne
Stefanus F. schrieb:> Auch jetzt noch? Drehe ma die Spannung langsam runter, ich gehe davon> aus, dann dann genau diese LEDs zuerst aus gehen. Wenn die LEDs gut> selektiert sing, dann gehen sie alle gleichzeitig aus.>> Eventuell hilft es, den Plus-Pol am linken Ende und den Minus-Pol am> rechten Ende in die Lichterkette einzuspeisen, anstatt beides am selben> Ende.
Gute Idee Stefan, das versuche ich.
Arduino Fanboy D. schrieb:> Ich sehe weder eine Strombegrenzung auf 10mA, noch einen BUD138.BD138, hast Recht. Der Strom wird nicht aktiv begrenzt, nur
steuertechnisch so klein gehalten, dass dieser nie höher wird, also
quasi in der Software.
Philipp G. schrieb:> Der Strom wird nicht aktiv begrenzt, nur> steuertechnisch so klein gehalten, dass dieser nie höher wird, also> quasi in der Software.
Dir ist aber schon klar, dass dein Arduino Board keine analoge Spannung
ausgeben kann, sondern 100% Spannung pulsieren lässt? Die LED's bekommen
den maximal möglichen Strom aufgebrummt, vertragen sie das?
Philipp G. schrieb:> Der Strom wird nicht aktiv begrenzt, nur> steuertechnisch so klein gehalten, dass dieser nie höher wird, also> quasi in der Software.
Ach!
Also wieder: "Vorwiderstand braucht man nicht!"
(dachte ich mich doch schon)
Die 10mA sind als ein reines Fantasiegebilde!
Das ist problematisch!
Viel besser:
Jeder LED Strang, also die 2 in Reihe, brauchen einen Vorwiderstand.
Stefanus F. schrieb:> Dir ist aber schon klar, dass dein Arduino Board keine analoge Spannung> ausgeben kann, sondern 100% Spannung pulsieren lässt? Die LED's bekommen> den maximal möglichen Strom aufgebrummt, vertragen sie das?
Das Labornetzteil sagt aber was anderes. Warum?
Philipp G. schrieb:> Das Labornetzteil sagt aber was anderes. Warum?
Da gibts kein Argumentieren!
Verstehe, wie PWM funktioniert, und deine Frage ist beantwortet.
Philipp G. schrieb:> Das Labornetzteil sagt aber was anderes. Warum?
Das Labornetzteil sagt gar nichts. Es misst höchstens etwas, und wer
viel misst, der misst viel Misst.
Hinterfrage also: Was genau misst das Instrument in dem Netzteil
eigentlich? Wir reden hier von PWM mit vermutlich tausend Impulsen pro
Sekunde. Kann dieses Instrument dieses Signal überhaupt sinnvoll
darstellen? Wozu sind in digitalen Schaltungen Oszilloskope gut?
Stefanus F. schrieb:> Hinterfrage also: Was genau misst das Instrument in dem Netzteil> eigentlich? Wir reden hier von PWM mit vermutlich tausend Impulsen pro> Sekunde. Kann dieses Instrument dieses Signal überhaupt sinnvoll> darstellen? Wozu sind in digitalen Schaltungen Oszilloskope gut?
Hm, es misst halt irgendwas, quasi gerundet, nur nicht den Peak der
Amplitude. Hast ja Recht.
Wie wäre es mit einer Diode in Arbeitsrichtung? Verbrät 0.7V somit nur
noch 4.3V pro LED paar, also max. 2.15 pro LED.
LEDs betreibt man mit einem gesteuertem oder geregeltem Strom.
Der Versuch, LEDs mit konstanter Spannung zu Betreiben führt unter
anderem zu genau dem Problem, das du beschreibst. Dein Lösungsansatz mit
der zusätzlichen Diode ist mangelhaft bis ungenügend.
Lies das: https://www.mikrocontroller.net/articles/LED
Philipp G. schrieb:> Wie wäre es mit einer Diode in Arbeitsrichtung? Verbrät 0.7V somit nur> noch 4.3V pro LED paar, also max. 2.15 pro LED.
Du hast 10mA pro LED behauptet!
Der Wert ist schön/brauchbar.
Trage sorge, dass er auch eingehalten wird.
Dann wird alles gut.
Arduino Fanboy D. schrieb:> Und ich weiß nicht, was du mit R20 meinst.> Einen R20 finde ich in deinem Schaltplan nicht.
Doch, weisst Du, weil:
Arduino Fanboy D. schrieb:> Das ist problematisch!>> Viel besser:> Jeder LED Strang, also die 2 in Reihe, brauchen einen Vorwiderstand.
Du das ja selber vorgeschlagen hast.
Also eine LED kann maximal 150mA für 0.1ms duty cycle ab, sagt das
Datenblatt. Da bin ich ja weit drunter.
Alternative wäre halt, einen 50 Ohm Widerstand vor jedes LED Paar zu
setzen.
Philipp G. schrieb:> Doch, weisst Du,
Nein!
Philipp G. schrieb:> Du das ja selber vorgeschlagen hast.
Das weiß ich!
Aber R20 hast du ins Spiel gebracht.
Und dabei nicht mitgeteilt, was das sein soll.
Vermutlich soll es was bedeuten...
Vermutlich weißt du, was du damit meint.
Google sagt zu "R20":
> Ungefähr 313.000.000 Ergebnisse
Philipp G. schrieb:> Einen R20 vor jedes LED Paar als Alternative?
Ja, ein 20 Ω Widerstand vor jedem LED Paar ist genau die richtige
Lösung. Manche schreiben auch 20 R.
Man darf LEDs nicht an einer Spannungsquelle betreiben, das mögen sie
nicht. Oft funktioniert es trotzdem, weil viele Spannungsquellen "weich"
sind, also einen hohen Innenwiderstand haben. Mehr im Artikel -> LED.
Somit hast du etwa: (5 V -0,4 V -2,2V -2,2V) / 20 Ω = 0,010 A = 10 mA
Die 5 V sind die Versorgungsspannung.
Die 0,4 V sind ungefähr der Spannungsabfall über dem BD138.
Teste vorher an einem Strang und variiere den Widerstand bis die
Helligkeit passt.
Wenn die Leds am Ende der Kette (wo der Stromanschluss ist) heller sind,
dann mach es wie von Stefanus vorgeschlagen:
Stefanus F. schrieb:> Eventuell hilft es, den Plus-Pol am linken Ende und den Minus-Pol am> rechten Ende in die Lichterkette einzuspeisen, anstatt beides am selben> Ende.