Forum: Analoge Elektronik und Schaltungstechnik Spannungscodierte Versionserkennung


von Patrick (Gast)


Lesenswert?

Guten Morgen zusammen!

Ich bin neu in der Elektronikentwicklung und habe in einem Lastenheft 
folgendes stehen:

Hardwareversionserkennung:
Die Version der Hardware ist spannungscodiert. Der Spannungswert für die 
Hardwareversion ergibt sich durch:
U = (2.5V/128)*Versionsnummer
Insgesamt sind auf der Leiterplatte die Hardwareversionsnummern 0 bis 
127 vorzusehen. Die zu verwendende Verionsnummer ist gesondert geregelt.

Nun meine Frage: Hat von Euch schon mal jemand so was ähnliches gemacht? 
Oder hat einer eine Idee, wie man das verwirklichen könnte? Eventuell 
mit Dip-Schaltern?

Ich danke Euch jetzt schon für Eure Antworten.

Gruss Patrick

P.S. Warum das so gewünscht wird, tut hier nichts zur Sache.

von Nitram L. (nitram)


Lesenswert?

Patrick wrote:
>
> Oder hat einer eine Idee, wie man das verwirklichen könnte? Eventuell
> mit Dip-Schaltern?
>


Hallo Patrick,
wir haben hir auch solche "Codierungen" auf den Baugruppen.
Je nach Version werden festgelegte Wiederstände bestückt/nichtbestückt.
Das sind ganz normale SMD-Teile, so das es keine Schalter gibt...
Das ist allerdings eine "digitae" Variante...

nitram

von matt (Gast)


Lesenswert?

ich hab sowas schon mal gemacht mit einem Spannungsteiler und 
wechselbaren Widerständen. Allerdings mußt du dann die Toleranzen 
berücksichtigen und die erlaubten Spannungsbereiche ausrechnen und einem 
Wert zuweisen.

von Peter D. (peda)


Lesenswert?

Patrick wrote:

> Nun meine Frage: Hat von Euch schon mal jemand so was ähnliches gemacht?

Ne, sowas macht keiner.
127 Stufen, da sind ja schon 1% Widerstände zu schlecht.

Sowas macht man binär.
Und wenn die Pins nicht reichen, nen 74HC165 dahinter und seriell 
auslesen.


Peter

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Würde es so grundsätzlich funktionieren, wie im Anhang gezeichnet?
Die Schalter S1 bis S7 sind dann DIP-Switches.

von Rahul D. (rahul)


Lesenswert?

Fällt das nicht unter "Prinzip DA-Wandler"?

Es müsste also ein R2R-Netzwerk sein.
http://de.wikipedia.org/wiki/R2R
Per Jumper/Lötbrücke liesse sich dann die Versionsnummer 
"einprogrammieren".

von Peter D. (peda)


Lesenswert?

Patrick wrote:
> Würde es so grundsätzlich funktionieren, wie im Anhang gezeichnet?

So und schon gibts böses Blut mit der Materialbeschaffung, weil die 
extra für Dich neue Präzisionswiderstände abseits der E24-Reihe anlegen 
müssen.

Oder die drücken Dir einfach die hier in die Hand:

1k, 2k, 3.9k, 8.2k, 16k, 33k, 62k, 130k


Ein 74HC165 ist viel billiger als ein Haufen Präzisionswiderstände.


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Ein 74HC165 ist viel billiger als ein Haufen Präzisionswiderstände.

Naja, aber der braucht drei Pins zur Ansteuerung, einen Spannungsteiler 
kann man über einen freien ADC-Kanal einlesen.
Ich frage mich, wer 128! Hardwareversionen kodieren will. 16 oder 32 
sind mit normalen Widerständen vielleicht noch machbar, darüber hinaus 
wirds unsicher bzw. man braucht sehr genaue Widerstände.

Ausweg. Einige Prozessoren werden digital mit Reset-Werten versorgt, 
indem man den Datenbus mittels Pull-up /Down definert treibt. Am Start 
liest der Prozessor die Daten ein und reagiert entsprechend. Im Betrieb 
stören die Pull-Up/Downs dann nicht weiter.

MFG
Falk

von Patrick (Gast)


Lesenswert?

Ich glaub ein 8bit AD-Wandler ist genau das richtige. Aber die haben 
alle 256 Abstufungen. Weiss jemand, ob es auch 7bit AD-Wandler gibt?

von lontano (Gast)


Lesenswert?

warum nicht ein digipot ? hat 128 Werte

von Peter D. (peda)


Lesenswert?

Patrick wrote:
> Ich glaub ein 8bit AD-Wandler ist genau das richtige.

Nein, der ist völlig ungenügend, Du hast keinerlei Erkennungssicherheit!

Es sei denn, Du willst ihn als Zufallsgenerator verwenden.

Außerdem ist Deine Schaltung stark nichtlinear, da dürfte selbst ein 
10Bit-ADC zu schlecht sein.


Peter

von Patrick (Gast)


Lesenswert?

Äh. Ich meinte natürlich 8-bit DA-Wandler.
Was ist ein Digipot?

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:
> @ Peter Dannegger (peda)
>
>>Ein 74HC165 ist viel billiger als ein Haufen Präzisionswiderstände.
>
> Naja, aber der braucht drei Pins zur Ansteuerung

Latch und Clock kann man bestimmt mit anderen Ausgangspins multiplexen 
(z.B. SPI), bleibt nur ein Eingangspin übrig.


Peter

von lontano (Gast)


Lesenswert?


von Patrick (Gast)


Lesenswert?

Das R/2R-Netzwerk ist genau das, was ich brauche. Da kann ich mir selber 
ein 7-bit DA-Wandler basteln.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich hätte eher einen 1-wire EEPROM (gibt's sogar als OTP) genommen.
Da haste gleich noch eine Seriennummer mit dabei.

Wie Falk schon schrieb, so'ne Methode mag für 16 oder 32 Werte gehen,
für 127 stolperst du einfach über allerlei Genauigkeitsprobleme
(die Widerstände selbst, die Auflösung des AD-Wandlers, selbst wenn
du von den 8 bits nur 7 benutzt).

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Ich bau mir einfach meinen eigenen 7-bit DA-Wandler nach angehängtem 
Schaltplan. Die Codierung kann ich dann über Jumper verändern. Die 
Genauigkeit kann ich vernachlässigen.

von Falk B. (falk)


Lesenswert?

@  Patrick (Gast)

>Dateianhang: cod.jpg (39,6 KB, 7 Downloads)

Bildformate

>Genauigkeit kann ich vernachlässigen.

???
Woher die kühne Aussage? Und was sollen die OPVs? Zum di Schaltung des 
ersten OPVs überaus merkwürdig ist.

MFG
Falk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Falk Brunner wrote:

>>Genauigkeit kann ich vernachlässigen.

> Woher die kühne Aussage?

Wahrscheinlich genügt es, wenn er die Hardwareversion ,,nur so
ungefähr'' erkennt. ;-)

von Patrick (Gast)


Lesenswert?

>Und was sollen die OPVs?

Siehe hier Seite 24/39:
www.ant.uni-bremen.de/teaching/slab/adda_ss2007_de.pdf

Der zweit OP ist nur, um das Vorzeichen zu wechseln.

>Woher die kühne Aussage?
Seien wir mal ehrlich. Ist eine Verionserkennung so wichtig, dass ich 
alle Genauigkeiten berücksichtigen muss? Ich glaube kaum.

>Bildformate
Wenn ich eine Software zu Umwandlung des Bildformates zur Hand hätte, 
hätte ich das natürlich für Dich gemacht.

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal für Falk Brunner.

von yalu (Gast)


Lesenswert?

Warum kein normales Spindelpoti? Klar, das muss natürlich bei der
Herstellung abgelichen werden, dafür sind keine engtolerierten
Einzelwiderstände erforderlich.

