ESP32 mittels Widerstand Länge erkennen?

OP #7714049
Lesenswert?

Hallo Community, ich hab ein Problem: Mittels ESP32 will ich ein paar LEDs ansteuern (nicht das eigentliche Problem) Nun würd ich aber gern ein "Plug und Play" system einbauen. Bedeutet: Ich hab 2 Elemente mit der gleichen Länge und einem Widerstand. Nur der letzte Widerstand geht immer auf GND. Aber aus irgendeinem Grund bekomme ich keine ordentliche Widerstandsmessung (gleicher Widerstand) her. Die sollten sich ja meines Wissens nach addieren. Aber eine Division mit dem Einzelwert ergibt keine klaren Werte. Hilfe irgendwer?

1
 raw = analogRead(MessPin);
2
  if(raw){
3
    buffer = raw * Vin;
4
    Vout = (buffer)/4096.0;
5
    buffer = (Vin/Vout) - 1;
6
    R2 = R1 * buffer;
7

8
    Serial.print("Vout: ");
9
    Serial.println(Vout);
10

11
    
12
    Serial.print("R2: ");
13
    Serial.println(R2);
14
    delay(1000);
15
  }

Mod: bitte die [c] Tags (wie in der Anleitung über jeder Eingabgebox bei "Wichtige Regeln - erst lesen, dann posten!" beschrieben) künftig selber einfügen.

OP #7714063
Lesenswert?

Hier die Vars-Def: int analogValue=0; float Vin = 3.3; float buffer = 0; float Vout = 0;

Die Schaltung int ganz easy: Vom Datakanal zwei Widerstände. Einer auf -, einer auf +. Und mit jedem "Element" wird der Widerstand auf der +-Seite erhöht.

Die Elemente sind eigentlich egal, da quasi von der Messung unabhängige Kanäle am ESP nutzen. Aber sind dann z.B. 10LEDs. Der ESP soll erkennen obs jetzt 10 sind oder 20 etc. Grund: Ich hab bewegliches Licht, wo ich unterschiedliche Längen brauch und ich will nicht immer rumpfuschen müssen.

#7714084
Lesenswert?

Udo S. schrieb:

Erst redest du nur von Widerständen und dann sind da auf einmal Leds. Was denn nun?

Warum ist das für Studierte so schwer zu verstehen was da so geschrieben steht???

Er will LED-Module flexibel anstecken können. Dazu ist jeweils ein Widerstand mitverbaut, der mit den LEDs nix zu tun hat. Nun soll das Ding erkennen, wie viele Widerstände (sprich: LED-Module) angedockt sind, damit es die Länge der LEDs korrekt ansteuern kann. Und das geht, in Grenzen, in dem man einen Pulldown am ESP baut, und an jedem Modul einen Pullup. Man hat dann 1/2 Fullscale = 1 Modul, 2/3 = 2 Module, 3/4 = 3 Module usw. Leider ist der ADC so dermaßen Müll, das sowas nur mit wenigen Modulen zuverlässig funktioniert.

Falls es sich um seriell angesteuerte LEDs handelt, wäre es vmtl. einfacher, das Ende der Datenleitung wieder zurückzuführen, wenn da was ankommt ist schluss. Die Länge via Dipschalter o.ä. vorzugeben ist zu einfach, zu störsicher und zu zuverlässig?

OP #7714089
Lesenswert?

Danke Jens lach Genau meine Meinung. Und Du hast es perfekt analysiert. Leider kann ich als Frischling nur alle halbe Stunde was schreiben...

Und danke für Deine Infos. Verdammt. Wollt ich zwar nicht hören aber ist halt leider so ;-) Bin zwar ein fauler S.... Aber dann wirds halt doch so sein das ichs per DIPs machen. Sänks

Und Wastl: Eigentlich unwichtig. Habs mit dem hier schon probiert: int raw = 0; und auch schon mit dem hier: float raw = 0; Mit dem gleichen Ergebnis.

Moderator (Firma: Titel) Persönliche Seite #7714114
Lesenswert?

Jens M. schrieb:

Warum ist das für Studierte so schwer zu verstehen was da so geschrieben steht???

