Skip to main content
grammar
Source Link
Rohat Kılıç
  • 38.5k
  • 3
  • 32
  • 92

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also, note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anywaysanyway), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting the PWM duty-cycle cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.


It might be better to use a boost converter/controller IC and "tweak" externally. I posted an answer here explaining a method. You might be interested. The method employs a DAC but you can mademake a crude DAC with a PWM + RC filter.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.


It might be better to use a boost converter/controller IC and "tweak" externally. I posted an answer here explaining a method. You might be interested. The method employs a DAC but you can made a crude DAC with PWM + RC filter.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking feedback from the output and adjusting the PWM duty cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also, note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyway), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting the PWM duty cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty cycle, a 1V increase of the input will reflect the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.


It might be better to use a boost converter/controller IC and "tweak" externally. I posted an answer here explaining a method. You might be interested. The method employs a DAC but you can make a crude DAC with a PWM + RC filter.

added 267 characters in body
Source Link
Rohat Kılıç
  • 38.5k
  • 3
  • 32
  • 92

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.


It might be better to use a boost converter/controller IC and "tweak" externally. I posted an answer here explaining a method. You might be interested. The method employs a DAC but you can made a crude DAC with PWM + RC filter.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.


It might be better to use a boost converter/controller IC and "tweak" externally. I posted an answer here explaining a method. You might be interested. The method employs a DAC but you can made a crude DAC with PWM + RC filter.

added 3 characters in body
Source Link
Rohat Kılıç
  • 38.5k
  • 3
  • 32
  • 92

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage feedbackinformation as well (even if you limit the ADCPWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage feedback as well (even if you limit the ADC duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.

Am I on the right track with the approach I've taken for creating a boost converter controlled by an STM32?

When it comes to digital control of DC-DC converters many different things should be considered.

The idea of taking a feedback from the output and adjusting the PWM duty-cycle is not enough, but can be just a starting point. As pointed out by Robin Iddon's answer, it's unclear how the core saturation of the inductor L1 will be prevented because you have feedback of neither the load current nor the inductor/switch current. With the switch current information, you can sense and generate response to different loading as well as fault conditions.

Also note that buffering the output sample before feeding back to the MCU will bring some delay. Depending on the swing/amplitude this can take microseconds (ignoring the ADC measurement delays). So a sudden change on the output voltage (due to a step load change, for example) will be sensed with a delay therefore the response will have a delay accordingly. Although a voltage rise (overshoot) cannot be corrected by anything (i.e. you'll have to wait for it to dampen anyways), a voltage "dip" (undershoot) can still be sensed and "corrected". You may want to re-consider that section if a good dynamic response is a requirement for your application. If you go for a P (proportional) control here, as it's the easiest method, you may end up with a funny output waveform in case of a step load change.

Is there any way to limit the maximum voltage to 100V? Because adjusting the voltage with ADC feedback doesn't seem too reliable.

Limiting PWM duty-cycle in the software may not be enough because you'll need the input voltage information as well (even if you limit the PWM duty-cycle, a 1V increase of the input will reflect to the output as ~4V). You may want to consider interrupts generated by comparators, for example.

Are the chosen values for the voltage divider appropriate, or should I reevaluate them?

What you should consider is the bias currents of the target (buffer input or ADC). I haven't checked the bias currents of anything on your circuit.

Is the PWM frequency value of 100kHz is ok for my purposes? And how to choose it properly?

This depends on other design details and requirements such as EMI, efficiency, etc. You can choose a higher frequency to make the inductor smaller, but this may bring you trouble with efficiency and EMI, for example. Without knowing other details, it's difficult to answer. But 100 kHz is usually a good starting point.

Source Link
Rohat Kılıç
  • 38.5k
  • 3
  • 32
  • 92
Loading