Forum: PC-Programmierung Widerstandsberechnung


von Johann R. (iwan)


Angehängte Dateien:

Lesenswert?

Hallo Leute! Ich habe ein kleines Windows-Programm geschrieben (in C). 
Es soll beim zusammensetzen eines Widerstandes aus mehreren helfen. Der 
Wert von zusammengesetzten Widerstand ist allerdings genauer als 
Toleranz seinen reellen Widerständen. Was haltet Ihr davon?

[MOD: Threadtitel korrigiert, -e- aus Widerstand entfernt]

: Bearbeitet durch Moderator
Beitrag #5086506 wurde von einem Moderator gelöscht.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Johann R. schrieb:
> Was haltet Ihr davon?

Nichts. Kein Sourcecode, sondern nur ein *.exe-File. Meinst Du, daß sich 
das jemand, der letzlich überhaupt nichts von Dir weiß, herunterlädt und 
auf seinem Rechner ausführt?

von Horst (Gast)


Lesenswert?

Johann R. schrieb:
> Was haltet Ihr davon?

Abstand.

Sorry, aber wofür sollte man sowas brauchen?

Beitrag #5086515 wurde von einem Moderator gelöscht.
von Sven D. (Gast)


Lesenswert?

Also ich habs runtergeladen und probiert. Es scheint mir durchaus 
nützlich. Mir gefällt das die Abweichung vom gewünschten Wert in Prozent 
angezeigt wird. Die Auswahl der Schaltungsvariante find ich umständlich, 
für mich würde ich die Schaltungvarianten in einer Art Tabelle mit den 
Ergebnissen anzeigen. Das ist schneller aber u.U. komplizierter.

Die Rechtschreibung musst Du korrigieren.

Beste Grüsse

Beitrag #5086523 wurde von einem Moderator gelöscht.
von Johann R. (iwan)


Lesenswert?

Horst schrieb:

> Sorry, aber wofür sollte man sowas brauchen?

Messtechnik!

Beitrag #5086529 wurde von einem Moderator gelöscht.
Beitrag #5086532 wurde von einem Moderator gelöscht.
von Johann R. (iwan)


Lesenswert?

Rufus Τ. F. schrieb:
>Kein Sourcecode...

Quellcode ist über 1000 Zeilen, kann ich aber auch posten. (Wenn die 
Nachfrage da ist).

Beitrag #5086557 wurde von einem Moderator gelöscht.
von MaWin (Gast)


Lesenswert?

Johann R. schrieb:
> kann ich aber auch posten. (Wenn die
> Nachfrage da ist).

Bitte

von Manfred (Gast)


Lesenswert?

Sven D. schrieb:
> Also ich habs runtergeladen und probiert. Es scheint mir durchaus
> nützlich. Mir gefällt das die Abweichung vom gewünschten Wert in Prozent
> angezeigt wird.
Ich teste es nicht, die Zusammenschaltung von Widerständen ist 
Berufsschule 1.Jahr. Für das Tagesgeschäft mache ich das mit der 
Tabellenkalkulation.

Wenn es mal wirklich genau werden muß, wird ein größerer Wert eingelötet 
und später die Schaltung per Parallelschaltung justiert.

> Die Rechtschreibung musst Du korrigieren.
Die Rechtschreibung im Eingangspost klingt nach Russe.

von Sven D. (Gast)


Lesenswert?

Manfred schrieb:
> Ich teste es nicht, die Zusammenschaltung von Widerständen ist
> Berufsschule 1.Jahr.

Ich verstehe den Zusammenhang nicht.

Manfred schrieb:
> Für das Tagesgeschäft mache ich das mit der
> Tabellenkalkulation.

Und wenn Du das File hier der Allgemeinheit zur Arbeitserleichterung zur 
Verfügung stellen würdest, erginge es Dir sicher wie dem TE. Für ihn 
dient es vielleicht dazu C zu erlernen und er möchte anderen den 
Bastelalltag erleichtern.

Manfred schrieb:
> Die Rechtschreibung im Eingangspost klingt nach Russe.

So what?

von Teo D. (teoderix)


Lesenswert?

Sieht doch schon mal nicht schlecht aus.
Ich habe noch das alte ParSer, selten gebraucht aber wenn, sehr 
nützlich. Gibt's aber schon länger nicht mehr zum Downloaden.
Wär schon nicht schlecht, wenn es da was Neues gäbe.

KA wie es da mit den Rechten zu aussieht, ist/war Freeware. Könnte es 
dir aber per Mail schicken (nur die exe), bringt eventuell neue Ideen?

von Peter M. (r2d3)


Lesenswert?

Johann R. schrieb:
> Horst schrieb:
>
>> Sorry, aber wofür sollte man sowas brauchen?
>
> Messtechnik!

Könntest Du beschreiben, was man genau mit dem Programm machen kann?
Ich habe mir etwas ähnliches auf VBA-Basis geschrieben, das sind aber 
unter 100 Zeilen.

Manfred schrieb:
> Wenn es mal wirklich genau werden muß, wird ein größerer Wert eingelötet
> und später die Schaltung per Parallelschaltung justiert.

Das ist nicht immer so praktikabel. :)

von Johann R. (iwan)


Angehängte Dateien:

Lesenswert?

Aber nur schrieb im Beitrag #5086557:
> wenn das Ürogramm auch unter Windows 3.11 funktioniert.

Ich konnte das nur unter win98SE und Win7 testen. (Beide 32-Bit 
Systeme).
Ich Poste Project-Dateien mit Quellcode zu; benutzt wurde 
Freeware-Compiler Bloodshed Vers. 4.9.9.2.

von Johann R. (iwan)


Lesenswert?

Peter M. schrieb:
> Könntest Du beschreiben, was man genau mit dem Programm machen kann?
> Ich habe mir etwas ähnliches auf VBA-Basis geschrieben, das sind aber
> unter 100 Zeilen.

Und, was haben Sie damit gemacht?
1) Wenn man z.B. Ausgangsspannung regeln muss, muss man diese messen, 
auswerten und den Steuerglied entsprechend beeinflussen. Es ist nicht 
selten, dass man dafür Spannungsteiler braucht. Ein Widerstand sei 
bekannt, das Programm berechnet den Anderen.
2) z.B. Analoge Anzeige, die nicht linear ist. Man spiele mit Dioden rum 
um die Nichtlinearitäten, zumindest zum Teil, auszugleichen. Dabei muss 
man unter anderem mit Widerstand einen Arbeitspunkt der Diode einstellen 
und das ganze mit einem kleinen Widerstandsnetzwerk versehen.
3) z.B. aktive Audio-Filter.

Kurz gesprochen soll das Programm überall dort einsetzbar sein, wo die 
krumme Widerstandswerte gefragt sind, die nicht aus kostengünstigen 
E12/E24-Tabellen sind. Man könnte übrigens anstatt Widerstände sich auch 
Induktivitäten vorstellen. Sie gehörchen den gleichen Regeln. Gleiches 
würde für z.B. Abfluss-Wasserschläuche von gleichen Durchmesser, aber 
unterschiedlicher Länge gelten -> Reibungswiderstände, die für 
unterschiedliche Wassermengen/Schlauch lassen sich proportional 
berechnen. Hab schon auch zu tun gehabt.

Man kann so einiges damit machen...

von Johann R. (iwan)


Lesenswert?

Ach ja! Die Rechtsbelehrung:
Meine Quellcodes soll ausschließlich den Lernzwecken dienen, darf nicht 
in veränderter Form ausgebreitet werden und ich übernehme keinerlei die 
Verantwortung für denkbar und nicht denkbare Schäden durch das Programm 
sowie Quellcode.

von Baldrian (Gast)


Lesenswert?

Johann R. schrieb:
> Ach ja! Die Rechtsbelehrung:
> Meine Quellcodes soll ausschließlich den Lernzwecken dienen, darf nicht
> in veränderter Form ausgebreitet werden und ich übernehme keinerlei die
> Verantwortung für denkbar und nicht denkbare Schäden durch das Programm
> sowie Quellcode.