Warum ist es für Neulinge so unheimlich schwer, einen Schaltplan zu malen? Es ist nunmal ganz einfach so: Schaltpläne sind das weltweit sprachübergreifende Kommunikationsmittel der Elektronik. Da kann ich ohne eine zusätzliche Sprache zu lernen sogar mit einem Chinesen und einem Inder kommunizieren.

Carsten W. schrieb:

Danke Jens lach Genau meine Meinung. Und Du hast es perfekt analysiert. Leider kann ich als Frischling nur alle halbe Stunde was schreiben...

Chance verpasst: in der Zeit könntest du dann den Schaltplan malen. Du wirst ihn in 2 Jahren dann sowieso brauchen, damit du nachvollziehen kannst, was du da gebastelt hast. Aber das wirst du wie gesagt erst in 2 Jahren erkennen.

Zurück zur Aufgabe:

Carsten W. schrieb:

Aber aus irgendeinem Grund bekomme ich keine ordentliche Widerstandsmessung (gleicher Widerstand) her. Die sollten sich ja meines Wissens nach addieren.

Die Grundlagen: bei Reihenschaltung addieren sich die Widerstände, bei Parallelschaltung wird der Wiederstandswert dividiert.

Mal angenommen, deine Widerstände werden paralell geschaltet, dann sieht deine Schaltung so aus:

1
     Vcc -----------o------o------o---- ... ---.
2
                    |      |      |            |
3
                   10k    10k    10k    ...   10k  LEDs
4
                    |      |      |            |
5
   ESP Analog In <--o------o------o---- ... ---'
6
                    |
7
                   10k  Pulldown
8
                    |
9
     GND -----------'

Dann bekommst du bei 1 LED noch 1/2 Vcc als Spannung heraus, bei 2 LEDs dann 2/3 Vcc, bei 3 LEDs kommen 3/4 Vcc usw. (einfach zu Übung mal nachrechnen).

Mit 3V3 als Vcc sieht es also so aus:

1
LEDs   Verhältnis   ESP Analog In
2
0      0/1 * Vcc    0V
3
1      1/2 * Vcc    1,65V     
4
2      2/3  "       2,20V
5
3      3/4  "       2,47V
6
4      4/5  "       2,64V   
7
5      5/6          2,75V
8
6      6/7          2,82V
9
7      7/8          2,88V
10
8      8/9          2,93V
11
9      9/10         2,97V
12
10     10/11        3,00V
13
:
14
:

Weil jetzt der ADC des ESP wegen Nichtlinearitäten aber gerade in Richtung Vcc immer schlechter wird, kommt dann nur noch Käse heraus.

#7714117
Lesenswert?

Lothar M. schrieb:

Warum ist es für Neulinge so unheimlich schwer, einen Schaltplan zu malen?

Das kann ich dir auch nicht sagen. Vielleicht trauen sich viele auch einfach nicht, einen Kuli & einen Zettel zu nehmen, das aufzupinnen, ein Bild zu machen und dann geht das Gemotze los "kannst du das nicht passend drehen?", "sauberes Papier war wohl alle?", "2MB für einen einfachen Spannungsteiler, größer hatten wir's wohl nicht" usw. usf. Ja, bei vielen Sachen würde der Schaltplan helfen, und meistens würde er sogar dem OP helfen, wenn er ihn richtig gemalt hat den Fehler auch direkt zu sehen. Aber mal ehrlich, ein Spannungsteiler? Dafür brauchts keinen Plan.

Hannes J. schrieb:

Neidisch?

Neidisch bist du wohl eher, weil ich verstanden habe was er meint, und du halt nicht. LOL Schönen Tag noch, Schlaumeier! Und freu dich über die "Lesenswerten". Beleidigungen geben Plus, Hilfreiches ein Minus. Schick. Evtl. sollte der Server einfach die Werte "*-1" anzeigen. :D

OP #7714141
Lesenswert?

Lol. Sorry. Leute das ich kein Elektroniker, Elektriker, Maler bin. Und an die ASCII-Art (danke an den Reminder @Lodda ;-) hab ich einfach nicht gedacht.

