아직 모터에 대한 이해가 너무나 부족하다.
ac/dc, bldc/dc에 대한 차이점은 알고 있고, 이번 프로젝트에서는 dc 모터를 채택할 예정이지만, dc 모터를 어떻게 제어할 지에 대해 모르는 상황이다.
DC 어떻게 제어하나?
- Dc 모터의 경우 전원만 물려주면 작동한다. 극성을 바꾸면 반대로 돌기도 한다.
- 또한 일반적으로 모터의 속도는 전압의 수치에 따라서 바뀐다.
- 만약 정격 전압 12V의 모터에 6V를 인가한다면 당연히 모터는 더 느린 속도로 돌게 될 것이다.
- 이러한 전압을 조절할 수 있는 부품이 스피드 컨트롤러와 모터 드라이버이다.
DC 모터의 속도와 방향을 제어하는 방법에는 여러 가지가 있다.
1. 전압 제어
DC 모터의 속도는 전압과 비례합니다. 따라서 모터의 속도를 제어하려면 모터에 인가되는 전압을 조절할 수 있습니다.
2. PWM(Pulse Width Modulation)
PWM은 주기적으로 변화하는 신호를 이용해 전압을 제어하는 방법입니다. 주파수는 고정하고 신호의 duty ratio(고조파의 on 시간 대비 전체 주기에서의 시간 비율)를 변경하여 모터의 속도를 조절합니다.
3. 모터 드라이버
모터 드라이버는 모터의 속도 및 방향을 제어하기 위한 전자 제어 장치입니다. 모터 드라이버를 사용하면 속도와 방향을 제어하기 위한 입력 신호를 제공할 수 있습니다.
4. 엔코더 피드백
엔코더는 모터의 회전 각도와 속도를 측정하는 장치입니다. 엔코더를 사용하여 모터의 속도 및 방향을 정확하게 측정할 수 있습니다. 이 정보를 사용하여 모터의 속도 및 방향을 제어할 수 있습니다.
- 모터 드라이버는 dc나 bldc 등 다양한 모터에 맞추어 제작이 된다.
- H 브릿지라는 구조가 드라이버 회로에 내장되어 있는 모터 드라이버의 경우 H 브릿지에는 모스펫(트랜지스터라고도 함)이라고 불리는 소자가 사용되는데, 이 소자의 경우 마이크로 컨트롤러(아두이노, 아트메가 시리즈 등)의 출력핀에서 나오는 신호를 넣어줘서 직접 제어할 수 있다.
흔히들 비유를 할 때 모스펫을 '전기가 통하는 문'을 닫아 흐를 수 없게 한다는 식으로 비유하곤 한다.
한마디로 모터 드라이버를 사용하면 MCU를 통해 모터를 자유자제로 제어할 수 있다는 것을 의미한다.
모터의 속도뿐 만 아니라 방향까지도 제어할 수 있고, 나아가서는 엔코더 등을 사용하여 pid 제어기 등을 구성해 서보 제어나 속도 제어 및 토크 제어까지 가능하다.
* pid 제어기
PID 제어기는 Proportional-Integral-Derivative Controller의 약자로, 시스템의 특정 변수(예: 위치, 속도, 압력 등)를 원하는 목표치로 유지하거나 조절하기 위해 사용되는 피드백 제어 시스템의 하나입니다. PID 제어기는 현재 상태와 목표 상태의 차이를 계산하고 이 차이에 비례하는 피드백 값을 계산합니다. 이 피드백 값은 시스템에 가해지는 제어 입력으로 사용됩니다. 제어 기능의 세 가지 요소 중 하나 또는 그 이상을 사용하여 제어 성능을 조절할 수 있습니다. 제어기가 시스템의 응답을 모니터링하고 목표치에 도달할 때까지 제어 입력을 조절하여 시스템을 안정화시키는 것이 목표입니다. PID 제어기는 다양한 분야에서 사용되며, 자동차의 속도 제어, 로봇 팔의 위치 제어 등 다양한 응용 분야에서 적용됩니다.
ros에서 모터를 제어하는 방식
검색해보니 다음과 같다고 한다.
첫번째 방법
ROS Node(twist topic publish) <- rosserial-> MCU ( twist msg subscribe 엑추에이터 제어 코드 PID 등 그 외) <- ->모터 드라이버 <- -> 모터
두번째 방법
ROS Localplanner Node(twist topic publish) -> ROS Node (twist topic subscribe 엑추에이터 제어 코드 PID 등 그 외) <- RS485, RS232 CAN-> 모터 컨트롤러 <- -> 모터
-
'Projects > 실내 자율 주행 로봇' 카테고리의 다른 글
프로젝트 일지 5. IMU 센서 (2) | 2023.03.11 |
---|---|
프로젝트 일지 4. 모터 드라이버 선정 (0) | 2023.03.09 |
프로젝트 일지 3. 모터 구매 (0) | 2023.03.07 |
프로젝트 일지 1. 실내 자율 주행에 대한 이해. (0) | 2023.03.05 |