Obliczanie dzielnika z tego co mamy w szufladzie

Mar 23, 2007 4 Replies

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),podz(a,5),podz(a,6)); end


jest kilka kalkulatorow na sieci, ktore niedosc ze licza to dobieraja rezysory z zadanego szeregu. wystarczy w google wpisac: resistor (voltage) divider calculator

"Greg\(G.Kasprowicz\)" <Grzegorz.Kasprowicz_usunto snipped-for-privacy@cern.ch pisze:

Szuka³em, ale nie znalaz³em kalkulatora, który dobiera mi rezystory z mojej szuflady.

To jeszcze napisz skrypt generujacy zawartosc Twojej szuflady :).

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required