Forum: Mikrocontroller und Digitale Elektronik Analoges Signal zu binär-code.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Elektro F. (Firma: Trafo AG) (elektrofrederick)


Lesenswert?

Guten Tag zusammen
Ich würde gerne bei einem Temperatursensor (Pt1000)den Spannungsabfall 
messen und zB. die 5V in einen binäres Signal umwandeln, da ich eine 
4digit grosse 7-Segment anzeigen anhängen möchte. Mit welchen Bauteilen 
muss ich das analoge Signal zB die 5V in ein binäres Signal umwandeln 
OHNE uC oder Arduino.

Freue mich auf eine Antwort

von Stefan F. (Gast)


Lesenswert?

Elektro F. schrieb:
> OHNE uC oder Arduino

geht nicht. Jedenfalls nicht ohne gigantischen Aufwand.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Mit'm VCO und einem Frequenzzaehler? Aber dann will ich kein Gemecker 
ueber Nichtlinearitaeten, etc. hoeren...

Gruss
WK

von Wolfgang (Gast)


Lesenswert?

Elektro F. schrieb:
> Mit welchen Bauteilen muss ich das analoge Signal zB die 5V in ein
> binäres Signal umwandeln OHNE uC oder Arduino.

Nimm einen ADC und einen FPGA, falls dir das von der Programmierung 
besser liegt, als ein µC.

p.s. Auf einem Arduino-Board sitzt immer einen µC

von Peter D. (peda)


Lesenswert?

Früher gabs mal AD-Wandler mit dezimaler Ausgabe, da kann man dann 
direkt 7-Segment Dekoder anschließen.
3-stellig kenne ich den C520:
Beitrag "Wer hat noch den "Funkamateur " 1/1988?"

Bleibt dann noch das Problem, aus dem PT1000 ne lineare Spannung zu 
erzeugen. Gibt aber auch noch alte Schaltungen dazu, einfach mal 
googlen.

4 Digits Genauigkeit ist aber schon extrem sportlich.

