Boost converter is not stable

Thread Starter

Nikola010

Joined Jan 21, 2014
8
I am trying to boost voltage from 3V battery to 200V but i have a problem. I still have not implemented voltage control in my code. I am trying to boost voltage as much as i can, and I still haven't check voltage on analog pin. In attachment there is a schematic.Resistor R1 is not 750R its 270R. My duty cycle must be about 98% but when i go with that duty cycle i got lower voltage than when i put 80% duty cycle. I use PIC16F722-SO. I have done experiments and got these results for various frequency at 80% duty cycle:
30khz - 98V
33khz - 123V
35khz - 122V
40khz - 110V
If i increase duty cycle i got only lower voltage. Why is this happening? Why is my converter frequency dependent and why is duty cycle not working as it should in theory? Also when i plug it in (i use PICkit3 as 3V source, but same happens with battery), it goes up to some voltage, stays there for 3-4 seconds top and than starts dropping, than sometimes nothing happens sometimes jumps again to top value and again fall down. I have not plugged any load (it will be huge resistance anyway). Is there any way to get more than 123V out of 3V battery with 1 stage? I need to have as small pcb as passable.
Here is code if needed but it simple put PWM signal out, nothing else.

Code:
[INDENT]void main() {
     OSCCON = 0b00110000;
     while(OSCCON.ICSS == 0);
     TRISA = 0;
     TRISB = 0;
     TRISC = 0;
     TRISC.RC2 = 1;
     //PWM Init
     PR2 =  0b01111000        ;
     CCPR1L= 0b01100001;
     CCP1CON=0b00001100        ;

     PIR1.TMR2IF = 0;
     T2CON = 0b00000100;
     T2CON.TMR2ON = 1;
     while(PIR1.TMR2IF == 0);
     TRISC.RC2= 0;
     while(1){
 
     }
}[/INDENT]
Eagle.png
 

Thread Starter

Nikola010

Joined Jan 21, 2014
8
Transistor is 13005A. I bought inductor long time ago and i thought it was 160mH but cant find it on site. Now when i look closer by type it seems like its 100uH and 0.85R. Sorry for misunderstanding.
 

AlbertHall

Joined Jun 4, 2014
12,625
Transistor is 13005A. I bought inductor long time ago and i thought it was 160mH but cant find it on site. Now when i look closer by type it seems like its 100uH and 0.85R. Sorry for misunderstanding.
There are several problems with your circuit. Have a go with this calculator. Put in the values you want and see what component values it gives you. Note that you will need to provide enough drive to the transistor base for it to saturate at the calculated peak current. the transistor you are using has gain in the low tens, say 30, so I think you will need more base current than your present circuit provides.
https://learn.adafruit.com/diy-boost-calc/the-calculator
 

Thread Starter

Nikola010

Joined Jan 21, 2014
8
Yes i used it, and it says i need inductor bigger than 640uH and i thought mine was 160mH but i was wrong. I found only one calculus for transistor current and it says i need 100mA because i need only 1mA or so on output and i thought this transistor will be good. Anyway i will change both and will see what happens. Thanks!
 

Thread Starter

Nikola010

Joined Jan 21, 2014
8
Is there any MOSFET that i can drive with 3V? All i can see is 4V min, and for BUZ80 it says 2-4V, and than graph for Vgs-Id starts at 3V and 0A. All bipolar transistor have low gain 30-40.
 

Thread Starter

Nikola010

Joined Jan 21, 2014
8
Yes, but non of the above can withstand Vds = 200V. I will try with this transistor and bigger inductor and let the results decide should i look for some other transistor.
 

#12

Joined Nov 30, 2010
18,224
You could add another transistor to make it a darlington pair to raise the drive current.
There is also a method using a low voltage transistor as the switch for a high voltage transistor where the collector of the low voltage transistor is connected to the emitter of the high voltage transistor and the base of the HV transistor is locked to a DC level. That way, the LV transistor never sees more voltage than the DC level on the base of the HV transistor and the HV transistor switches the current on and off with the LV transistor acting merely as a current switch.

