Vectatus firmware updates (Patreon)
Content
So far Vectatus supports following switching frequencies:
15 kHz
31 kHz
125 kHz
250 kHz
in both FAST PWM and PHASE CORRECT PWM modes.
Ability to change the switching frequency is quite useful as one case select switching frequency to match the total charge of the transistor, adjust the voltage ranges, voltage ripple and efficiency.
I've also done some DSP work in order to further stabilize and reduce switching noise and thus the output voltage ripple. Currently on breadboard prototype with bunch of wires and noise, powered from oscillating voltage (due to current limiting, which mimics unstable power source) I am able to drive power LED with only 0.1-0.3V ripple. This is very good.
In order to do that:
12 bit internal ADC is used (most Atmegas offer only 10 bit ADC)
auto triggering for ADC conversions is used to sync the intervals of ADC measurements with the PWM signal that drives the switching MOSFET - so the ADC measurements occur only after the MOSFET has been turned off - this greatly reduces switching noise across the ADC readings
additionally by oversampling and decimation I am increasing ADC resolution by 1 bit, so effective ADC resolution is 13 bits which even further increases noise reduction and overall SNR of the system
I tried increasing the resolution by 2 bits, but that would require 16 samples instead of 4, and that would introduce too much delay into the system. For stable loads though this might be an option to get super fine control of voltage or current
and at last all the ADC measurements are filtered with the infinite impulse response low pass filter which gets rid of switching voltage spikes and other noise and provides delay to get rid of regulation loop overreactions
So far this has been really exciting project. Stay tuned for more.
Some additional resources if you are interested:
Open sourcing goal: https://ko-fi.com/kamilsss655/goal?g=5