이 글은 루프 주기 선정, 5.5kW 유도 전동기 전류 루프와 속도 주기 계산 시리즈의 2편입니다. 앞 편에 이어 디지털 제어기 연산 부하 배분과 실시간 ISR 구조, 맺음말을 설명합니다.
디지털 제어기 연산 부하 배분과 실시간 ISR 구조
디지털 신호 처리기 또는 마이크로컨트롤러에서 이중 제어 루프를 실시간으로 구동하려면 연산 부하를 시간 영역에서 체계적으로 배분해야 합니다. 전류 제어 루프와 속도 제어 루프는 실행 주기와 우선순위가 다르므로, 하드웨어 타이머와 인터럽트 서비스 루틴을 분리하여 스케줄링합니다.
고속 전류 제어 루프는 최고 우선순위 하드웨어 인터럽트로 구성되어 매 100 μs마다 실행하도록 설정합니다. 이 인터럽트 서비스 루틴 안에서는 아날로그 디지털 변환 결과 취득, 클라크 및 파크 좌표 변환, 비간섭 전류 제어 연산, 역파크 변환, 공간벡터 PWM 전압 벡터 연산 및 비교 레지스터 갱신이 차례로 수행되는 구조입니다. 전형적인 32비트 부동소수점 디지털 제어기에서 이 모든 연산을 수행하는 데 소요되는 실행 시간 t_i는 약 35 μs입니다.
저속 속도 제어 루프는 전류 인터럽트가 10회 발생할 때마다 1회씩 카운터를 기반으로 분기 실행하도록 구현합니다. 속도 루프에서는 엔코더 펄스 기반 속도 계산, 속도 비례적분 제어 연산, 자속 추정기 갱신, 슬립 주파수 계산 및 상위 상태 천이 로직을 실행합니다. 속도 루프 1회 실행에 소요되는 시간 t_w는 약 50 μs입니다.
디지털 제어기의 실시간 연산 안정성을 검증하기 위한 전체 CPU 점유율 U_CPU는 식 (5)와 같이 계산할 수 있습니다.
식 (5)에 전류 연산 시간 35 μs와 전류 루프 주기 100 μs, 속도 연산 시간 50 μs와 속도 루프 주기 1000 μs를 각각 대입합니다. 첫 번째 항인 전류 루프 CPU 점유율은 0.35이며, 두 번째 항인 속도 루프 CPU 점유율은 0.05로 계산할 수 있습니다. 두 값을 합산한 전체 CPU 점유율은 0.40이며 이는 40%에 해당합니다.
임베디드 제어 시스템에서는 통신, 이상 상태 보호, 사용자 인터페이스 처리를 위한 연산 여유를 위해 전체 CPU 점유율을 50% 이내로 유지해야 합니다. 40%의 점유율은 60%의 충분한 연산 시간 마진을 제공하므로, 인터럽트 중첩에 의한 연산 지연이나 타이밍 문제 없이 실시간 제어를 안정적으로 보장할 수 있습니다.
맺음말
5.5kW 유도 전동기 구동 시스템의 디지털 제어기 설계를 위해 전동기의 물리적 시정수를 기반으로 루프 주기를 도출하고 연산 부하를 검증하였습니다. 전기적 시정수 8.82 ms에 대응하여 내부 전류 제어 루프 주기는 10 kHz 스위칭 주파수와 동기화된 100 μs로 결정하였습니다. PWM 캐리어 정점 및 계곡 동기 샘플링을 적용하여 필터 지연 없이 스위칭 리플을 제거하였습니다. 기계적 시정수 14 s를 고려한 외부 속도 제어 루프 주기는 캐스케이드 대역폭 10배 분리 기준에 따라 1 ms로 선정하였습니다.
실시간 임베디드 제어기 환경에서 연산 부하를 배분한 결과, 전류 루프 인터럽트에서 35 μs, 속도 루프에서 50 μs의 연산 시간이 소요되어 총 CPU 점유율 40%를 달성하였습니다. 이는 실시간 제어 안정성 기준인 CPU 점유율 50% 이하 조건을 충분히 만족하는 결과입니다.
실무에서 디지털 제어기를 구현할 때는 다음의 사항을 반드시 점검해야 합니다. 첫째, 펌웨어 기능 추가로 인해 전류 루프의 실행 시간이 50 μs를 초과하지 않도록 입출력 핀 신호를 오실로스코프로 측정하여 주기적인 실행 시간을 모니터링해야 합니다. 둘째, 전동기 기동 및 급격한 가감속 시 속도 제어기의 적분기가 포화되는 와인드업 현상이 발생하면 내부 전류 루프에 비정상적인 포화 지령이 전달되므로, 적분 누적을 억제하는 안티 와인드업 알고리즘을 반드시 적용해야 합니다. 셋째, 저속 구동 시 엔코더 펄스 간격이 길어져 발생하는 속도 관측 지연을 최소화하기 위해 주파수 측정 방식과 주기 측정 방식을 혼합한 M/T 방식 속도 연산 구조를 적용해야 제어 루프의 위상 여유를 안정적으로 확보할 수 있습니다.
이 글은 앞선 내용을 몰라도 읽을 수 있게 썼습니다. 배경이 궁금하다면 이산화 방법 비교, 로봇 관절 제어기 후방 오일러와 투스틴 변환 계산을 함께 보면 도움이 됩니다: https://www.infoshirimp.co.kr/?p=185
이것으로 시리즈를 마칩니다. 앞선 편들과 함께 읽으면 전체 흐름을 파악할 수 있습니다.