본문 바로가기

Theory/ControlTheory

[DC 모터 제어] 위치 제어기의 설계 및 MATLAB에서 시뮬레이션

요즘은 뭔가 정체성에 대해 고민한답니다.ㅠㅠ. 이제 6월이 되면 18개월이 되는 우리 아가 미바뤼를 보면서 에휴~~~ TV의 육아 프로그램에 나오는 그런것들 다 해줄 수 없어서 한숨도 나오고... 또 맞벌이 하는 와이푸님이 가끔 육아와 함께 힘들다고 하면 또~~ 월급 명세서를 보면서 내가 좀 더 잘 할 수 없을까.. 한숨 쉬기도 합니다...ㅠㅠ. 그러다가 또 저녁이 있는 삶을 꿈꾸는 뭔가 이상한 앞뒤가 안 맞는 이런 상황이라.... 아무튼... 뭔가 살짝... 꿀꿀해지는 2015년 5월의 막바지.. 인가 봅니다. 뭐.. 그러거나 말거나^^ 오늘은 전통적인... 교과서적인... 모터제어에서 이전에 설명한

[The Robot/ControlTheory] - [DC 모터 제어] DC 모터 동역학 및 전류제어기의 MATLAB을 이용한 시뮬레이션

DC 모터의 동역학과 그것을 대상으로 전류 제어기를 설계하고.. 다시 이를 MATLAB / Simulink로 확인하는 일을 했구요... 이를 바탕으로

[The Robot/ControlTheory] - [DC 모터 제어] 모터의 속도 제어기 설계 및 MATLAB 시뮬레이션

에서 속도 제어기를 시뮬레이션을 해보았었네요... 이제~~~ 오늘은 위치제어기를 설계할려고 합니다.^^

위치 제어기까지 설계된 전체 모습입니다. 다시 한 번 차근차근 보면

모터의 특방을 시뮬레이션한 모터 블럭이구요...

안티 와인드업 제어기까지 들어간 전류 제어기입니다.

그리고 속도 제어기 이구요^^

마지막으로 위치제어기 입니다. 통상 ADC를 통해 얻는 전류 측정치나... 또 통상 위치를 측정하는 엔코더를 차분해서 얻는 속도는 노이즈성 성분이 엄~청 많기 때문에 미분(D)기 없이 PI 제어기만 설계를 합니다만.. 위치 제어기는 위에서 보이듯이 PID 제어기를 모두 사용합니다... 그리고~~~ 안티와인드업 제어기도 넣어 두었네요^^

위치 명령을 Sine파로 넣고 각 상태를 비교하기 위해 scope를 별도로 연결했습니다.

진폭 10도에 1Hz진동을 명령으로 인가했네요....^^

위에 명령에 대해 이수한 모습입니다. 시뮬레이션 구조를 잡은거니... 게인을 열심히 튜닝하지 않아서(비겁한 변명^^) 약간 못 따라 가네요^^ 뭐 그래도 나쁘지 않습니다. 왜냐면 모터의 부하 이너셔를 좀 비정상적으로 크게 했거든요^^

그리고 속도 명령과 그 수행 정도입니다. 뭐 역시 나쁘지 않습니다.^^

또한 전류의 결과이구요^^. 이제 이 정도면 모터의 시뮬레이션은 어느 정도 해볼 수 있겠네요^^아~~~ 이 파일은 GitHUB에 올려두었습니다.[바로가기]

반응형