December 22, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[32호]밸런싱로봇을 활용한 펭귄로봇인형

ict main2-01

2015 ICT 융합 프로젝트 공모전 참가상

밸런싱로봇을 활용한 펭귄로봇인형

글 | 가천대학교 정현우

심사평

JK전자 작품을 구현하면서 가속도, 자이로 센서의 사용법을 익히고 디테일한 모터 제어를 경험한 것으로 만족을 해도 좋을 것 같다.

뉴티씨 학부 과정에서 다루기 매우 어려운 주제를 선택하였고, 2륜 구동을 위한 기술적인 완성도 뿐 아니라 작품 자체의 완성도도 높다. 그러나 현재 비슷한 기술을 이용한 개인용 레포츠 용품 등으로 많이 발표되고 있어서, 향후 모터 같은 부분들을 변경하고 토크 등을 감안하여 설계하면 이 팀은 이런 부분들도 만들거나 사업화 할 수 있을 것으로 기대된다.

칩센 밸런싱로봇을 활용한 펭귄로봇인형은 이미 시중에 보다 진보하고 저렴한 가격의 로봇인형들이 존제한다. 기존 제품들과의 특별한 차별성을 찾아볼 수 없고, 기술적으로는 밸런싱로봇에 인형옷을 입히는 아이디어는 가산점을 줄 수 있는 요인이 있기는 하다. 결론적으로는 상품성이 많이 부족해 보이는 제품이다.

위드로봇 모터 제어기, 센서 처리를 위한 필터 설계를 직접 수행한 작품으로 기술적 난이도가 높은 부분을 구현한 작품으로 보인다. 단, 보고서에는 어떻게 만들었는가는 잘 설명되었지만 왜 만들었는가는 ‘아이와 인형간의 간단한 인터랙션을 구현하여 공학적 호기심을 자극’한다고 되어 있는 점을 감안하면 그 목적을 달성하기는 어려워보인다. 대학생의 공학 실습이 목표가 아니라 유아나 어린이를 위한 제품이었다면 좀 더 창의력을 발휘하여 호기심을 자극할 수 있는 기능이 들어가 있으면 좋을 것 같다. 예를 들면, 펭귄 로봇이 넘어지더라도 스스로 일어서는 기능 같은 것이 대표적인 예가 될 것이다. 실제 밸런싱 로봇 중에 이러한 기능을 구현하여 완구로 판매되고 있는 제품이 있다.

개 요
· 관성항법장치의 데이터에 의해 엑추에이터를 구동하여 2개의 바퀴로 직립하는 자세 제어 알고리즘 구현
· 아이와 인형간의 간단한 인터랙션을 구현하여 아이들의 공학적 호기심을 자극, 창의력 발달에 도움

작품 설명
본 작품은 ‘로봇만들기’ 스터디모임의 ‘Two Wheeled Self Balancing Robot’ 제작 프로젝트입니다. 이 프로젝트를 진행하며 공부한 내용은 크게 3가지입니다.

(1) 자세제어를 위한 3축 가속도 센서와 3축 자이로 센서에 대한 이론과 실험
(2) 관성항법장치와 엔코더 데이터에 따른 액추에이터 PID제어
(3) 블루투스를 사용한 무선 시리얼 통신

밸런싱 로봇을 완성한 후 어떻게 응용할 것인지에 고민하다가 이 프로젝트를 완성시킬 수 있었던 동기에 대해 생각해봤습니다. 어릴 적 스스로 움직이는 로봇을 보며 공학에 관심을 갖게 되었고, 전자공학도가 되었습니다. 호기심, 탐구심을 갖고 엔지니어가 되길 꿈꾸던 모습을 잊지 않고 앞으로 창의적인 공학자가 되기를 바라는 마음에서 이 작품을 만들었습니다.

주요 동작 및 특징
1. 로봇은 두 바퀴로 평형 자세 유지
2. 로봇과 조종기간의 무선통신으로 신호 전송
3. 멜로디 재생

전체 시스템 구성
· 하드웨어

32 ICT 정현우 (1)

· 동작 알고리즘

32 ICT 정현우 (2)

· 인터페이스

32 ICT 정현우 (3)

- 시리얼 통신 (블루투스)
- 흔들림(틸팅 센서) 감지 시 신호 전송

 

· 조종기 시스템 구성
- MCU와 롤링 볼 틸팅 센서, 블루투스로 이루어져 있습니다.
- 조종기가 흔들리면 센서로 감지하여 조종기가 흔들렸음을 로봇으로 알립니다. 센서 동작하면 MCU는 외부 인터럽트를 발생시키고 로봇으로 특정 문자를 전송합니다.

 

· 로봇 시스템 구성
- 3개의 센서(IMU, 엔코더, 압력센서)와 스피커, 모터, 블루투스로 이루어져 있으며 다음과 같은 동작을 합니다.

(1) IMU 데이터로 각도 계산, 칼만필터로 융합 보정 후, 계산된 정교한 각도에 의해 평행 자세 유지
(2) 엔코더에 의해 바퀴의 가속도를 감지하고 PID제어를 통해 정교한 바퀴 제어
(3) 조종기로부터 신호를 받으면 일정 시간 동안 제자리에서 회전 주행
(4) 압력센서로부터 신호 받으면 일정 시간 동안 멜로디를 재생

개발 환경

개발 언어 C언어
TOOL 소스 코딩 AVR studio4
Code Vision AVR 2.03.4 Standard
센서 데이터 확인 Excel
FACTOCOM Terminal V1.56
회로 설계 Eagle CAD 7.2.0

 

단계별 제작 과정

· 총 제작 기간 : 14.01.20 ~ 14.04.25

32 ICT 정현우 (4)

부품 선정

밸런싱 로봇

· MCU : ATmega128A-AU
· 자이로/가속도 센서 : MPU-6050 (센서 모듈)
· 모터 드라이브 : IC L298
· 기어드 모터(엔코더 결합형) : 12V, 감속비1:27, 무부하RPM270
· 블루투스 모듈 : HC-06
· 압력센서 : FSR-402
· 멜로디 IC

- 자이로/가속도 센서 : 중요한 역할을 하므로 밸런싱 로봇을 구현하기에 충분한 성능이면서도 오픈된 자료가 많아서 학습에 용이한 모듈로 선정했습니다.
- 기어드 모터 : 초기 선정했던 모터는 1:6 감속비였습니다. 실험 중 일시적으로 모터 전류소모량이 모터드라이브 IC의 최대 허용 전류량을 초과하는 현상이 발생하고 감속기어 톱니가 깨지는 문제점이 생겼습니다. 원인은 모터 토크에 비해 (1)로봇의 중량과 바퀴지름이 크다 (2)빠른 정/역회전 전환시 부하 급증이었습니다. 따라서 감속비 1:27인 모터로 교체해 문제를 해결했습니다.

조종기
· MCU : ATmega8L (Dip type)
· 블루투스 모듈 : HC-05
· 롤링 볼 틸팅 스위치
- 롤링 볼 틸팅 스위치 : 조종기는 아이들이 로봇을 쉽게 조종할 수 있도록 ‘딸랑이’와 같이 구현하기 위해 이 센서를 사용했습니다.

하드웨어 및 프레임 제작
1. 허브 (바퀴 – 모터 볼트 체결 / 드릴링) 시제품을 살 수도 있었지만 제작비용 줄이기 위해 수작업

32 ICT 정현우 (5)

32 ICT 정현우 (6)

32 ICT 정현우 (7)

2. 프레임 및 모터 브라켓 초기에는 케이블타이로 모터를 고정시켰지만 내구성이 부족해서 3D프린터로 제작 / ABS재질

32 ICT 정현우 (8)

32 ICT 정현우 (9)

32 ICT 정현우 (10) 32 ICT 정현우 (11) 32 ICT 정현우 (12)