Und ich wollte jetzt auch keine Diskussion zwischen Studierten und Praxisorientierten starten. Verzweiflung ;-)

Die Aussage: ADC im ESP ist müll hat mir schon gereicht. Wrds anders lösen. Danke an alle. Hat Befürchtungen das ich zu doof bin.

1
VCC ---- 10 K ----- 10K---.
2
                          |
3
DP -----------------------.
4
       |
5
      100K
6
       |
7
GND ---.

Mod: bitte künftig die [pre] Tags für vorformatierten Text verwenden. Die Mobilnutzer sehen dann auch was Sinnvolles.

Beitrag #7714189 wurde von einem Moderator gelöscht.
(Firma: 1984now) #7714232
Lesenswert?

Lothar M. schrieb:

Mit 3V3 als Vcc sieht es also so aus:

1
> LEDs   Verhältnis   ESP Analog In
2
> 0      0/1 * Vcc    0V
3
> 1      1/2 * Vcc    1,65V
4
> 2      2/3  "       2,20V
5
> 3      3/4  "       2,47V
6
> 4      4/5  "       2,64V
7
> 5      5/6          2,75V
8
> 6      6/7          2,82V
9
> 7      7/8          2,88V
10
> 8      8/9          2,93V
11
> 9      9/10         2,97V
12
> 10     10/11        3,00V
13
> :
14
> :
15
>

Weil jetzt der ADC des ESP wegen Nichtlinearitäten aber gerade in Richtung Vcc immer schlechter wird, kommt dann nur noch Käse heraus.

Nunja, mit besser an die Aufgabe angepasster Dimensionierung könnte man ein Ergebnis erzielen, was selbst mit der schlechten ADC der ESP noch hinreichend treffsicher ist.

Z.B.: Einfach den Pulldown durch 1k ersetzen, Rest unverändert.

Dann liegen erstens die kritischen Fälle dort, wo die Kennlinie des ADC einer linearen Funktion noch am nächsten kommt und zweitens wird auch der "Hub" größer. Statt nur 30mV Unterschied zwischen den Fällen mit 9 und mit 10 Modulen sind es dann knapp 90mV.

Nach der Grafik: https://docs.espressif.com/projects/esp-idf/en/v4.4/esp32/_images/adc-noise-graph.jpg

Sollte das selbst ohne die von Espessif zur Verbesserung der ADC-Ergebnisse vorgeschlagenen Maßnahmen problemlos reichen.

#7714250
Lesenswert?

Lothar M. schrieb:

Die Grundlagen: bei Reihenschaltung addieren sich die Widerstände, bei Parallelschaltung wird der Wiederstandswert dividiert.

Alternativ kann man bei Parallelschaltung auch einfach die Leitwerte addieren. Und zum Wiederstandswert sagen wir mal nix :D

Lothar M. schrieb:

Warum ist es für Neulinge so unheimlich schwer, einen Schaltplan zu malen? Es ist nunmal ganz einfach so: Schaltpläne sind das weltweit sprachübergreifende Kommunikationsmittel der Elektronik. Da kann ich ohne eine zusätzliche Sprache zu lernen sogar mit einem Chinesen und einem Inder kommunizieren.

Weils ein Neuling eventuell einfach nicht weiß, eben weil er neu ist? Die Sprache des Elektronikers musstest du ja schließlich auch erst mal lernen, bevor du dich ohne eine neue Sprache zu lernen mit dem Chinesen austauschen kannst.

Und ganz ohne Sprache geht es auch nicht immer, nehmen wir an, du hast ne Superduperschaltung, bei der aber aus unbekannten Gründen immer R42 durchbrennt. Dann wird der Schaltplan alleine auch nicht helfen, ohne die Worte "Warum brennt R42 immer durch?". Zumindest nicht, wenn die Schaltung als solche ordentlich ist, und es eben an einem Fehler liegt, der "entstanden" ist, und nicht schon bei der Schaltungsentwicklung mit eingebaut wurde.

(Firma: 1984now) #7714269
Lesenswert?

Rainer W. schrieb:

Ob S. schrieb:

Sollte das selbst ohne die von Espessif zur Verbesserung der ADC-Ergebnisse vorgeschlagenen Maßnahmen problemlos reichen.

