모터란 무엇인가?
크게 DC와 BLDC가 있다. 가장 큰 차이점은 브러쉬의 유무이다. 브러쉬는 정류자에 전류를 공급하는 장치로, 모터가 회전함에 있어 마찰이 생겨 모터 효율을 낮추는 단점이 있다.
따라서 브러쉬를 없앤 것이 BLDC이며 3상의 코일로 전자기력을 형성하여 회전하는 것이 BLDC의 특징이다. 또한, 각 코일은 홀센서로 자석의 위치를 알게 되고 이에 따라 코일의 전류가 공급되어 회전하는 것이 특징이다.
엔코더란 무엇인가?
크게 인크리멘탈과 앱솔루트 방식으로 측정이 된다.
인크리멘탈은 엔코더 슬릿이 회전함에 따라 광입자 측정을 a,b상 펄스로 만들어 내어 위치와 속도를 측정합니다. 일정한 방향으로 도는 DC모터에 자주 사용한다.
장점:회전량 제한이 없다. 단점: 절대위치 측정x, 전원이 꺼지면 초기위치 다시 검출
앱솔루트 경우, 각 지점의 절대값을 설정하여 측정 되는 해당 위치에서의 값을 전달하는 방식으로 1바퀴 이상 돌아가지 않는 특정 각도로 미세하게 움직이는 서보모터에 적합한 방식이다. 엔코더 슬릿을 통해 3개의 검출소자가 측정되며 이를 통해 특정위치를 확인한다. 회전수의 경우 구동측에 감속기어를 추가하여 횟수 측정한다.
장점: 전원 상태 무관, 절대 위치 유지. 단점 : 회전량 제한
엔코더 계산
1번 회전당 2000펄스(슬릿구멍 개수) 발생되는 것이 있다. 모터가 3000rpm으로 회전시, 분당 30002000 개의 펄스 발생한다.(어떤 위치를 기준으로 슬릿 구멍이 총 30002000 개 지나간다고 생각하면 된다) RPM 단위는 min 이기 때문에 초당으로 단위 환산할 시 나누기 60 > 초당 10만 펄스 발생하고, 100khz 로 표현하기도 한다.
한 예로, 서보앰프(모터드라이버 비슷한)가 500us 당 50개를 카운트하는 능력의 서보라면 50/500us = 10만counts(pulse)/s (100kHz)이므로 2000개 슬릿을 가진 엔코더와 3000rpm으로 회전이 가능한 모터를 서보앰프가 감당(데이터 샘플링)할 수 있다는 의미로 해석할 수 있다.
분해능
엔코더에서 전송하는 최소 측정 단계로, 회전당 얼마만큼의 펄스를 출력할 수 있는 가의 정도이다. 슬릿의 갯수로 이해하면 편하다. 위치를 매우 작은 단위까지 측정!
정밀도
지금 이 글을 적는 나 자신도 매우 헷갈리는 분해능과 정밀도의 차이… 두 용어를 혼용하여 쓰는 분도 있고, 다르다고 구분짓는 분도 있다. 필자는 구분짓지만 혼용도 가능하다고 생각한다. 따라서 정답을 잘 모르겠다… (아시는 분은 답변 부탁드립니다!)
정밀도는 쉽게 말해 측정한 위치가 실제 값과 얼마나 가까운 가의 정도이다. 엄밀히 말해 분해능과 차이가 있지만, 정밀도가 분해능과 관련이 있다고 생각할 수 있는 것이 분해능이 좋을 수록 정밀도도 좋아지기 때문이다. 필자는 쉽게 정 위치와 얼마나 가까운지로 이해한다.
모터 드라이버
모터드라이버란 쉽게 말하여 모터를 제어할 수 있는 장치이다. 여기서 단순히 모터에 +, - 연결하면 한 쪽 방향으로만 회전하여 손으로 +,- 입력단자를 바꾸지 않는 이상 회전 변환은 불가능하다. 따라서 모터드라이버가 H-브릿지회로를 사용하여 입력단자를 바꿔주고 이를 통해 회전방향을 제어하게 된다. 또한 모스펫 채널을 통해 펄스수를 제어하여 전압조절로 모터 속도를 제어하게 된다.
H-브릿지 회로란? - 스위치 제어
아래 그림을 볼 때, 스위치와 스위치 가 연결 될 때 +는 모터 왼쪽, - 는 오른쪽에 있어 정방향 회전을 한다. 그러나 만약, 와 스위치가 닫히면 모터의 +,- 방향이 반대로 되어, 회전이 역방향으로 변함을 알 수 있다. 이러한 스위치 전환을 통해 입력단자를 전환할 수 있는 회로를 H-브릿지회로라 한다.
PWM 제어
Pulse Width Modulation의 약자로 펄스 폭을 변화시켜 전압을 조절하고, 이를 통해 모터의 속도를 제어하는 것을 의미한다.
모터 속도 공식은 아래와 같다.
는 전압, 는 역기전력, 은 분당 회전수, 는 계자이다.
따라서, 회전속도를 결정짓는 중요한 인자 중 하나는 전압이다. 전압 조절은 PWM 즉, 위에서 언급한 스위치를 모스펫 채널로 특정 주기마다 열고 닫고를 하면 전체 평균 전압이 변하여 전압을 조절할 수 있다. 아래 그림을 통해 이해해보자.
10V전압 인가 시, 스위치를 1초마다 on/off 하면 평균 전압이 5V가 됨을 알 수 있다. > 전체 면적(전압*시간)을 시간으로 나누면 된다. 참고로, 시간은 사이클 단위로 계산해야 한다.
마찬가지로 전압을 2초동안 주고 1초 쉬고를 반복하면 6.66V가 나옴을 알 수 있다.
이렇게 구한, 전압을 공식에 대입하고, 나머지 변수는 주어진다면, 속도를 구할 수 있고 이것이 모터드라이버가 속도를 제어하는 것이라 할 수 있다.
- 모스펫 채널은 간단하게 스위치를 주기별로 on/off 하는 것으로, 성능이 좋을수록 짧은 주기로 열고 닫을 수 있어 미세한 전압조절이 가능하다.
PID 제어
P 비례 : 오차 값의 크기에 비례한 제어작용, kp 크면 빠르게 셋포인트 도달, 그러나 불안정상태 > 진동
I 적분 : 일정한 상태로 유지되는 오차를 없애는 작용, 누적 오차에 따라 출력을 보고 바꿔야 함
오차가 클 경우 시간이 지남에 따라 오차 합이 쌓이며, 출력은 빠르게 변해 오차 제거.
Ki크면 빠르게 응답, 그러나 파형 상승부도 커짐> 그러나 점점 안정
D 미분 : 출력값의 급격한 변화에 제동을 걸어 오버슛을 줄여 안정성 향상