The Negligible Lab International

Drowning in the sea of electrical and electronic circuits. Lost in the forest of computers and programs. Where we're going, we don't need roads!

Current Control Simulation by LTspice


When controlling a motor or connecting to the grid by a voltage-source inverter (VSI), current control*1 is necessary. Nowadays, it must be rare to do the job with an analog circuit using operational amplifiers, etc.*2 whereas microcontrollers, DSPs (digital signal processors), and/or FPGAs (field-programmable gate arrays) are chosen as the control hardware. In this case, the system becomes discrete-time where the control computation routine is called cyclically every sampling period like functions called by a timer interruption, etc. A dead time is then introduced for time T so that the control gain design is an issue to ensure stability. Moreover, in the VSI control, PWM converts the output voltage reference to a pulse pattern which has the same average value.

I have learned power conversion circuits and their control. Yet, my understanding to the current control was really ambiguous. Hence, I try to perform the following two comparisons using LTspice XVII and my own control system library, Contraille.

  • Continous-time (analog) vs. discrete-time (digital) controls
  • Arbitrary vs. pulse-width-modulated voltage sources

The object here is a simple RL circuit.

Fig. 1: RL circuit under study.

The voltage v(t) is adjusted so that the current i(t) has a desired value or waveform. In this case, the "controlled variable" is i(t) whereas v(t) is called the "manipulated variable" although this term seems not widely used. Just in case, t is time and both v(t) and i(t) become a function dependent on time t.

DISCLAIMER: This entry may contain technical errors!

My smattering knowledge heard from others

It is often said (?) that when R = 0 Ω and the sampling period is T, the current i(t) does not overshoot by setting the current control proportional gain KP to satisfy:

K_{P} \leq \displaystyle \frac{L}{4 T}. \tag{1}

This is stated in, e.g., Refs. *3 and *4. However, it could be necessary to pay one's own effort to understand it. So, I will try to play with block diagrams and equations.

*1:Sometimes current control is referred to as "ACR", but I guess this is a Japanese English.

*2:早川:「初めての自立移動ロボット制御シミュレーション」,トランジスタ技術,2020年7月号,pp. 71-86

*3:J. Tahara, H. Fujita, and H. Akagi, "Control and performance of a PWM eectifier with an FPGA-based current controller," IEEJ Technical Meeting on Semiconductor Power Converter, SPC-05-14, Jan. 2005, Osaka, pp. 33-38.
田原・藤田・赤木:「FPGAによる高速電流制御を適用したPWM整流器の動作特性」,電気学会半導体電力変換研究会資料SPC-05-14,pp. 33-38,2005年1月,大阪

*4:H. Akagi, E. H. Watanabe, and M. Aredes, Instantaneous Power Theory and Applications to Power Conditioning, Wiley, 2007

Read more


I would like to translate some of the entries of my blog in Japanese linked below to English and present them in this blog so that more people can read it.

I am interested in electrical and electronic engineering, especially control systems for three-phase grid-tied inverters. Electronic hobbies using Raspberry Pi's and Mbed microcontrollers such as Nucleos may also be added.