Bode plot results are too ideal to be true ? Where did the L-C resonance go? Where is the effect of capacitor ESR and lumped series LSR?
In a traditional control method using PID control the resonance will remain no matter what is done. However with advanced techniques it is possible to remove the resonance (move it to a place ) where it doesn’t cause trouble. ESR effect can be removed to some extent if the value is known with some confidence level. E.g. ESR is 0.01 ohm +/- 40% then ESR effects can be reduced to certain extent using advanced techniques. LSR effect can also be removed in some cases. Hence the bode plots you may observe are better than what are generally provided. Same is true for changes in input voltages. The advanced techniques trades code mips/execution rate in favor of better performance and handling many undesirable phenomenon.
Why are the bode plots truncated before the fmax set in the form ?
When generating frequency response bode plots, for digital systems the plots are truncated to Nyquist frequency.
How does the code perform in terms of execution speed, mips and memory?
The code generated handles many effects such as load changes, input voltage changes, modulation etc in a systematic and scientific manner. Besides the code generated will be in C. Hence the code is not optimized for speed. Instead it is optimized for performance. If execution speed is paramount please contact us
Why does not my bode plot using Trixbox and the plot on network analyzer match?
Short answer : Because the network analyzer assumes certain things which are not present in the code.
Long answer : The bode plot (loop gain plot ) where you read phase and gain margin is generated giving a sinewave in the error signal and looking at the output. The ratio of output and error swept over a range of frequency is the loop gain plot. However the network analyzer cannot inject a sine sweep directly into the error signal. (The error signal is inside the processor). So it injects the noise in the feedback signal itself, hoping that since in frequency domain things remain separated (the noise wont interfere with the control operation so it will show up correctly and identically in the error signal as well).
With advanced techniques not all feedback is used to calculate error. Some is used for some other things. If the feedback is injected with noise, it corrupts the other things. Ideally the error should be injected with noise and not the feedback signal.
How do we use the network analyzer when using the code generated by trixBox ?
Short answer: Don’t worry about network analyzer
This is little tricky. For this we need another analog channel sampling the feedback signal.The noise is injected in one of the analog channels and the other operations are performed with the other ADC..
Alternatively the original data from the network analyzer can be processed in software such as excel sheet to get the correct network analyzer plot that will match the TrixBox bode plot. For more details please contact us and we will be happy to help you convert your network analyzer data into the correct bode plot when using Trixbox generated code
Does Trixbox perform ideal switch simulation or accounts for parasitics and other nano second phenomena?
Trixbox assumes ideal switches. The simulation is intended from a control perspective and analyzing the dynamics linked to it. The waveforms have to be understood and interpreted in this context.
Is the generated C code directly usable? How to use it?
Yes the code is directly usable in your microcontroller provided you have the correct compiler. You may copy the code in the correct interrupt routine and load the reference and feedback signals into the correct variables. You will also need to copy the modulation code from the appropriate location and the trigger strategy code into the generated code. You may also need to add some preprocessing code to preprocess the feedback signals. The info about these codes is provided in the readme file that is generated.
Suppose the values that are entered are incorrect what should be expected ?
The values that are entered have to be realistic to get realistic and usable results. Trixbox does not make any assumptions about the numbers. The onus of entering correct realistic values in SI (metric) units lies on the user. Garbage in garbage out maxim works here. Trixbox also does not know anything about units. Some error checking is performed and is reported in the log. The log gives the user an idea of where something went wrong. In case the program does gets stuck somewhere, please refer to the logfile generated and report the issue.
Does TrixBox handle DCM (discontinuous conduction mode) ?
TrixBox does handle DCM in an analytical fashion. However the DCM analysis will only work for operating point condition and the results will be optimized for that particular operating point. Continuous conduction mode dynamics are very different from discontinuous conduction mode. Discontinuous conduction mode can only be handled properly using operating point analysis. What this implies is if the operating point changes( input ,output voltages ,or current) the dynamic performance no longer remains guaranteed. For DC-DC applications with fairly narrow range input and output voltages this is not a problem. However when the system may be sometimes in DCM and sometimes in CCM then special techniques are required to handle the transition which are beyond the scope of the software. These conditions may arise when using asynchronous converters and a time variable output voltage such as a rectified sine wave is required to be generated. If the transition is a critical issue, then please refer our consulting services and we will work with you to address these issues.
Does Trixbox handle Inductor Saturation?
Beta version does not handle inductor saturation during simulation. Calculation of gains also does not take into account inductor saturation. Calculation of gains is based on the nominal or mean value of inductance over the entire operating range. If your system may operate at points where the inductances are significantly different then the optimum performance will not be guaranteed everywhere. If this is a show stopper or critical issue then please avail of our consulting services
What is disturbance rejection?
Why are no disturbance rejection plots generated when the system is current source and the system operates in Discontinuous conduction mode?
For current source system, the disturbance rejection is defined as ratio of output voltage per unit change in current. The dynamics turn out such that, output voltage becomes immaterial except in determining the rising and falling current slopes. The equations become extremely complex to provide much insight into the workings of the system
Is there a limit on the number of points in the simulation?
Beta version only simulates upto 400 PWM cycles. Later versions will be able to simulate more points.
What about other topologies like Boost and Buck Boost?
Will be supported in later versions.
Why are no frequency domain plots not generated when using custom code
Custom code allows the user to implement any code executed in the interrupt. It may be non linear or discontinuous code . In these cases frequency domain analysis is not even valid as frequency domain analysis assumes linear time invariant systems.