P-Kanal MOSFET von Low auf hochohmig ?

Gast #2443528
Lesenswert?

Hallo, ich habe folgende Schaltung vorliegen:



                          .----------.
                          |          |
                         ---         |
                          -          |
  .--|--------------------|          |
  | ===                              |
  | GND      __       '------------o
  |         |    |      |    |       |
  |   .-----|7805|------'   .-.      |
  |   |     |____|          | |      |
  |   |       |             | |      |
  |   |      ===            '-'   ||-+
  |   |  __  GND             |    ||->
  |   -o|  |o---------------------||-+
  |   -o|  |o-                       |
  |   -o|  |o-                       |
  |   -o|__|o-                       |
  |   |                              |
  |  ===                             |
  |  GND                             |
  |                                 .-.
  |                                ( X )
  |                                 '-'
  |                                  |
  '----------------------------------'
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Es liegt also eine Batteriespannung von 12 V an Source vor. Mit einen 
IRFR5305 will ich damit eine Lampe ein und ausschalten die am Drain 
hängt.
Das Gate soll von einem Portpin eines Mega48 geschaltet werden.
Damit der MOSFET auch wirklich zu macht, habe ich einen 1,8kOhm zwischen 
Source und Gate gehängt und will den Portpin des Mega48 auf hochohmig 
schalten.

Im Datenblatt steht, das man dazu einen Zwischenschritt machen muss, 
also z.B. erst von LOW nach HIGH und dann das DDR auf Eingang schalten.

Habe schon diverse Kombinationen versucht, funktioniert aber nicht. Hier 
mal mein Code:

void Kanal9()
{

  if(K9 == 0)
  {
    K9DDR &= ~(1 << KANAL9);
    K9PORT |= (1 << KANAL9);

    K9DDR |= (1 << KANAL9);
    K9PORT &= ~(1 << KANAL9);

    K9 = 1;
  }
  else
  {

    K9DDR |= (1 << KANAL9);
    K9PORT |= (1 << KANAL9);

    K9DDR &= ~(1 << KANAL9);
    K9PORT &= ~(1 << KANAL9);


    K9 = 0;
  }

}

Definitionen:
K9DDR = DDRC,
KANAL9 = PC4
K9PORT = PORTC


Mache ich da was falsch, oder ist die ganze Schaltung so nicht richtig ?
Gast #2443533
Lesenswert?

Heinz schrieb:
> Habe schon diverse Kombinationen versucht, funktioniert aber nicht.

Kann auch nicht, denn das Gate wird immer soweit unter 12V sein, damit 
der Mosfet leitet. Selbst wenn der Pin auf Eingang und Low geschaltet 
ist, fließt Strom über den Widerstand von 12V über die Clamp-Dioden im 
µC auf 5V. Du brauchst einen zusätzlichen Transistor.
#2443535
Lesenswert?

Ja. Das ist leider komplett falsch. Der P-Fet ist richtig, haengt an 
Vcc, die Last gegen GND. Der 7805 is ganz falsch.
Dann kommt's ... das Gate des P-Fet muss graduell runtergezogen werden. 
Bei einem low voltage Fet genuegen vielleicht 2 Volt am Gate gegen 
source, dh das das Gate ist bei 11V halb, bei 10V ganz durchgesteuert. 
Direkt an den Controller darf das Gate nicht sein, da immer 
durchgesteuert. Die Ansteuerung von einem Controller bedingt einen NPN, 
oder N-Fet dazwischen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren