Ich möchte aus einer Spannung einen binärcode erzeugen

OP #8103684
Lesenswert?
• ▲
▼

Ich benötige eine Umsetzung aus einer Spannung zB 0-5V , welche dann einen Binärcode aus 4 Bits parallel oder mehr erzeugt.Es ginge zur Not auch 2 Bits , die Sache ist halt die, das ich nicht mit Daten agieren möchte und es soll klein sein ohne viele Bauteile , da ich nie Digital unterwegs war , bekomme ich keine Selektion hin ob ein IC das erfüllen könnte . Also 1 Input (Analog) in zB 4 Output. Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang, wonach ich dann nach der Binär Folge jede erdenklich Kombination erhalten kann. Vielleicht oder wahrscheinlich gibt es das schon als IC ich finde diesen aber nicht weil ich die Prinzip Bezeichnung schon nicht finde. Habe jetzt Tage gesucht ,meine Suche bringt mich aber immer wieder zu ADC Wandlern welche mir eine Serielles Bitwort ausgeben oder aus diesem Digitalen Muster eine Spannung also einen DA Wandler anbietet. Mir ist klar das meine Fragestellung einfach nicht gut genug ist , die KI entsprechend auch nichts liefert.

Meine Idee :

1
Pin
2
1    2 3 4 5   
3
IN    Out Out
4
 a    1 2  3 4 
5

6

7
0    00  00
8
1    10  00
9
2    01  00
10
3    11  00
11
4    00  10
12
5    10  10
13
6    01  10
14
7    11  10
15

16
8    00  01
17
usw.

Ich Danke allen die mich weiter bringen oder sich damit beschäftigen werden

Angehängte Dateien:
: Bearbeitet durch Moderator
#8103692
Lesenswert?
• ▲
▼

Was das in der Kategorie Maschine Learning zu suchen hat keine Ahnung.

Das einfachste wäre du nimmst einen 5V uC (z.B. Attiny25/45/85). Dann 2-3 Zeilen Code in der Art: Lese ADC, schreibe obere x Bit auf Port. Fertig.

Alternativ paralleler ADC. Nachteil: Meist teuer weil meist high Performance.

Alternativ, mehrere Komparatoren die die unterschiedlichen Bereiche einteilt. Nachteil: groß, viele Bauteile.

#8103695
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang, wonach ich dann nach der Binär Folge jede erdenklich Kombination erhalten kann.

Wäre doch ein perfektes kleines Projekt um sich in den Arduino einzuarbeiten. Wenn ich lese dass du tagelang schon nach Bauteilen suchst. In der selben zeit hättest du das Projekt fertig und erste Erfahrung mit der Programmierung eines Arduino gesammelt.

#8103701
Lesenswert?
• ▲
▼

Ein Analog-Digital-Wandler mit parallelem Ausgang also. Wenn es auch 8 Bit sein dürfen, findet man die noch. Ein (teures) Beispiel wäre der TLC0820, allerdings muß man daran denken, daß jede Messung Zeit benötigt, und eventuell durch ein Startsignal eingeleitet werden muß. Die Ausgänge ändern sich also nicht kontinuierlich wie bei einer einfachen Komparatorschaltung.

#8103702
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Ich benötige eine Umsetzung aus einer Spannung zB 0-5V , welche dann einen Binärcode

Sowas machen parallel Analog-Digital/Wandler. Meine erste Idee war ein LM3914. Bei dem "leuchten" aber alle niederwertigen Ausgänge mit.

Schlagwörter mit den man eine Suchmaschine füttern kann: "adc parallel output" Mir werden da sogar 10bit parallelausgeben ADCs angezeigt.

Udo S. schrieb:

Wäre doch ein perfektes kleines Projekt um sich in den Arduino einzuarbeiten. Wenn ich lese dass du tagelang schon nach Bauteilen suchst. In der selben zeit hättest du das Projekt fertig und erste Erfahrung mit der Programmierung eines Arduino gesammelt.

Auch ne Möglichkeit. Wo Arduino doch extra für unbedarfte Nutzer entworfen wurde.

#8103707
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Mir ist klar das meine Fragestellung einfach nicht gut genug ist

Tja.

Der Chip, der das kann, ist der ADC7820C (auch TLC0820), sogar für 8 Relais aber wenn du nur die ersten 4 davon benutzt, auch gut, musst du die Spannung nicht so genau einhalten.

Kleiner und billiger ist ein Attiny25 der entsprechend programmiert wird

