P-MOS mit 0V Schalten

Gast #6249769
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)
>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.
Gast
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.
Gast
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 ?
>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.
Gast
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.
Gast
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.
Gast
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.
Gast
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.