검색하기

장애물 회피 로봇

2018-09-21

 

  • 모터제어를 이용한 로봇 

모터는 바퀴나 팔, 다리 등 움직이는 장치를 구현하기 위해 필수적인 부품이다. 모터는 움직임을 직접 만들 수 있는 하드웨어나 형태, 성능 등에 따라 그 종류가 다양하다. 모터의 응용분야는 가전기기와 의료장비, 자동차, 산업체의 자동화기기 등 우리가 사용하고 있는 거의 모든 일상 및 산업분야에서 넓게 활용이 되고 있으므로 이러한 기술을 익힌다는 것은 향후 응용되어질 수 있는 로봇이나 드론 플랫폼을 만드는 데 있어 무척 용이하고 다양하게 활용될 수 있다. 모터 제어에 있어 아두이노에서는 DC모터와 스테핑 모터, 서보 모터 등이 흔히 사용되고 있다. 이 모터들 중 이번 장에서는 DC모터를 이용하여 모터의 원리 및 작동방법을 익히게 될 것이다. 모터제어를 이용한 다양한 형태의 로봇을 직접 만들어봄으로써 아두이노 및 라두이노의 활용방법을 높여줄 모터제어 기술을 익혀보고, 상상력과 창의력, 그리고 기술이 융·복합된 로봇을 만들어보자. 

  • 장애물 회피 로봇

과거에는 고정된 형태에서 단순히 반복 작업을 하는 로봇이 주를 이뤘다면, 최근에는 기술이 발전됨에 따라 고정된 로봇에서 조금 더 진화한 형태의 이동이나 움직임이 가능한 로봇들까지 만들 수 있게 되었다. 이러한 로봇들은 우리 생활이 조금 더 편리해지고 나아지도록 도움 줄 수 있다. 사람이 손을 대지 않아도 버튼만 누르면 스스로 작동하는 ‘로봇 청소기’나 상용화되진 않았지만 가까운 미래에는 운전자 없이도 운전이 가능한 ‘무인자동차’와 같은 기술이 장애물 회피 주행 기술과 관련이 깊다. 아두이노를 접해본 사람이라면 누구나 갖고 있을법한 단순한 준비물만으로도 쉽게 만들 수 있는 장애물 회피 로봇에 초음파, 적외선 센서를 동시 이용해 보다 더 정확하고 정밀한 회피가 가능한 로봇을 만들어보자. 

  • DC모터란

 

모터는 전기 에너지를 물체로 이동시킬 수 있는 힘으로 변환시킨다. 우리가 이용할 DC모터는 휴대용 가전기기에 많이 사용되며, 직류전압을 사용하는 모터로 속도 및 방향 제어 등을 쉽게 구현할 수 있어 모형 자동차, 무선 조종용 장난감 등을 비롯해 여러 방면에서 가장 널리 사용되고 있는 모터이다. DC모터는 저렴한 가격에 전력 소비가 낮은 편이고 속도제어가 세밀하게 가능하다는 장점이 있지만 AC 모터보다 수명이 짧고, 힘이 약하다는 단점이 있다. 


[ DC기어드모터 - TT모터 ]


 강한 자기 간섭 방지 기능 2축 기어 모터

 감속비

 1:48

 작동 전압

 3V ~ 6V

 언로드 전류

 200mA @ 6V, 150mA @ 3V

 언로드 속도 

200 ± 10 % RPM @ 6V, 90 ± 10 % RPM @ 3V

 

▲ DC 기어드 모터 - TT모터의 사양  

 

DC모터는 작동법이 무척이나 간단하다. DC모터에는 2개의 단자가 있다. 모터의 단자 (+), (-)부분에 각각 전지를 연결해 전원을 입력할 때 모터가 작동한다. DC모터는 극이 없으며, 전원을 반대로 연결할 경우 반대로 회전하는 성질을 갖는다. 

 

ortEmptyParas]__>;;;;;;;;;

▲ 라두이노-TT모터 작동제어 원리

 

또한 입력되는 전원(전압)의 크기에 따라 회전수와 힘이 조절된다. , DC모터의 전원과 회전수 및 힘은 비례하다

 

 

  • 모터 드라이버란

 

보다 복잡한 DC모터 제어를 위해서는 DC모터 드라이버가 꼭 필요하다. 모터 드라이버는 모터의 속도와 정방향, 역방향 회전 등을 아두이노의 프로그래밍을 통해 제어할 수 있다. 모터드라이버는 DC모터를 쉽게 제어할 수 있도록 돕는다. 단순히, 아두이노 회로만으로는 DC모터에 충분한 전류의 양을 공급할 수 없고, 전류의 제어가 어렵고 복잡하기 때문이다. 하나의 모터 드라이버에는 모터를 제어하기 위한 H브릿지라는 칩이 있다.

한 개의 모터만 제어한다면 디지털 핀에 바로 연결해서 제어를 할 수 있겠지만 여러 개의 모터를 상황에 따라서 움직이게 하려면 모터 드라이버가 꼭 있어야 하고 그 원리를 알고 있어야 다양한 분야에서 사용이 가능하다



▲ 모터 드라이버 


모터는 마이크로컨트롤러가 허용하는 전류보다 전류를 더 많이 사용하기 때문에 모터 드라이버를 이용해 모터가 잘 작동할 수 있도록 도와준다.

 

 Double H bridge Drive

 Logical Voltage

 5V

 Drive Voltage

 5V ? 35V

 Logical current 

 0mA ? 36mA

 Drive current 

 2A(MAX single bridge)

 Max power 

 25W

▲ 모터드라이버 사양 

 

우리가 사용하는 모터드라이버의 경우 2개의 DC모터를 제어할 수 있으며, 순간 3A, 지속 2A의 전류제어가 가능하다.


 

  • PWM 제어란

 

PWM은 펄스폭(PWM : Pulse Width Modulation) 변조란 프로세서의 디지털 출력으로 아날로그 회로를 제어하는 기법으로, 계측과 통신에서 전력제어와 전력 변환에 이르기까지 광범위한 영역에서 사용되고 있다.


PWM은 아날로그 신호를 디지털화 하여 인코딩 하는 방법이다. PWM 제어는 펄스의 폭을 조정해 부하에 전력의 크기를 조절하는 것이다. 보통 내장된 타이머카운터를 이용한다. PWM 제어는 기존 구조에서 많은 변화를 주지 않더라도, 프로그래밍만을 통해 손쉽게 제어가 가능하며, 저항회로를 설치하지 않아도 전압이나 전류를 분배해줄 수 있기 때문에 더 나은 효율을 기대할 수 있다.


아날로그 펄스는 디지털 신호의 듀티빌을 조절하여 유사한 아날로그 파형(정형파)을 구현한다. 이렇게 듀티빌을 조절하여 디지털 파형의 폭을 제어하는 기법이 PWM제어이다. 위 그림의 듀티비에 따른 디지털 파형은 전압레벨의 차이를 보이는데 듀티 비 10%일 때는 전체출력의 10%의 전압이 출력되고, 듀티 비가 100%일 때는 최대 출력전압이 된다.


따라서, PWM 신호를 이용해 전압을 조절하여 DC모터 전압의 속도를 제어할 수 있게 된다.

 

 



  

 

▲PWM 작동원리


PWM 신호는 측정 및 제어 어플리케이션 등 다방면에 사용된다. 특히, DC모터제어에 많이 쓰이고 펌프제어와 역학제어, 다른 기계분야에서도 사용되고 있다

 

 

  • DC 모터 제어 예제 

 

DC모터는 모터를 쉽게 제어하기 위해 모터드라이버와 함께 쓰인다. DC모터의 특성으로는 기동토크가 크며, 인가전압에 대해 회전특성이 직선적으로 비례하고, 입력전류에 대해 출력 토크가 직선적으로 비례하다.

모터드라이버를 쓰면 입출력만으로 모터를 역, 정방향을 조절할 수 있다. 모터는 기본적으로 PWM으로 속도를 제어한다. 이번 DC모터 제어예제를 통해 모터드라이버를 이용해 모터의 방향을 조절해보고, PWM의 원리에 대해 정확히 익혀두자.

 

모터는 전기 에너지를 회전운동의 기계적 에너지로 변환해주는 장치이다. 우리 주변에서도 사용하고 있는 가전제품, 자동차 등 이미 수많은 분야에 모터가 사용되고 있음을 알 수 있다.


 

  •  모터의 종류

 

DC 모터 : 축이 연속적으로 회전하는 형태의 모터로 전원이 끊어지는 경우에만 정지한다. 정지 시 관성 때문에 정확한 정지 위치를 지정하기 어렵다. 전류는 전원으로부터 브러시를 통해 정류자를 거쳐 영구자석 사이에 있는 코일(도선)로 흐른다. 이때, 플레밍의 왼손 법칙에 의해 코일에 작용하는 힘이 코일을 회전시킨다.


스텝 모터 : 스텝 모터는 일정한 각도만큼 움직이는 펄스 신호를 보내서 작동시키는 모터이다. 펄스 신호를 발생시키기 위해 전용 모터 드라이브가 필요하지만 디지털 신호로 제어할 수 있기 때문에 정밀한 위치 제어가 가능하다. 이 모터에는 고유의 분할 각도가 존재하여 이 분할 각도에 의해 제어된다.


RC 서보 모터 : DC 모터의 한 종류로, DC 모터에 귀환 회로를 추가해 정확한 위치 제어가 가능하도록 구성된 모터다. 귀환 제어를 통해 정밀 제어가 가능하고 오동작을 수정할 수 있다. RC 서보 모터는 모터와 각도센서, 서보 제어를 합해서 사용이 용이하도록 만들어진 시스템이다

 

준비물 : 라두이노, 모터 드라이버, TT모터 2

 

 

  • 회로도

 

 


 

 



스케치 코드 

 

 


 

 


 

 

장애물 회피로봇 예제_회로도 

 

 

 

 

장애물 회피 로봇 소스코드 보러가기 http://raduino.tistory.com/33
장애물 회피 로봇 소스코드 다운로드