1
/*
2
  ATtiny85
3
  PB0 bis PB3: Digitalausgänge
4
  PB4 (ADC2):  Analogeingang mit VCC als Referenz
5

6
  Die oberen 4 Bit des ADC-Ergebnisses werden
7
  auf PB0 bis PB3 ausgegeben.
8
  Die unteren 6 Bit werden verworfen.
9
*/
10

11
void setup() {
12
  // PB0 bis PB3 als Ausgänge konfigurieren
13
  DDRB |= 0b00001111;
14

15
  // PB4 als Eingang konfigurieren
16
  DDRB &= ~(1 << PB4);
17

18
  // Interne Pull-up-Widerstände deaktivieren
19
  PORTB &= ~(1 << PB4);
20

21
  // ADC aktivieren, Referenz = VCC (REFS0 = 0)
22
  // ADC2 entspricht PB4
23
  ADMUX = (1 << MUX1);  // Kanal ADC2 auswählen
24
  ADCSRA = (1 << ADEN)  // ADC aktivieren
25
         | (1 << ADPS2)
26
         | (1 << ADPS1)
27
         | (1 << ADPS0); // ADC-Taktteiler = 128
28
}
29

30
void loop() {
31
  // ADC-Wandlung starten
32
  ADCSRA |= (1 << ADSC);
33

34
  // Auf Abschluss der Wandlung warten
35
  while (ADCSRA & (1 << ADSC)) {
36
    // Warten
37
  }
38

39
  // ADC-Wert lesen: 10 Bit, Wertebereich 0 bis 1023
40
  uint16_t adcValue = ADC;
41

42
  // Höherwertige 4 Bit extrahieren (Bit 9 bis Bit 6)
43
  uint8_t outputValue = adcValue >> 6;
44

45
  // Die 4 Bit auf PB0 bis PB3 ausgeben
46
  PORTB = (PORTB & 0b11110000) | (outputValue & 0b00001111);
47
}

aber dazu muss man ihn halt (mit Arduino-Umgebung) programmieren.

#8103713
Lesenswert?
• ▲
▼

Mich juckt da so eine Stelle, die immer dann juckt wenn ich glaube das es um was ganz anderes geht. Oder anders gesagt: was hast du eigentlich vor?

Um 4 Relais mit einer Spannung und einem ADC anzusteuern, brauchts tatsächlich nur einen kleinen Arduino und ne hand voll Text. Kann man mit unprogrammierter Elektronik machen, wird dann aber wesentlich größer und unflexibler.

Aber man muss die Spannung auch vorgeben, und 16 Stufen aus 5V sind schon nur 0,3V/Stufe, die dann auch noch genau getroffen werden müssen, und sie müssen ja auch stabil am anderen Ende ankommen. Zudem sind das am Poti gerade mal 17° pro Stufe, also sehr wenig, das trifft man schlecht. Und wenn du von 0001 auf 0010 drehen willst, kommen auch die ganzen Zwischenstufen dran (außer du wartest mit der Software bis das Poti ein paar Sekunden nicht mehr zappelt) und so weiter. Recht unpraktisch. Der Arduino kann die toten Endbereiche des Potis ausblenden und auch ein wenig das Signal ausmitteln so das es nicht so wild klappert beim drehen, aber ich vermute ehrlich du hast eigentlich ein ganz anderes Problem.

Wenn es um "4 Relais da hinten ansteuern mit nur 2 oder 3 Strippen da hin" ginge, da gäbe es sinnvollere Lösungen. Z.B. mit 4 Schaltern und einem Arduino als z.B. RS232-Sender hier, sowie einem Empfänger da. Mit einem 8-Beiner sind das auch winzige Schaltungen.

Persönliche Seite #8103717
Lesenswert?
• ▲
▼

Jens M. schrieb:

Mich juckt da so eine Stelle, die immer dann juckt wenn ich glaube das es um was ganz anderes geht. Oder anders gesagt: was hast du eigentlich vor?

Der TO, der sich heute registriert hat, sollte erst einmal vorgeben WAS da kommt und WO es hin soll!

Pegel Input ?, Pegel Output ?, Verarbeitung womit, Auswertung womit ?

Rein technisch impliziert die Aufgabe weder einen ADC noch einen uC.

Einen kleinen Umschalter, der auf "analog" reagiert, kriegt man auch in ein PAL, wenn man eine Widerstandskette vorschaltet und eine Pri-Schaltung dahinter hängt. Respektive ginge es auch mit Gatter-Logik:

Eingang des Potis +5V / 0V, Ausgang des Potis an die Kette -> - R - R - R - R - 0V.