von Horst (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> geht nicht. Jedenfalls nicht ohne gigantischen Aufwand.

Ja, und der nennt sich ICL7107. Naja, gigantisch ist eigendlich nur das 
Gehäuse, DIP40 ist schon groß.
Mit dem hat man das schon vor 40 Jahren gemacht.

von Bernhard K. (bkom)


Lesenswert?

Uralt aber auch nur 3+1/2 Stellen  der ICL710 ...
da kann man ne 7-Segment direkt anschliessen.

der Mouser verkauft den noch
https://www.mouser.de/ProductDetail/Renesas-Intersi/ICL7106CPLZ?qs=9fLuogzTs8IGhzbclWqsqQ%3D%3D

Ok die Lieferzeit ....

von Arne (Gast)


Lesenswert?

Bei geforderter Aufloesung von 4 Digits waere der ICL7135 vielleicht 
eine bessere Empfehlung.

von Axel S. (a-za-z0-9)


Lesenswert?

Stefan ⛄ F. schrieb:
> Elektro F. schrieb:
>> OHNE uC oder Arduino
>
> geht nicht. Jedenfalls nicht ohne gigantischen Aufwand.

Geht schon. Früher haben wir den C520 genommen. Heute halt ICL7107. Und 
die Entsprechende Analog-Elektronik davor, um das Signal aufzubereiten.

von Stefan F. (Gast)


Lesenswert?

Bei vier Stellen möchte man sicher auch eine dazu angemessene 
Genauigkeit haben. Ich möchte mal sehen, wie man das analog hinbekommt, 
ohne gigantischen Aufwand - verglichen mit einem Mikrocontroller.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die ICL-Typen aus den Siebzigern waren von Intersil, heute zu Renesas 
gehörend:
https://www.renesas.com/eu/en/products/data-converters/precision-a-d-converters/integrating-display-output-a-d-converters.html

Der ICL7135 hat 4 1/2 Stellen, entsprechend etwa 16 Bit, der Rest 3 1/2 
Stellen oder etwa 12 Bit.
https://www.renesas.com/eu/en/www/doc/datasheet/icl7135.pdf

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei vier Stellen möchte man sicher auch eine dazu angemessene
> Genauigkeit haben. Ich möchte mal sehen, wie man das analog hinbekommt,
> ohne gigantischen Aufwand - verglichen mit einem Mikrocontroller.

Okay, das hier ist ein uC-Forum, hier darf man das glauben. Im 
wirklichen Leben steckt der Aufwand im Analogteil und der sieht 
unterscheidet sich praktisch nicht, egal ob ICL7107 oder uC.

Ach ja: Maxim hat auch diverse ICL7xxx im Programm.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Bauform B. schrieb:
> Im
> wirklichen Leben steckt der Aufwand im Analogteil und der sieht
> unterscheidet sich praktisch nicht, egal ob ICL7107 oder uC.

Für nen MC nimmt man einfach nen ratiometrischen 24Bit ADC (z.B. AD7793) 
und einen stabilen Referenzwiderstand.
Und den MC läßt man einfach die Formel für nen PT1000 ausrechnen.

von Rolf M. (rmagnus)


Lesenswert?

Bauform B. schrieb:
> Im wirklichen Leben steckt der Aufwand im Analogteil und der sieht
> unterscheidet sich praktisch nicht, egal ob ICL7107 oder uC.

Naja, im µC kann ich sehr leicht eine (ggf. einfach selbst ausgemessene) 
Kennlinie hinterlegen, um Nichtlinearitäten der Komplettbeschaltung 
auszugleichen.
Das auf der Analogseite ähnlich genau zu machen, dürfte wesentlich 
aufwändiger sein.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Bei den ICLxxxx und ähnlichen Bausteinen ist zu beachten, dass sie die 
Spannung nicht als Binärzahl ausgeben, sondern entweder als BCD oder 
direkte Segmentsignale. Der TE will aber unbedingt eine reine 
Binärdarstellung haben, die aus einem nicht ersichtlichen Grund erst 
anschließend in BCD oder Segmentsignale zu wandeln ist.

Neben den skizzierten Wegen mittels FPGA o.ä. käme auch noch eine aus 
Einzelbausteinen aufgebaute Mikroprozessorschaltung infrage. Das wäre ja 
schließlich auch kein Microcontroller.

Aber natürlich schweigt sich der TE über die Gründe für solche 
unsinnigen Anforderungen aus. Diese werden dann vielleicht 
scheibchenweise(*) nachgeliefert.

Zu (*): Wir sollten vielleicht mal einen Artikel im Wiki zum dem Thema 
Salamitaktik schreiben. Entweder verlinkt man dann dorthin, oder Andreas 
Schwarz könnte eine Art Redirect-Funktion einbauen.

von René F. (Gast)


Lesenswert?

Bernhard K. schrieb:
> Uralt aber auch nur 3+1/2 Stellen  der ICL710 ...
> da kann man ne 7-Segment direkt anschliessen.
>
> der Mouser verkauft den noch
> 
https://www.mouser.de/ProductDetail/Renesas-Intersi/ICL7106CPLZ?qs=9fLuogzTs8IGhzbclWqsqQ%3D%3D
>
> Ok die Lieferzeit ....


Das ist die Factory Lead Time, das ist die Lieferzeit durch den 
Hersteller an Mouser. Wenn der Artikel lagernd ist wird er von Mouser 
direkt versendet.

von Axel S. (a-za-z0-9)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei vier Stellen möchte man sicher auch eine dazu angemessene
> Genauigkeit haben

Der Elektrofritze hat sich ja noch nicht wieder gemeldet. Wer weiß, was 
er auf den 4 Stellen seiner Anzeige darstellen will. Mit etwas Glück 
sind es zwei Ziffern und dazu ein ° und ein C  :)

Andererseits will er ja

Elektro F. schrieb:
> zB. die 5V in einen binäres Signal umwandeln

und ein binäres Signal hat ja nur zwei Zustände. Bei einem Thermometer 
zweckmäßigerweise "warm" und "kalt"


SCNR

von Rolf M. (rmagnus)


Lesenswert?

Andreas S. schrieb:
> Bei den ICLxxxx und ähnlichen Bausteinen ist zu beachten, dass sie die
> Spannung nicht als Binärzahl ausgeben, sondern entweder als BCD oder
> direkte Segmentsignale.

BCD und Segmentsignale sind Binärzahlen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> BCD und Segmentsignale sind Binärzahlen.

