Ich habe mir eine Schaltung aufgebaut wo ich mit einem P-MOD (DMP3099) eine Last schalten möchte. Das Gate habe ich auf +5V mit einem 10k gezogen. Das Gate geht über einen TXB0108 Pegelwandler an einen Mikrocontroller welcher mit 3.3V läuft. Nun habe ich aber das Problem, das während dem programmieren und kurz nach dem einschalten der Pin Tatsächlich LOW ist, und somit der Mosfet einschaltet, das führt zu komischen "hin und her"flackern der Last für einen Moment Kann ich das auf eine einfach Art beheben? (Am besten mit wenigen zusätzlichen Bauteilen)
Danielso schrieb: > Am besten mit wenigen zusätzlichen Bauteilen Danielso schrieb: > Ich habe mir eine Schaltung aufgebaut... Und die ist geheim? Schaltpläne in Prosa interessieren nicht.
>Kann ich das auf eine einfach Art beheben? (Am besten mit wenigen >zusätzlichen Bauteilen) Mit einem Jumper in der GAtezuleitung, den Du beim Programmieren ziehst. Oder Du baust Deine Schaltung bzw. die Pinbelegung um, und damit auch das Programm, so daß das nicht mehr passieren kann.
:
Bearbeitet durch User
OE des Pegelwandlers mit einem Pulldown auf Masse ziehen und erst im Programm über Port-Pin freigeben.
Das Problem ist nicht nur beim Programmieren, sondern auch beim Starten, also wenn der Strom eingeschaltet wird bis der Controller seine Pins initialisiert hat. Pin-Belegung ändern? Gibt es denn Pin's welche beim start nicht gegen GND gehen? Beim Pegelwandler kann ich den OE nicht auf einen Pin setzen, denn dann flackern ja die anderen Ausgänge weil Sie kein definierten Zustand vom Wandler haben.
Danielso schrieb: > Nun habe ich aber das Problem, das während dem programmieren und kurz > nach dem einschalten der Pin Tatsächlich LOW ist Tja, dann musst du ihn invertieren > Kann ich das auf eine einfach Art beheben? (Am besten mit wenigen > zusätzlichen Bauteilen) 74GC1G04 ?
Danielso schrieb: > Pin-Belegung ändern? Schaltung ändern. Aber dazu musst Du erst einmal Deine falsche Schaltung zeigen.
>eine Last schalten möchte. Das Gate habe ich auf +5V mit einem 10k >gezogen. Das Gate geht über einen TXB0108 Pegelwandler an einen >Mikrocontroller welcher mit 3.3V läuft. Ein Gatewiderstand nach einem Pegelwandler ist eher witzlos. Denn der bewirkt da gar nichts, weil der Pegelwandler die Spannung dort bestimmt. Und dessen Ausgangsspannung wird bestimmt von der Spannung an dessen Eingang. Du mußt also einen PullUp-R vor dem Pegelwandler setzen, bzw. am IO-Pin des µC. Und zwar vom IO-Pin gegen +Ub des µC. >Das Problem ist nicht nur beim Programmieren, sondern auch beim Starten, >also wenn der Strom eingeschaltet wird bis der Controller seine Pins >initialisiert hat. >Pin-Belegung ändern? Gibt es denn Pin's welche beim start nicht gegen >GND gehen? Ok, das war auch nur für den Fall, daß die IO-Pins auch gleichzeitig die Programmiereingänge sind. Dein Problem ist übrigens nicht, daß die Pins nicht gegen Masse gehen, sondern Dein Problem ist, daß die nicht gegen + gehen, denn nur mit positivem Signal ist der Mosfet ja erst aus. Deswegen der paar Zeilen weiter oben empfohlene PullUp-R.
Hallo, mit einem Kondensator, einem Widerstand und zwei Dioden kann man in Solchen Fällen Abhilfe schaffen, wenn man sie nur richtig verschaltet. mfG
Danielso schrieb: > Nun habe ich aber das Problem, das während dem programmieren und kurz > nach dem einschalten der Pin Tatsächlich LOW ist, und somit der Mosfet > einschaltet, das führt zu komischen "hin und her"flackern der Last für > einen Moment Evtl. falsche Reihenfolge bei der Initialisierung der Ports? Richtig ist meist den gewünschten Pegel in das Ausgangsregister schreiben und erst dann die Datenrichtung auf Out setzen.
Was ist das für ein µC? Dann kann Jemand etwas dazu sagen. Z.B. ob der Prozessor per Default im Tristatezustand hängt, oder Low oder High zu beginn ist.
Danielso schrieb: > Das Problem ist nicht nur beim Programmieren, sondern auch beim Starten, > also wenn der Strom eingeschaltet wird bis der Controller seine Pins > initialisiert hat. Ich habe jetzt noch nicht lesen können, welchen Controller du einsetzt. Bei AVRs ist jedenfalls der IO-Pin auf Input und hochohmig beim Power_up oder Reset. Dem kann man begegnen, wenn man - wurde bereits gesagt - einen PU (oder PD, je nach dem, was den passiven Zustand darstellt) verwendet. Genauso beim OE des Pegelwandlers. Und dann kommt es beim Programm darauf an, wie du die Ports initialisierst. Wieder AVR: zuerst PU einschalten, dann auf Output. Wenn es beim Programmieren auch passiert, ja dann hast du eben die Pinverteilung unglücklich gewählt. Es bleibt dann der Vorschlag mit dem Jumper oder einem Gatter vor die MOSFET-Ansteuerung, das du erst beim Programmlauf frei gibst.
Der MCU ist ein Arduino Nano IOT. Ich habe einen Pullup nach +3V3 angelötet, jedoch nützt der nicht viel, da der Ausgang ja WIRKLICH low ist, nicht offen. Es funzt weder mit 10k noch 1k ... Also doch einen Logik-Inverter verwenden? Kann man das Signal nicht einfacher invertieren?
Danielso schrieb: > Also doch einen Logik-Inverter verwenden? > Kann man das Signal nicht einfacher invertieren? Ein stinknormaler Transistor mit zwei Widerständen zum Bleistift.
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.