4 x Abgriff zwischen jedem R, damit reagiert der Schaltkreis von "oben her" auf die wachsenden Spannungen, d.h. der oberste ist zuerst high, das unterste zuletzt. Dann 4x abfragen, wer der tiefste ist und die anderen darüber ausblenden. Macht 4 Signale von denen eines an ist.

Wenn man sowas etwas gut dimensioniert, bekommt man so mit einem einzigen digitalen Pin eine Spannungsüberwachung.

: Bearbeitet durch User
#8103720
Lesenswert?
• ▲
▼

Oh ja, ein PAL, das ist ganz bestimmt die beste Empfehlung für den TO bisher :-) Hier geht's nicht um die technisch beste/billigste Lösung, sondern darum, einem absoluten Laien etwas zu empfehlen, das er auch versteht, nachvollziehen und auf sein roblem anwenden kann.

#8103723
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Ich benötige eine Umsetzung aus einer Spannung zB 0-5V , welche dann einen Binärcode aus 4 Bits parallel oder mehr erzeugt.

Wie bereits andere angemerkt haben, wäre es vermutlich sinnvoller, wenn Du kurz beschriebest, was Du mit der Geschichte eigentlich machen möchtest. Wir haben hier oft Menschen, die nach einer ganz bestimmten Lösung suchen, die sie sich für ein Problem ausgedacht haben, aber bei genaueren Nachfragen ergibt sich dann häufig, daß eine ganz andere Lösung dieses Problem eleganter, robuster, preiswerter und einfacher zu lösen vermöchte. Insofern sag doch bitte: welches Problem möchtest Du lösen?

Persönliche Seite #8103735
Lesenswert?
• ▲
▼

Thilo L. schrieb:

ein PAL, das ist ganz bestimmt die beste Empfehlung für den TO bisher :-)

Das schrieb ich auch "Gatter". Die Logik als solche ist dem Beitrag zu entnehmen und kann direkt nachgebaut werden. Sollte es in SW sein, um so einfacher. Sind dann 4x "IF THEN".

Ansonsten meine Beschreibungen in CHATGPT eingeben und sich das VHDL dazu malen und ausgeben lassen. Dann eine Vixtex-Karte mit high seed DAC kaufen und alles per HLS implementieren lassen, ganz so, wie es die bachelors dieser Tage heute machen.

#8103739
Lesenswert?
• ▲
▼

Wenn der TO "[D]eine Beschreibungen in CHATGPT eingeben und sich das VHDL dazu malen und ausgeben lassen, dann eine Vixtex-Karte mit high seed DAC kaufen und alles per HLS implementieren lassen" könnte, hätte er, so glaube ich, sich nicht in der Art und Weise ausgedrückt, wie er sich nun mal ausgedrückt hat. Und es ist eben schon die Kunst des Experten, sich wenigstens ansatzweise auf das Niveau des Fragenden zu begeben. Zugegeben, das ist oftmals die größte Hürde für manche Experten... (aber bitte fühle Dich jetzt nicht persönlich ans Bein gepinkelt)

(Firma: Hobbytheoretiker) #8103814
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang,

Analog ginge das mit Fensterkomparatoren. Realisiert würde das als Operationsverstärkerfriedhof bezeichnet werden.

Thorsten P. schrieb:

und es soll klein sein ohne viele Bauteile

Daher wirst Du an einem Mikrocontroller nicht vorbei kommen.

#8103820
Lesenswert?
• ▲
▼

Dieter D. schrieb:

Thorsten P. schrieb:

Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang,

Analog ginge das mit Fensterkomparatoren. Realisiert würde das als Operationsverstärkerfriedhof bezeichnet werden.

Das hatte ich erst auch vorschlagen wollen. Aber vermutlich - der OP drückt sich da nicht klar aus - will er nicht nur eines der maximal 4 Relais aktivieren, sondern jede Kombination. Und dafür bräuchte er einen AD-Wandler mit 4 Bit.

Das kann man zwar mit 16 (15) Komparatoren und der entsprechenden Logik aufbauen (hat man auch, in der guten alten Zeit, Flash-ADC für Videograbbing). Aber praktisch ist man da mit einem µC sehr viel besser bedient. 4 digitale IO und einen ADC dürfte so ziemlich jeder an Bord haben. Und wenn es Einsteiger-kompatibel sein soll, dann halt einen Arduino. Oder ESP. Oder RasPi pico.

