노수영
(Soo-Young Noh)
1iD
김창현
(Chang-Hyun Kim)
†iD
-
(Dep. of Electronic Engineering, Kangnam University, Korea)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Hardware-In the Loop Simulation, PID control, I2C, Matlab/Simulink, Arduino
1. 서 론
HILS (Hardware-In-the-Loop Simulation) 는 복잡한 실시간 임베디드 시스템의 개발과 시험에 활용되는 혁신적인 기술 중에
하나이다[1]. 이러한 시스템은 실제 하드웨어인 전자제어장치와 실시간으로 시뮬레이션 되는 시스템의 모델이 상호 간에 폐루프를 구성해 전자제어장치를 테스트할 수
있는 가상적인 환경을 제공하여 실제 환경에서 직접 개발하는 방법과 유사한 시험 방법을 제공한다. 또한 수많은 반복 실험을 추가비용 없이 시험하거나
위험상황을 가정한 극한 시험과 같은 비용적인 측면이나 위험성으로 제한적인 상황에서 효과적으로 활용될 수 있다[2][3]. 그래서 HILS시스템은 점점 복잡해지는 전자제어시스템이 많아짐에 따라 성능을 만족하는 제어기 설계에 있어 유용한 도구로 인식되어 자동차, 항공기,
조선, 전력계통, 로봇 등 다양한 산업계에서 널리 활용되고 있다[4][5][6].
그러나 기존의 HILS 시스템은 실시간성을 극대화하기 위해 높은 비용과 복잡한 구성 요소가 필요하여 많은 제약 사항을 가지고 있다[7]. 이로 인해 대학 교육, 실무 교육에서 HILS를 접할 수 있는 기회가 적어 관련 현장 실무 역량을 강화하기에 어려움이 있어 저가형 HILS 시스템
구축의 요구도가 높다.
본 논문에서는 현재 학부 수준의 교육에서 가장 빈번하게 활용되고 있는 마이크로컨트롤러 중에 하나인 Arduino Uno 보드와 공학용 시뮬레이터인
Matlab/Simulink를 활용하여 하드웨어와 소프트웨어 요구사항을 최소화하였다. 이를 활용한 HILS 시스템을 구축하는 방법을 소개하고 작동
방식과 인터페이스 구성 요건을 제시하였다. SW인 시뮬레이터와 HW인 제어기 사이의 데이터 전송은 I2C (Inter-Integrated Circuit)
통신을 활용하였고 적합한 데이터형 변환을 각각 수행하였다.
적용 대상이 되는 시스템은 학부 수준의 제어공학 및 현장에서 주로 활용되는 저차 구조 모델인 1차, 2차 표준제어시스템으로 구성하였으며, 설계를 위한
제어기는 비례-적분-미분 (PID: Proportional-Integral-Differential) 제어기를 활용하였다[8]. 구축된 제어시스템의 성능은 SILS (Software-In the Loop Simulation)과 비교하여 검증하고 응답 특성의 차이를 비교 분석하였다.
결론적으로, 본 논문은 저가형 HILS 시스템을 활용한 제어기 설계 및 성능 검증 기법을 제시하였고, 경제적인 비용으로도 효과적인 제어 시스템 개발을
가능하게 한다는 관점에서 현장 실무 역량을 강화하는 교육에 기여할 수 있다. 이러한 기법은 향 후 산업 현장에서 시스템 개발 초기에 저렴한 비용으로
제어 시스템을 사전 설계, 검증하고 관련 기술을 대학에서 교육하기에 적합하여 폭넓게 활용될 수 있을 것으로 기대된다[9] [10].
2. 본 론
2.1 저가형 HILS 시스템의 구성과 작동 방식
저가형 HILS 시스템은 그림 1과 같이 두 가지 주요 요소로 구성된다. 첫 번째로, Plant의 역할을 수행하는 Matlab/Simulink가 있으며, 두 번째로, 제어기의 역할을
수행하는 아두이노가 포함된다. 이러한 SW와 HW의 결합한 구성요소들은 복잡한 제어 시스템의 초기 개발 시 테스트하고 검증하는 데에 사용된다.
그림 1. HILS 시스템의 구조
Fig. 1. Structure of the HILS system
2.2 저가형 HILS 시스템의 하드웨어 구성
저가형 HILS 시스템의 하드웨어 구성은 다음 그림 2와 같다. PC와 아두이노 사이는 I2C 통신으로 데이터를 교환하고 이를 위해 I2C 통신 컨버터가 필요하다. 본 시스템에서는 Simulink Arduino
Support Package를 활용하여 아두이노 우노를 I2C 통신용 컨버터로 사용한다. Simulink Arduino Support Package에서
지원하는 I2C 통신용 블록은 I2C 마스터 기능만을 제공하므로, 2대의 아두이노를 이용하여 PC에 연결되어 컨버터로 활용되는 아두이노는 마스터로
설정하고, 제어기를 위한 아두이노는 I2C 슬레이브로 지정한다.
그림 3을 통하여 회로도와 실제 연결된 아두이노의 구성도를 확인할 수 있다. I2C 통신을 위해 아두이노의 아날로그 4번 핀과 5번 핀을 사용했으며 보드
사이의 플로팅 현상을 방지하기 위해 공통 접지를 시행하였다. 아두이노 마스터는 PC의 I2C 컨버터로 활용되기 위해 연결하고, 아두이노 슬레이브는
디버깅을 위해 PC와 연결할 수 있도록 설정됐다.
그림 2. 하드웨어 구성 개념도
Fig. 2. Block diagram of hardware configuration
그림 3. 아두이노간 연결 회로 구성도
Fig. 3. Connection circuit diagram between Arduinos
2.3 저가형 HILS 시스템의 소프트웨어 구성
소프트웨어 구성은 그림 4에서 표로 나타내었다. 크게 Simulink와 아두이노로 나눌 수 있으며, 각각의 역할은 다음과 같다. Simulink에서는 송신과 수신을 구현하였으며
송신은 입력값을 아두이노의 제어기에 전송해 주는 역할을 하며 수신의 경우는 아두이노에서 보내주는 제어기의 출력을 받아서 Plant에 입력해 주는 역할을
한다. 아두이노에서는 송신과 수신 그리고 가장 일반적인 제어기인 PID제어기를 구현하였으며 수신은 Simulink에서 들어오는 입력값을 받아서 제어기에서
제어를 진행하며 수신의 경우는 PID제어기에서 나오는 출력값을 Simulink에 전송하는 역할을 수행하였다. PID제어기의 경우 제어를 위하여 이산
PID제어기로 설계되었다.
그림 4. 소프트웨어 기능 구성
Fig. 4. Configure of software features
Simulink에서 아두이노로 데이터를 전송하기 위한 데이터 흐름은 그림 5에서 확인이 가능하다. 우선 Simulink의 기본 데이터형인 Double을 Cast to Double블록을 이용하여 Single데이터형으로 변환해
준다. 그 후 Single데이터형을 BytePack블록을 이용하여 8bit 크기의 4개의 unint8데이터형으로 나누어 전송해 준다. 이때 Double데이터를
Single로 변환해 주는 이유는 실시간성이 중요한 HILS에서 송수신하는 데이터의 크기를 줄여 충분한 SamplingTime을 확보하기 위해서이다.
아두이노에서는 I2C버퍼에 4byte 이상의 데이터가 쌓여있을 경우 4byte를 4개의 각각의 byte 데이터형 변수로 읽어 들어온다. 그 후 공용체를
이용하여 각각의 데이터를 레지스터에서 일렬로 정렬하여 Float형으로 변환해 주는 과정을 거치게 된다.
그림 5. Simulink to Arduino 통신
Fig. 5. Simulink to Arduino communication
아두이노에서 Simulink로 데이터를 전송하는 과정은 그림 6에 나타냈다. I2C통신 라이브러리를 이용하여 바로 4byte를 전송하고 Simulink블럭에서 LittleEndian의 방법을 이용하여 Single데이터형으로
읽어 들여 다시 Simulink 기본 데이터형인 Double형으로 변환해 주는 과정을 거친다.
그림 6. Arduino to Simulink 통신
Fig. 6. Arduino to Simulink communication
3. 실 험
3.1 저가형 HILS 시스템의 구성
시스템 성능 검증을 위한 Simulink상의 블록 구성은 그림 7과 같다. 해당 구성은 단위 계단 입력을 Plant에 입력하고 있으며 그 제어를 위해 피드백과 PID제어를 위한 아두이노통신 블록이 있는 것을 확인
할 수 있다. Simulink 상에서 제어기와 Plant를 시뮬레이션 결괏값과 저가형 HILS 시스템을 활용하여 Plant를 Silulink에서 설계하고
제어기를 아두이노에 설계한 HILS상의 결괏값을 비교하였다. 또한 제어기와 Plant 사이에 Sin wave의 잡음과 출력값에 백색잡음을 추가해 주는
것으로 비이상적인 상황에서의 동작을 고려해 주었다. 정현파의 저주파 왜란은 진폭 0.1 주파수 10Hz의 입력을 넣어주었으며 백색잡음의 경우 잡음전력
0.00001의 값을 사용하였다.
그림 7. Simulink 블록 구성도
Fig. 7. Simulink block diagram
그림 8을 통하여 그림 7의 Arduino controller블록의 내부 구성을 구체적으로 확인할 수 있다. Arduino controller 블록의 경우 아두이노와의 통신을
위해 Simulink Arduino Support Package에서 지원해 주는 I2C통신블럭으로 구성이 되어 있으며 통신 변복조를 위해 Cast
To single, Cast To double, BytePack등의 블록이 있는 것을 확인할 수 있다.
그림 8. Arduino 제어 블록도
Fig. 8. Arduino controller block diagram
실험 조건으로 Sampling Time은 0.01초이며 입력은 단위계단 입력으로 시작 시간은 0초 최종값은 1의 값으로 입력해 주었으며 이에 대하여
표준 1차 시스템 그리고 표준 2차 시스템으로 2가지 예제에 대하여 다음과 같이 비교 분석하였다.
3.2 표준 1차 시스템의 저가형 HILS 시스템의 성능 검증
대상 시스템의 구성은 그림 9와 같고 적용된 1차 시스템은 식 (1)이다.
다양한 제어 응답을 확인하기 위해 대상 시스템에 P, PI 제어를 실시하였으며 각각 계수값은 실험 상 편의를 위하여 전부 3으로 통일하여 주었다.
그림 9. 표준 1차 시스템 블록 구성도
Fig. 9. Normal 1st order block diagram
그림 10과 그림 11에서 P제어와 PI제어에 대하한 HILS상의 결과와 Simulation의 결과를 볼 수 있으며 유사한 결괏값을 보여주고 있다.
그림 10. 표준 1차 시스템 P제어 응답 비교
Fig. 10. Responses of normal 1st order system with P control
그림 11. 표준 1차 시스템 PI제어 응답 비교
Fig. 11. Responses of normal 1st order system with PI control
또한 그림 12에서 PI제어에 대하여 시뮬레이션한 값과 HILS상의 값의 미세한 차이를 확대하여 확인할 수 있다. 저가형 HILS의 값과 시뮬레이션 값이 미세한
차이를 보여주고 있으며 그중 최대 오차 데이터는 0.007137 이다. 이는 최종 제어값 대비 0.71%, SILS 대비 1.19%의 오차가 존재하는
것을 확인할 수 있다.
그림 12. 표준 1차 시스템 PI제어 비교 확대
Fig. 12. Comparison expansion of normal 1st order system with PI Control Comparison
Expansion
3.3 준 2차 시스템에 대한 저가형 HILS 시스템의 성능 검증
그림 13은 식 (2)와 같은 표준 2차 시스템과 제어기의 구성을 보여준다. 대상 시스템은 $\zeta =1,\: \omega_{n}=1$ 의 감쇠비와 고유주파수를 갖는다.
동일하게 다양한 제어에 대한 응답을 비교 분석하기 위해 대상 시스템에 P, PI, PID제어를 실시하였으며 각각 계수값은 편의를 위하여 모두 3으로
규정하였다.
마지막으로 PID제어기 설계의 차이로 인한 오차가 발생할 수 있음에 제어기가 없는 일반 표준 2차 시스템의 피드백 제어에 대한 결괏값도 함께 확인하였다.
그림 13. 표준 2차 시스템 블록 구성도
Fig. 13. Normal 2nd order system block diagram
그림 14, 그림 15, 그림16은 각각 P제어, PI제어, PID제어 대하여 HILS상의 결과와 Simulation의 결과를 보여준다. 각각에 대한 제어값들이 유사한
결과를 보여주고 있다.
그림 14. 표준 2차 시스템 P제어 응답 비교
Fig. 14. Nomal 2nd System P Control response comparison
그림 15. 표준 2차 시스템 PI제어 응답 비교
Fig. 15. Nomal 2nd System PI Control Response Comparison
그림 16. 표준 2차 시스템 PID제어 응답 비교
Fig. 16. Nomal 2nd System PID Control Response Comparison
그림 12와 유사하게 그림 17에서 PID제어에 대한 최대 오차를 확대하여 확인하였다. 저가형 HILS의 값과 시뮬레이션 값은 전반적으로 유사한 결과를 보이고 있고 최대 오차값은
0.001742이다. 이는 최종 제어값 대비 0.17%, SILS 대비 0.18%의 오차가 존재하는 것으로 확인 된다. 이전의 표준 1차 시스템의
PI제어에서 발생한 0.007137의 오차보다 0.005395값 만큼의 더 작은 오차를 보이고 있다. 이러한 차이는 Double의 데이터형을 Float형으로
변환하여 통신을 하는 것으로 인한 데이터의 손실 또는 이산 PID제어 과정의 미분 적분 과정에서 Sampling Time의 차이로 발생하는 것이라고
예상이 가능하다.
그림 18에서 제어기의 영향을 없애기 위해 PID계수값을 각각 1, 0, 0으로 설정하여 피드백 제어만 하였을 경우의 결괏값을 확인 할 수 있다. 그림 19에서 PID제어에 대하여 시뮬레이션한 값과 HILS상의 값의 차이를 확대하여 정확한 확인이 가능하다. 이전의 표준 1차 시스템의 PI제어와 표준 2차
시스템의 PID제어의 데이터 오차 0.007137와 0.001742에 비하여 작은 0.000573의 차이를 보여주고 있다.
그림 17. 표준 2차 시스템 PID제어 비교 확대
Fig. 17. Comparison expansion of Nomal 2nd System PID control
그림 18. 표준 2차 시스템 피드백 제어 응답 비교
Fig. 18. Standard Second Order System Feedback Control Response Comparison
그림 19. 표준 2차 시스템 피드백 제어 비교 확대
Fig. 19. Expanded Comparison of Standard Second Order System Feedback Control
4. 결 론
본 논문은 Matlab/Simulink와 아두이노를 활용하여 학부 수준에서 저가형 HILS 시스템을 구축하고, 이를 이용하여 제어기 설계와 성능 검증을
수행한다. 이러한 저가형 시스템은 경제적인 비용으로 구축할 수 있어 더 많은 사용자들에게 접근성을 제공하며, 교육용으로도 활용 가능한 교육 접근성에
용이한 장점을 갖고 있다. 논문에서는 먼저 HILS 시스템의 개념과 구성 요소를 설명하고, Simulink를 이용한 Plant 모델링과 아두이노를
이용한 제어기 설계 방법을 소개한다. 또한 I2C 통신을 통해 실시간 데이터 교환을 수행하는 방법을 설명한다.
실험은 표준 1차 시스템과 2차 시스템에 대해 P, PI, PID 제어를 적용하여 성능을 검증한다. 실험 결과, 저가형 HILS 시스템의 결과와 시뮬레이션
결과의 유사성을 확인하고 성능의 우수성을 도출하였다. 종합적으로, 본 논문은 저가형 HILS 시스템을 활용한 제어기 설계 및 성능 검증 기법을 제시하고,
경제적인 비용으로도 효과적인 제어 시스템 개발을 가능하게 한다는 관점에서 기여한다. 이러한 기법은 산업 현장에서의 시스템 개발 초기에 저렴한 비용으로
제어 시스템을 사전 설계, 검증하고 관련 기술을 대학에서 교육하기에 적합하여 폭넓게 활용될 수 있을 것으로 기대된다.
Acknowledgements
This research was supported by Basic Science Research Program through the National
Research Foundation of Korea(NRF) funded by Ministry of Education (2021R1F1A1061732)
References
L, Yang, “The Current Status and Developing Trends of Industry 4.0: a Review,” Information
Systems Frontiers, pp. 1-20, Nov. 2021.
B. Wang, F. Tao, X. Fang, C. Liu, Y. Liu, T. Freiheit, “Smart Manufacturing and Intelligent
Manufacturing: A Comparative Review,” Engineering, vol. 7, no. 6, pp. 738- 757, 2021
C. H. Kim, “Neural Network Predictive Control for Superconducting Hybrid MagLev Conveyor
Systems in Smart Factory,” Journal of the Korean Society for Railway, vol. 25, no.
2, pp. 107-112, Feb. 2022.
C. H. Kim, “Robust air-gap control of superconducting-hybrid MagLev intelligent conveyor
system in smart factory,” IEEE Transactions on Magnetics, vol. 55, no. 6, pp. 1-5,
June 2019.
C. H. Kim, “Robust control of magnetic levitation systems considering disturbance
force by LSM propulsion systems,” IEEE Transactions on Magnetics, vol. 53, no. 11,
pp. 1-5, Nov. 2017.
B. Ji, Y. Han, S. Liu, F. Tao, G. Zhang, Z. Fu, and C. Li, “Several key technologies
for 6G: challenges and opportunities,” IEEE Communications Standards Magazine, vol.
5, no. 2, pp. 44-51, June. 2021.
D. C. Nguyen, M. Ding, P. N. Pathirana, A. Seneviratne, J. Li, D. Niyato, O. Dobre,
H. V. Poor, “6G Internet of Things: A Comprehensive Survey,” IEEE Internet of Things
Journal, vol. 9, no. 1, pp. 359-383, Jan. 2022.
A. I. Salameh, and E. Tarhuni, “From 5G to 6G— Challenges, Technologies, and Applications,”
Future Internet, vol. 14, no. 117, pp. 1-35, Apr. 2022.
C. H. Kim, H. K. Joung, and H. J. Lee, “Robust Control for MagLev Conveyor System
with Sensor Delay in Smart Factories,” International Conference on Next-generation
Convergence Technology, pp. 1-3, 2022.
R. P. Borase, D. K. Maghade, S. Y., Sondkar, and S. N. Pawar, “A review of PID control,
tuning methods and applications,” International Journal of Dynamics and Control, vol.
9, no. 2, pp. 818-827, June 2021.
C. H. Kim, “Multi-loop PID Control Method of Brushless DC Motors via Convex Combination
Method,” Journal of Electrical Engineering and Technology, vol. 12, no. 1, pp. 72-77.
Jan. 2017.
D. Frederik. “A Novel Method for Optimal Robust PID Design based on Mixed Sensitivity
Closed Loop Shaping and Convex Programming,” European Journal of Control, Dec. 2021.
H. Panagopoulos, K. J. Astrom. “PID control design and ℋ︁∞ loop shaping,” International
Journal of Robust and Nonlinear Control, vol. 10, no. 15 pp. 1249- 1261, Nov. 2000.
C. H. Kim, H. J. Park, J. Lee, H. W. Lee, and K. D. Lee, “Multi-rate optimal controller
design for electromagnetic suspension systems via linear matrix inequality optimization,”
Journal of Applied Physics, vol. 117, no. 17, pp. 17B506, Feb. 2015.
저자소개
He is an undergraduate student in the field of Electrical Engineering, currently enrolled
at Kangnam University in Yongin, South Korea. His academic journey commenced in 2017,
and he is on track to complete his undergraduate studies and obtain a bachelor's degree
by 2024.
E-mail : mmj6452@kangnam.ac.kr
He received his M.S and Ph.D in Electrical Engineering from Hanyang University, South
Korea, in 2006, and 2015, respectively. He was an Assistant Professor at VISION College
of Jeonju, Korea from 2016 to 2021. He joined Kangnam University, in 2021, where he
is currently an Assistant Professor with the Department of Electronic Engineering,
His current research interests include the robust control, MPC, machine learning control,
and its application to magnetic levitation systems, electric power grid, network congestion,
and so on.
E-mail : chkim@kangnam.ac.kr