I want to do an hysteresis current control with this circuit:

that have three operation modes:

in order to make the output current to follow a triangle wave as reference.

I made a simple C code to use it with the S-function block in Matlab/Simulink (which basically says: if output current is greater than triangular reference turn Sa and Sb OFF, otherwise (less than reference) turn Sa and Sb ON. However, I'm obtaining this output current:

As you can see, current is ugly and made me ask this question because I'm having trouble about selecting the correct values for capacitors and inductors.

Any suggestion or comment would be truly appreciated. Thanks!

  • \$\begingroup\$ Hello! Please embed your images into the question rather than linking them. Thanks! \$\endgroup\$ – Selvek Mar 19 '18 at 18:30
  • \$\begingroup\$ Increase L/R=T to lower ripple V(f) \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Mar 19 '18 at 18:42
  • \$\begingroup\$ To be clear, are you worried about the ripple across the entire signal, or only the last ~10 switching cycles where it gets really ugly? \$\endgroup\$ – Selvek Mar 19 '18 at 19:12
  • \$\begingroup\$ Across the entire signal, I want the tracking to be "faster" and stable... e.g I don't know why as the current is going down, the switching is faster than the one when the current is rising. \$\endgroup\$ – Zrakk Mar 19 '18 at 19:28
  • \$\begingroup\$ As dV reduces between cycles, dt also reduces for a constant slew rate with fixed hysteresis. dt increases ( lower f) when more load current is needed. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Mar 19 '18 at 19:53

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.