Aber der OP kann ja noch nicht mal seine Problemstellung adäquat formulieren. Und damit meine ich nicht verständlich für eine KI, sondern erstmal verständlich für andere Menschen. Daß er sich noch nicht wieder gemeldet hat steigert die Lust, sich mit seiner Frage auseinanderzusetzen, auch nicht gerade.

#8103823
Lesenswert?
• ▲
▼

Axel S. schrieb:

Dieter D. schrieb:

Analog ginge das mit Fensterkomparatoren. Realisiert würde das als Operationsverstärkerfriedhof bezeichnet werden.

Das hatte ich erst auch vorschlagen wollen. Aber vermutlich - der OP drückt sich da nicht klar aus - will er nicht nur eines der maximal 4 Relais aktivieren, sondern jede Kombination.

Genau das, alle Kombinationen lese ich in seinen Texten.

Das kann man zwar mit 16 (15) Komparatoren und der entsprechenden Logik aufbauen (hat man auch, in der guten alten Zeit, Flash-ADC für Videograbbing).

Genau, "in der guten alten Zeit" habe ich mehr als einmal Signale mit Dioden verknüpft.

Aber praktisch ist man da mit einem µC sehr viel besser bedient. 4 digitale IO und einen ADC dürfte so ziemlich jeder an Bord haben. Und wenn es Einsteiger-kompatibel sein soll, dann halt einen Arduino.

5 Volt passt perfekt zum A*-UNO oder -Nano. Dafür muß er natürlich gewillt sein, sich mit der Programmierung zu befassen. Die Arduino-Umgebung ist zwar simpel, aber für einen totalen Anfänger würde ich dennoch mehr als einen Abend ansetzen.

(Firma: Hobbytheoretiker) #8103837
Lesenswert?
• ▲
▼

Axel S. schrieb:

will er nicht nur eines der maximal 4 Relais aktivieren, sondern jede Kombination.

Das vermute ich auch und dann wird es aufwendig.

Vielleicht wäre auch das etwas für den TO:

Der Sparrow (aus dem Projekt Cheepit) ist eine kleine Experimentier- und Lernplattform für AVR-Mikrocontroller (wie den ATtiny), die sich direkt vom Smartphone, Tablet oder PC aus programmieren lässt:

https://www.elektronik-labor.de/AVR/Sparrow/Sparrow20.html

#8103841
Lesenswert?
• ▲
▼

Dieter D. schrieb:

Axel S. schrieb:

will er nicht nur eines der maximal 4 Relais aktivieren, sondern jede Kombination.

Das vermute ich auch und dann wird es aufwendig.

Bist auch Du zu dämlich zum Lesen:

Thorsten P. schrieb:

Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang, wonach ich dann nach der Binär Folge jede erdenklich Kombination erhalten kann.

Moderator (Firma: Titel) Persönliche Seite #8103852
Lesenswert?
• ▲
▼

Sebastian E. schrieb:

Ein Analog-Digital-Wandler mit parallelem Ausgang also. Wenn es auch 8 Bit sein dürfen, findet man die noch.

Und wenn man die unteren 4..6 Bits unbeschaltet lässt, bleiben dann genau die gewünschten 4..2 Ausgänge übrig.

Aber bei 16 Stufen in 5V wird es schon sehr eng. Wenn dann die Spannung zwischen 2,49V (= 0111) und 2,51V (= 1000) zappelt, zappeln alle Relais mit. Besser wäre es, dann wenigstens einen Einzelschrittcode wie z.B. den Gray-Code zu verwenden.

Wenn man dann noch genauer drüber nachdenkt, kommt man zu Schluss, dass die ganze Idee Schnapsgetränkt ist. Denn wenn z.B. von 0001 auf 1000 geschaltet werden soll, dann muss der Bereich von 0001, 0010, 0011, 0100, 0101, 0110, 0111 bis 1000 durchlaufen werden. Wenn das langsam genug passiert, dann zappeln wieder alle Relais.

: Bearbeitet durch Moderator
(Firma: Privat) #8103863
Lesenswert?
• ▲
▼

Thorsten P. schrieb:

Am Ende möchte ich erreichen das ich 2 3 oder 4 Relais ansteuern kann, und das mit einer Spannung am Eingang, >wonach ich dann nach der Binär Folge jede erdenklich Kombination erhalten kann.

Also ein 4-Bit Analog- Digitalwandler.

Vielleicht hilft das hier weiter:

https://www.youtube.com/watch?v=c7-A658GW5c

https://www.swisseduc.ch/informatik/hardware/analog_digital_wandler/docs/script.pdf

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.