mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Berechnung von Widerständen der E(xx) Reihe für Op-Amp Schaltungen


Autor: Thomas B. (h2oo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin der festen Überzeugung das ich "irgendwo", ich kann mich echt 
nicht mehr spezifisch daran erinnern wo, dass jemand eine Excel Tabelle 
hatte die folgendes "berechnen" konnte.

Dabei konnte man z.B. die gewünschte Verstärkung eines 
invertierenden/nicht invertierenden Verstärkers angeben und dann hat 
einem die Tabelle die nächst passenden Widerstände einer zuvor 
definierten E(xx) Reihe ausgespuckt, bzw. aus einer zuvor erstellen 
Bestandsliste die passenden berechnet.

Ich wollte nur mal Fragen ob so etwas irgendwie jemand durch den Kopf 
geistert bevor ich mir die Arbeit mache selber was zu programmieren.
Das wird dann nämlich wohl mein erstes echtes Anwendungsprogramm was ich 
erstellen werde, was es mir aber dann auch Wert wäre.

Diese Tabelle wäre natürlich auch ein guter Ansatz um herauszufinden wo 
ich anfangen sollte mit meinem eigenen Programm.

DANKE schon mal für euren Input

: Verschoben durch Moderator
Autor: Andreas M. (elektronenbremser)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hi,

die  Androidapp Elektrodroid kann das und vieles andere auch, wenn es 
nicht unbedingt Excel sein muss. Auch die free Version.

: Bearbeitet durch User
Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstärkung ist einfach.

Das hier hilft bei den Widerständen: 
https://www.qsl.net/in3otd/parallr.html

Autor: Thomas B. (h2oo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte halt Grundsätzlich eher was wo ich "Design Ideen" klauen kann 
für mein eigenes erstes Programm, da ich auch einige wirklich exotisch 
Widerstandswerte aus der E192 habe. Ich habe keine komplette E-Reihe, es 
haben sich aber einige Werte mit der Zeit angesammelt. Und ich würde 
auch gerne einfach/doppelte Verwendung eines Wertes in Betracht ziehen 
bei einer solchen Berechnung.

Autor: Egon D. (egon_d)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Thomas B. schrieb:

> Ich wollte halt Grundsätzlich eher was wo ich "Design
> Ideen" klauen kann für mein eigenes  erstes Programm,
> da ich auch einige wirklich exotisch Widerstandswerte
> aus der E192 habe. Ich habe keine komplette E-Reihe, es
> haben sich aber einige Werte mit der Zeit angesammelt.
> Und ich würde auch gerne einfach/doppelte Verwendung
> eines Wertes in Betracht ziehen bei einer solchen
> Berechnung.

So ganz verstehe ich das Problem nicht.

Du hast eine Liste von zur Verfügung stehenden Werten.
Jetzt schreibst Du für jede zulässige Art der
Verschaltung eine Schleife, die die Liste durchmustert,
jeweils den Gesamtwiderstand berechnet und letztlich
Kombination und Ergebnis an eine Liste anhängt.

Ganz am Schluss sortierst Du die Liste passend. Fertig.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn der Spannungsteiler zu hochohmig wird, muss man noch ans 
Rauschen, Drift, Leckstrom und Störempfindlichkeit denken.
Wenn er aber zu niederohmig wird, an die Belastung des OP Ausgangs und 
der Quelle...

Autor: Egon D. (egon_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:

> Und wenn der Spannungsteiler zu hochohmig wird, muss
> man noch ans Rauschen, Drift, Leckstrom und
> Störempfindlichkeit denken. Wenn er aber zu niederohmig
> wird, an die Belastung des OP Ausgangs und der Quelle...

Das hat aber weniger mit der Berechnung selbst als
vielmehr mit der sachgerechten Interpretation der
Ergebnisse zu tun...

Autor: Peter M. (r2d3)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

das könnte ich gewesen sein.

Um einen Teiler zu berechnen, brauchst Du doch nur Deine Ideen in Code 
zu gießen. Eine fremde Vorlage ist für so etwas einfaches wie einen 
Teiler nicht nötig, glaube ich.

karadur schrieb:
> Das hier hilft bei den Widerständen:
> https://www.qsl.net/in3otd/parallr.html

Für Teilerberechnungen ist das eher nicht zielführend.

Egon D. schrieb:
> Jetzt schreibst Du für jede zulässige Art der
> Verschaltung eine Schleife, die die Liste durchmustert,

"jede zulässige Art" bläst die Ergebnisliste schön auf - spätestens beim 
dritten Widerstand. :)

Allerdings kann das Verfahren Treffer finden, die näher am Zielteiler 
liegen.
Ich bevorzuge da eine reduzierte Variante.

Autor: georg (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Thomas B. schrieb:
> dann hat
> einem die Tabelle die nächst passenden Widerstände einer zuvor
> definierten E(xx) Reihe ausgespuckt

Dafür habe ich vor einiger zeit mal eine App erstellt.

Georg

Autor: Peter M. (r2d3)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
georg schrieb:
> Dafür habe ich vor einiger zeit mal eine App erstellt.
>
> Georg

2,2MB für das Anzeigen des nächsten Normwerts? :)

Und womit kann ich hier Teiler rechnen?

Ein Teilerrechner sollte schon mindestens zwei Widerstände ausgeben.

: Bearbeitet durch User
Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt unzählige Lösungen für ein Teilerverhältnis.

Interessanter sind Parameter wie Strom, Rauschen u.s.w.

Autor: Peter M. (r2d3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
karadur schrieb:
> Interessanter sind Parameter wie Strom, Rauschen u.s.w.

Alternativ zum Strom kann man die Teilerimpedanz verwenden, bei mir im 
2-Widerstand-Fall angegeben durch "real sum". Der dritte Widerstand 
mindert diese ein bisschen, aber zum Abschätzen der Größenordnung reicht 
es.

Autor: Egon D. (egon_d)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Peter M. schrieb:

> Egon D. schrieb:
>> Jetzt schreibst Du für jede zulässige Art der
>> Verschaltung eine Schleife, die die Liste durchmustert,
>
> "jede zulässige Art" bläst die Ergebnisliste schön auf -
> spätestens beim dritten Widerstand. :)

Naja... in Zeiten, in denen Rechner mit 1'073'741'824 Byte
Arbeitsspeicher als stark untermotorisiert gelten, habe ich
in dieser Hinsicht wenig Hemmungen.
Die paar Tausend Kombinationen, die sich ergeben, fallen
nicht wirklich in's Gewicht.


> Allerdings kann das Verfahren Treffer finden, die näher
> am Zielteiler liegen.

Ja - das war ja das Ziel.

Und natürlich rechne ich nicht alle Dekaden einzeln durch.
Zwei benachbarte Dekaden genügen -- so schlau, das Komma
passend zu verschieben, wird der Anwender (=ich) ja wohl
sein...

Ich verwende i.d.R. 1%-Widerstände, also hat 1M || 1k
ohnehin keinen Sinn.

Autor: Peter D. (peda)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ein erfahrener Entwickler braucht keine solche Tools. Schon das Starten 
würde viel zu lange dauern.
Z.B. für einen invertierenden Verstärker *10 nimmt er 10k + 100k bzw. 
für den nicht invertierenden 10k + 91k.
Genauer zu rechnen macht keinen Sinn. Bei 1% Widerständen kann der 
Gesamtfehler im worst case 2% betragen.
In der Praxis rechnet man einen Headroom mit ein. Z.B. für 0..30V 
Ausgangsspannung dimensioniert man die Schaltung so, daß beim 
DAC-Endwert 33V (+10%) rauskommen. Den Abgleich macht man dann in 
Software über Gain und Offset im EEPROM. Damit lassen sich 
Bauteiltoleranzen bequem ausgleichen.
Trimmpotis sind Teufelszeug (ungenau, instabil), sollte man besser 
vermeiden.

Autor: Peter M. (r2d3)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo Peter D.,

Peter D. schrieb:
> In der Praxis rechnet man einen Headroom mit ein. Z.B. für 0..30V
> Ausgangsspannung dimensioniert man die Schaltung so, daß beim
> DAC-Endwert 33V (+10%) rauskommen.

Deinen Worten entnehme ich, dass jede analoge Schaltung mit 
Operationsverstärker auch gleich einen DAC zur Feinabstimmung von 
Teilerverhältnissen enthält.
Das halte ich für eine gewagte, wenn nicht sogar verschwenderische 
Fantasie. :)

Peter D. schrieb:
> Ein erfahrener Entwickler braucht keine solche Tools. Schon das Starten
> würde viel zu lange dauern.

Diese erfahrenen Entwickler tun mir wirklich leid - die haben noch nicht 
einmal Zeit für das Öffnen einer Exceldatei.
Gut, dass ich nicht Elektrotechnik studiert habe. :)
Mein berufliches Dasein ist gottseidank beschaulicher.

