0
\$\begingroup\$

I am trying to build my own step-up boost converter. I have my connections as shown in the following schematic (except for the one circled in red.)

schematic

First I powered up my step-up module with a breadboard power supply. Everything works as expected when there is no load on the output.

When the output voltage reads 12V with no load, I connected a 12V 0.5A DC fan across the output. The output voltage dropped upto 6V. This is my code(if it is necessary.)

#define F_CPU 8000000
int feedbackPin = 3;
int potPin = 2;
int gatePin = 1;
int pwm=0;
int v1 = 0;
int v2 = 0;

void setup() {
//Clear OC0A & OC0B on Compare Match, set OC0A/OC0B at BOTTOM
TCCR0A = 2 << COM0A0 | 2 << COM0B0 | 3 << WGM00;
//Normal Waveform genetation mode , timer uses clock source clkI/O/(No prescaling)
TCCR0B = 0 << WGM02 | 1 << CS00; 
// PWM1A enables PWM mode based on comparator OCR1A in Timer/Counter1 and the counter
//value is reset to $00 in the CPU clock cycle after a compare match with OCR1C register value
//0 << COM1A0 makes Timer/Counter Comparator A disconnected from output pin OC1A.
TCCR1 = 0 << PWM1A | 0 << COM1A0 | 1 << CS10; 
GTCCR = 1 << PWM1B | 2 << COM1B0;

pinMode(feedbackPin,INPUT);
pinMode(potPin,INPUT);
pinMode(gatePin,OUTPUT);
analogWrite(gatePin,pwm);


}

void loop() {
v1 = analogRead(feedbackPin);
v1 = map(v1,0,1024,0,255);
v2 = analogRead(potPin);
v2 = map(v2,0,1024,0,255);
  while(v2 > v1){
    v1 = analogRead(feedbackPin);
    v1 = map(v1,0,1024,0,255);
    v2 = analogRead(potPin);
    v2 = map(v2,0,1024,0,255);
      if(pwm<250){
        pwm += 1;
        analogWrite(gatePin,pwm);
      }
    }
  while(v2 < v1){
    v1 = analogRead(feedbackPin);
    v1 = map(v1,0,1024,0,255);
    v2 = analogRead(potPin);
    v2 = map(v2,0,1024,0,255);
      if(pwm > 0){
        pwm -= 1;
        analogWrite(gatePin,pwm);
      }
    }
}

I understand that what needs to happen to control the output voltage is changing the frequency of the PWM signal. But what I do is increasing the duty-cycle. Could this be the reason it fails to maintain the voltage constant upon connecting a load?

My biggest problem as the title says is when I connecct the +3.3V and +5V and ground to an ATX power supply.

Everything works as before when there is no load across the output, but as soon as I connect the fan I used earlier across the output my ATX power supply turns off.

I have no clue why this happens. I would like to know why this happens.

Also is it really necessary to have the capacitor circled in red?

\$\endgroup\$
  • \$\begingroup\$ PWM control is a perfectly valid way to control the output voltage. \$\endgroup\$ – JRE Jun 26 at 15:02
  • \$\begingroup\$ What is the PWM frequency? \$\endgroup\$ – JRE Jun 26 at 15:03
  • \$\begingroup\$ According to the code I have used and the datasheet it's 250kHz.I haven't check it using an oscilloscope. \$\endgroup\$ – AfiJaabb Jun 26 at 15:09
  • \$\begingroup\$ Part number for the inductor please and a link to its data sheet. \$\endgroup\$ – Andy aka Jun 26 at 15:24
  • 1
    \$\begingroup\$ If the inductor is saturating, because it isn't rated for the current, then it'll act as a short. If you short the ATX power supply, does it turn off? \$\endgroup\$ – Aaron Jun 26 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.