3. 모터 드라이브 모듈 (납땜)

32 ICT 정현우 (13)

32 ICT 정현우 (14)

4. 센서 및 모듈 배선 (납땜)

32 ICT 정현우 (15)

 

32 ICT 정현우 (16)

5. 조종기 (납땜 제작 후 글루건으로 코팅)

32 ICT 정현우 (17) 32 ICT 정현우 (19) 32 ICT 정현우 (18)

6. 최종 완성 (인형 내부에 로봇 및 조종기 / 바느질)

32 ICT 정현우 (20) 32 ICT 정현우 (21) 32 ICT 정현우 (22)

자이로 / 가속도 센서 실험
32 ICT 정현우 (23)  

· 3축 각속도와 가속도가 의미하는 바는 왼쪽 그림과 같으며, 밸런싱 로봇의 자세 제어를 위해서는 1축( x 축)제어가 필요합니다.
· 자이로 센서는 적분 ( 32 ICT 정현우 (24))을 통해서,
가속도 센서는 삼각함수(32 ICT 정현우 (25) ) 를 통해서 각도를 산출할 수 있습니다.
· 각속도센서 – 적분상수에 의해 누적 오차 발생.

 

32 ICT 정현우 (26)

· 가속도센서 – 진동(외란)에 취약.

32 ICT 정현우 (28)

· 각 속도, 가속도 센서에 의해 각각 계산된 각도를 칼만필터를 통해 보정.
· 두 개 센서 각각의 단점인 누적오차를 없애고 진동에 의한 노이즈 감소.

32 ICT 정현우 (27)

DC모터, 엔코더 실험

· 산출된 각도에 의한 PWM을 발생시키고 모터드라이브 회로를 통해 모터 구동

32 ICT 정현우 (29) 32 ICT 정현우 (30)

32 ICT 정현우 (31)

· MCU에서 L298의 이네이블 단자로 PWM출력하여 모터 속도 제어.
· MCU에서 L298의 INPUT 단자로 IO신호 출력하여 모터 방향 제어.
· 역방향 다이오드 : 역기전력으로 인한 IC파괴 방지
· 엔코더 A, B channel 출력 신호

시리얼통신 실험

32 ICT 정현우 (32)
· 브레드보드에 임시로 수신회로 구성, 조종기로부터 신호 오면 LED로 확인.

압력센서, 멜로디IC 실험

32 ICT 정현우 (33) 32 ICT 정현우 (34)
· 저항분배에 따라 ADC단자 전압 변함.
· MCU에서 멜로디 IC 인풋단자로 IO신호 출력.
· 압력센서 ADC값이 일정 수준 이하로 내려가면 일정 시간 동안 멜로디 IC 동작.

회로도

· 펭귄로봇

32 ICT 정현우 (35)

· 조종기

32 ICT 정현우 (36)

 

 

참고 자료
· ATmega128 Datasheet, http://www.alldatasheet.co.kr/.
· ATmega8 Datasheet, http://www.alldatasheet.co.kr/.
· L298 Datasheet, http://www.alldatasheet.co.kr/
· MPU-6050모듈 제품 매뉴얼.
· [11호]왜 두 개의 센서를 융합하는가? (Posted by 디바이스마트 매거진 on Saturday, February 25, 2012)
· 칼만필터의 이해(MATLAB활용), 김성필 저, [도서출판 아진].
· AVR ATmega128 마이크로컨트롤러 프로그래밍과 인터페이싱, 이응혁/장문석/장영건 저, [ITC].
· 네이버카페 ‘전자공작’, http://cafe.naver.com/circuitsmanual.
· 블로그스팟, http://davidegironi.blogspot.kr/2013/02/avr-atmega-mpu6050-gyroscope- and.html#!/2013/02/avr-atmega-mpu6050-gyroscope-and.html.
· http://thetechnicalbrain.com/electronics/elec_pid.php

 

 

Leave A Comment

*