아주 예전에는 DC 모터 자체를 제어하는 것보다는 시스템에 구동원인 DC 모터를 전체 동역학에 포함시켜서 시스템을 제어하는 것[바로가기]을 했었습니다. 그 대표적인 것이 밸런싱로봇[바로가기]이었는데요. 그리고 나서 모터 자체에 대한 제어기에도 당연하지만 관심을 가졌었는데요[바로가기] 아무튼 최근 다시 좀 올드한 스타일, 그러면서 교과서적인 스타일의 DC 모터 제어 기법을 블로그에 소개해야겠다는 생각을 하게 되었네요^^. 일단 본 글은 제어기법자체는 설승기 교수의 전기기기제어론이라는 책 아~~~주 초반에 소개된 내용을 바탕으로 합니다.^^
일단 DC 모터를 위와 같이 표현할 수 있다면
각 심볼을 위와 같이 정의하구요.(단위에 조심하세요^^)
DC 모터의 전압방정식을 저렇게 만들 수 있습니다. 일단 기본적으로 옴의 법칙이 들어가 주죠... 그러나 모터는 인덕터의 덩어리(^^)이므로 인덕터 영향을 무시할 수는 없죠. 그리고 기본적으로 역기전력... 음.. 그러니까 모터의 회전 속도에 비례해서 전압을 까먹는 놈이 하나 있죠^^
그리고 모터가 내놓는 토크식이 있습니다. 모터축의 이너셔와 모터 축의 회전 각가속도로 만들어지는 토크는 전류에 의해 발생하는 모터 고유의 토크에 회전속도에 비례해서 그 토크를 까먹는 마찰력이 또한 존재합니다.
이 두 방정식으로 MATLAB/Simulink 블럭을 완성하면 위 그림과 같습니다.^^.
그리고 앞서 이야기한 설승기 교수의 전기기기제어론에 나타난 올드한... Cascade한 방식의 전류 제어기를 구성하면 위와 같습니다. 일단 기본적으로 전류 제어기는 PI 제어기를 사용하며 그건 위에서 표현된 PI 제어기이구요.
또 별도로 PI 제어기에서 사용하는 적분기는 에러가 계속 누적되면 부호의 변경이 잘 되지 않는 windup 현상이 있는데 이를 해소하기 위한 안티와인드업 Anti-windup 제어기가 또한 추가되어 있습니다. 안티와인드업 제어기는 한번 설명을 했었습니다.[바로가기] 아무튼...^^.
그리고 모터의 역기전력을 보상하기 위해 역기전력 상수와 모터의 회전 속도를 곱해서 보상하는 역기전력 보상기도 설계되어 있습니다.
그걸 저렇게 블럭으로 보기좋게 구성했네요^^. 제어 게인을 잘 잡으면 뭐 잘 됩니다.^^.
Maxonmotor의 222053모터를 대상으로 해서 위와 같이 파라미터와 제어기를 구성했네요... 나머지는 뭐 그냥 잘 시뮬레이션 됩니다.^^
'Theory > ControlTheory' 카테고리의 다른 글
[DC 모터 제어] 위치 제어기의 설계 및 MATLAB에서 시뮬레이션 (21) | 2015.05.29 |
---|---|
[DC 모터 제어] 모터의 속도 제어기 설계 및 MATLAB 시뮬레이션 (20) | 2015.05.21 |
엑셀에서 저역통과필터 (Low Pass Filter) 구현하기 (48) | 2015.05.12 |
모터 제어할 때, 부드러운 위치 프로파일을 위해 사다리꼴 속도 프로파일 생성하기 (22) | 2014.12.26 |
MATLAB을 이용하여 Two Link Planar의 역기구학 해석하기 (16) | 2014.12.03 |
정방향 기구학(forward kinematics)의 기초와 Two Link Planar 예제 (22) | 2014.11.14 |
델타형 병렬 로봇의 역기구학을 단순 기하학적으로 손쉽게 해석해보기 (10) | 2014.04.25 |