Du hast überhaupt keinerlei Autorität eine Rechtsbelehrung vorzunehmen. 
Sie wäre so oder so nicht gültig, da sie nach der Veröffentlichung des 
Quellcodes stattfand. Aber was soll man von jemanden erwarten, der 
Widerstandsberechnung mit 'ie' schreibt.

von MaWin (Gast)


Lesenswert?

Johann R. schrieb:
> darf nicht
> in veränderter Form ausgebreitet werden

Warum nicht?

von Peter M. (r2d3)


Angehängte Dateien:

Lesenswert?

Manfred schrieb:
> Berufsschule 1.Jahr. Für das Tagesgeschäft mache ich das mit der
> Tabellenkalkulation.

Zeig' mal ein Beispiel, bitte. Es würde mich interessieren, wie Du das 
gelöst hast!



Hallo Herr Rabe,

Johann R. schrieb:
> Peter M. schrieb:
>> Könntest Du beschreiben, was man genau mit dem Programm machen kann?
>> Ich habe mir etwas ähnliches auf VBA-Basis geschrieben, das sind aber
>> unter 100 Zeilen.

Muss mich korrigieren: 400 Zeilen, Entschuldigung!

>
> Und, was haben Sie damit gemacht?
> 1) Wenn man z.B. Ausgangsspannung regeln muss, muss man diese messen,
> auswerten und den Steuerglied entsprechend beeinflussen. Es ist nicht
> selten, dass man dafür Spannungsteiler braucht. Ein Widerstand sei
> bekannt, das Programm berechnet den Anderen.

vielen Dank für den Source Code! Ich bin da einmal durchgeflogen, ich 
kann C nur lesen, aber nicht schreiben. Ausprobiert habe ich Ihr 
Programm auch.

Ihr Programm ist ganz klein und die Oberfläche ist schick!

Gerade für Spanungsteiler halte ich das Programm aber für weniger 
geeignet.
Bei Messtechnik-Anwendungen, wo hochwertige Widerstände von der Stange 
oft nur in wenigen Größen lieferbar sind, sollte man mit Sets, also 
einer definierten Auswahl von Widerständen arbeiten können. Außerdem 
würde ich bei Spannungsteilern eine Auflistung von Alternativen 
erwarten.

An den angehängten Bildschirmfotos können Sie sehen, was mein VBA-Code 
anstellt.

Auf dem ersten Bild sehen Sie in der Spalte "Ohm" das verfügbare Set.
In diesem Fall sind es zur Verdeutlichung die paar 
Präzisionsdrahtwiderstände UPFxx und UPWxx, die ein Distributor 
anbietet.

Gegeben ist eine Spannungsreferenz mit 7,04V Ausgang, die per 
Operationsverstärker auf möglichst genau 10V angehoben werden soll.

Auf dem ersten Bild können Sie aus der Folgespalte von "ratio" erkennen, 
dass man mit den gegebenen Widerständen bis auf 9,973V an das Ziel von 
10V herankommt, leider nur mit unbrauchbaren 170Ohm Gesamtbelastung am 
OPV-Ausgang. Bei größerer Abweichung mit 9,856V hätte man die Wahl, den 
OPV mit 140kOhm nur gering zu belasten.

Auf dem zweiten Bild wird der Spannungsteiler aus R1 und R2 um einen 
Parallelwiderstand R3 oder R3' an R1 erweitert, um näher an den 
Zielteiler zu gelangen.

Es wurde nach Spalte U3' sortiert.
Ein Blick über die Tabelle offenbart, dass man mit R1=5k, R2=2k und 
R3'=100k auf 3,2mV mit 9,9968V an die 10V herankäme.
Mit R3=50k läge man bei 10,1376V.

Ich würde übrigens die Programmierenergie eher auf den Algorithmus und 
nicht auf das GUI konzentrieren, so schön es danach auch aussieht!

von Marc H. (marchorby)


Lesenswert?