Rechnen "erfahrene Entwickler" die benötigten Teilerkomponenten auch im 
Kopf?
Für einen 1:n-Teiler brauche ich auch kein Tool.

Meine bescheidene Meinung als Nicht-Elektrotechniker:

Ingenieure basteln sich Werkzeuge für immer wiederkehrende lästige 
gleichartige Aufgaben, wo normale Menschen sich zeitintensiv mit 
beschäftigen.

Einer von diesen Typen war Bauingenieur, ich glaub' der hieß Zuse. :)

Du bist offensichtlich kein Ingenieur. Ich bin übrigens auch keiner.

P:S.: Ingenieur kommt von Ingenium. Unter dem Link unter Punkt 3 
nachlesen:

https://de.pons.com/%C3%BCbersetzung/latein-deutsch/ingenium

: Bearbeitet durch User
Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter M. schrieb:
> Ingenieure basteln sich Werkzeuge für immer wiederkehrende lästige
> gleichartige Aufgaben, wo normale Menschen sich zeitintensiv mit
> beschäftigen.

Ob Anfänger meinen, ein Tool zu brauchen oder ob ein Tool wirklich auch 
in der Praxis sinnvoll ist, läßt sich sehr leicht mit Google 
herausfinden. Wenn es Bezahltools dafür gibt, dann wird es 
wahrscheinlich auch in der Praxis eingesetzt.