Anderer Punkt: Bei allen bisher vorgeschlagenen Lösungen (auch bei
meiner) brauchst du auch noch eine Referenzspannungsquelle mit einer
Genauigkeit von deutlich besser als 1/128. Zusammen mit den Wider-
ständen, einem Opamp als Impendanzwandler und ein paar Kondensatoren
zur Störunterdrückung ist schon ein Großteil der Platine nur mit der
Versionsabfragemöglichkeit gefüllt.

Wie sieht es aus mit Temperaturdrift und Alterung? Mir erscheint eine
Genauigkeit von 1/128 für die gesamte Kette von Referenzspannungs-
quelle, Widerstände, Impedanzwandler und A/D-Umsetzer (der seinerseits
wider von einer Referenzspannungsquelle abhängt) ziemlich
abenteuerlich.

Könnte man nicht wenigstens zwei Ausgänge vorsehen, die jeweils
einen von 16 Spannungswerten annehmen? Die Genauigkeit von 1/16 ist
problemlos machbar, und es ist sogar Platz für 256 Versionsnummern.

von Falk B. (falk)


Lesenswert?

@ Patrick (Gast)

>www.ant.uni-bremen.de/teaching/slab/adda_ss2007_de.pdf

Wenn du den Link VOLLSTÄNDIG mit http:// reinstellst, wird er 
automatisch als Link angezeigt.

>Der zweit OP ist nur, um das Vorzeichen zu wechseln.

Sind beide unnötig. Der R2R DAC spuckt auch so eine positive Spannung 
aus.

http://www.avr-asm-tutorial.net/avr_de/avr_dac.html

>>Woher die kühne Aussage?
>Seien wir mal ehrlich. Ist eine Verionserkennung so wichtig, dass ich
>alle Genauigkeiten berücksichtigen muss? Ich glaube kaum.

AHHHH!!! Hast du ein paar Smilies vergessen? Ohhhhhh Mann, die Studenten 
von heute . . ., naja sichert meinen Arbeitsplatz.

>>Bildformate
>Wenn ich eine Software zu Umwandlung des Bildformates zur Hand hätte,
>hätte ich das natürlich für Dich gemacht.

Legastheniker?

Zitat aus dem Wikiartikel

"Das weit verbreitete Schaltplan- und Layoutprogramm  EAGLE bietet 
direkt die Möglichkeit, Schaltpläne und Layouts als PNG-Bild zu 
exportieren (Menu File->Export->Image). Aber bitte nicht die Auflösung 
zu hoch einstellen! Die Voreinstellung von 150 dpi ist meist optimal!"

>Hier nochmal für Falk Brunner.

Es ist sinnlos solche kleinen Bilder doppelt zu senden. Es ging mir 
darum, dass du es beim nächsten Mal richtig machst.

MFG
Falk

von Falk B. (falk)


Lesenswert?

@ yalu (Gast)

>Warum kein normales Spindelpoti? Klar, das muss natürlich bei der
>Herstellung abgelichen werden,

EBEN! Weisst du was das kostet in grossen Stückzahlen?

> dafür sind keine engtolerierten
>Einzelwiderstände erforderlich.

Die platziert der Automat allein.

>Anderer Punkt: Bei allen bisher vorgeschlagenen Lösungen (auch bei
>meiner) brauchst du auch noch eine Referenzspannungsquelle mit einer
>Genauigkeit von deutlich besser als 1/128.

Nöö, er muss nur die Referenz des ADC anzapfen, die kann dann sogar 
ungenau wie Sau sein. -> Ratiometrische Messung.

> Zusammen mit den Wider-
>ständen, einem Opamp als Impendanzwandler und ein paar Kondensatoren
>zur Störunterdrückung ist schon ein Großteil der Platine nur mit der
>Versionsabfragemöglichkeit gefüllt.

;-) HighTec.

MFG
Falk

von Patrick (Gast)


Lesenswert?

