Design and implementation of a speed-loop-periodic-controller-based fault-tolerant SPMSM drive system

Tian Hua Liu, Muhammad Syahril Mubarok, Muhammad Ridwan, Suwarno

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)


This paper proposes a speed-loop periodic controller design for fault-tolerant surface permanent magnet synchronous motor (SPMSM) drive systems. Faulty conditions, including an open insulated-gate bipolar transistor (IGBT), a short-circuited IGBT, or a Hall-effect current sensor fault are investigated. The fault-tolerant SPMSM drive system using a speed-loop periodic controller has better performance than when using a speed-loop PI controller under normal or faulty conditions. The superiority of the proposed speed-loop-periodic-controller-based SPMSM drive system includes faster transient responses and better load disturbance responses. A detailed design of the speed-loop periodic controller and its related fault-tolerant method, including fault detection, diagnosis, isolation, and control are included. In addition, a current estimator is also proposed to estimate the stator current. When the Hall-effect current sensor is faulty, the estimated current is used to replace the current of the faulty sensor. A 32-bit digital signal processor, type TMS-320F-2808, is used to execute the fault-tolerant method and speed-loop periodic control. Measured experimental results validate the theoretical analysis. The proposed implementation of a fault-tolerant SPMSM drive system and speed-loop periodic controller design can be easily applied in industry due to its simplicity.

Original languageEnglish
Article number3593
Issue number19
Publication statusPublished - 20 Sept 2019
Externally publishedYes


  • Fault-tolerant system
  • Periodic controller
  • Surface permanent magnet synchronous motor


Dive into the research topics of 'Design and implementation of a speed-loop-periodic-controller-based fault-tolerant SPMSM drive system'. Together they form a unique fingerprint.

Cite this