Skip to main content
12 events
when toggle format what by license comment
Feb 14, 2021 at 1:45 history edited Dan Boschen CC BY-SA 4.0
deleted 8 characters in body
Nov 25, 2019 at 3:20 comment added Ben Yep you're right sorry.
Nov 25, 2019 at 3:18 comment added Dan Boschen @Ben I think you meant to comment on the OP's question--- my answer doesn't suggest an FIR filter but a simple accumulator (or other related loop filter).
Nov 25, 2019 at 3:16 comment added Ben using an FIR in a control loop is a bad idea. It will add too much delay
Nov 25, 2019 at 2:42 history edited Dan Boschen CC BY-SA 4.0
added 43 characters in body
Nov 24, 2019 at 20:04 history edited Dan Boschen CC BY-SA 4.0
added 219 characters in body
Nov 24, 2019 at 20:00 comment added Dan Boschen At that point for further improvement you could go to a 2nd order Type 2 PI loop (adding an proportional path summed with the integrator output followed by another integrator) and then perhaps further improvement with a PID beyond that depending on the loop dynamics.
Nov 24, 2019 at 19:59 comment added Dan Boschen You can set level with a sinusoidal signal with this kind of feedback- ultimately your loop bandwidth needs to be wider than the sinusoidal signal if you want the loop to keep up with it (AM modulate your signal). So in your case you can do the same thing (the simpler first order type 1 loop) by accumulating your error and then using the scaled accumulated output to control your duty cycle. Adjust K to vary your loop bandwidth. You can add additional high frequency filtering in the loop but it will soon make it unstable-
Nov 24, 2019 at 19:55 comment added Dan Boschen What you are doing is a control loop--- PID is complicated if you are not intimately familiar with control loop design. But your "simpler way" of minimizing the error is exactly what a control loop is doing--- your change of duty cycle is the control parameter and your difference is the error signal.
Nov 24, 2019 at 19:53 history edited Dan Boschen CC BY-SA 4.0
added 835 characters in body
Nov 24, 2019 at 19:49 comment added franticSE set level in my application is a sinusoidal signal... i don't know if it is so easy use that kind of feedback. I tried with PID in the past but i couldn't make it work. Then I chose a simpler way, that is to minimize the difference between rms read and desirable and tuning with the change of duty... duty changes until the difference of two rms is near zero....
Nov 24, 2019 at 19:33 history answered Dan Boschen CC BY-SA 4.0