Die Referenzspannung wird von einem MP430 erzeugt. Die Bauteile sind 
alle SMD, brauchen also nicht all zu viel Platz. Wie gesagt, die 
Genauigkeit ist nicht kritisch. Davon hängt ja keine massgebende 
Funktion der ganzen Schaltung ab. Wenn 256 Versionsnummern gefragt 
wären, hätte ich einen Handelsüblichen 8-bit D/A-Wandler verwenden 
können. Da würden die ganzen Widerstände und OPs wegfallen. Aber in so 
einem Baustein ist auch nichts anderes drin wie in meiner Schaltung.

von Patrick (Gast)


Lesenswert?

@Falk
>die Studenten von heute
Wer bitte sagt, ich sei Student?

>Sind beide unnötig. Der R2R DAC spuckt auch so eine positive Spannung aus.
Aber ist der Wert der Spannung auch gleich der Formel
U=(2.5V/128)*Versionsnummer?
Das war gefordert (siehe erstes Posting)

>dass du es beim nächsten Mal richtig machst.
Ich werds versuchen ;-)

von Peter D. (peda)


Lesenswert?

Selten so einen hohen Aufwand für eine derart einfache Aufgabe gesehen.


Wenns denn unbedingt analog sein muß, nimm doch nen ATtiny24, hängt an 
einen Port die 7 Jumper ran und ab damit auf die PWM, nen RC-Glied 
dahinter, fertisch.

Der ATtiny24 wird dann mit der gleichen Spannung betrieben, die der 
nachfolgende ADC als Referenz nimmt und schon sind auch sämtliche 
Genauigkeitsanforderungen vom Tisch.
Der ADC ist dann mindestens 10Bit, damit man die Schwellen immer genau 
zwischen 2 Spannungspegel setzen kann.

Hauptsache, zwischen ATtiny24 und ADC sind die Massepotentiale gut 
verbunden.

Alternativ kann man aber auch die PWM übertragen und per Timer das 
Tastverhältnis messen lassen. Dann sind Spannungsdifferenzen egal.


Peter

von Falk B. (falk)


Lesenswert?

@ Patrick (Gast)

>alle SMD, brauchen also nicht all zu viel Platz. Wie gesagt, die
>Genauigkeit ist nicht kritisch.

So ein Blödsinn! Warum dann der Affentanz mit 128 Versionsnummern?
Dein PC kann ja ruhig alle 3 Stunden abstürzen, ist ja nicht so 
tragisch.

>Funktion der ganzen Schaltung ab. Wenn 256 Versionsnummern gefragt
>wären, hätte ich einen Handelsüblichen 8-bit D/A-Wandler verwenden

Ohje Ohje. Dir ist das Problem scheinbar nicht ganz klar.

1.) es muss eine Analogspannung mit 1/128 Genauigkeit erzeugt werden. 
Das kann auch ein 8 Bit DA-Wandler.

2.) Diese Spannung muss mit einem AD-Wandler wieder genau gemessen 
werden.

Nur ist es "etwas" illusorisch anzunehmen, dass ein 8 Bit AD-Wandler so 
ohne weiteres fehlerfrei ein Signal des 7 Bit DA-Wandlers erfassen kann.
Immerhin gibt es Quantisierungsrauschen (Quantisierung) , von 
weiteren Nichtlinearitäten BEIDER Wandler mal ganz zu schweigen.

>können. Da würden die ganzen Widerstände und OPs wegfallen. Aber in so
>einem Baustein ist auch nichts anderes drin wie in meiner Schaltung.

Wenn du meinst.

MFG
Falk

von Patrick (Gast)


Lesenswert?

@Peter
Kein Kommentar.

von Oliver (Gast)


Lesenswert?

>Wie gesagt, die Genauigkeit ist nicht kritisch. Davon hängt ja keine >massgebende 
Funktion der ganzen Schaltung ab.

Wenn du alle deine zukünftigen Lastenhefte so "interpretierst", dürften 
es nicht mehr viele werden. Aber vielleicht reicht dem Kunden ja 
tatsächlich eine Aussage wie: " Die Hardwareversion liegt mit 66% 
Wahrscheinlichkeit zwischen 64 und 127..."

