Hallo, ich möchte an den Ausgängen eines PCF8574 8 kleine induktive Lasten mit 3.3V betreiben. Daher dachte ich, ein Darlington-Treiber könne nicht schaden, also habe ich das so zusammen gebaut wie im Anhang (aber mit 3.3V statt 12V) - was prinzipiell gut geht, jedoch scheint die Bibliothek der Software (WLED), die diesen PCF8574 oder der Baustein selbst beim Booten alle Ausgänge kurz HIGH zu schalten, was natürlich stört. Softwaremäßig kann ich die Logik invertieren, aber dann ist beim Booten erst mal alles HIGH, was natürlich auch nicht gewollt ist. Induktive Lasten auf der anderen Seite (gegen GND) gehen gar nicht, wahrscheonlich brauche ich ein PNP Array, oder? Ein Inverter wie 74HC240 ist auch eine Lösung, vermute ich mal. Andererseits ist mein Platz recht begrenzt, so dass ich nciht unbedingt 3 Bausteine verbauen möchte - gibt es bessere Ideen? Viel Strom brauche ich nicht, die 8 induktiven Lasten sind einfache Flacker-Kerzen-LED mit so einem kleinen Magneten zur Bewegung... Danke für Tipps, Tom
Tom W. schrieb: > Danke für Tipps Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut, nachmacht oder verfälscht, insbesondere bei existierenden Schaltungen die Abblock-Kondensatoren weglässt oder falsch verschaltet oder selbst solche Schaltungen entwirft, in Verkehr bringt und/oder aufbaut ohne Abblock-Kondensatoren nach Hersteller- Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom Mikrokontroller-Forum nicht unter zwei Jahren bestraft.
Hallo, nun SW ändern. Schau mal hier die zusätzliche Info. https://www.conrad.de/de/ratgeber/industrie-40/elektronik-bauteile/uln2803.html
Tom W. schrieb: > Andererseits ist mein Platz recht begrenzt Der TPIC2810D ist praktisch eine Kombination aus PCF und ULN in einem Gehäuse. Und er hat einen entscheidenden Vorteil: einen Output Enable Eingang. Solange der High ist, sind die Ausgänge abgeschaltet, egal, was irgendwer per I2C geschrieben hat. Ja, das kostet am uC einen Port Pin mehr und einen Pull-Up, aber dafür funktioniert es. In deiner Anwendung hat der TPIC noch den Vorteil, dass er FET-Ausgänge hat, also ist der Spannungsabfall kleiner als bei den Darlington-Ausgängen. Allerdings haben diese FET bis zu 18 Ohm bei 3 Volt, ab 75mA wird er also schlechter als ein ULN und mehr Strom ist auf Dauer auch nicht erlaubt. Irgendwann würde der integrierte Übertemperaturschutz abschalten. Der PCF8574 ist ideal für Textdisplays mit HD44780, aber für alles andere sehr gewöhnungsbedürftig. Zum Beispiel sind per Design nach dem Einschalten alle Ausgänge High. Andere I2C-Portexpander machen das besser, sind aber umständlicher zu programmieren und/oder schalten zufällig einzelne Ausgänge ein...
Tom W. schrieb: > Hallo, ich möchte an den Ausgängen eines PCF8574 8 kleine induktive > Lasten mit 3.3V betreiben. Daher dachte ich, ein Darlington-Treiber > könne nicht schaden, Doch, denn die haben ~1V Spannungsabfall, da bleiben von deinen 3,3V nur 2,3 für die Magneten übrig. > also habe ich das so zusammen gebaut wie im Anhang > (aber mit 3.3V statt 12V) - was prinzipiell gut geht, jedoch scheint die > Bibliothek der Software (WLED), die diesen PCF8574 oder der Baustein > selbst beim Booten alle Ausgänge kurz HIGH zu schalten, was natürlich > stört. Das macht der IC. > Induktive Lasten auf der anderen Seite (gegen GND) gehen gar nicht, > wahrscheonlich brauche ich ein PNP Array, oder? Ja. > Ein Inverter wie 74HC240 > ist auch eine Lösung, vermute ich mal. > > Andererseits ist mein Platz recht begrenzt, Wie begrenzt? 1cm^2 oder eine Europlatine? > so dass ich nciht unbedingt > 3 Bausteine verbauen möchte - gibt es bessere Ideen? Viel Strom brauche > ich nicht, die 8 induktiven Lasten sind einfache Flacker-Kerzen-LED mit > so einem kleinen Magneten zur Bewegung... Wieviel Strom brauchen die? Der PCF8574 kann allein schon 25mA/Kanal schalten, wenn auch nur gegen GND. https://www.mikrocontroller.net/articles/Port-Expander_PCF8574#Anwendung Aber damit wird auch dein Problem beim Einschalten gelöst, denn dann sind alle Ausgänge HIGH = inaktiv. Und ohne extra Pull-Up kann der so oder so nicht den ULN treiben. Siehe oben. Ergo. Vergiss den ULN und schreibe was über den Strombedarf deiner Lasten. Dann sehen wir weiter.
> Hallo, ich möchte an den Ausgängen eines PCF8574 8 kleine induktive > Lasten mit 3.3V betreiben. spezifiziere mal "kleine", viele Relais schalten schon mit wenigen mA > Der TPIC2810D ist praktisch eine Kombination aus PCF und ULN in > einem Gehäuse. Der TPIC 2810 hat aber keine Freilaufdioden, die müsstest Du dann zusätzlich vorsehen (am besten direkt an den Relais)
Stephan S. schrieb: > Der TPIC 2810 hat aber keine Freilaufdioden, die müsstest Du dann > zusätzlich vorsehen (am besten direkt an den Relais) Nö. Am Ausgang des ICs. Beitrag "Freilaufdiode auf Platine platzieren?"
Stephan S. schrieb: > Der TPIC 2810 hat aber keine Freilaufdioden Sondern was besseres, ne 42V Z-Diode zum Gate. Bei Überspannung wird der FET wieder leitend und begrenzt.
Falk B. schrieb: > > Ergo. Vergiss den ULN und schreibe was über den Strombedarf deiner > Lasten. > Dann sehen wir weiter. ca. 25-50mA pro Kanal, die Last schwankt. Das sind keine Relais, sondern kleine Spulen, dazu eine LEDs (Kerze)
Tom W. schrieb: > ca. 25-50mA pro Kanal, die Last schwankt. Das sind keine Relais, sondern > kleine Spulen, dazu eine LEDs (Kerze) Wird zuviel für den ollen PCF. Siehe Anhang. Mit halbwegs modernen P-Kanal MOSFETs wird das was. Die sind auch beim Einschalten sicher aus. Ob du den Typen nehmen willst, muss du entscheiden, ist halt SOT-363, das kann und will nicht jeder löten. Es gibt auch ähnliche Doppel-MOSFETs in SO8. Z.B. IRF7314.
Der TPIC6A595NE wäre möglicherweise ein Kanditat. Kann bis 50V und 0.35A per Ausgang, ist leicht zu steuern und gibt es in DIP-20 Gehäuse. Ist aber für serielle Ansteuerung vorgesehen. Ich habe damit etliche Relais geschaltet. Schutzdioden an den Relaispulen nicht vergessen. Sonst finde ich den vorgeschlagenen TPIC2810 recht brauchbar.
Tom W. schrieb: > jedoch scheint die Bibliothek der Software (WLED), die diesen PCF8574 > oder der Baustein selbst beim Booten alle Ausgänge kurz HIGH zu schalten Nein, das macht der stinkalte I/O 8051 kompatible IC von alleine. Warum muss man immer solchen Schrott kaufen bloss weil er der allerbilligste ist. Angenommen deine Relais brauchen 12V mit mehr als 20mA und weniger als 150, geh halt mit der Zeit und nimm TPIC6B595 (braucht halt noch Freilaufdioden) oder TPL9202 (enthält Freilaufdioden) oder äquivalentes anderer Hersteller.
:
Bearbeitet durch User
Beitrag #7531984 wurde vom Autor gelöscht.
Falk B. schrieb: > Wird zuviel für den ollen PCF. Siehe Anhang. Mit halbwegs modernen > P-Kanal MOSFETs wird das was. Die sind auch beim Einschalten sicher aus. > Ob du den Typen nehmen willst, muss du entscheiden, ist halt SOT-363, > das kann und will nicht jeder löten. Es gibt auch ähnliche > Doppel-MOSFETs in SO8. Z.B. IRF7314. Jau, hört sich vernünftig an. S08 ist auch nicht so meins, einen DIL mit 8 Kanälen oder ein Breakoutboard - kennst du da auch etwas? Zur Not könnte ich auch einen bedrahteten MOSFET nehmen, muss ich halt eine Strippe mehr ziehen, was nicht sooo wild wäre.
Michael B. schrieb: > Warum muss man immer solchen Schrott kaufen bloss weil er der > allerbilligste ist. Naja, wie ich ja schrieb: Der Portexpander, der von WLED unterstützt wird, ist da nun mal dieser "allerbillgste Schrott". Die ganzen TP... werden sicherlich besser sein, sind ja aber sicherlich anders anzusteuern.
Gerhard O. schrieb: > Schutzdioden an den Relaispulen nicht vergessen. Total überflüssig. Der TPIC6A595 hat genau den gleichen Schutz mit Z-Diode: "The device contains a built-involtage clamp on the outputs for inductive transient protection."
Tom W. schrieb: > Der Portexpander, der von WLED unterstützt > wird, ist da nun mal dieser "allerbillgste Schrott". Die ganzen TP... > werden sicherlich besser sein, sind ja aber sicherlich anders > anzusteuern. Kannst du denn wenigstens die Logik im Programm invertieren? Also, dass beim PCF High raus kommt, wenn die Kerzen aus sein sollen? Dann gibt's tatsächlich noch 8 P-Kanal-FETs im DIL-18: TBD62786APG (jedenfalls bei Digikey).
Tom W. schrieb: >> Warum muss man immer solchen Schrott kaufen bloss weil er der >> allerbilligste ist. > > Naja, wie ich ja schrieb: Der Portexpander, der von WLED unterstützt > wird, ist da nun mal dieser "allerbillgste Schrott". Die ganzen TP... > werden sicherlich besser sein, sind ja aber sicherlich anders > anzusteuern. Sicher. Der PCF8574 läuft über I2C, die TPIC über SPI. Beides machbar, aber wenn man den Anpassungsaufwand klein halten will, bleibt man bei I2C. Tom W. schrieb: > Jau, hört sich vernünftig an. S08 ist auch nicht so meins, einen DIL mit > 8 Kanälen oder ein Breakoutboard - kennst du da auch etwas? Zur Not > könnte ich auch einen bedrahteten MOSFET nehmen, muss ich halt eine > Strippe mehr ziehen, was nicht sooo wild wäre. Naja, mit diesen Randbedingungen wird es eng, denn THT MOSFETs mit spezifizierter 3,3V Ansteuerung (Logic Level) sind EXTREM selten. Also dann doch old school mit PNP Transistor. Siehe Anhang. Bastlerfreundliches TO92 Gehäuse. Den Basiswiderstand kann man senkrecht einlöten, um Platz zu sparen. Ebenso die Freilaufdiode.
Bauform B. schrieb: > Kannst du denn wenigstens die Logik im Programm invertieren? Also, dass > beim PCF High raus kommt, wenn die Kerzen aus sein sollen? Dann gibt's > tatsächlich noch 8 P-Kanal-FETs im DIL-18: TBD62786APG (jedenfalls bei > Digikey). ja, das kann ich. Geht auch der TBD62786APG, den ich gerade bei ebay finde?
Tom W. schrieb: > Geht auch der TBD62786APG, den ich gerade bei ebay finde? Naja, andere Leute spielen Lotto ;) Obwohl, wer würde so einen Exoten fälschen?
Tom W. schrieb: > Bauform B. schrieb: >> Kannst du denn wenigstens die Logik im Programm invertieren? Also, dass >> beim PCF High raus kommt, wenn die Kerzen aus sein sollen? Dann gibt's >> tatsächlich noch 8 P-Kanal-FETs im DIL-18: TBD62786APG (jedenfalls bei >> Digikey). > > ja, das kann ich. Geht auch der TBD62786APG, den ich gerade bei ebay > finde? Entschuldige, ich meinte TBD62083APG - den finde ich da gerade
Tom W. schrieb: > ich meinte TBD62083APG Naja, schalten würde er, aber genauso wie der ULN, also gegen das eigentliche Problem hilft er nicht Tom W. schrieb: > beim Booten alle Ausgänge kurz HIGH zu schalten
Falk B. schrieb: > Also dann doch old school mit PNP Transistor. Siehe Anhang. > Bastlerfreundliches TO92 Gehäuse. Den Basiswiderstand kann man > senkrecht einlöten, um Platz zu sparen. Ebenso die Freilaufdiode. Hab ich nachgestellt, hatte noch ein paar BC557. Musste an den P0 noch nen pullup 4,7k machen, sonst gab es bei AUS nur Geflacker. In der Software die Logik umgestellt. Das Problem ist leider wieder da, beim Booten sind die ca 1s an.
Was für eine Art µC sitzt denn vor deinem PCF? Ein Arduinoboard oder ein ESP irgendwas? Deren Bootloader sorgen beim Start für unkontrolliertes Bitwackeln. Bei einem Arduino kannst du den Bootloder runterschmeißen, damit der Spuk aufhört. Ansonsten wie oben angesprochen, ein IC mit Enablle Eingang, oder einen Logiclevel P-Kanal FET in die Plusleitung der Verbraucher und dann erst verzögert entriegeln. Würde ich ganz oldschool mittels RC-Glied und nicht per Software, die wieder "interessante Nebenwirkungen" produzieren kann.
Tom W. schrieb: >> Also dann doch old school mit PNP Transistor. Siehe Anhang. >> Bastlerfreundliches TO92 Gehäuse. Den Basiswiderstand kann man >> senkrecht einlöten, um Platz zu sparen. Ebenso die Freilaufdiode. > > Hab ich nachgestellt, hatte noch ein paar BC557. Musste an den P0 noch > nen pullup 4,7k machen, sonst gab es bei AUS nur Geflacker. Dann stimmt was nicht, das Ding hat interne Pull-Ups. Prüfe deinen Aufbau und die Anschlüsse. > In der > Software die Logik umgestellt. Das Problem ist leider wieder da, beim > Booten sind die ca 1s an. Das ist dann aber eher ein Softwareproblem, denn das Datenblatt sagt. "At power-on the I/Os are HIGH." D.h. mit der Endstufe sind die Lasten stromlos. Mach mal einen Test. Klemm den I2C Bus ab und schalte die Stromversorgung ein. Dann sollten alle Ausgänge vom IC HIGH sein. Dann klemm den I2C Bus wieder an und test nochmal. Klemm ein Multimeter an einen der Ausgänge vom IC. Wenn die 1s HIGH sind, dann durch eine falsche Initialisierung in deiner Software.
Gerald B. schrieb: > Was für eine Art µC sitzt denn vor deinem PCF? Ein Arduinoboard oder ein > ESP irgendwas? Deren Bootloader sorgen beim Start für unkontrolliertes > Bitwackeln. Bei einem Arduino kannst du den Bootloder runterschmeißen, > damit der Spuk aufhört. Unsinn! Kein Bootloader wackelt aus Langeweile mit den IOs! Und selbst wenn, dann wird daurch mal sicher KEIN I2C Schreibzugriff ausgelöst!
Moin, Ich kann das bestätigen. Ich habe kürzlich ein Projekt mit einem Nano und einem PCF8575 16-bit Modul durchgezogen. Alle aktiven Ausgänge schalten ausnahmslos auf Low. Da gibt es beim Einschalten nicht die geringsten Anomalien. Das PCF Modul weckt ja ohnehin mit allen IO-Pins hoch und Pull-ups eingeschaltet auf. Da kann von vornherein nichts passieren. Nach der Initialisation funktioniert alles so wie vorgesehen. Ein Port liest vier Schalter und betreibt vier LEDs und der andere Port emuliert den 8-bit Datenbus für eine Parallel Centronics Drucker Schnittstelle. Das funktioniert alles bestens und 100% zuverlässig. Der Drucker hat intern 1K nach 5V an seinen Dateneingängen. Wenn man einen ULN2003 wirklich damit(8574) betreiben will, schlage ich vor mittels R-Network (1Kx8) alle IO-Pins durch einen uC IO Pin nach der Initialisierung dann zu gegebener Zeit hochschalten. Das stellt sicher, daß die schwachen Pull-ups keine unerwartete Späße anstellen. Dann kann man mit Open Drain auch den 2003er sicher schalten. Alles andere mit dem 2003 wäre Pfusch. Der PCF857x ist trotz seiner Einfachkeit durchaus brauchbar. Für alles andere ziehe ich die diversion PCAxxxx IO expander und auch die MCP23xxxx Familie und einige andere Gesellen. Gerhard
Falk B. schrieb: > Stephan S. schrieb: >> Der TPIC 2810 hat aber keine Freilaufdioden, die müsstest Du dann >> zusätzlich vorsehen (am besten direkt an den Relais) > > Nö. Am Ausgang des ICs. > > Beitrag "Freilaufdiode auf Platine platzieren?" Falk Du bist am Holzweg. Freilaufdioden gehören dahin, wo die Störung entsteht. Und das ist an der Induktivität.
Thomas S. schrieb: >> Beitrag "Freilaufdiode auf Platine platzieren?" > > Falk Du bist am Holzweg. Freilaufdioden gehören dahin, wo die Störung > entsteht. Und das ist an der Induktivität. Die Diskussion war lang und anstrengend. Deine Fraktion hat dabei verloren ;-) Die Störung entsteht am Schalter, welchen den Stromfluß unterbricht. Ebenso ist der durch die Induktionsspannung gefährdet. Die Spule nicht.
Falk B. schrieb: > Thomas S. schrieb: >>> Beitrag "Freilaufdiode auf Platine platzieren?" >> >> Falk Du bist am Holzweg. Freilaufdioden gehören dahin, wo die Störung >> entsteht. Und das ist an der Induktivität. > > Die Diskussion war lang und anstrengend. Deine Fraktion hat dabei > verloren ;-) > Die Störung entsteht am Schalter, welchen den Stromfluß unterbricht. > Ebenso ist der durch die Induktionsspannung gefährdet. Die Spule nicht. Die Störung entsteht an der Spule und nirgendswo anders. Hersteller wie Eberle, Finder, und auch die Elektronik Gemeinde (außer Dir) weiß dass. Bau eine Messschaltung auf und messe mit Oszi. Erzähl hier nicht wieder 'theroretischen' Quatsch, wovon DU keine Ahnung hast.
Falk B. schrieb: > Die Diskussion war lang und anstrengend. Deine Fraktion hat dabei > verloren ;-) Thomas S. schrieb: > Erzähl hier nicht wieder 'theroretischen' Quatsch, wovon DU keine Ahnung > hast. Wie üblich wenn 2 behinderte Rechthaber aufeinander einschlagen. Die Störungen sind entweder der Spannungssprung auf der Leitung, oft nur 5V, oder die Stromänderung in der Leitung, vielleicht 100mA, je nach dem wo die Freilaufdiode sitzt. Welche Störung einem lieber ist und weniger Probleme macht hängt natürlich von den konkreten Spulendaten ab, aber auch und vor allem von dem was überhaupt gemessen wird, kapazitive oder induktive Kopplung. Wenn die Leitung lang ist hilft Abschirmung gegen den Spannungssprung und verdrillen gegen die Stromänderung. Keiner von euch hat Recht, ihr seid nur 2 Dumme.
Thomas S. schrieb: >> Die Diskussion war lang und anstrengend. Deine Fraktion hat dabei >> verloren ;-) >> Die Störung entsteht am Schalter, welchen den Stromfluß unterbricht. >> Ebenso ist der durch die Induktionsspannung gefährdet. Die Spule nicht. > > Die Störung entsteht an der Spule und nirgendswo anders. > Hersteller wie Eberle, Finder, und auch die Elektronik Gemeinde (außer > Dir) weiß dass. > Bau eine Messschaltung auf und messe mit Oszi. > > Erzähl hier nicht wieder 'theroretischen' Quatsch, wovon DU keine Ahnung > hast. Du solltest es mit Lesen und Denken versuchen. All das wurde lang und breit in der oben verlinkten Diskussion diskutiert, incl. praktischer Messungen MEINERSEITS!
Michael B. schrieb: > Keiner von euch hat Recht, ihr seid nur 2 Dumme. Jaja, der allwissende Laberkopp wieder. Geh zum Arzt. Ganz ehrlich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.