Einen Kondensator vorzusehen und die Spannung dann zur Rauschreduzierung mehrfach abzutasten, sollte doch kein unüberwindliches Hindernis sein ;-)

Es spricht sogar nicht mal irgendwas dagegen, beides zu kombinieren:

  • sinnvoll dimensionierte Hardware
  • sinnvoll implementierte Software

Nö, das ist im Gegenteil sogar der Weg, den man normalerweise gehen sollte...

Moderator (Firma: Titel) Persönliche Seite #7714273
Lesenswert?

J. T. schrieb:

Die Sprache des Elektronikers musstest du ja schließlich auch erst mal lernen

Lies den Thread nochmal durch. Es lag nicht daran, dass die Sprache nicht geläufig war, sondern daran, dass trotz Computer kein Tool zur Erstellung eines Schaltplans greifbar war.

nehmen wir an, du hast ne Superduperschaltung, bei der aber aus unbekannten Gründen immer R42 durchbrennt. Dann wird der Schaltplan alleine auch nicht helfen, ohne die Worte "Warum brennt R42 immer durch?".

Lies mal den Eröffnungspost, denn genau sowas heben wir hier. Die einzige Aussage dort ist im Grunde "Ich habe eine Schaltung und es kommen keine brauchbaren Werte heraus."

Deshalb wäre es natürlich sinnvoll, auch dazuzuschreiben, was man denn von der Schaltung (samt Programm) für klare Werte erwartet hätte, und was denn stattdessen herauskommt.

Zumindest nicht, wenn die Schaltung als solche ordentlich ist, und es eben an einem Fehler liegt, der "entstanden" ist, und nicht schon bei der Schaltungsentwicklung mit eingebaut wurde.

Dass darüber hinaus oft auch ein Foto vom eigentlichen Aufbau sinnvoll wäre, liegt auf der Hand.

Rainer W. schrieb:

Einen Kondensator vorzusehen und die Spannung dann zur Rauschreduzierung mehrfach abzutasten, sollte doch kein unüberwindliches Hindernis sein

Das Problem beim ESP ist nicht unbedingt das Rauschen.

Ob S. schrieb:

ein Ergebnis erzielen, was selbst mit der schlechten ADC der ESP noch hinreichend treffsicher ist.

Weil laut aktualisiertem Schaltplan die LEDs sowieso in Reihe geschaltet werden und damit eine Rückleitung von der letzten LED zum µC vorhanden ist, würde ich wie vorgeschlagen das Datensignal zurückführen. Und wenns auf dieser Leitung zappelt, ist das Ende der Reihe erreicht. Dann reicht ein normaler Eingangspin mit digitalen Schaltschwellen zum Auswerten, ob die LED-Kette durchgetaktet wurde.

(Firma: 1984now) #7714281
Lesenswert?

Lothar M. schrieb:

Weil laut aktualisiertem Schaltplan die LEDs sowieso in Reihe geschaltet werden und damit eine Rückleitung von der letzten LED zum µC vorhanden ist, würde ich wie vorgeschlagen das Datensignal zurückführen. Und wenns auf dieser Leitung zappelt, ist das Ende der Reihe erreicht. Dann reicht ein normaler Eingangspin mit digitalen Schaltschwellen zum Auswerten, ob die LED-Kette durchgetaktet wurde.

Klar, das geht.

Man muss aber regelmäßig Dummy-Daten zur "Längenmessung" rausschicken, sonst bekommt man eine Verlängerung der Kette nicht mit. Ob das am Ende einfacher ist, als der primitive Ansatz mit einem brauchbar dimensionierten Spannungsteiler...

Moderator (Firma: Titel) Persönliche Seite #7714289
Lesenswert?

Ob S. schrieb:

Man muss aber regelmäßig Dummy-Daten zur "Längenmessung" rausschicken, sonst bekommt man eine Verlängerung der Kette nicht mit.

  1. wer da im Betrieb unter Spannung was dazusteckt, der sollte sowieso sofort der elektrische Schalg treffen. Und zum Programmbeginn kann man ja einfach mal "alles schwarz" durchtakten, bis man das Ende erkennt.

  2. man kann ja einfach immer 1 LED mehr als nötig ansteuern, dann bekommt man mit, wenn einer die Kette auseinander- und wieder zusammensteckt und kann eine Neuinitialisierung antriggern.

Ob das am Ende einfacher ist, als der primitive Ansatz mit einem brauchbar dimensionierten Spannungsteiler.

Es ist zuverlässiger und ich würde die Zuverlässigkeit voran stellen. Denn wir haben noch nicht über hochohmige Steckverbinder und ähnliche Nebeneffekte gesprochen, die zwar ein digitales Signal noch durchlassen, die analoge Auswertung aber sicher ausser Tritt bringen.

(Firma: 1984now) #7714307
Lesenswert?

Lothar M. schrieb:

  1. wer da im Betrieb unter Spannung was dazusteckt, der sollte sowieso sofort der elektrische Schalg treffen.

Natürlich. Aber, auch wenn es für dich überraschend sein mag: Es kommt tatsächlich in der Praxis vor, das vollkommene elektronische Laien irgendwelche elektrnischen Schaltungen zusammenstecken. Ja, ich würde sogar so weit gehen, das zum Normalfall zu erklären.

Und zum Programmbeginn kann man ja einfach mal "alles schwarz" durchtakten, bis man das Ende erkennt.

Ganz schlechter Ansatz. Ein OTA eingefangener Glitch genügt für eine falsche Erkennung. Regelmäßige Erkennung ist ganz sicher zuverlässiger als einmalige.

  1. man kann ja einfach immer 1 LED mehr als nötig ansteuern

Das ist ein richtiger Scheißansatz, komplett nicht durchdacht. Verschiebt das Problem nur von der Unfähigkeit zur Erkennung der Verlängerung der Kette zur Unfähigkeit zur Erkennung der Verkürzung der Kette. Was im Sinne der von dir beschriebenen Geamtfunktionalität sogar ziemlich fatal wäre.

Es ist zuverlässiger

Das behauptest du. Jeglichen Nachweis dafür bleibst du aber schuldig.

Ich hingegen würde behaupten: eine "out of band"-Erkennung ist hier deutlich zuverlässiger.

Aber klar: letztlich könnte man beide Ansätze auch wieder kombinieren, um in der Summe eine noch höhere Zuverlässigkeit zu erreichen.

#7714329
Lesenswert?

Ob S. schrieb:

  1. man kann ja einfach immer 1 LED mehr als nötig ansteuern

Das ist ein richtiger Scheißansatz, komplett nicht durchdacht. Verschiebt das Problem nur von der Unfähigkeit zur Erkennung der Verlängerung der Kette zur Unfähigkeit zur Erkennung der Verkürzung der Kette. Was im Sinne der von dir beschriebenen Geamtfunktionalität sogar ziemlich fatal wäre.

Vor allen Dingen kann ich mir nicht vorstellen, dass jemand, der im Betrieb an der Kette rumsteckt, die Rückmeldeleitung von der letzten LED ebenfalls korrekt umsteckt.

Moderator (Firma: Titel) Persönliche Seite #7714330
Lesenswert?

Ob S. schrieb:

Ein OTA eingefangener Glitch genügt für eine falsche Erkennung.

Das Protokoll einer LED ist länger als ein Glitch.

Lothar M. schrieb:

man kann ja einfach immer 1 LED mehr als nötig ansteuern

Das ist ein richtiger Scheißansatz, komplett nicht durchdacht.

Natürlich ist das in 2 Minuten fernab von "durchdacht". Trotzdem hast du das Konzept offenbar einfach nicht richtig verstanden, findest aber trotzdem schnell mal rüde Worte.

Ich würde in jedem Zyklus so viele LEDs ansteuern, wie im letzten Zyklus erkannt wurden. Und dann zusätzlich 1 LED "vornedran" hängen.

Wenn die Daten für die überzählige LED unerwartet früh ankommen, dann ist das ein Fehler, irgendwo muss die Kette eine Abkürzung gefunden haben.