Baldrian schrieb:
> Meine Quellcodes soll ausschließlich den Lernzwecken dienen, darf nicht
>> in veränderter Form ausgebreitet werden

Also nicht einmal das jemand die Schreibfehler korrigiert?

Und was machst du wenn einer von uns den Source mit in die Firma nimmt 
und dort irgendein Kollege unbedacht sich etwas raus kopiert? Da wird 
dir niemand bestätigen!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Johann R. schrieb:
> Ich konnte das nur unter win98SE und Win7 testen. (Beide 32-Bit Systeme).


Naja, das ist ein simples in C geschriebenes Win32-API-Programm, kein 
C++, keine Libraries, ganz so, wie es der Petzoldt vor einem 
Vierteljahrhundert beschrieben hat.

Kann man so machen, und das dürfte praktisch jeder C-Compiler übersetzen 
können.

Stilistisch ist anzumerken, daß ein 65kb-Sourcefile mit so vielen Zeilen 
sehr unübersichtlich ist. Auch die zig Stringkonstanten, die teilweise 
mittem im Quelltext auftauchen, sind verbesserungsbedürftig.
Mit Modularisierung (mehrere Quelltextdateien) ließe sich das ganze 
schon etwas übersichtlicher gestalten; wenn Du Deine Unmengen an Texten 
in Stringressourcen auslagern würdest, könntest Du Dein Programm sogar 
recht leicht in andere Sprachen übersetzen und oder eine mehrsprachige 
Variante davon erzeugen (nicht, daß ich glaube, daß das hier eine 
relevante Problemstellung sein dürfte).


Dennoch:

Schön, daß Du Sourcecode veröffentlicht hast; ich habe aber nicht so 
recht den Eindruck, als ob Du verstanden hättest, warum ich das 
gefordert habe.

: Bearbeitet durch User
von Johann R. (iwan)


Lesenswert?

Rufus Τ. F. schrieb:

> Schön, daß Du Sourcecode veröffentlicht hast; ich habe aber nicht so
> recht den Eindruck, als ob Du verstanden hättest, warum ich das
> gefordert habe.

Vielleicht nicht alles verstanden, nein. Können doch zig Gründe da sein, 
was waren denn Ihre? Damit das mehr ins Forum passt, damit andere was 
lernen b.z.w. vorschlagen und Ausdiskutieren können? Oder damit man das 
Prog. ohne "Gefahr" ausprobieren kann?
Hab' ich erwähnt, dass ich das da innerhalb einer Woche geschrieben 
gehabt? Ich glaub' aber dass das nicht relevant ist...

von Johann R. (iwan)


Lesenswert?

Peter M. schrieb:

> Gerade für Spanungsteiler halte ich das Programm aber für weniger
> geeignet.
> Bei Messtechnik-Anwendungen, wo hochwertige Widerstände von der Stange
> oft nur in wenigen Größen lieferbar sind, sollte man mit Sets, also
> einer definierten Auswahl von Widerständen arbeiten können. Außerdem
> würde ich bei Spannungsteilern eine Auflistung von Alternativen
> erwarten.

Ganz recht, und trotzdem das Prog., weil billige alternative für 
Spottpreisen da steht und leider immer wieder gewinnen wird.

von MaWin (Gast)


Lesenswert?

Johann R. schrieb:
> Oder damit man das
> Prog. ohne "Gefahr" ausprobieren kann?

Die Anführungszeichen bei "Gefahr" sind hier fehl am Platze.
Es handelt sich hier um ein Programm, welches irgendjemand (wir kennen 
dich nicht) in irgendeinem Forum gepostet hat.
Es ist völlig unverantwortlich so etwas auszuführen. Dass Leute es 
trotzdem tun, ist der Grund, weshalb Computerviren so erfolgreich sind. 
(Was nicht heißt, dass dein Programm ein Virus ist).

Wenn man den Sourcecode hat, kann man diesen wenigstens prüfen, selbst 
übersetzen und dann ausführen. Das verringert das Risiko erheblich.