I think I just got a bad case of over-complicating this.:oops::(
 

MrAl

Joined Jun 17, 2014
13,704
I am trying to boost voltage from 3V battery to 200V but i have a problem. I still have not implemented voltage control in my code. I am trying to boost voltage as much as i can, and I still haven't check voltage on analog pin. In attachment there is a schematic.Resistor R1 is not 750R its 270R. My duty cycle must be about 98% but when i go with that duty cycle i got lower voltage than when i put 80% duty cycle. I use PIC16F722-SO. I have done experiments and got these results for various frequency at 80% duty cycle:
30khz - 98V
33khz - 123V
35khz - 122V
40khz - 110V
If i increase duty cycle i got only lower voltage. Why is this happening? Why is my converter frequency dependent and why is duty cycle not working as it should in theory? Also when i plug it in (i use PICkit3 as 3V source, but same happens with battery), it goes up to some voltage, stays there for 3-4 seconds top and than starts dropping, than sometimes nothing happens sometimes jumps again to top value and again fall down. I have not plugged any load (it will be huge resistance anyway). Is there any way to get more than 123V out of 3V battery with 1 stage? I need to have as small pcb as passable.
Here is code if needed but it simple put PWM signal out, nothing else.

Code:
[INDENT]void main() {
     OSCCON = 0b00110000;
     while(OSCCON.ICSS == 0);
     TRISA = 0;
     TRISB = 0;
     TRISC = 0;
     TRISC.RC2 = 1;
     //PWM Init
     PR2 =  0b01111000        ;
     CCPR1L= 0b01100001;
     CCP1CON=0b00001100        ;

     PIR1.TMR2IF = 0;
     T2CON = 0b00000100;
     T2CON.TMR2ON = 1;
     while(PIR1.TMR2IF == 0);
     TRISC.RC2= 0;
     while(1){

     }
}[/INDENT]
View attachment 117110

Hello there,

That is one of the known issues with boost converters. It is not talked about that often though.

Boost converters are a different kind of animal then other converters like buck because boost converters have more issues to consider, and one of them is the "inverse transfer function" issue where the voltage actually goes down with increased duty cycle. This is caused because the energy transfer happens when the transistor is 'off', and so if the duty cycle is too large where the 'on' time is too long, there is not enough time to transfer the stored energy to the output circuit (capacitor and load).

What this means is that there is a specification for every boost circuit that includes the maximum duty cycle that can be used before the output starts to decrease instead of increase. This is not talked about that much for some reason, a reason i cant understand. Maybe because most boost converters work with a duty cycle that is within range for most applications so it doesnt come up that much, or maybe because boost converter design procedures provide rules that help to decrease the possibility of this happening. This is also NOT the same thing as given as a formula on the Adafruit site. The maximum duty cycle for an ideal boost converter is different than for a non ideal (real life) boost circuit because the resistances in the non idea case cause significant additional issues.

The main reason though, in short, is size of the resistances in the circuit and of course the load resistance. If the load resistance is a small value compared to the series resistances (switch, transistor, power input source resistance, diode, etc.) then we reach the max duty cycle sooner than if the load resistance was higher and the series resistances were lower.

I managed to come up with a calculation that could estimate the max duty cycle a while back and i could check my notes to find out the formula, but the easiest way to find out is as you did, by increasing the duty cycle until you find the output goes down with different loads. If it happens with a load value that you need to run normally, then you have to lower the series resistances in order to get it to work properly. Note this could mean swapping out the inductor for one that has lower series resistance, driving the transistor harder, changing the transistor, etc. When looking at the transistor, be aware that the gate needs a higher voltage than the threshold voltage to work normally, and that it needs to be driven with a low impedance driver if the PWM frequency is high enough so that the MOSFET can turn on and off fast enough (if it turns on too slow it means it acts similar to higher series resistance also).

Note also that this is not a condition that improves with 'better' feedback. It is a forward mode problem that can not be corrected with feedback.
 
Last edited:
Top