안녕하세요.
오늘 부터 아주 재미있는 이야기를 한번 다루어 보려고 합니다.
우리는 지금 이 블로그에서 인피니언, nxp MCU를 이용하여 다양한 주변기기를 사용해보고 있습니다.
MCU는 Mirco Control Unit 이라고 부르며
이 안에는 CPU, RAM, Flash 뿐만아니라 제어에 필요한 다양한 주변기기들이 함께 Package 되어 있습니다.
즉, MCU는 무언가를 제어하기 위해 특별히 제작된 컴퓨터라는 것을 알 수 있습니다.
여기서 '무언가를 제어' 한다는 것이 무엇을 의미하는 것일까요?
아래 영상을 한번 보면 지금
DC모터를 통하여 바퀴를 굴리고 있습니다.
그런데, 제가 이 부분을 '속도제어'하고 싶습니다.
여기서 바퀴가 도는 회전수를 보통 RPM이라고 표현하는데
RPM은 Revolutions Per Minute의 약어로 '분당 공전수'를 의미합니다.
즉, 1분에 몇바퀴 돌았냐는 뜻입니다.
그리고, 아래와 같이 속도제어 설계하였고,
지금 속도지령(70rpm -> 45rpm -> 80rpm -> 50rpm)을 주고 있고
그 속도에 맞추어서 바퀴회전수가 제어되고 있는 모습을 아래 그림에서 확인 할 수 있습니다.
즉, 제가 원하는 속도로 DC모터를 제어하고 있습니다.
이것을 '속도제어'라고 합니다.
제어를 하기위해서는 MCU 공부 이외에 또다른 공부가 필요합니다.
지금 저 제어를 수행하기 위해서 저는 아래와 같은 Feedback 제어이론을 사용하였고
아래 Contoller를 SW로 설계하였습니다.
Feedback 제어를 수행하기 위해서는 모터의 속도를 측정하기 위한 encoder도 필요합니다.
말씀드리고 싶은 부분은 MCU를 공부하는 목적이 단지 주변기기를 동작시키는것에 끝이 아니라는 것을
말씀드리는 것입니다.
하나만 더 예를 들으면,
우리가 보일러를 이용하여 물의 온도를 조절하는 과정에서도
위의 속도제어와 같은 Control Logic이 동작하게 됩니다.
물의 온도를 측정하는 센서를 이용해서
다시 MCU에게 ADC로 전달해 주고
그 데이터를 기반으로 물의 온도를 조절해 주는 모터?를
제어하게 됩니다.
자율주행 자동차 역시 마찬가지 입니다.
초음파 센서를 통해 앞차와의 거리를 컴퓨터로 전달받고
속도제어를하여 일정거리 유지를 하도록 모터를 제어합니다.
그렇다면 이제 제어를 한번 수행해 볼것인데요.
이 부분에 대해서는 조금 공부가 필요합니다.
저도 대학교때 공부했던 전공책을 한번 펴봤는데요 ㅎㅎ
기억이 잘 안나더라구요 ㅎㅎ
하지만 이 부분에 대한 명확한 공부가 있어야지
MCU를 이용한 제어설계가 가능합니다.
그럼, 다음 글부터 한번 시작을 해보도록 하겠습니다.
'Embedded SW > Control Theory' 카테고리의 다른 글
Simulink를 이용한 전달함수 시뮬레이션 수행 방법 정리 (0) | 2022.09.22 |
---|---|
DC모터 모델링, 매트랩 전달함수 생성 후 그래프 확인 (0) | 2022.09.21 |
지수함수, 모터 모델링, 전달함수, 시간함수 정리 (3) | 2022.09.21 |
매트랩 기초 연습 (행렬 연산, 데이터 나누기, 그래프 그리기) (1) | 2022.09.20 |
매트랩이란? 매트랩 학생용 다운로드 및 라이센스 받는 방법 (1) | 2022.09.20 |
댓글