using the Aux ADC to create feedback of PSU voltage control
Hi
I have a SMPS design on my custom PCB that has 2 selectable Voltage outputs 32 and 42 volts
This is done by turning on a Mosfet to adjust the SMPS feedback resistors
I want to try to provide a more Linear Slope when stepping between the 2 voltages, At the Moment their is a cap (10uf) and series resistor (500k) to slow down the transition but its not linear. and has a large delay before the mosfet even starts to turn on in its linear region
So wonder if I can use the AUX ADC to sample the PSU output volts and setup a PWM using the GPIO pin on the Sigma DSP to turn on the Mosfet Via its Cap and series resistor.
And even to setup the PWM offset so that the Mosfet is always in its linear region.
I prefer to have feedback so it compensates for temperature and vendor variations in the Mosfet of the Linear region thresholds.
Thoughts?
Hello,
Perhaps an op-amp could provide the linearity you need, as it could be set up as an integrator. However, since you're looking to control for other factors (such as temperature) as well, this suggests a programmable solution. If you're using a ADAU1701, this link details the characteristics of its Aux ADCs -- note that their filter and hysteresis modes are incorrectly labeled. PWM via GPIO is easily set up with a Ramp Oscillator and ABCD comparator, however there's a tradeoff between PWM frequency and resolution. A GPIO output can only change once each sample interval, so its minimum ON or OFF time is 1/Fs. If you need N levels of resolution between zero and max PWM output, the ramp period must include N samples, for a ramp frequency of Fs/N. For example, eight bits of resolution needs 256 levels, so at 48K sample rate your PWM output responds at a rate of 48000 / 256 = 188 Hz. This PWM arrangement has a Nyquist frequency of its own -- so the control bandwidth into the PWM must be limited to half the ramp frequency, in this case 94 Hz. You can get more usable bandwidth by going to a higher sample rate or reducing the PWM's output resolution.
Best regards,
Bob
Hi Bob
I am using the ADAU1452 which has a Block for PWM so was intending to use that
Detect the ADC level and compare it to the DC block ref level, difference to adjust the PWM input adjust pin Via a Slow Filter (like 10hz )
Does that appears feasible?
Thanks
The pulse source is, essentially, the algorithm that Bob has described. When using this block, the "ramp frequency" is the rate given to the upper pin. The pulse stream is sampled at the audio rate as do the AUXADCs.
The PWM signal could be output to a GPIO, but the bandwidth would be limited to half the pulse rate as described above and would require an external LPF cornered below that. It would be capable of running at 10 Hz, though. You would also need a LPF before the ADC to eliminate any high frequency switching noise and transients on the SMPS output. This would provide a convenient way so scale the voltage and buffer it ADC input.
I don't think you would want to keep the MOSFETs in the linear region, though, as you would lose a lot of efficiency. Also, keep in mind that the resolution of the ADC is 10 bits with ~1 bit of linearity error. All these caveats aside, I would expect that you could make this work.
Ken
Hi Ken
The Mosfet its controlling is just a small signal that adjusts the feedback divider resistor of the SMPS.
so linear for this will be OK.
Sounds like it will work.
Thanks
Brett
Please log in to reply.