Oliver

von Peter D. (peda)


Lesenswert?

Patrick wrote:
> Ich bau mir einfach meinen eigenen 7-bit DA-Wandler nach angehängtem
> Schaltplan. Die Codierung kann ich dann über Jumper verändern. Die
> Genauigkeit kann ich vernachlässigen.

Witz komm raus, Du bist umzingelt.

Du willst also doch nur ne Zufallszahl und keine Versionsnummer.

Auch bei 7Bit-R2R müssen zumindest die höherwertigen Bits mit 
Widerständen besser 0,5% sein!


Peter

von Patrick (Gast)


Lesenswert?

>Das kann auch ein 8 Bit DA-Wandler.
Hier wird mir aber die Spannung so aufgeteilt: 
U=(2.5V/256)*Versionsnummer

>2.) Diese Spannung muss mit einem AD-Wandler wieder genau gemessen werden.
Ausgewertet wird sie mit dem MP430.

>Wenn du meinst.
Du selbst hast mir doch oben den Link geschickt. Zitat von der Seite:
"Kommerzielle Digital-Analog-Wandler haben solche R/2R-Netzwerke im IC 
integriert."

von Falk B. (falk)


Lesenswert?

@ Patrick (Gast)

>>die Studenten von heute
>Wer bitte sagt, ich sei Student?

Was bist du dann?

>Aber ist der Wert der Spannung auch gleich der Formel
>U=(2.5V/128)*Versionsnummer?
>Das war gefordert (siehe erstes Posting)

Das benötigt max. 1 OPV als nichtinvertierenden Verstärker. Nimmt man 
einen Rail-2-Rail Typen braucht man keine negative Versorgungsspannung.

MFG
Falk

von Patrick (Gast)


Lesenswert?

Diese Forum ist einfach zu voll mit Klugscheissern

von Patrick (Gast)


Lesenswert?

>Was bist du dann?
Lesen bildet:
>Ich bin neu in der Elektronikentwicklung

von yalu (Gast)


Lesenswert?

> EBEN! Weisst du was das kostet in grossen Stückzahlen?

Patrick hat nichts davon geschrieben, wie groß die Stückzahlen sind.
Weil wir das nicht wissen, habe ich meinen Vorschlag ja auch als Frage
formuliert.

> Nöö, er muss nur die Referenz des ADC anzapfen, die kann dann sogar
> ungenau wie Sau sein. -> Ratiometrische Messung.

Ich hatte Patrick so verstanden (auch wenn er das zugegebenermaßen
nirgends geschrieben hat), dass das alles möglichst über eine einzige
Leitung (plus GND) funktionieren soll. Für den Fall, dass man zwei
Leitungen verwenden darf, habe ich ja eine andere Lösung gepostet, die
den achtfachen Störabstand aufweist.

>> Der zweit OP ist nur, um das Vorzeichen zu wechseln.
>
> Sind beide unnötig. Der R2R DAC spuckt auch so eine positive
> Spannung aus.

Der erste Opamp ist als Strom-Spannungs-Wandler geschaltet und ist bei
diesem Typ von DAC auf jeden Fall erforderlich, da die unteren
Kontaktschinen beide auf GND-Potenzial liegen müssen.

von Gast123 (Gast)


Lesenswert?

Entweder hat der Autor von dem Lastenheft sich etwas verschätzt, oder er 
will dich testen. Ich würde mich auf jeden Fall mal mit dem in 
Verbindung setzen und sagen, dass das alles etwas umständlich ist.

von Peter D. (peda)


Lesenswert?

Patrick wrote:
> @Peter
> Kein Kommentar.

Ich hoffe nur, daß Dein Chef keine Ahnung hat, was Du da für einen 
Unsinn verzapfst.

