프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

흔들 흔들! 혼자서 중심을 잡는 밸런싱 로봇을 만들어 보자!!

2017-10-27 13:27:11

개요

 

안녕하십니까? Klant입니다 :)

요즘은 아침 저녁으로 날씨가 꽤나 쌀쌀해졌네요. 

이런 날일수록 감기 조심 아시죠?

 

이번에 소개드릴 프로젝트는 Self-Balancing-Robot입니다!

말 그대로 스스로(Self) 균형을 잡는(Balancing) 로봇(Robot)입니다. 

 

우연히 프로젝트를 구글링하다 접한 프로젝트인데요!

마침 주변에 부품들이 있어 뚝딱 만들어보았습니다. 

 

보통 자세 제어 사용되는 알고리즘은 PID로서 드론이나 세그웨이에 많이 활동되고 있는 제어 기술입니다. 

아직 PID 제어에 대하 생소하시구요? 사실 문과(저는 전공이 디자인이랍니다)생인 저도 마찮가지로 아직도 어렵고 생소한 개념입니다. 

 

다행이도 수박쨈님께서 친절히 설명해주신 포스트가 있더라구요 :)

해당 포스트의 내용을 통해 PID 제어의 개념을 알아보도록 할게요!

 

PID 제어 알아보기

 

밸런싱봇은 자이로 센서를 통해 측정된 값을 바탕으로 DC모터의 방향과 속도를 제어해 균형을 잡는 로봇입니다. 

즉 원하는 균형 값을 잡아주기 위해 사용되는 것이 바로 PID 제어기입니다. 

 

다양한 밸런싱 봇 프로젝트를 보도록 할까요?

 

 

동영상에 나와있는 밸런싱봇은 거의 끝판왕이라고 볼 수 있는 퀄리티를 자랑하네요.

저렇게 동작하면 너무나도 환상적이겠지만, 천리길도 한걸음부터!!!

 

이번 포스팅에서는 가장 시작 단계의 의 밸런싱 봇에 대해서 소개드리고자 합니다. 

 

 

 

 

 

 

관련 프로젝트 및 튜토리얼

 

밸런싱 로봇 만들어보기(2탄은 언제나오나요? 수박쨈님)

PID 제어로 공의 균형 잡기 프로젝트 1탄

PID 제어로 공의 균형 잡기 프로젝트 2탄

PID 제어로 공의 균형 잡기 프로젝트 3탄

자이로센서 사용하기 

 

 

 

 

 

부품 목록

 

밸런싱봇을 제작하기 위해 필요한 부품은 아래와 같습니다. 

 

NO 부품명 수량 상세설명
1 오렌지보드 나노 1 아두이노 나노
2 자이로센서 1 MPU-6050
3 모터드라이버 1 L298N
4 모터 2 기어 박스 모터
5 9V 배터리 및 배터리 홀더 1  
6 1.5V * 4 배터리 및 배터리 홀더 1  
7 브레드보드 1  
8 점퍼케이블 10개 이상  

 

부품명 오렌지보드 자이로센서 모터드라이버 모터
부품 사진

 

 

 

 

 

 

작동 원리

 

위에서 언급한 바와 같이 자이로 센서의 기울기에 따라 모터의 속도와 방향을 제어해 자이로 센서에서 측정되는 균형 값에 최대한 가깝게 맞춰가는 원리입니다. 

 

 

 

 

 

 

 

소스 코드 다운로드 

 

아래 링크를 통해 소스 코드를 다운로드 받아 테스트해보면 됩니다. 

소스 코드 다운로드 링크 : https://github.com/kurimawxx00/arduino-self-balancing-robot

 

 

위 사진과 같이 이미 라이브러리를 아두이노 소스 코드와 같은 디렉토리에 구성해놓았기 때문에 

별도의 라이브러리를 설치하지 않으셔도 됩니다. 

 

* 주의 : ino 파일을 클릭하면 자동으로 폴더가 생성됩니다. cpp파일과 h파일을 자동으로 생성된 폴더 안으로 이동시켜줘야 합니다. 

 

 

 

 

 

하드웨어 연결 

 

 

모터 드라이버 

ENA D5
IN1 D6
IN2 D7
IN3 D8
IN4 D9
ENB D10

 

 

자이로 센서 

VCC 5V
GND GND
SDA A4
ACL A5
INT D2

 

 

 

 

 

 

 

작동 영상

낑낑되면서 균형을 잡으려는 모습이 귀엽네요! 

여러분도 한 번 만들어보세요!!!

 

 

Klant

코코아팹,kocoafab,아두이노,arduino,오렌지보드,orangeboard,밸런싱,balancing,로봇,robot,프로젝트.project,튜토리얼,tutorial