Obliczanie dzielnika z tego co mamy w szufladzie
Patryk Sielski - 23-03-2007 12:45
Obliczanie dzielnika z tego co mamy w szufladzie Nie wiem, jak u Was, ale u mnie to częsty problem.
Mam jakies elementy w szufladzie i trzeba zrobić z nich
dzielnik na jakieś napięcie albo rezystor o pewnej
wartości.
W końcu się wkurzyłem i zrobiłem skrypt do matlaba/octave
do liczenia dzielnika rezystancyjnego z dwoma równoległymi
rezystorami w obu gałęziach, czy razem na czterech rezystorach.
Pyskaczom mówiącym że stosując rezystory 5 % to błąd będzie ho-ho
odpowiadam, że to tylko do prototypów i nagłych spraw, potem
montuję oczywiście najwyższej klasy precyzyjne rezystory ;-)
Skryptowi podaje mu się jakie mamy elementy i ile ma być, a w
wyniku mamy posortowane względem błędu warianty:
Podział Błąd[%] Górna gałąź Dolna gałąż
0.2976 0.2 4.70 inf 470.00 2.00
0.2981 0.4 4.70 4.70 470.00 1.00
0.2985 0.5 4.70 4.70 1.00 inf
0.2985 0.5 4.70 4.70 2.00 2.00
0.2985 0.5 4.70 inf 2.00 inf
Oto skrypt:
wartosci=[ 470 1 2 4.7 inf]; % wartości, którymi dysponujemy
zadany=0.297; % żądany stopień podziału
tol=5; % tolerancja w procentach, gorsze wyniki nie są
% wyświetlane
% koniec zmiennych początkowych
podz=[0 0 0 0 0 0];
ilel=length(wartosci);
for x=1:ilel
for y=x:ilel
% jedziemy po pierwszej gałęzi
i=wartosci(x);
j=wartosci(y);
% jeżeli obie wartości to nieskończoność - kicha
if ((i==inf) & (j == inf)) continue;end
for v=1:ilel
for z=v:ilel
k=wartosci(v);
l=wartosci(z);
if ((k==inf) & (l == inf)) continue;end
gora=1/(1/i+1/j);
dol=1/(1/k+1/l);
wyn=dol/(gora+dol);
blad=abs((wyn-zadany)/zadany*100);
if (blad<tol)
podz=[podz; wyn blad i j k l];
end
end
end
end
end
% kasujemy pierwszy wiersz, bo to same zera
podz=podz(2:length(podz),:);
% sortujemy
[a,i]=sort(podz);
%bierzemy indeksy sortowania błędów
i=i(:,2);
printf(' Podział Błąd[%%] Górna gałąź Dolna gałąż\n');
for a=i'
printf('%8.4f %5.1f %8.2f %8.2f %8.2f
%8.2f\n',podz(a,1),podz(a,2),podz(a,3),podz(a,4),p odz(a,5),podz(a,6));
end
--
Pozdrawiam,
Patryk Sielski
http://www.usprawnienia.pl
Greg\(G.Kasprowicz\) - 23-03-2007 14:45
> Nie wiem, jak u Was, ale u mnie to częsty problem.
> Mam jakies elementy w szufladzie i trzeba zrobić z nich
> dzielnik na jakieś napięcie albo rezystor o pewnej
> wartości.
>
> W końcu się wkurzyłem i zrobiłem skrypt do matlaba/octave
> do liczenia dzielnika rezystancyjnego z dwoma równoległymi
> rezystorami w obu gałęziach, czy razem na czterech rezystorach.
>
jest kilka kalkulatorow na sieci, ktore niedosc ze licza to dobieraja
rezysory z zadanego szeregu.
wystarczy w google wpisac: resistor (voltage) divider calculator
Patryk Sielski - 23-03-2007 15:45
"Greg\(G.Kasprowicz\)" <Grzegorz.Kasprowicz_usunto_@cern.ch> pisze:
> jest kilka kalkulatorow na sieci, ktore niedosc ze licza to dobieraja
> rezysory z zadanego szeregu.
> wystarczy w google wpisac: resistor (voltage) divider calculator
Szukałem, ale nie znalazłem kalkulatora, który dobiera mi rezystory
z mojej szuflady.
--
Pozdrawiam,
Patryk Sielski
http://www.usprawnienia.pl
Greg\(G.Kasprowicz\) - 23-03-2007 15:45
>> jest kilka kalkulatorow na sieci, ktore niedosc ze licza to dobieraja
>> rezysory z zadanego szeregu.
>> wystarczy w google wpisac: resistor (voltage) divider calculator
>
> Szukałem, ale nie znalazłem kalkulatora, który dobiera mi rezystory
> z mojej szuflady.
>
to fakt :)
Lukasz Spychalski - 23-03-2007 16:45
On Fri, 23 Mar 2007 15:02:03 +0100, Patryk Sielski wrote:
> Szukalem, ale nie znalazlem kalkulatora, który dobiera mi rezystory z
> mojej szuflady.
To jeszcze napisz skrypt generujacy zawartosc Twojej szuflady :).
--
Pozdrawiam,
Lukasz Spychalski
"ty wybierac ten pomysl ty potrzeba wobec wladza"
(c) Lidl, z instrukcji obslugi pilota uniwersalnego
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl