Tool: Widerstandsrechner fuer Linux

  • So, es gibt ja tausende Wderstandsrechner-Webseiten und Programme für Windows.Für Linux gabs aber kein fertiges widerstandsrechner-programm.


    Ausserdem stuerzen die meisten ab, wenn man extreme, wie z.b. reichenschaltngen aus 100 leds, low current led an 230 volt (nur rein des intresses halber, nicht wirklich sinnvoll und gefährlich :!: ) hat.
    bei flußspannung >= batteriespannung sagen einem die meisten programme = kein widerstand nötig" oder einen negativen widertsand :evil:


    da eine led NIE ohne widerstand betrieben werden sollte, sollte man in solchen fällen 0.1 ohm nehmen.


    Also habe ic mal ein plattformunabhängiges kommandozeilentoolgeschrieben,das alle noch so schwachsinnigen konstellationen aus reihenschaltungen und versorgungsspannungen "verdaut" und auf jeden fall MINDESTENS 0.1 ohm für den widerstand festlegt.


    klar, der 0.1 ohm widerstand hat in jedem fall eine verlustleistung,die wäre im fall flußspanung >versorgungsspannung rechnerisch negativ. WENN man aber einennreinlötet hat der IMMER eine verlustleistung. also setzen wir in diesem fall 0.1 watt fest,das paßt dann, mweil weniger als 0.1 watt widerstaende gibts eh nicht.


    damit waere der rechner idiotensicher, und man kann so auch getrost reihenschaltungen verschiedenfarbiger leds mit gleichem nennstrom, z.b. eine 10er-kette aus 2 baluen, 3 roten, 4 gelben, 1 grünen o.ä. dimensionieren 8)


    Falls ihr fehler findet, oder das programm nicht kapiert, hier melden.


    nun folgt: erstmal der quellcode, dann ein archiv mit quellcode+binary.


    [code:1]{$I-}
    {$M 4096,512,1024}
    {Compiler: FPC 2.0.0; System: Linux, Windows, MAC OS, Other;}
    Program ledohm;
    var Batteriespannung,Flusspannung, LEDStrom: Real; {eingabevariablen} Widerstand, Verlustleistung,ledstromi: Real; {Ergebnisvariablen} code:integer; { nötig zur fehlerprüfung}
    procedure fehler;
    begin
    writeln('fehler: sie haben keine oder unsinige parameter eingegeben!');
    writeln('usage: ledohm Batteriespannung in volt , (gesammt)flusspannung der led(s) in Volt, led-strom in mA');
    halt(paramcount);
    end;


    begin
    if paramcount<3 then fehler;
    val(paramstr(1),Batteriespannung,code);
    if code<>0 then fehler;
    val(paramstr(2),Flusspannung,code);
    if code<>0 then fehler;
    val(paramstr(3),LEDStrom,code);
    if code<>0 then fehler;
    if batteriespannung<=0 then fehler;
    if flusspannung<=0 then fehler;
    if LEDStrom<=0 then fehler;
    LEDstrom:=ledstrom / 1000; {da der ledstrom in milliampere angegeben wird}
    Widerstand:=(Batteriespannung - Flusspannung) / LEDStrom;
    Verlustleistung:= (Batteriespannung - Flusspannung) * LEDStrom;
    if widerstand<0.1 then widerstand:=0.1; {auch wenn die batteriespannung <= der flusspannung ist, muss vor die led noch ein 0,1 ohm widerstand als strombegrenzer}
    if Verlustleistung <0.1 then verlustleistung:=0.1; {weniger als 0.1 Watt Widerstaende gibts nicht}
    Writeln('LEDOHM - Plattformunabhaengiger Widerstandsrechner von DJTechno - Final stable Release 1.0.0.0 F');
    WRITELN;
    writeln;
    Writeln('Eingabeparameter:');
    Writeln;
    Writeln;
    ledstromi:=ledstrom*1000;
    Writeln('Spannung der Batterie, Des Netzteils oder des Stromnetzes in volt: ',Batteriespannung:2:2);
    Writeln('Flußspannung der LED in Volt: ',Flusspannung:2:2);
    Writeln('Gewuenschter Strom fuer die LED in Milliampere: ',LEDStromi:2:2);
    Writeln;
    Writeln;
    Writeln('Ausgabeparameter:');
    Writeln;
    Writeln;
    writeln('Ohmzahl des Widerstands in OHM: ', widerstand:2:2);
    writeln('Verlustleistung am widerstand in WATT: ',Verlustleistung:2:2);
    Writeln;
    Writeln;
    writeln('Falls es den Widerstand nicht zu kaufen gibt,den naechsthoeheren kaufen doer aus mehreren Zusammensetzen');
    writeln('Bitte einen Widerstand nehmen, der MINDESTENS die angegebene Verlustleistung aushaelt.');
    writeln('Wenn du Deine schaltung in ein Kunststoffgehaeuse einbaust, musst du einen Widerstand nehmen');
    writeln('der mindestens doppelt soo viel verlustleistung aushaelt, wie hier entsteht, weil der');
    writeln('sonst so heiss wird,das das gehause schmilzt!');
    writeln('Dieses Programm arbeitet mit dem Datentyp real um auch "extreme" konstellationen,');
    writeln('wie "low current led an 230 volt" und "20 watt lamina powerled an 3,7 volt" rechnen kann');
    writeln('bei zwei oder mehr leds in reihe einfach deren fusspannungen aufaddieren und als');
    writeln('flusspannung angeben. so kann man auch verschieden farbige leds in reihe schalten');
    writeln('allerdings muessen alle leds mit dem selben strom laufen. falls deine in reihe zu schaltenden leds fuer verschiedene');
    writeln('nennstroeme ausgelegt sind, ist der niedrigste zu nehmen,damit keine led durchbrennt.');
    writeln('in diesem fall leuchten halt nicht alle leds mit voller helligkeit');
    end.[/code:1]


    http://www.mooload.com/new/fil…9/ledohm_linux.tar.gz&s=t


    Marcus

  • Ist ein Flash-Objekt, kein Java ;)



    Stürzt auch nicht ab, wenn man mal 230V eingibt... 8o



    Das beste ist aber, dass es auch noch den Widerstand mit Farbcode anzeigt! Sehr nützlicher Link :!:

    -So fresh wie die Créme-


    FSK 6 Es gibt kein richtiges Mädchen
    FSK12 Der Held bekommt das Mädchen
    FSK16 Der Böse bekommt das Mädchen
    FSK 18 Alle bekommen das Mädchen

  • ist bei mir auch so. wahrscheinlich ist die datei nicht richtig upgeloaded worden.


    Bitte reuploaden, danke.

    -So fresh wie die Créme-


    FSK 6 Es gibt kein richtiges Mädchen
    FSK12 Der Held bekommt das Mädchen
    FSK16 Der Böse bekommt das Mädchen
    FSK 18 Alle bekommen das Mädchen