0

For my Senior Design Project, I am designing a battery charger based on a synchronous buck converter topology.

The MCU (Teensy LC) I'm using cannot produce PWM with a high enough frequency (488.28Hz), so I want to use a TLC555 timer as a PWM generator with a constant frequency (500 kHz, preferably higher) and an adjustable duty cycle (50%-95%). In the circuit below, I had planned on replacing the analog pot with a digital pot that would be controlled by the MCU this would allow for closed-loop control of the conveter

I found this circuit online, and while it works for lower frequencies (24 kHz), at higher frequencies the duty cycle control is unstable. That is, the expected duty cycle differs from the simulation.

24kHz PWM Circuit

I would like someone to show me how to derive the formulas that relate R1, R2, Rx, Ry, and C1 to the frequency and the duty cycles I would like to achieve.

Arbiter73
  • 1
  • 2
  • 4
    um, which MCU doesn't support a 500 kHz PWM frequency? This sounds *very* unlikely! Can you tell us a bit on your MCU setup? Maybe we have a good solution for you that works without the unholy 555 attachment to a device that has all the functionality that a 555 could bring probably built in? – Marcus Müller Jul 20 '22 at 08:10
  • 1
    Also, your schematic looks very cool and crafty, but it'd probably be easier to design schematics with a piece of software that allows for placing of components and such. (it could also zoom, which is very important to many people!) I really like KiCAD, which is free. – Marcus Müller Jul 20 '22 at 08:11
  • 2
    `The MCU I'm using cannot produce PWM with a high enough frequency` O_o – Rohat Kılıç Jul 20 '22 at 08:12
  • 1
    If you're designing a "battery charger based on a synchronous buck converter topology", surely you need to be able to adjust the duty cycle of your converter 'on-the-fly' in response to feedback from the battery voltage level and/or chargeing current? How would you do that when the duty cycle is set by a pot? – brhans Jul 20 '22 at 09:32

2 Answers2

2

500kHz PWM with 5% duty cycle (or 95%) implies 100ns on or off time. Without detailed examination of the datasheet, that seems extremely unlikely for a device (TLC555) that is only guaranteed to make it to ~400ns on/ 400ns off. In any case, I don't think it's a good way to do it.

The Teensy LC has a moderately powerful 32-bit MKL26Z64VFT4 Cortex M0+ microcontroller running at 48MHz. You can get 6, 7, or 8 bits resolution at 750kHz/375kHz/187.5kHz. Note: I would suggest using more like 50-100kHz just because the power stage will be easier to design and build. Bigger inductor but that's about the only negative consequence.

You can even do it in the Arduino framework, should you want to, without having to deal directly with the hardware (researching the function required is left as an exercise for the student).

Spehro Pefhany
  • 376,485
  • 21
  • 320
  • 842
1

I would like someone to show me how to derive the formulas that relate R1, R2, Rx, Ry, and C1 to the frequency and the duty cycles I would like to achieve.

Take a look at my answer here about deriving the formulas.

Datasheet suggest the maximum frequency to be around 2 MHz. So 500 kHz shouldn't be a problem. However, although no information given about the diodes, I'd like to remind that the diodes should not be ordinary silicon 400x types. Use Schottky, fast recovery, or at least 4148 (yes, they are fast enough). Besides, sometimes period or duty cycle stability depends on the potentiometer. Carbon potentiometers may get some problems over time regarding conductivity between the wiper and the resistive element. So you may want to use a good quality potentiometer (not an advertisement but Bourn's multiturn pots could be really good for this purpose as they are sealed and allow you to make fine adjustments).

Rohat Kılıç
  • 26,954
  • 3
  • 25
  • 67