Bei Binärzahlen müsste das fünfte Bit eine Wertigkeit von dez16 haben. 
Das ist weder bei BCD noch bei Segmentsignalen der Fall.

von Rolf M. (rmagnus)


Lesenswert?

Wolfgang schrieb:
> Rolf M. schrieb:
>> BCD und Segmentsignale sind Binärzahlen.
>
> Bei Binärzahlen müsste das fünfte Bit eine Wertigkeit von dez16 haben.

Was du meinst, sind Dualzahlen. Binär heißt erst mal nur, dass jede 
Stelle zwei mögliche Werte hat, nicht mehr. Es gibt verschiedene binäre 
Codierungen. Zu denen gehören unter anderem BCD und Siebensegment.
Hier findest du noch ein paar mehr Beispiele für binäre Codierungen: 
https://de.wikipedia.org/wiki/Bin%C3%A4rcode#Codebeispiele

von georg (Gast)


Lesenswert?

Rolf M. schrieb:
> BCD und Segmentsignale sind Binärzahlen.

Da hast du dich argumentativ verstolpert. BCD sind Zahlen, 
Siebensegmentcodes aber nicht - hast du die schon mal addiert oder 
subtrahiert?

Georg

von Rolf M. (rmagnus)


Lesenswert?

georg schrieb:
> Rolf M. schrieb:
>> BCD und Segmentsignale sind Binärzahlen.
>
> Da hast du dich argumentativ verstolpert. BCD sind Zahlen,
> Siebensegmentcodes aber nicht

Was denn dann? Was, wenn nicht Zahlen, möchte man per Siebensegment-Code 
auf ein Display bringen?

> - hast du die schon mal addiert oder subtrahiert?

Nein, wozu? Das wäre zwar möglich, aber unnötig umständlich, da 
Prozessoren in der Regel keine Hardware besitzen, um im 
Siebensegment-Code zu rechnen.

von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> Was du meinst, sind Dualzahlen.

Da gibt es wohl unterschiedliche Meinungen
https://www.arndt-bruenner.de/mathe/Allgemein/binaersystem.htm

von Michael B. (laberkopp)


Lesenswert?

Elektro F. schrieb:
> OHNE uC oder Arduino.

Vergiss es.

Auch Pt1000 sind nicht linear.

Und wenn an ihnen 5 VOLT anliegen schon gar nicht, dann glühen die, 
die sind eher für 0.1V.

Hier ein ganzes Kapitel zur Temperaturmessung mit Pt1000:

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32

Mit einem ICL7107/ICL7106 könnte man ohne uC einen Pt1000 messen und als 
Ziffern anzeigen, ratiometrisch, aber das ergibt nicht direkt die 
Temperatur, sondern eben den Widerstandswert.

Linearer sind KTY Sensoren, die gehen direkt am ICL7106/7107:

https://320volt.com/en/icl-7107-dijital-termometre-devresi-sensor-bc547b/

von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> Was denn dann? Was, wenn nicht Zahlen, möchte man per Siebensegment-Code
> auf ein Display bringen?

Die Steuerdaten, die zu einem 7-Segement Display gehen, wissen gar 
nichts davon, dass daraus eine Zahlendarstellung folgt. Das sind erstmal 
irgendwelche Bitmuster. Es steht dir natürlich frei, die als 8-stellige 
Binärzahlen zu interpretieren, was dann aber im Auge des Betrachters 
liegt. Gewöhnlich kannst du mit 8-stelligen Binärzahlen den Zahlenraum 
von dezimal 0 bis 255 darstellen, was hier aber gewiss nicht weiter 
führt.

von Axel S. (a-za-z0-9)


Lesenswert?

Rolf M. schrieb:
> georg schrieb:

>> Da hast du dich argumentativ verstolpert. BCD sind Zahlen,
>> Siebensegmentcodes aber nicht
>
> Was denn dann? Was, wenn nicht Zahlen, möchte man per Siebensegment-Code
> auf ein Display bringen?