Peter M. schrieb:
> Rechnen "erfahrene Entwickler" die benötigten Teilerkomponenten auch im
> Kopf?

Der Windows Rechner-Plus ist ganz brauchbar.
Zunehmend lasse ich aber auch den Compiler rechnen, z.B.:
#define XDAC_RES        65535.0                 // 16 Bit
#define XDAC_MAX        5.0                     // 5V
#define ANODE_SGAIN     (XDAC_RES / XDAC_MAX / (1 + 270.0 / 10.0))      // 10k/270k
#define REPELLER_SGAIN  -(XDAC_RES / XDAC_MAX / (360.0 / 20.0))         // 20k/360k

Schaltungsänderungen lassen sich so einfach ins Steuerprogramm 
übernehmen.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Peter M. schrieb:
> Ingenieure basteln sich Werkzeuge für immer wiederkehrende lästige
> gleichartige Aufgaben
Ingenieure sehen zu, dass wiederkehrende Aufgaben von Anderen erledigt 
werden...  ;-)

> Deinen Worten entnehme ich, dass jede analoge Schaltung mit
> Operationsverstärker auch gleich einen DAC zur Feinabstimmung von
> Teilerverhältnissen enthält.
Diese Worte hast du offenbar falsch interpretiert. Was ausgesagt wird, 
ist, dann hinter nahezu jedem Eingangsverstärker und vor fast jedem 
Ausgangsverstärker ein signalverarbeitender µC mitsamt ADC und DAC 
sitzt, der die Skalierung und sogar die Kalibirerung per Software 
erledigen kann. Insofern ist das promillegenaue Berechnen von 
Widerständen und Teilerverhältnissen uninteressant.

Es mag zwar durchaus auch rein analoge Schaltungen geben, die mal 
genauer berechnet werden müssen. Bei diesen Berechnungen kann man aber 
kaum von "wiederkehrenden" Aufgaben sprechen. Für >>95% der Entwickler 
kommt Weihnachten öfter...

Peter D. schrieb:
> #define XDAC_RES        65535.0                 // 16 Bit
Eine etwas ungünstige Namensgebung...
Ist nicht die Auflösung 65536.0 und der Maximalwert 65535.0?
Und biegst du damit auch zugleich die Steigung des ADC etwas nach oben, 
dass statt 4,999V am Ende 5,000V herauskommen?

: Bearbeitet durch Moderator
Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Ist nicht die Auflösung 65536.0 und der Maximalwert 65535.0?

Damit hast Du natürlich recht. Die Namensgebung von Konstanten, 
Variablen und Funktionen ist kein leichter Job.

Lothar M. schrieb:
> Und biegst du damit auch zugleich die Steigung des ADC etwas nach oben,
> dass statt 4,999V am Ende 5,000V herauskommen?

Stimmt, allerdings hat die Referenz (REF02) eine viel größere Abweichung 
(4,985..5,015V).

Autor: Thomas B. (h2oo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter, ich denke die Tabelle sah anders aus. Ich glaube nicht das es 
die von dir war.

ABER das ist eigentlich gar nicht sooo schlimm wenn sich die Tabelle die 
ich im Kopf habe nicht mehr auffinden lässt. Dadurch habe ich nur noch 
mehr Anreiz endlich mal vom "nur" AVR µController programmieren 
querzuschießen in Richtung eines graphischen Tools.

Da ich C/C++ bereits "etwas" gelernt habe werde ich das wohl in C++ 
schreiben das Programm und ich versuche es Plattformübergreifend zu 
erstellen sodass es sich jeder theoretisch kompilieren könnte (ich nutze 
atm Ubuntu, und da bin ich SEHR froh darüber)
Graphische Oberflächen sind mir zwar noch zu 100% fremd, aber das lernt 
man schon irgendwie ^^


OK und btw, durch euren Exkurs zum Thema ADC/DAC-Auflösung habt ihr mich 
noch auf ein weiteres Feature gebracht welches zu meiner -will ich in 
mein Programm implementieren- Liste hinzugefügt wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.