Außerdem können Leute aus deinem Programm evtl. lernen.

von Sven D. (Gast)


Lesenswert?

MaWin schrieb:
> Es ist völlig unverantwortlich so etwas auszuführen. Dass Leute es
> trotzdem tun, ist der Grund, weshalb Computerviren so erfolgreich sind.

Stark übertrieben. Ich habe es unter Linux in einer VM mit WinXP 
getestet, die ich nur für solche Zwecke nehme. Es ist eine One-Time VM, 
die nach Gebrauch entsorgt wird.

von Peter M. (r2d3)


Lesenswert?

Johann R. schrieb:
> Ganz recht, und trotzdem das Prog., weil billige alternative für
> Spottpreisen da steht und leider immer wieder gewinnen wird.

Das habe ich inhaltlich nicht verstanden.

von MaWin (Gast)


Lesenswert?

Sven D. schrieb:
> Stark übertrieben.

Ja?

> Ich habe es unter Linux in einer VM mit WinXP
> getestet, die ich nur für solche Zwecke nehme. Es ist eine One-Time VM,
> die nach Gebrauch entsorgt wird.

Also doch nicht übertrieben.

von Max707 (Gast)


Angehängte Dateien:

Lesenswert?

Teo D. schrieb:
> Sieht doch schon mal nicht schlecht aus.
> Ich habe noch das alte ParSer, selten gebraucht aber wenn, sehr
> nützlich. Gibt's aber schon länger nicht mehr zum Downloaden.
> Wär schon nicht schlecht, wenn es da was Neues gäbe.
>
> KA wie es da mit den Rechten zu aussieht, ist/war Freeware. Könnte es
> dir aber per Mail schicken (nur die exe), bringt eventuell neue Ideen?

hier gibt es den noch zum download:

http://www.dk8pp.de/downloads/index.html

von Johann R. (iwan)


Lesenswert?

Max707 schrieb:
> Teo D. schrieb:
>> Ich habe noch das alte ParSer, selten gebraucht aber wenn, sehr
>> nützlich. Gibt's aber schon länger nicht mehr zum Downloaden.
>> Wär schon nicht schlecht, wenn es da was Neues gäbe.
> hier gibt es den noch zum download:
>
> http://www.dk8pp.de/downloads/index.html

Ja, das ist gut. Überlegener. Hätte ich das früher gefunden, würde ich 
mir bestimmt die Mühe ersparen. Danke!

von Max707 (Gast)


Lesenswert?

Den Quelltext dazu findest Du auch in dem angegebenen Link.

von F. F. (foldi)


Lesenswert?

Max707 schrieb:
> http://www.dk8pp.de/downloads/index.html

Da schlägt mein Antivirenprogramm Alarm.

von Max707 (Gast)


Lesenswert?

Bitte etwas genauer, welcher Virenscanner und was hat er zu beanstanden?

von F. F. (foldi)


Lesenswert?

Micro Trend Maximum Security.

von F. F. (foldi)


Lesenswert?

Ich habe auf dem Handy ElektroDroid, in der Pro Version.
Das ist das "Fähnlein Wieselschweif Handbuch" für Leute die sich mit 
Elektronik befassen.

von Max707 (Gast)


Lesenswert?

Und was genau hat er beanstandet?

Beitrag #5087710 wurde von einem Moderator gelöscht.
von F. F. (foldi)


Lesenswert?

Max707 schrieb:
> Und was genau hat er beanstandet?

Hat vor Ransomware gewarnt.
Da gucke ich auch nicht lange nach, da wird gelöscht.

von Teo D. (teoderix)


Lesenswert?


von Ei der Daus (Gast)


Lesenswert?

F. F. schrieb:
> Max707 schrieb:
>> Und was genau hat er beanstandet?
>
> Hat vor Ransomware gewarnt.
> Da gucke ich auch nicht lange nach, da wird gelöscht.

Das komplette Handy?

von Jack (Gast)


Lesenswert?

Johann R. schrieb:
> Kurz gesprochen soll das Programm überall dort einsetzbar sein, wo die
> krumme Widerstandswerte gefragt sind,

