[vermutlich gelöst] ESP01 (Tasmota) und Tx (GPIO0, GPIO2) als Relay geht nicht?

Begonnen von andies, 02 September 2023, 13:08:52

Vorheriges Thema - Nächstes Thema

andies

Ich habe eine Frage, vielleicht kann mir jemand helfen. Anscheinend kann ich in Tasmota nicht Tx (GPIO1) als Relay definieren.

Zuerst zum Problem selber: Ich habe einen schwer zugänglichen RPi, der alle paar Monate zurückgesetzt werden muss (=Strom aus und an; so ein- bis zweimal im Jahr ist das nötig). Da der so schwer zugänglich ist habe ich mir überlegt, ich schalte ein Relais dazwischen, das wiederum mit einem ESP01 angesteuert wird. Normalerweise macht der ESP nichts, das Relais leitet durch und die beiden Male im Jahr, wenn nötig, schaltet sich das Relais ein und unterbricht damit den Stromkreis zum RPi kurz und gibt dann wieder frei.

Ich habe dann die angehängte Idee umgesetzt (ich bin kein Profi, was die Zeichnungen angeht).
Du darfst diesen Dateianhang nicht ansehen.
Auf den ESP01 habe ich Tasmota 13.0 geflasht und dann war nur noch die Frage, an welchen GPIO (im Schaltplan mit schwarzer Farbe und nicht rot bezeichnet) ich das Relais anschließe. Beim ESP01 kommen in Frage GPIO0, GPIO2 sowie Tx und Rx. (Auch schon merkwürdig, dass bei diesem Chip vier von acht Pins allein mit Stromversorgung und Rücksetzen belegt sind, aber egal.) Von GPIO0 und GPIO2 ist bekannt, dass sie beim booten HIGH sein müssen, sonst geht der ESP in Flash-Modus (auch schön konstruiert  ;D ), also habe ich Tx oder Rx gewählt.

An der Stelle beginnt nun das Problem. Der Chip ist geflasht und funktioniert sowohl im Web als auch in FHEM (via MQTT) einwandfrei, kann eingerichtet werden usw. Sobald ich aber den Transistor (einen BC238C) an den GPIO1=Tx oder an GPIO3=Rx anschließe, scheint mir der ESP durchzubrennen. Er ist nicht mehr im Netz erreichbar, kann nicht erneut geflasht werden und nichts funktioniert.

Ich verstehe das nicht. Weil die Beschreibung auf den PINs nicht ganz korrekt ist (das übliche Viereck ist nicht bei GND, sondern bei Tx), vermute ich, dass die Chips Ausschuss sind. Kennt das jemand? Oder habe ich einen Denkfehler? Ich meine, die Schaltung ist doch elend einfach... 
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

PS Es scheint auch egal zu sein, wo man die kauft. Also "Lieferung aus D" ist kein Garant für vernünftige Ware, das ist mir jedenfalls früher mal aufgefallen. Viele Kleinhändler lassen sich Tausend Stück zusenden und hoffen, dass das Produkt ok ist. Geprüft wird das anscheinend nicht.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

#2
Also vermutlich habe ich die Antwort:
ZitatGPIO1: pin is high at BOOT, boot failure if pulled LOW
aus Link. Vermutlich zieht die Basis des Transistors trotz internem Pull-up den GPIO so weit nach LOW, dass der ESP nicht bootet. Das würde aber auch bedeuten, dass die Schaltung an sich gar nicht funktionieren kann - was aber schon mal jemand bemerkt haben müsste?

Ich müsste das mit pnp-Transistoren bauen. Wenn es dann geht, stimmt meine Vermutung.

<edit> Nachgemessen mit Oszilloskop: An Tx liegt beständig 0,7V. Mithin ist der GPIO pulled LOW und die Schaltung kann so gar nicht funktionieren. Und wahrscheinlich habe ich den anderen ESP durchgebrannt, als ich den Transistor an Rx hatte.

<edit2> Die Forderung, dass der GPIO beim starten HIGH ist, gilt für alle ,,erreichbaren" GPIOs des ESP01, nicht nur für Tx, das steht bereits im ersten Post. Insofern kann man anscheinend den ESP nicht mit einer Relaysteuerung verbinden, wenn man sich eines NPN-Transistors bedienen will.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

RalfRog

Hi zum Thema "durchbrennen" gibt es hier ein paar Hinweise wenn man RX oder GPIO0 als Output verwenden will (wird von abgeraten).
https://www.instructables.com/How-to-use-the-ESP8266-01-pins/

Problem entsteht ggfs. beim programmieren wenn man da die PINs nicht mit einem Vorwiderstand schützt. Genau dann wenn der ESP noch zum programmieren verbunden ist aber der Sketch startet und aus dem Input einen Output macht.

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Papa Romeo

Also ich hab alle Variationen durch und es funktionieren alle GPIO´s des ESP01 als Eingang sowie als Ausgang.

Beispiel:  https://forum.fhem.de/index.php?msg=830748

Man muss aber bestimmte Dinge wissen bzw. beachten:

1. GPIO 0, 1 und 2 dürfen beim Booten nicht LOW sein. D.h. nutze ich einen dieser Pins als Ausgang, kann man mit dem
   internen Pullup nur arbeiten, wenn man als "Schalter" Bauelemente mit hohen Eingangswiderständen nutzt ... z.B. ein FET.
   Nimmt man einen normalen bipolaren Transitor sollte man externe Pullup´s verbauen und Vorwiderstände des Transistors etwa
   mit dem Faktor 10 oder höher ansetzen. Ich habe, wie im Beispiel zu sehen, gute Erfahrungen mit 1kOhm Pullup und 47kOhm
   Basiswiderstand gemacht.

2. Nimmt man einen dieser Pin´s als Ausgang, so zieht ein zu steuerndes Relais beim Booten kurzzeitig an.


LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

Vielen Dank - bei mir reichten 10kOhm als Basiswiderstand nicht aus, um das Relais zu schalten. Ich hatte dann dort statt der nötigen 5V nur etwa 2,7V.

War das dann der falsche Transistor, mit zu geringer Verstärkung?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Zitat von: RalfRog am 03 September 2023, 08:53:21Hi zum Thema "durchbrennen"
https://www.instructables.com/How-to-use-the-ESP8266-01-pins/
Danke für den Tipp, diese Seite hatte ich auch schon gefunden. Da steht im Grunde drin, was ich gerade selbst erkannt habe. Schade, dass man in China so chaotische Bauteile entwirft (wieso wird zB beim ESP01 nicht der GPIO5 herausgeleitet, der hat keine Einschränkungen?).

Ich habe jetzt eine pnp-Schaltung gebastelt und Papa Romeos Hinweise berücksichtigt. Aber an eines hatte ich nicht gedacht: Ich muss ja den Emitter an VCC anschließen, das sind bei mir aber 5V (weil 5V-Relais) und nicht 3.3V. Mithin fallen an der Basis und damit dem GPIO 5-0.6=4.4 Volt an. Bumm, durchgebrannt.

Ich brauche einen Spannungsteiler nach GND, und den entsprechenden Widerstand habe ich gerade nicht. Wird also wieder dauern mit der Rückmeldung.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

RalfRog

Zitat von: andies am 03 September 2023, 18:11:58Ich habe jetzt eine pnp-Schaltung gebastelt und Papa Romeos Hinweise berücksichtigt. Aber an eines hatte ich nicht gedacht: Ich muss ja den Emitter an VCC anschließen, das sind bei mir aber 5V (weil 5V-Relais) und nicht 3.3V. Mithin fallen an der Basis und damit dem GPIO 5-0.6=4.4 Volt an. Bumm, durchgebrannt.

Wat ein Schei... :o    Wenn es schlecht läuft dann so richtig.

Mein Fazit hier wäre, dass mit dem kleinen Modul im Grunde alles auf high (inaktiv) ausgelegt sein muss.
zum Booten muss man GPIO0 &2 auf high halten
GPIO1 &3 gehen beim Booten auch auf high (bzw. TX sendet sogar vorübergehend Debug-Daten - toggelt also)

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Nobbynews

#8
Vieleicht wäre das hier eine Alternative:

https://www.makershop.de/plattformen/esp8266/esp01-relais-modul/

https://de.elv.com/joy-it-fernsteuerbares-relais-modul-esp-01s-mit-wifi-253488?gad=1&gclid=EAIaIQobChMIjIu00KWQgQMVjotoCR3VQgDuEAQYBiABEgJC9PD_BwE

Allerdings ist das Relais mit GPIO 0 verbunden und daher zieht es, wie @Papa Romeo schon geschrieben hat, beim Einschalten kurz an.
Da GPIO 0 beim Boooten high sein muss, ist das Relais low aktiv.

andies

Oh Mann, 5€ und ich bastle da zwei Tage. Wenigstens gerade nicht vorrätig  8)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

TomLee

Im nächsten Hornbach bekommt man für 13,20€ einen Shelly 1.

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Papa Romeo

#12
Zitat von: andies am 03 September 2023, 18:11:58Ich habe jetzt eine pnp-Schaltung gebastelt und Papa Romeos Hinweise berücksichtigt. Aber an eines hatte ich nicht gedacht: Ich muss ja den Emitter an VCC anschließen, das sind bei mir aber 5V (weil 5V-Relais) und nicht 3.3V. Mithin fallen an der Basis und damit dem GPIO 5-0.6=4.4 Volt an. Bumm, durchgebrannt.

nein, die Basis würde theoretisch mit etwa -1,7 Volt angesteuert werden. Beim PNP musst du gegen +Ub messen, da der Emitter auf diesem Potentential liegt und immer die Basis-Emitter die Steuerstrecke ist.
Aber auch das ist noch zu viel und der Transistor verabschiedet sich in die ewigen Jagdgründe.

PNP ist in diesem Fall keine gute Lösung. Du  bekommst den Transistor nie gesperrt, da du deine Basisspannung nie auf 0, sprich in die Nähe von 5 Volt bekommst.

Wenn du das Anziehen des Relais beim Booten unterbinden willst, mußt du einfach zwei NPN-Transistoren hintereinander schalten.

Siehe Skizze.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Eine weitere Option ... einen Elko zwischen Basis und Emitter schalten. Ich hatte ein ähnliches Problem wie andies. Zwei FS10 Dimmer unter der Holzdecke, die gelegentlich ihre Funkkanalzugehörigkeit vergessen und nur durch das längere Betätigen einer Taste am Dimmer neu konfiguriert werden können. Um nicht jedes mal die Holzdecke öffnen zu müssen um an den Taster zu kommen, hab ich einen IWEAS 4.0 unter der Decke angebracht über den ich dann die beiden Taster bedienen kann. Nachteil dieser Methode, was aber in diesem Fall keine Rolle spielt: Das Einschalten der Relais erfolgt etwa eine halbe Sekunde verzögert (Basiswiderstand 47kOhm, Elko 10 uF). Das Ausschalten funktioniert sofort.

LG
Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

#14
Ich benötige wohl nochmal Eure Hilfe. Also mein Problem war, das habe ich vermutlich nicht gut erklärt, nicht ein Durchbrennen des Transistors. Der ist ok. Nein, da an dem GPIO 5V anlagen, war der ESP hinüber. Auch dass das Relais uU beim Einschalten anzieht, stört mich überhaupt nicht.

Ich habe nun gedacht, dass ich das Problem mit einem Widerstand zu GND lösen kann. Denn dann sind im Ruhezustand am GPIO nicht 4,6V, sondern (das habe ich ausgerechnet und das klappt) 3V. Also brennt der ESP nicht durch. Zeichnung steht da unten, wobei ich den ESP nicht richtig eingezeichnet habe (Spannungsversorgung fehlt) und ich die Freilaufdiode vergessen habe. Ich möchte gern, dass das Relais eigentlich die ganze Zeit in Ruhe liegt und ich damit 5V über den "Ruheanschluss" abgreife, und wenn ich das per ESP das Relais schalte, die 5V für ca 10 Sekunden unterbrochen werden.

Das klappt aber nicht. Der ESP brennt nicht durch, Transistor auch nicht. Aber am Relais liegt nur etwa 3V an, das zieht nicht an, wenn ich beim GPIO auf HIGH gehe. Kann mir jemand sagen, wo ich da einen Denkfehler habe - oder besser, was ich falsch mache, ich bin kein Profi. Ich sitze schon so lange an der Sache, langsam wird das vollständig ineffizient. Aber wenigstens will ich was lernen.

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Papa Romeo

#15
Hallo andies,

ist deine Zeichnung so korrekt  ???

--> verwendest du wirklich einen NPN-Transistor  ::)

--> den du mit dem Emitter an +5 Volt legst  :-\


Edit: ... ist aber eigentlich egal. Auch mit der richtigen Verschaltung oder Verwendung eines PNP-Transistors würde das Ganze so nicht funktionieren.
Der NPN würde nie eine ausreichende Basisspannung erhalten damit er durchsteuert und der PNP würde nie einen so hohen Spannungspegel bekommen damit er sperrt.

Versuchs mal nach der anhängenden Skizze:



LG
Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ach so, danke für die Skizze - damit hatte ich angefangen (allerdings ohne den 1k nach VCC), jedoch war die Verstärkung so gering, dass das Relais nie angezogen hatte. Ich hatte das auf den 10k zurückgeführt. Oder habe ich da auch einen Denkfehler?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Papa Romeo

#18
Hallo andies,
der Fehler liegt an den internen Pullup´s und ob Diese aktiviert oder nicht aktiviert sind.
Wie groß diese Pullup´s jetzt beim ESP01 sind weiß ich nicht. Beim ESP32 sollen sie zwischen 30 und 80 kOhm liegen und auch nicht bei allen GPIO´s gleich sein.
Aber nehmen wir mal an der Pullup ist aktiviert und beträgt 50 kOhm. Dein Basis-Widerstand von 10 kOhm erhöht sich dann um diese 50 kOhm und es kann dann durchaus sein,
daß diese 40 uA dann nicht mehr ausreichend sind um den Transistor voll durchzusteuern.
Des weiteren kann es auch dazu führen, dass der ESP nicht mehr bootet, wenn man z.B., wie du den TX (GPIO01) verwendet.
Durch den 10 kOhm Basiswiderstand und die Basis-Emitter-Strecke des Transistors wird der Port auf ca. 1 Volt gezogen. Tx benötigt aber zum Booten zwingend einen HIGH-Pegel.
Versieht man nun den GPIO mit einem externen Pullup, hier z.B. 1kOhm, erhöht sich der Basiswiderstand nur um dieses eine kOhm und der Basisstrom wird dadurch fast 6mal so groß
und der Port behält zudem beim Booten seinen HIGH-Pegel.

LG
Papa Romeo
 
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

#19
Danke an Papa Romeo, ich bin erst jetzt dazu gekommen das umzusetzen. Allerdings reagiert bei mir das Relais nicht (ich habe genau die Skizze von Dir verlötet). In Tasmota habe ich Tx sowohl als Relais als auch als Relais_b konfiguriert und wenn ich ON-OFF schalte, bewegt sich das Relais nicht.

Als Relais habe ich SRD05 VDC, als Transistor einen BC238 B. Ich hänge mal Fotos und vermutliche Datasheets hier an.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich habe mal die Spannung an der Basis (bzw Tx am ESP) gemessen:
ZitatLOW entspricht 0,11 V
HIGH entspricht 0,78 V
Letzteres verstehe ich nicht.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Also, ich habe mal etwas gerechnet. Laut Datenblatt benötigt das Relais 70mA (und das entspricht auch dem Widerstand, den ich damals an dem Coil gemessen habe).

Bei 10k am ESP habe ich einen Strom von 3,3/10k=330 muA. Die Figure 1 sagt, dass dann die 70mA gerade als "Collector Current" erreicht werden. Das ist knapp. Demzufolge könnte es sein, dass ich den Widerstand senken muss, damit ich mehr Collector Current kriege.

Ebenso bei einer Verstärkung von etwa 100-200 (nach Figure 3 müsste es 200 sein) benötige ich an der Basis etwa 350-700 muA, damit ich auf 70mA komme. Bei 3,3V verlangt das einen Widerstand von 10k-4.7k. 

Ich habe dann 4k statt 10k verbaut und das Relais schaltet. Also: gelöst. (Oder mache ich da was langfristig kaputt?)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Papa Romeo

Hallo Andies,

dann stimmt was nicht ... Transistor E und C vertauscht ...oder Pin´s am ESP verwechselt ...

Da ich weiß, dass meine Skizze funktioniert und ich es dir auch beweisen kann, hab ich die Schaltung
schnell mal fliegend zusammengelötet ... ist nicht schön, aber selten.

ESP:
- 3V3, RST, EN auf +3.3 Volt
- GND auf Masse
- GPIO0, GPIO2 mit 10 kOhm auf +3.3 Volt
- GPIO1, GPIO3 mit  1 kOhm auf +3.3 Volt
- GPIO1, GPIO3 mit 10 kOhm an die Basis der beiden Transistoren
- Emitter Transitoren an Masse
- Kollektoren der Transistoren über 470 Ohm und LED´s an + 5 Volt

ESP mit tasmota-DE.bin geflashed

GPIO1 --> Relay 1
GPIO3 --> Relay 2

siehe Bilder im Anhang.

LG
Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Zitat von: andies am 15 Oktober 2023, 14:57:28Bei 10k am ESP habe ich einen Strom von 3,3/10k=330 muA. Die Figure 1 sagt, dass dann die 70mA gerade als "Collector Current" erreicht werden. Das ist knapp. Demzufolge könnte es sein, dass ich den Widerstand senken muss, damit ich mehr Collector Current kriege.

...versteh ich jetzt nicht ganz ... die 10k haben doch mit dem Relais nichts zu tun. Dieser bestimmt doch nur die maximale Steuerspannung
(Basisspannung) des Transistors. Der Transistor schaltet die 70mA locker und braucht keinen Vorwiderstand.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

#24
Also, Deine Schaltung verstehe ich und die war nicht mein Problem. Bei mir hat der Transistor nicht genug Strom geliefert, um das Relais zu schalten (so erkläre ich mir das) - also ich vermute Basistrom*Verstärkung < CE-Strom für das Relais.

Es kann am Relais liegen. Das ist billig und vermutlich benötigt das mehr mA als die Dioden, damit es überhaupt reagiert?

(Ich meine: Meine Schaltung, die ja exakt Deine Schaltung ist (siehe Link), geht jetzt - ich habe nur 10k durch 4k ersetzt, mehr nicht! Kann da was schiefgehen? In die Luft fliegen? Eigentlich nicht, oder?)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Papa Romeo

Zitat von: andies am 15 Oktober 2023, 13:37:31Ich habe dann 4k statt 10k verbaut und das Relais schaltet. Also: gelöst. (Oder mache ich da was langfristig kaputt?)

... solange du den zulässigen Basisstrom nicht überschreitest, passiert da nicht´s.

Zitat von: andies am 15 Oktober 2023, 13:37:31Ich habe mal die Spannung an der Basis (bzw Tx am ESP) gemessen:
...
HIGH entspricht 0,78 V
Letzteres verstehe ich nicht.

Wenn du an der Basis und nicht direkt an Tx (GPIO_01) gemessen hast ist das o.k.
Die 0.78 Volt entsprechen dann der UBE, die bei einem durchgeschalteten
Transistor um die 0.7 Volt beträgt. Der Rest zum HIGH-Pegel (3.3Volt) fällt
an den Widerständen (Pullup 1kOhm und Basiswiderstand 10kOhm) ab.
Misst du direkt an TX musst du bei HIGH eine Spannung von knapp unter 3.3 Volt haben.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary