
Vem antydde att jag var ett fyllo och kallar fakta för BullShit??!! Vem kan det ha varit?

Kod: Markera allt
clear;
clf;
VAC = 12;
R = 91;
sets = 4;
theta = 0:0.01:2*pi;
u = VAC*2^0.5*sin(theta);
## Use linear approximation I_f = k*V_f + c:
blue_k = (0.030 - 0.005)/(4.1 - 3.2);
blue_c = -blue_k*3.2 + 0.005;
red_k = (0.030 - 0.010)/(1.9 - 1.8);
red_c = -red_k*1.8 + 0.010;
## I_f then becomes = (u - V_f)/R, where V_f = (I_f - c)/k when I_f > 0. Solve for I_f:
#I_f = (blue_k*u + blue_c)/(1 + R*blue_k);
## Red + blue in series, 4 parallel sets:
blue_4k = sets*blue_k;
blue_4c = sets*blue_c;
red_4k = sets*red_k;
red_4c = sets*red_c;
I_f = (blue_4k*red_4k*u + red_4k*blue_4c + blue_4k*red_4c)/(red_4k*blue_4k*R + red_4k + blue_4k);
I_set = I_f/sets;
blue_V_f = (I_set - blue_c)/blue_k;
blue_V_f(blue_V_f > u) = 0;
red_V_f = (I_set - red_c)/red_k;
red_V_f(red_V_f > u) = 0;
I_set(I_set < 0) = 0;
hf = figure();
hold on;
ax = plotyy(theta, I_set, theta, u, @area, @plot);
xlabel("theta");
ylabel(ax(1), "I [A]");
ylabel(ax(2), "U [V]");
plot(ax(2), theta, blue_V_f);
print(hf, "-S1024,768", "AC_leds.png");
R
I_max = max(I_set)
rms = sqrt(sum(I_set.^2)/length(I_set))
Hej arvidb!arvidb skrev:Okej, detta var kanske lite overkill men jag tyckte att det verkade kul att räkna på detta.
Givet att du använder ett motstånd med värde R och sedan fyra parallella set om en röd och en blå i serie, och givet att strömmen fördelas precis jämnt mellan de parallella seten (vilket givetvis inte stämmer), så får jag det till att du behöver R = 91 Ω för att hamna på 30 mA i toppström per set. RMS-strömmen är då knappt 14 mA.
Med R = 68 Ω får jag en toppström på 39 mA (RMS 18 mA).
Men inte omöjligt att jag räknat fel. Jag använde en linjär approximation av diodströmmen vs spänning, matchad till databladens grafer så gott jag kunde. Här är octave-scriptet som jag använde:Men RMS-värdet är kanske inte så intressant. Den ifyllda ytan i plotten borde motsvara ljuset du får ut. Jämför det med hela ytan under 0,03 A, vilket är ljusutbytet du skulle kunna få med samma dioder på DC.Kod: Markera allt
clear; clf; VAC = 12; R = 91; sets = 4; theta = 0:0.01:2*pi; u = VAC*2^0.5*sin(theta); ## Use linear approximation I_f = k*V_f + c: blue_k = (0.030 - 0.005)/(4.1 - 3.2); blue_c = -blue_k*3.2 + 0.005; red_k = (0.030 - 0.010)/(1.9 - 1.8); red_c = -red_k*1.8 + 0.010; ## I_f then becomes = (u - V_f)/R, where V_f = (I_f - c)/k when I_f > 0. Solve for I_f: #I_f = (blue_k*u + blue_c)/(1 + R*blue_k); ## Red + blue in series, 4 parallel sets: blue_4k = sets*blue_k; blue_4c = sets*blue_c; red_4k = sets*red_k; red_4c = sets*red_c; I_f = (blue_4k*red_4k*u + red_4k*blue_4c + blue_4k*red_4c)/(red_4k*blue_4k*R + red_4k + blue_4k); I_set = I_f/sets; blue_V_f = (I_set - blue_c)/blue_k; blue_V_f(blue_V_f > u) = 0; red_V_f = (I_set - red_c)/red_k; red_V_f(red_V_f > u) = 0; I_set(I_set < 0) = 0; hf = figure(); hold on; ax = plotyy(theta, I_set, theta, u, @area, @plot); xlabel("theta"); ylabel(ax(1), "I [A]"); ylabel(ax(2), "U [V]"); plot(ax(2), theta, blue_V_f); print(hf, "-S1024,768", "AC_leds.png"); R I_max = max(I_set) rms = sqrt(sum(I_set.^2)/length(I_set))
Sinuskurvan är alltså din 12 VAC; ifyllda kurvan är diodströmmen, och den sista kurvan är Vf för den blåa dioden:
Tack för försöket till förklaring men pedagogikkvaliteten på det där var inte världen bästaToPNoTCH skrev:Gör så här Roger.
Håll för halva bilden och det du ser är hur dioden kommer att lysa.
Håll för andra halvan och du kommer se vilken ström som går igenom den.