Da haben wir das Problem. Krumme Widerstandswerte sind in der Praxis 
selten gefragt.

Die meisten Schaltungen sind so tolerant, dass man problemlos den nächst 
höheren oder niedrigeren Wert aus einer Reihe nehmen kann. Im Vergleich 
zu den Toleranzen z.B. einiger Transistorparameter oder von 
Kondensatoren, sind die Toleranzen von E12 oder E24 Widerständen 
Peanuts. Viele Werte sind so unkritisch, dass man sie BOM-optimiert. 
D.h. man versucht möglichst viele Widerstände mit dem selben Wert zu 
verwenden.

Wenn die Werte kritisch sind, versucht man sie unkritisch zu machen. Zum 
Beispiel dadurch, dass man die Grenzfrequenz eines Filters so weit 
verschiebt, dass auch mit den ungünstigsten Toleranzen das gewünschte 
Ziel erreicht. Geht das nicht, sieht man Abgleichen vor.

Für Präzision-Schaltungen sind die absoluten Werte weit weniger 
interessant als die Stabilität. Das fertige Gerät wird kalibriert und 
gut ist.

Manchmal ist es wichtig, dass nicht nur die Stabilität gegeben ist, 
sondern auch die Verhältnisse stimmen, z.B. bei 
Präzision-Spannungsteilern. Die bekommt man aber nicht durch 
zusammengesetzte Werte aus E12 oder E24 Widerständen. Entweder trimmt 
man selber oder kauft z.B. ab Werk lasergetrimmte Widerstandsnetzwerke.

> Man könnte übrigens anstatt Widerstände sich auch
> Induktivitäten vorstellen.

Ebenfalls in der Praxis nicht relevant. Bei den meisten Spulen, die man 
in Schaltungen einbaut, sind die Induktivitätswerte unkritisch. 
Ansonsten trimmt man - entweder die Spule oder eine Kapazität. Wer in 
einer Schaltung Präzision-Spulen vorsieht stellt sich selber ein Bein.

> würde für z.B. Abfluss-Wasserschläuche von gleichen Durchmesser, aber

Soweit ich weiß legt weder ein altmodischer Klempner noch ein moderner 
Anlagenmechaniker Fachrichtung Sanitär-, Heizungs- und Klimatechnik 
parallel doppelte Abwasserrohre. Der schaut in seine Tabelle und verlegt 
das nächstgrößere Rohr oder verlegt das, was er schon immer verlegt hat.

> Man kann so einiges damit machen...

Es ist mehr so eine nette Fingerübung im Programmieren.

Wir alten Hasen haben übrigens noch gelernt eine Parallelschaltung in 
ein paar Sekunden auf Papier grafisch zu bestimmen. In Österreich 
scheint das noch in der Schule gelehrt zu werden 
http://www.ganzklar.at/mathematik/html/nomogramm-ohm.html

von foo (Gast)


Lesenswert?

Programm?!

http://www.wolframalpha.com/input/?i=123+ohms

Guggst du unter "Nearest networks of standard resistors"

von Martin S. (sirnails)


Lesenswert?

foo schrieb:
> Programm?!
>
> http://www.wolframalpha.com/input/?i=123+ohms
>
> Guggst du unter "Nearest networks of standard resistors"

Sauber! Danke für den Tipp!

WA wird einfach immer krasser. Wenn ich darüber nachdenke, wie die Seite 
beim Launch war, und was sie jetzt inzwischen alles kann o.O

Leider ist mein kostenloser Studentenzugang weg :(

von Der Andere (Gast)


Lesenswert?

Martin S. schrieb:
> Sauber! Danke für den Tipp!
>
> WA wird einfach immer krasser.

Dem Danke und der Aussage schliesse ich mich an.

By the Way:
Vieleicht kann ein Moderator mal den "Wiederstand" in der 
Threadüberschrift korrigieren. Man kriegt jedes Mal Zahnschmerzen wenn 
man das auf der Startseite sieht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.