Na Zeichen. Überhaupt wären es erstmal Ziffern und keine Zahlen. 
Siebensegmet kann auch noch eine Menge andere Zeichen darstellen außer 
den üblichen Ziffern. U.a. eben "°" und "C". Auch "CodE" geht. Oder 
"Error". "AFFE", "dEAdcodE", "nodiSc" oder "CAFEbAbE"

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Wolfgang schrieb:
> Rolf M. schrieb:
>> Was du meinst, sind Dualzahlen.
>
> Da gibt es wohl unterschiedliche Meinungen
> https://www.arndt-bruenner.de/mathe/Allgemein/binaersystem.htm

Ja, die Begriffe "binär" und "dual" werden öfter mal durcheinander 
geworfen, bzw. das Dualsystem fälschlicherweise als "das Binärsystem" 
bezeichnet. Es ist ein Binärsystem, aber nicht das einzige.
Binär heißt wie gesagt erst einmal nur, dass jede Stelle genau zwei 
mögliche Werte annehmen kann. Auf der Basis gibt es dann verschiedene 
Zahlensysteme, zu denen auch das Dualsystem gehört, das nach dem 
gleichen Grundprinzip wie das Dezimal- und das Hexadezimalsystem als 
Stellenwertsystem funktioniert, nur eben mit der Basis 2.
Kann man übrigens auch z.B. in DIN 44300 nachlesen.

Wolfgang schrieb:
> Rolf M. schrieb:
>> Was denn dann? Was, wenn nicht Zahlen, möchte man per Siebensegment-Code
>> auf ein Display bringen?
>
> Die Steuerdaten, die zu einem 7-Segement Display gehen, wissen gar
> nichts davon, dass daraus eine Zahlendarstellung folgt.

Und? Wenn ich ein PNG auf meiner Festplatte speichere, weiß die auch 
nicht, was ein PNG ist. Trotzdem kann man es von dort lesen und dann 
darstellen, wenn man die Daten wieder als PNG interpretiert.

> Das sind erstmal irgendwelche Bitmuster.

Die sind aber natürlich nicht willkürlich.

> Es steht dir natürlich frei, die als 8-stellige Binärzahlen zu
> interpretieren, was dann aber im Auge des Betrachters liegt.

Man sollte sie am besten in der Form interpretieren, in der sie bei der 
Erstellung codiert wurden. Denn sonst sind es wirklich nur "irgendwelche 
Bitmuster". Aber auch dann ist es natürlich binär codiert, denn ein Bit 
(binary digit) ist - wie der Name schon sagt - eine binäre Ziffer.

> Gewöhnlich kannst du mit 8-stelligen Binärzahlen den Zahlenraum
> von dezimal 0 bis 255 darstellen, was hier aber gewiss nicht weiter
> führt.

Das kommt auf die Codierung an. Nimmt man den 1-aus-n-Code, kann man 
damit nur 8 Werte darstellen, da die restlichen möglichen 
Bitkombinationen in dieser Zahlendarstellung ungültig sind.

Axel S. schrieb:
>>> Da hast du dich argumentativ verstolpert. BCD sind Zahlen,
>>> Siebensegmentcodes aber nicht
>>
>> Was denn dann? Was, wenn nicht Zahlen, möchte man per Siebensegment-Code
>> auf ein Display bringen?
>
> Na Zeichen. Überhaupt wären es erstmal Ziffern und keine Zahlen.

Zahlen bestehen aus Ziffern. Fast jede übliche Darstellung von Zahlen 
nutzt irgendeine Art von Ziffern und kombiniert die notfalls, um Zahlen 
darstellen zu können, die größer sind, als das, was mit einer einzelnen 
Ziffer möglich wäre. Das geht bei Siebensegment natürlich genauso. Wird 
ja auch gemacht, denn schließlich gibt's auch mehrstellige 
Siebensegment-Anzeigen.

> Siebensegmet kann auch noch eine Menge andere Zeichen darstellen außer
> den üblichen Ziffern. U.a. eben "°" und "C". Auch "CodE" geht. Oder
> "Error". "AFFE", "dEAdcodE", "nodiSc" oder "CAFEbAbE"

Das stimmt allerdings. Ich kann mich auf Zahlen beschränken, aber ich 
muss nicht. Die ICs für Siebensegment-Output, die in diesem Thread 
diskutiert werden, beschränken sich allerdings auf die Ausgabe von 
Zahlen.

: Bearbeitet durch User
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.