Wenn die Daten für diese zusätzliche LED gar nicht wieder beim µC ankommen, hat der unbedarfte regelmäßige User die Kette auseinander gesteckt und die Länge muss erst mal wieder neu gescannt werden.

Das wird beim "ohmschen Ansatz" auch passieren, denn eine unterbrochene Kette ist in etwa wie "maximale Länge".

Aber wers einfach haben will, soll sich einfach die bis zu 10 oder 11 LEDs wahrscheinlich funktionierende Widerstandsreihenschaltung antun.

Rainer W. schrieb:

Vor allen Dingen kann ich mir nicht vorstellen, dass jemand, der im Betrieb an der Kette rumsteckt, die Rückmeldeleitung von der letzten LED ebenfalls korrekt umsteckt.

Wenn der letzte Teilnehmer nicht "automatisch" per Design richtig gesteckt werden muss, dann ist das Konzept generell zum Scheitern verurteilt.

(Firma: 1984now) #7714355
Lesenswert?

Lothar M. schrieb:

Das Protokoll einer LED ist länger als ein Glitch.

Das ist wohl wahr. Würde aber erfordern, dass die Erkennung nicht nur auf "Pinwackeln" basieren kann, sondern das Protokoll tatsächlich lesen können muss. Damit führst du eine ganz erhebliche zusätzliche Komplexität ein. Ob das gut sein kann für die Zuverlässigkeit der simplen Präsenz-Erkennung? Ich habe da meine Zweifel...

Das wird beim "ohmschen Ansatz" auch passieren, denn eine unterbrochene Kette ist in etwa wie "maximale Länge".

Oh nein. Die gemessene Spannung in diesen beiden Situationen unterscheidet sich doch ganz erheblich, nämlich zwischen 0V (offen) und mindestens Vcc/11 = 0,3V (ein Modul). Zumindest bei meinem Vorschlag zu Dimensionierung.

Aber wers einfach haben will, soll sich einfach die bis zu 10 oder 11 LEDs wahrscheinlich funktionierende Widerstandsreihenschaltung antun.

Man muss nicht die Widerstande in Reihe schalten. Das war auch nicht, was du ursprünglich diskutiert und mit Schaltplan und korrekt berechneten Beispiel (einer ziemlich idiotischen Dimensionierung) unterlegt hattest.

Vcc muss sowieso an jedes Modul geführt werden, die Messleitung kann als gemeinsame "Busleitung" ausgeführt sein. Die Widerstände der Module können also durchaus parallel geschaltet sein, ohne dass die Zahl der nötigen Strippen dadurch wächst. Sprich: es gibt keinerlei Notwendigkeit, das Widerstandsnetzwerk zur Erkennung auch in Serie zu schalten, selbst wenn die LED-Module selber das funktional natürlich sind.

Moderator (Firma: Titel) Persönliche Seite #7714478
Lesenswert?

Ob S. schrieb:

Das war auch nicht, was du ursprünglich diskutiert und mit Schaltplan und korrekt berechneten Beispiel (einer ziemlich idiotischen Dimensionierung) unterlegt hattest.

Könntest du bitte das nächste Mal statt "idiotisch" einfach nur "in meinen Augen ungeignet" schreiben? Denn eines ist völlig sicher: ich brauche mir von keinem auf seine ultimative Idee fixierten auf irgendeine Art Idiotie ankreiden lassen.

Man muss nicht die Widerstande in Reihe schalten.

Der TO wollte es so. Das kam allerdings erst nachdem der Irrweg mit der Parallelschaltung kam, wo ratenderweise

Jens M. schrieb:

und an jedem Modul einen Pullup

und diese Annahme dann anscheinend bestätigt wurde, als

Carsten W. schrieb:

Du hast es perfekt analysiert.

Ob S. schrieb:

Zumindest bei meinem Vorschlag zu Dimensionierung.

Falls du es übersehen hast: der Carsten wird die Sackgasse mit dem ADC nicht gehen.

Ich bin fertig hier.

#7714658
Lesenswert?

Carsten W. schrieb:

Ich hab 2 Elemente mit der gleichen Länge und einem Widerstand. Nur der letzte Widerstand geht immer auf GND.

Wir soll man das verstehen ?

