DC-DC Buck Voltage Converter
VisSim Embedded is widely used to develop embedded digital control systems for DC-DC conversion. The VisSim Digital Power Designer greatly speeds your designs with simulation and direct code generation for a variety of control schemes and analog power stages. It supports ACMC, PFC, HCMC, Multi-phase VMC, PCMC, PSFB controllers and boost, bridgeless PFC, buck, buck-boost, Cuk, flyback, forward, full-bridge PFC, half-bridge PFC, multi-phase buck, push-pull, Sepic, Zeta power converter stages.
VisSim + TI Piccolo Example
Here is a complete example of VisSim controlling a Texas Instruments DC-DC conversion board. If you are signed in, you may download the source code at the bottom of this page. The VisSim control converts a DC power source to a lower DC voltage setpoint. VisSim digital scopes, sampled at 300kHz, are used to observe the voltage response to a periodic setpoint change, allowing interactive controller tuning. The board consists of a logic section to supply power to any of TI's C2000 controlCARDs, a power section that takes 12-20VDC as input, and 2 or 8 PWM-driven DC buck converters. A PWM-driven buck converter provides voltage or current control from the DC bus. There are analog voltage sensors on each DC output bus that allow closed-loop control of the buck duty cycle to maintain output voltage in the presence of a load disturbance. In addition, there is an analog channel connected via a GPIO-controlled mux to a temperature sensor on each converter. An 8-bit LED bank is connected to SPI port A for display purposes.
Digital Power Design with VisSim
In just a few hours time, the Altair Technical Services engineers created a working DC-DC Buck converter drive based on the F28044 controlCARD using PWM blocks wired to pre-built subsystems, like fixed-point 3-phase sin generators, PI controllers, ADC inputs, GPIOs, and slew rate limiter to control the rate of bus voltage changes. Of course there was a debug cycle to ensure correct settings and configuration, but it was done at high level, so bugs due to C syntax and missing libraries were not a factor.
Simple Creation of Low-Speed Background Task
The overall control scheme needed to run at a rate different from the temperature sensor muxing and SPI LED bank write. To accomplish this, the temperature sensor muxing and SPI LED bank write are encapsulated in a subsystem that runs as a background task with the desired run rate. The low-speed background task is denoted in the diagram by green diagonal hatching in the block. The overall control scheme runs at 100kHz with a 100Hz background task.
Synchronize ADC with PWM Waveform
Another important consideration is to synchronize the ADC unit with the PWM waveform on the power device being measured. In this kit, the voltage feedback sensors are wired to ADC channels on both banks. So the PWM units are set to send a start of conversion bank A pulse (SOCA) and SOCB pulse when the PWM counter == zero. Since the PWM is set for up/down count, the measurement will be made in the center of the PWM duty cycle.
Waveform Capture for Debugging and Tuning
For tuning the PID feedback controller, voltages are written to a 100 element buffer at 100kHz, giving a 1ms waveform window. The buffer acquisition is triggered by an upward cross of .05V on the output voltage sensor. A command voltage is supplied by a slider and held high for 10ms, then held low for 90ms. This gives the user the ability to see step response to a slider selected voltage command. The waveform is updated at about 20Hz in a digital scope in VisSim on the PC.
Download VisSim DC-DC Buck Converter Diagrams
The diagram shown here, along with the debug diagram used to display the waveforms on the target and send parameter values to the target, and a DC-DC buck converter simulation with optimization can be downloaded below. You must sign in or create an account to see the files.