Ich möchte einen TPL 5111 als One Shot Timer Betreiben um einen ESP Schlafen zu legen und wider aufzuwecken. Zu diesem Zwecke schneidet der TPL den ESP von VCC mittels eines P-Channel MOSFET ab. Das Funktioniert soweit auch super. Nun wollte ich mit einem Widerstand an Pin 3 das Länge der Sleepphase einstellen. Allerdings ändert sich die Zeit immer erst nachdem ich den TPL kurz von VCC getrennt habe.
Bsp.
1k ->1sek
10k->1sek
Trennung von VCC und wiederverbunden
10k->5sek
Ist das ein normales verhalten des TPL oder mache ich da was Falsch bzw. kann man das redeten der Zeit iwi Manuell triggern? einen enable Pin oder so hat der ja nicht.
steht wie du schon live erfahren hast im Datenblatt Seite 3. Time interval configuration (during power on) and logic input for manual Power ON
Heißt zum "live" einstellen muss er "resetet" werden. Geht leider nicht anders.
7.4.1 Start-Up
During start-up after POR, the TPL5111 executes a one-time measurement of the resistance attached to the DELAY/M_DRV pin in order to determine the desired time interval for DRVn. This measurement interval is tR_EXT. During this measurement a constant current is temporarily flowing into REXT. Once the reading of the external resistance is complete, the TPL5111 enters automatically in one of the two modes according to the EN/ONE_SHOT value. The EN/ONE_SHOT pin must be hard wired to GND or VDD according to the required mode of operation.
Hab nix gesagt. Habe die Bezeichnung verwechselt und den TPL5110 beschrieben.
Trotzdem ... die 10k am Gate und der 10M als Pulldown passt nicht. R12 kann man weglassen. R11 höchstens 100k
Wobei .. im Text ist von einem TLC5111 (gibt es den überhaupt?) die Rede, im Schaltplan ist ein TPL5111 abgebildet.
Ich sehe gerade sind TPL5110 und 5111 sind identisch, nur liefert der 11er ein invertiertes Signal.
Dann passt es ja doch. Die 86k (RT2) sind viel zu hoch für 5 Sekunden (müssten dann 8,86k sein). Die 86k im Schaltplan ergeben eher etwas um die 1600 Sekunden. "Done" gehört mit 1M auf GND gezogen. En/OneShot gehört an VCC, wenn der IC als Timer arbeiten soll.
Noch was zum zeichnen: Einen Pull DOWN zeichnet man nach unten (down) zum GND (Erde) hin. Dann ist der Plan leichter lesbar. Und am besten noch um 90° drehen.
Ich verstehe die Schaltung auch dahingehend nicht ganz, weil hier ein P-Channel Mosfet wie ein N-Channel geschaltet ist. Da sperrt doch nix. Geht alles durch die Diode.
Du hast Recht. Der BSS84 wird falsch angesteuert. Entweder er dreht das Signal am Ausgang nochmal mit einem N-MOS, um den P-MOS richtig anzusteuern. Dann gehört ein PullDown an den N-MOS, und entsprechend ein PullUp an den P-MOS danach, ODER er nimmt einen TPL5110, der bereits ein gedrehtes Signal passend für den P-MOS zur Verfügung stellt.
Außerdem sollte der Pulldown-Widerstand nicht so wie im Bild geschaltet sein da er einen Spannungsteiler bildet, der die Steuerspannung verringert. Hier zwar nur ca 1/1000 der Steuerspannung, aber man soll sich das richtig angewöhnen.
Wenn man den links von R12 gegen Masse anschließt hat man keine Spannungsteiler.
Außerdem bemißt man den Gatewiderstand so, daß der Strom um die Gate-Kondensator zu laden nicht den Außgang überlastet. Ist der Widerstand unnötig groß schaltet der MOSFET langsamer als Notwendig zwischen Sperrend und Leitend und umgekehrt. Das bedeutet mehr Verlustleistung als notwendig.
Im Datenblatt finde ich die Strombelastbarkeit des Ausgangs für die MOSFET-Ansteuerung nicht. Andererseits wird kein Gatewiderstand in den Beispielschaltungen verwendet. Also würde ich den Gate-Widerstand R12 weglassen. Auch würde ich den Pulldown-Widerstand R11 weglassen da dieser nur bei doppelter Spannungsversorgung ( eine Spannung zur Ansteuerung und eine zweite Spannungsquelle für die Last. Nur so kann es vorkommen daß die Lastspannung da ist wenn die Steuerspannung fehlt und der MOSFET abgeschaltet werden muß.
Außerdem wenn der P-MOSFET ausgeschaltet gehalten werden soll braucht es einen Pullupwiderstand.
Der TPL5111 ist für die Steuerung eines Enable Eingangs zB an einem DC/DC-Wandler gedacht.
Der TPL5110 ist das gleiche IC für die Ansteuerung eines P-MOSFETS. Der Unterschied ist die "Polarität" des Ausgangs. Einer ist HIGH aktiv für Enable, der andere LOW aktiv für einen P-MOSFET.
So wie ich das verstanden habe braucht es einen TPL5110 ( nicht den 5111) wenn man einen P-MOSFET schalten will.
Ich habe vor längerem mir selber mal einen "variablen" Timer aus dem TPL5110 gebaut, der über ein Poti in der Frequenz einstellbar ist. Ich habe das benutzt z.B. um mit dem Pegelwechsel einen externen Interrupt bei einem MC auszulösen, damit dieser in einem bestimmten Zeitintervall durch den Impuls geweckt wird.
Der Output vom Timer wird nicht mit einem P-Channel sondern einem ganz normalen N-Channel gesteuert.
Über die beiden Ausgänge Out-Low und Out-High kann ich entweder einen Dauer-High Pegel haben der bei einem Timer Impuls auf LOW gezogen wird oder umgekehrt ein Dauer-Low der bei einem Timerimpuls auf HIGH geht.
Unabhängig von der gezeigten Schaltung hat die nix damit
Zu tun. Wenn der ESP komplett spannungslos geschaltet wird, ist das ein "Ausschalten" und kein "schlafen legen". Zum "schlafen legen", braucht es keine zusätzliche Schaltung.
Leider funktioniert die DeepSleep Funktion in den ESP8266 Modulen nicht wie erwartet. Ich hatte da vor einiger zeit mal einen Fred zu gemacht, wo ich auch eine Lösung gefunden hatte, allerdings habe ich dann feststellen müssen das der ESP in diesem "PseudoDeepSleep" immer noch 7,5mA zieht und das ist viel zu viel für meine Anwendung. Deshalb habe ich mich dazu entschlossen den ESP mit einer Externen Schaltung abzuschalten wenn er nicht gebraucht wird.
Ok, ich hoffe das ich das jetzt richtig Zusammen bekomme.
Ich benutze den TLP nicht zum einschalten Meines Mosfet sondern um Ihn für einen Gewissen Zeitraum Auszuschalten.
-Hauptschalter ein.
Der Timer Läuft einmal durch, während dessen ist der P-MOSFET offen und meine
Schaltung tot.
dann ist der Timer Fertig der P-MOSFET schließt und mein ESP hängt wieder am
Strom.
Dann macht der ESP was er soll und gibt am ende ein 50ms HIGH an den PIN6 vom
TLP (das ist das Label TimerCTL)
damit fängt der TLP von vorne an und legt die Schaltung wieder tot indem er dem MOSFT ein HIGH liefert.
Also in der Praxis funktioniert das auch so. Ich heb allerdings im Schaltplan Drain und Source vertauscht. Danke für den Hinweis. Mit dem Schaltplan soll dan später die Platine erstellt werden das wäre schief gegangen.
Das einstellen des Zeitintervalls im betrieb wäre ein nettes Feature gewesen aber ist eigentlich (nach jetzigem stand) nicht notwendig. Ich wollte nur wissen ob das verhalten normal ist oder ob ich das durch eine Fehlerhafte Verwendung erzeugt habe. Die Stelle im Datenblatt habe ich tatsächlich überlesen, das wäre schon iwi eine Sache für die Feature List auf Seite 1 gewesen.^^
Den Schaltplan habe ich noch einmal geändert. Aufgebaut getestet, funktioniert!
Komische Situation... ich hab das ganze jetzt vom Steckbrett auf meinen Prototypen übertragen und gelötet.... aus irgend einem Grund ist der TLP plötzlich im Timer Modus. Weiteres seltsames verhalten, wenn ich den Widerstand Rt1 änder reagiert der TLP aus irgendwelchen Gründen sofort, also als würde er sich selbst zurücksetzen oder was weis ich
Zu Deiner Schaltung kann ich nur sagen daß Du die extreme Stromsparfunktionalität des TLP5111 durch den MOSFET Zeitweise torpedierst.
Stromverbrauch:
AD Wandlung zeitbestimmender Widerstand nach einschalten 200, max 400µA
Normale Funktion 35 bis 50nA.
Durch den Pullupwiderstand hast Du aber ca 100µA wenn der Ausgang HIGH ist.
Da ist es besser einen 5111 oder 5110 je nach notwenigen Signalpegel zu nehmen, ansonsten einen CMOS Inverter wie zB einen CD4041, CD4049, CD4069, ecc. und damit den Ausgang invetieren.
Gut .. diese Schaltung gehört zu einem Board um mit dem IC zu experimentieren und ist nicht auf den minimalsten Stromverbrauch ausgelegt.
Um einen MC zu wecken habe ich in einem Projekt einen Pin mit Input_Pullup definiert und den Interrupt auf eine fallende Flanke konfiguriert. Dann kann die Schaltung so aussehen
Ich bin inzwischen etwas weiter gekommen mit meiner Fehlersuche.
Hier mal der Gesamte Schaltplan, das ganze wird mit 6V Batteriebetrieben.
Im Batteriebetrieb verhält sich der TLP als wäre PIN6 HIGH. Bzw. da er die Widerstandsänderng im betrieb wahrnimmt glaube ich das VCC kurzzeitig unterbrochen wird, da das der TLP eigentlich nicht können sollte ohne das er redetet wird.
Wenn ich vom Arduino 3v3 mit dem 3v3 auf dem Prototypen verbinde verhält sich der TLP als wäre PIN6 HIGH.
Wenn ich GND vom Arduino mit dem GND vom Prototypen verbinde verhält sich der TLP als wäre PIN6 HIGH.
Wenn ich 3v3 und GND vom Arduino mit 3v3 und GND vom Prototypen verbinde verhält sich der TLP wie erwartet.
EDIT: Wenn ich den BME280 entferne (CONECTOR J2), dann Funktioniert der TLP wie erwartet
Sry hatte vergessen das der Hier als Bauteil garnicht vorhanden ist da sich auf dem Brett nur ein Anschlussfeld befindet.
EDIT EDIT: Ich hatte für den versuch mit dem abgezogenem BME den ESP nicht mit auf der Platine, den habe ich jetzt dazugesteckt.... Selbes Problem Ohne geht mit nicht.
EDITEDITEDIT: Ich habe das Gefühl das die Spannung as irgendwelchen gründen zusammenbricht wenn der ESP oder der BME gesteckt ist, das macht aber grundsätzlich keinen Sin den vorher als der TLP noch verbaut war und der MOSFET über den ESP direkt geschaltet wurde, ging es ja auch.
Ich kann das Zusammenbrechen der Spannung mit dem Multimeter auch nicht sichtbar machen was aber auch an der miesen Reaktionszeit liegen kann.