Wir haben auch auf Modulen Typerkennungen mit 8 Nullohmwiderständen an 
nem 8Bit-Port vorgesehen.
Allerdings streikt die Software, wenn auch nur einmal eine falscher 
Modultyp im falschen Slot erkannt werden würde. Und der Kunde würde 
entsprechen sauer reagieren.
Solche Spielchen, wie Du sie vorhast, können wir uns daher nicht 
leisten.


Vielleicht bist Du ja ein beserer Pokerspieler alse ein Entwickler, 
damit kann mancher auch sein Geld verdienen:

http://www.michaelkeiner.de/


Peter

von Falk B. (falk)


Lesenswert?

@ yalu (Gast)

>Der erste Opamp ist als Strom-Spannungs-Wandler geschaltet und ist bei
>diesem Typ von DAC auf jeden Fall erforderlich, da die unteren
>Kontaktschinen beide auf GND-Potenzial liegen müssen.

Schon klar, aber die andere Schaltung des R2R DAC ist da wesentlich 
einfacher zu nutzen.

DA-Wandler

@ Gast123 (Gast)

>Entweder hat der Autor von dem Lastenheft sich etwas verschätzt, oder er
>will dich testen.

Oder es wurde, wie ein in good OLD Grmany mehr und mehr üblich ist, ein 
Lastenheft von einem Praktikanten/Absolventen/Theoretiker geschrieben, 
der wenig bis keine Ahnung von der Praxis hat. Entwicklen dürfn das dann 
"Billig-Ings" in Osteuropa oder Indien.

MFG
Falk

von Patrick (Gast)


Lesenswert?

>in good OLD Grmany
tja, kommt leider aus der Schweiz ;-)

>Allerdings streikt die Software
Deshalb suche ich eine Lösung ohne Software. Ich finde ein ATtiny ist 
schon etwas zu aufwendig, für so eine einfache Aufgabe

von Uhu U. (uhu)


Lesenswert?

Bin zwar kein gelernter Hardwaredompteur, aber für mich als 
Softwareentwickler sind Versionsnummern täglich Brot.

Deswegen wundere mich, wie man auf die Schnapsidee kommen kann, die 
Versionsnummer über Jumper, oder - noch absurder - über Dipsitches 
einstellbar zu machen. Das Zeug kann sich ja schon beim Transport oder 
unvorsichtiger Handhabung verstellen...

Für Software ist die Versionsnummer ausschließlich an die Software 
selbst gebunden, bei Hardware mit µCs muß neben der Hardware-Version 
natürlich auch die Firmware-Version irgendwie mit in die 
Versionsunterscheidung mit eingehen.

Wenn kein µC vorhanden ist, würde ich extra für das Versionenszeug einen 
nehmen und einen Pin zur Ausgabe der Versionsnummer benutzen und der 
Servicetechniker hängt da sein Oszi dran und liest die 7 Bit der 
Versionsnummer ab und der Kittel ist geflickt.

Damit hat man die Auflösungsprobleme vom Hals und braucht nicht 
irgendwelches Kinderspielzeug auf die Platine zu packen, das einen im 
Zweifelsfall auf eine falsche Fährte setzt.

Zudem ist ein serielles, digitales Versionssignal ja letztlich auch eine 
Spannungscodierung, wenn man keine Ströme fließen läßt, oder?

von Peter D. (peda)


Lesenswert?

Patrick wrote:

>>Allerdings streikt die Software
> Deshalb suche ich eine Lösung ohne Software.

Nein, die Software erfüllt hier eine Schutzfunktion.
Wenn nämlich ein 15000V-Modul in nem Slot steckt, wo nur ein 400V-Modul 
rein soll, dann krachts gewaltig.
Daher schaltet die Steuersoftware bei Fehlkonfiguration alle Module 
garnicht erst ein.


> Ich finde ein ATtiny ist
> schon etwas zu aufwendig, für so eine einfache Aufgabe

Zumindest bei Platzbedarf und Preis ist es am günstigsten und trotzdem 
am sichersten.

In C sind das etwa 5 Zeilen, die PWM zu starten und den Inputport in das 
PWM-Register zu laden.


Peter

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.