Carsten W. schrieb:

VCC ---- 10 K ----- 10K---.

1
                      |

DP -----------------------.

1
   |
2

3
  100K
4

5
   |

GND ---.

Hier gehen 100k an GND, die Widerstände nach VCC.

Carsten W. schrieb:

ESP32

Der misst nur zwischen 0 und 1.1V.

Ich vermute (Glaskugel geputzt): du hast ein ESP32 board das bereits einen Analogspannungsteiler von VCC 3.3V auf 1.1V enthält wie das unsägliche WeMosD1 und dessen Eingangswiderstand versaut dir deine Eingangsspannung.

#7715167
Lesenswert?

Ich sehe immer noch nicht, wie das mit Widerstand an den Datenpins klappen soll. Wenn man die parallel schaltet, leuchten doch alle LEDs im gleichen Muster.

Jens M. schrieb:

Jedes LED-Modul bekommt ein OneWire-Bauteil.

Erscheint mir das einzig sinnvolle und funktionierende. Das muß natürlich ein separater Draht sein, d.h. eben nicht an den kaskadierten Datenpins der Module liegen.

#7715220
Lesenswert?

Peter D. schrieb:

Das muß natürlich ein separater Draht sein, d.h. eben nicht an den kaskadierten Datenpins der Module liegen.

Auch der Widerstand hat eine extra Leitung. Die LEDs waren nur zur Verwirrung da, es geht nur darum, die Anzahl der Widerstände zu erfassen. Oder eben evtl. OneWire-Bauteile.

Carsten W. schrieb:

Erzähl mir mehr ;-)

Dallas/Maxim/jetzt Analog Devices verkauft Bauteile, die das sog. OneWire-Protokoll (oder auch 1-Wire) nutzen, außer der Spannungsversorgung eben nur ein einziger Draht, über den "beliebig viele" Bausteine bidirektional angesprochen werden können. Der bekannteste dürfte der Temperatursensor DS18B20 sein. Nebenbei: u.U. kann der Datendraht auch Strom liefern, dann sind es tatsächlich nur "plus und minus" und trotzdem Datentransfer. Und es gibt auch einfache IDs, EEProms und andere Bauteile. Davon einfach das bequemste billigste nutzen und via Portscan feststellen wie viele es gibt, weiter ansprechen muss man sie ja nicht, und dann weißt du wie viele Segmente angeschlossen sind. Dafür gibt es fertige Libraries und Routinen, aber hängt natürlich davon ab wie weit du die Firmware für den ESP selber bauen willst/kannst, Aber so ein Temperatursensor am LED-Streifen ist evtl. auch ganz sinnvoll... ;) Aber gerade der DS18B20 wird gerne gefälscht und tut dann u.U. nicht richtig, aber vielleicht reichts als ID.

#7715307
Lesenswert?

Lothar M. schrieb:

Weil jetzt der ADC des ESP wegen Nichtlinearitäten aber gerade in Richtung Vcc immer schlechter wird, kommt dann nur noch Käse heraus.

Also wäre es doch sinnvoll, dies bei der Schaltungsauslegung zu berücksichtigen und nicht im Bereich nahe VCC zu arbeiten, sondern den festen Widerstand als Pull-Up an VCC zu legen und die Widerstände der LED-Element in den unteren Teil des Spannungsteilers zu verlagern, d.h. gegen Gnd. Es gibt auch keinen Grund, bei nur einer LED den Widerstand auf 1/2*VCC zu dimensionieren. Der Widerstand darf gerne größer sein, damit man den ADC weiter ausnutzt.

Moderator (Firma: Titel) Persönliche Seite #7715355
Lesenswert?

Rainer W. schrieb:

Es gibt auch keinen Grund, bei nur einer LED den Widerstand auf 1/2*VCC zu dimensionieren.

Diese Katze ist den Baum schon ewig und 3 Tage rauf. Natürlich könnte man mit besseren und asymetrischen Widerständen da noch was rausholen.

Und trotzdem ist der Schaltungsansatz so grenzwertig, dass selbst die Handyhersteller diese Spannungsteilerschaltung nur für 3 oder 4 Tasten am Headset verwenden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren