Dear Ingvar,

Thanks for the reply. I have just finished assembling my test rig. The transformer used has a secondary of 40 volts AC / 20 Amps followed by a semikron monoblock. The rectified DC goes to a 1.8mH DC Choke followed by 4 x 4700uF Capacitors. Nominal output voltage for the system is 28 volts DC. The thyristor monoblock is triggered using 1:1:1 pulse transformer. Pulses are generated by the CCP module with 20% duty cycle @ 4KHz. Circuit Breakers are used to save the system from overloads and shortcircuit. A shunt based current monitoring scheme has been used with a PGA for the Shunt Amplifier. In lower current mode the PGA is controlled by the MCU to provide additional x10 amplification. This let me manage the current readout accuracy in the lower slope.

I am rewriting the entire code and will take two days to restructure it. I would try to implement PID control as suggested by you. The system already had a crude form of PI control so your suggestions include the derivative part as well. I need to fine tune the PI constants so I would be doing a dump on the PC while the system is running. The controller board has the following:

1. 2 x 3 Digits 7 Segment Display for Displaying Voltage and Current.
2. 2 x 16 Line LCD for Displaying System Status.
3. Four Analogue Inputs a) Output Voltage, b) Output Current, c) Input Voltage, d) Fault monitoring.
4. RS232 @ 115kbps

Display update and adc aquisitions are state machine style and always going on in the background.

Perhaps I don't need to modify my hardware arrangement. Only pondering on the control algorithm to make it better. (That was the original idea of the post)