디지털 제어: 샘플링, 이산화, 안티 와인드업
MCU에서 돌아가는 제어기는 연속 시간이 아니라 정해진 주기의 계산입니다. 샘플링 주기 정하기와 구현의 함정.
샘플링 주기
제어 대역폭의 10~20배로 샘플링하는 것이 경험칙입니다.
| 루프 | 대역폭 | 주기 예 |
|---|---|---|
| 모터 전류 | ~1kHz | 10~20kHz (PWM과 동기) |
| 모터 속도 | ~100Hz | 1~2kHz |
| 위치 / 자세 | ~10Hz | 100Hz~1kHz |
| 온도 | ~0.1Hz | 1~10Hz |
이산화
연속 제어기를 차분식으로 바꿉니다.
- 적분:
integ += e * Ts(오일러) 또는 사다리꼴 - 미분:
(e - e_prev) / Ts
Ts는 실제 주기를 써야 합니다. 주기가 흔들리면 타이머로 정확히 맞춥니다.
무료 전자책이 주제를 한 권으로 이어 읽기 (PDF 3권)→안티 와인드업
출력이 포화(PWM 100%)된 상태에서도 적분기가 계속 쌓이면, 오차가 줄어든 뒤에도 쌓인 적분값 때문에 한참 동안 목표를 넘어 달립니다.
- 클램핑: 출력이 포화된 방향으로는 적분을 멈춤
- 백 계산: 포화로 잘린 만큼 적분기를 되돌림
그 밖의 함정
- 계산 시간만큼 지연이 생깁니다. 측정 → 계산 → 출력 순서를 매 주기 같은 타이밍에
- 부동소수점이 없는 MCU에서는 고정소수점 스케일과 포화 처리
- 게인을 실행 중에 바꿀 때 출력이 튀지 않게(적분기 보정)
연결된 개념
영상으로 이어 보기모터 시리즈 10편세상을 움직이는 힘 = DC모터, 이 영상 하나로 정리해드립니다.PROJECT COURSEPID를 실제 로봇에서 튜닝해 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →