Boost Buck Converter

Hallo, kurze Frage. Ich will mir grade einen Buck Boost Converter bauen. In den Plänen, die ich finde ist der Mosfet für den Buck Converter immer ein P-Channel Mosfet und sitzt logischerweise im Plus. Kann ich den auch für einen N-Channel Mosfet im Minus austauschen? Siehe Zeichnung. Ich finde die sind einfacher zu handhaben.

Vielen Dank

Wenn Du schon am Basteln bist: Versuch macht kluch :slight_smile:

Mehr kann ich dazu aus eigener Erfahrung nicht beitragen.

Also mit einem N-Channel Mosfet bekomme ich das ganze leider nicht zum laufen. Jedoch habe ich schon Probleme den P-Channel Mosfet bzw. den Buck Mode zum laufen zu bekommen. Meine Erfahrung mit ihnen tendiert auch leider gegen 0.

Das ganze sieht jetzt wie folgt aus:

Im Boost Modus kann ich die Spannung ohne Probleme steuern, da der P Mosfet nicht sperrt. Gehe ich jedoch in den Buck Modus bin ich nicht in der Lage ihn per PWM anzusteuern. Ich nutze einen IRF9Z24n. VGS(th) ist -2.0V Min und -4.0V Max. Das Gate hängt direkt an Pin 6, den ich mit PWM steuern will. Ich habe so viel über P Mosfets gelesen wie ich konnte bin mir aber ziemlich sicher, dass ich das ganze System noch nicht richtig verstanden habe. Die Eingangsspannung beträgt 12V, wobei ich auch schon 5V probiert habe.

Hier noch der Code. Wenn mir jemand helfen kann wäre das super. Vielen Dank. Das ganze läuft über einen Arduino Uno.

#define vin_pin A1
#define vout_pin A2
#define iout_pin A0
#define boost_pin 5
#define buck_pin 6

float Iout_sense;
float Vout_sense;
float Vin_sense;

int boost_pwm=0, buck_pwm=0;

int raw_vin=0, raw_vout=0, raw_iout=0;



void setup() {
Serial.begin(115200);
TCCR0B = TCCR0B & 0b11111000 | 0x01;
}

void loop() {

messen();
output();


// Buck Modus: Boost Mosfet: geschlossen Buck: PWM Schaltet

buck_pwm  = 100;    // schaltet
boost_pwm = 0;     // muss 0 sein

analogWrite(buck_pin, buck_pwm);
analogWrite(boost_pin,boost_pwm);




/*
// Boost Modus: Boost Mosfet: schaltet  Buck: offen

buck_pwm  = 255;     // muss 255 und offen sein
boost_pwm = 2;   // schaltet



analogWrite(buck_pin,buck_pwm);
analogWrite(boost_pin,boost_pwm);

*/


delay(32000);
}

VGS bezieht sich hier auf die Versorgungsspannung (an Source). Also liegt der Threshold bei +8V bis +10V, und liegt damit deutlich über den +5V eines digitalen Ausgangs. So kriegst Du den FET nicht ausgeschaltet, bzw. bei 5V nicht richtig eingeschaltet.

Okay. Also würde das ganze so aussehen?

Ich schalte also den NPN Transistor vom Arduino aus per PWM und der gibt das Signal so weiter an den P Mosfet?

Sieht schon besser aus. Denkst Du auch daran, daß der NPN das Signal invertiert?

Ja, habe ich. Funktioniert aber jetzt Tadellos. Danke dir.

Hallo. Also so richtig funktioniert der Buck Converter immer noch nicht. Ich habe folgende Resultate erreicht:

Hier auch in groß.

VGate ist die Spannung, die am Gate des P-Channel Mosfets anliegt. VGate ist direkt mit dem Multimeter gemessen und Vout mit dem Spannungsteiler des Arduinos.

Bei 0 Ohm, sprich einer direkten Verbindung ist mir dann der N Channel Mosfet, der hinter dem P Mosfet sitzt abgeraucht. Andere, kleinere Vorwiderstände konnte ich leider nicht benutzen, da diese direkt ziemlich heiß werden und ich direkt abgeschaltet hatte. Hatte nur einen 100Ohm 2W Widerstand rumliegen bzw. ein dickeres Kabel.

Kann mir jemand sagen wo der Fehler bei dem ganzen liegt? Ich verstehe absolut nicht, weshalb der Mosfet abgeraucht ist, zumal ich keine Wirkliche Last angelegt habe. Lediglich der Spannungsteiler und ein Amperemeter beide an den Arduino angeschlossen lagen an.

Deine Angaben sind völlig nebulös, ich kann damit nichts anfangen. Ein PWM Signal kann man nicht mit einem DVM messen, das liefert nur Murks. Ohne ein Mehrkanal-Scope kommst Du da nicht weit. Insbesondere wenn die überlappenden PWM-Signale schuld daran sind, daß der FET abraucht.