코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2017-10-27 13:27:11
안녕하십니까? Klant입니다 :)
요즘은 아침 저녁으로 날씨가 꽤나 쌀쌀해졌네요.
이런 날일수록 감기 조심 아시죠?
이번에 소개드릴 프로젝트는 Self-Balancing-Robot입니다!
말 그대로 스스로(Self) 균형을 잡는(Balancing) 로봇(Robot)입니다.
우연히 프로젝트를 구글링하다 접한 프로젝트인데요!
마침 주변에 부품들이 있어 뚝딱 만들어보았습니다.
보통 자세 제어 사용되는 알고리즘은 PID로서 드론이나 세그웨이에 많이 활동되고 있는 제어 기술입니다.
아직 PID 제어에 대하 생소하시구요? 사실 문과(저는 전공이 디자인이랍니다)생인 저도 마찮가지로 아직도 어렵고 생소한 개념입니다.
다행이도 수박쨈님께서 친절히 설명해주신 포스트가 있더라구요 :)
해당 포스트의 내용을 통해 PID 제어의 개념을 알아보도록 할게요!
밸런싱봇은 자이로 센서를 통해 측정된 값을 바탕으로 DC모터의 방향과 속도를 제어해 균형을 잡는 로봇입니다.
즉 원하는 균형 값을 잡아주기 위해 사용되는 것이 바로 PID 제어기입니다.
다양한 밸런싱 봇 프로젝트를 보도록 할까요?
동영상에 나와있는 밸런싱봇은 거의 끝판왕이라고 볼 수 있는 퀄리티를 자랑하네요.
저렇게 동작하면 너무나도 환상적이겠지만, 천리길도 한걸음부터!!!
이번 포스팅에서는 가장 시작 단계의 의 밸런싱 봇에 대해서 소개드리고자 합니다.
- 밸런싱 로봇 만들어보기(2탄은 언제나오나요? 수박쨈님)
밸런싱봇을 제작하기 위해 필요한 부품은 아래와 같습니다.
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