본문 바로가기

쓰기

밸런싱 로봇
2015.07.03 22:26

밸런싱 로봇 만들기 - 1. 하드웨어 구성

조회 수 2692
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요? 오늘부터 "밸런싱로봇 만들기"를 포스팅할 P.M.한종인 입니다.

밸런싱 로봇 하드웨어를 제작하기 위해서는 다음과 같은 몇 가지 준비물이 필요합니다.


준비물 : 부품,  회로도, 인두, 땜납,  테프론 래핑 와이어(얇은 배선용 전선), 일반전선, 멀티미터 

(그 외 필수는 아니지만 바이스, 와이어 스트리퍼, 페이스트,파워서플라이 등이 있으면 편리합니다.)


부품과 회로도는 인셔너트 운영자님이 제공하였으며, 자료실에 올려놨으니 아래 링크로 가셔서 다운받아 보시면 됩니다.

부품 링크 : http://enssionaut.com/xe/board_data/925

회로도 링크 : http://enssionaut.com/xe/board_data/922


 준비물이 다 갖추어졌으면 이제 PCB판에 부품을 배치해야 합니다. 회로도를 보시면 크게 1. 전원부  2. AVR 3. 모터 드라이버 4. 크리스탈 오실레이터 로 구성되어 있는 것을 보실 수 있습니다. 전원부는 12V 건전지로(리튬 폴리머 3셀 11.1V 또는 리튬인산철 4셀 12.8V)부터 전원을 공급받아 5V로 다운시켜주도록 구성되어 있으며 이렇게 하는 이유는 보다 안정적으로 5V를 공급받기 위함입니다. 그리고 크리스탈 오실레이터는 스위치를 누를 때마다 인터럽트를 감지하여 밸런싱 로봇의 동작을 제어할 수 있도록 하기 위해서 구성하였습니다(사실 이 크리스탈 오실레이터는 인터럽트 사용 연습을 위해 추가한 부분입니다).


 아래 <사진 1>에서 가운데 쪽에 있는 빈 소켓이 AVR이 장착될 곳입니다. 부품들간 연결이 제일 많은것이 AVR이기 때문에 가운데에 배치하였으며, 사진상 왼쪽 인덕터와 캐패시터가 있는 부분이 전원부이고 오른쪽부분에 있는 것은 모터드라이버 입니다. 왼쪽 상단에 있는 6핀소켓은 컴퓨터에서 AVR로 코드를 다운로드 할 때 사용하게 될 AVR ISP mk2를 꽂을 소켓입니다. 가장 왼쪽에 위치한 세로 8핀짜리 소켓은 가속도센서(MPU-6050)자리 이고, 그 아래 스위치는 전원모드(12V 건전지 or 컴퓨터USB 5V)를 설정할 수 있는 스위치 입니다.


부품배치

<사진 1> 부품 배치모습

 위와 같이 부품 배치를 완료하였으면 PCB판을 뒤집어 열심히 납땜을 합니다. 아래 <사진 2>는 전원이 공급되는 VCC와 GND 일부를 연결한 중간단계 사진입니다. 많은 전류가 흐르는 곳은 굵은 전선을, 그렇지 않은 곳에는 얇은 전선을 사용하였습니다.


배선1

<사진 2>배선 중간단계 모습


 위의 단계에서 더하여 이제 신호선과 나머지 부분을 회로도에 나와있는 대로 납땜해 줍니다(납땜의 달인이 아니면 시간이 오래 걸리므로 인내심을 가지시고 하시길 바랍니다). 납땜이 잘 되었는지 확인하기 위해서 전원부를 먼저 납땜한 뒤 아래 <사진 3> 과 같이 12V를 흘려주어 5V가 제대로 출력되는지 멀티미터를 이용하여 확인해 줍니다.(저는 파워서플라이를 이용하여 12V를 흘려 주었지만, 장비가 없으신 분들은 완충된 12V 건전지를 이용하셔도 됩니다.)


전원부 테스트

<사진 3> 전원부 테스트


 위와 같이 전원부 구성이 잘 된것을 확인 하였으면 다음 단계로 넘어갑니다. 나머지 부분들을 회로도를 따라 납땜해 줍시다. 전선을 납땜하실 때에는 사진과 같이 직각으로 꺾어 주시면서 하시는 것이 나중에 납땜을 수정하거나 하실 때 훨씬 편리합니다. 이렇게 납땜을 다 하고 나면 다음 <사진 4> 과 같이 완성이 됩니다.


뒤확대

<사진4> 회로도대로 납땜을 완성한 사진


 위의 <사진 4>에 자세히 보시면 왼쪽에 모터까지 단 모습을 확인할 수 있습니다. 모터는 3mm렌치볼트와 너트를 이용해서 조립했으며, 모터 몸체 밑부분도 흔들리지 않도록 PCB판을 잘라 렌치볼트를 이용하여 고정했습니다. 완성된 밸런싱로봇의 모습은 아래 <사진 5>와 <사진 6>을 참고하세요.



앞

<사진 5> 완성된 밸런싱 로봇 하드웨어 전면부



뒤

<사진 6> 완성된 밸런싱 로봇 하드웨어 후면부


 이상으로 밸런싱 로봇 하드웨어 구성 포스팅을 마치겠습니다. 이제 남은것은 AVR내부에 밸런싱을 할 수 있도록 코딩을 하는 작업인데요,  다음 포스팅에서는 MPU-6050의 통신규격인 I2C통신을 통해 가속도센서와 통신을  해 보도록 하겠습니다.


감사합니다. 


  1. ROS(Robot Operating System) 개념과 활용 - 11. rosserial 알아보기

    ROS가 적용되는 시스템에선 연산을 위한 상위 제어기와 하드웨어 제어를 위한 하위 제어기가 각각의 역할을 수행하는 경우가 많습니다. 상위 제어기는 보통 PC나 OBC(One Board Computer)를 사용하게 되는데, 하위 제어기와 통신할 때 가장 흔하게 사용되는 ...
    Date2016.03.28 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views7539
    Read More
  2. ROS(Robot Operating System) 개념과 활용 - 10. CMakeLists.txt 파헤치기

    CMakeLists.txt는 빌드 설정에 관련된 매우 중요한 파일이지만 주석의 압박과 익숙하지 않은 사용법 때문에 매번 대충 작성했던 경험이 있습니다. 관련 가이드를 찾아 보니 생각보다 간단한 규칙으로 되어 있어서 다른 내용을 진행하기 전에 미리 짚고 넘어가...
    Date2016.03.05 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views8436
    Read More
  3. ROS(Robot Operating System) 개념과 활용 - 9. Dynamic reconfigure를 이용한 실시간 node parameter 업데이트

    오랜만의 ROS 강좌 업데이트입니다. 거의 반년 전 쯤에 해 보았던 내용이지만 이런 저런 바쁜 일들에 밀려 이제서야 업데이트를 하게 되었습니다. 본 코너인 ROS 개념과 활용에서는 나머지 기본적인 내용들을 다루고 최종적으로 간단한 제어 예제까지 수행할 ...
    Date2016.02.24 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views3852
    Read More
  4. 밸런싱 로봇 만들기 - 2. I2C로 IMU(MPU 6050)와 통신하기

    이번 포스팅은 밸런싱 로봇에서 사용하는 유일한 센서인 IMU(Inertial Measurement Unit) - MPU6050과의 통신에 대한 것입니다. 준비물 : 앞의 포스팅에서 만든 하드웨어, 컴퓨터와 UART통신을 하기 위한 UART통신모듈(테스트용), CodeVision AVR 센서와 통신...
    Date2015.08.16 Category밸런싱 로봇 By한종인 Views4087
    Read More
  5. ROS(Robot Operating System) 개념과 활용 - 8. roslaunch 사용과 launch 파일 작성하기

    저번에 USB 카메라를 이용하면서 usb_cam-test.launch 파일을 실행시켜 보았습니다. usb_cam-test.launch 파일을 실행시키면 USB 카메라와 직접적으로 상호작용하는 '/usb_cam' 노드와 '/usb_cam/image_raw' 토픽을 받아 화면에 출력하는 '/image_view' 노드...
    Date2015.08.13 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views17572
    Read More
  6. ROS(Robot Operating System) 개념과 활용 - 7. USB 카메라 사용하기

    ROS는 여러 가지 이미지 관련 패키지를 제공하고 있습니다. 특히 OpenCV 연동 기능을 제공하기 때문에 다양한 영상 처리 알고리즘을 적용할 수 있다는 장점이 있습니다. 이미지와 영상을 얻기 위해서는 이미지를 얻는 센서가 필요한데, ROS가 주로 PC나 SBC ...
    Date2015.08.09 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views6775
    Read More
  7. ROS(Robot Operating System) 개념과 활용 - 6. rqt를 이용한 데이터 모니터링

    ROS는 로봇으로부터 얻을 수 있는 데이터를 쉽게 확인하고 관리할 수 있도록 rqt라고 하는 모니터링 도구를 제공합니다. rqt는 GUI 개발에 쓰이는 Qt framework 기반의 ROS software framework입니다. rqt는 우리가 지금까지 노드간 관계를 확인할 때 써 오던...
    Date2015.08.08 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views7049
    Read More
  8. ROS(Robot Operating System) 개념과 활용 - 5. 바닥부터 node 작성하기

    지금까지는 기존에 있던 패키지 노드를 수정하여 사용해 왔습니다. 이번에는 노드를 아예 처음부터 새로 작성하는 법에 대해 알아보겠습니다. 또한 노드 내부에서 사용되는 ROS의 기본 구조에 대해서도 간략히 짚고 넘어가도록 하겠습니다. 노드 작성법을 간...
    Date2015.07.26 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views33230
    Read More
  9. ROS(Robot Operating System) 개념과 활용 - 4. ROS node를 이용하여 direct serial 통신하기

    ROS 노드들은 TCP/IP 프로토콜의 메시지 통신을 기반으로 데이터를 주고 받습니다. 하지만 대다수의 센서들과 MCU의 통신은 일반적인 serial 프로토콜을 이용해 통신을 하는 경우가 많습니다. 여러 용도로 편리하게 사용되는 UART 통신 또한 그러한 방식입니...
    Date2015.07.07 CategoryROS(Robot Operating System) 개념과 활용 By박정현 Views10403
    Read More
  10. 밸런싱 로봇 만들기 - 1. 하드웨어 구성

    안녕하세요? 오늘부터 "밸런싱로봇 만들기"를 포스팅할 P.M.한종인 입니다. 밸런싱 로봇 하드웨어를 제작하기 위해서는 다음과 같은 몇 가지 준비물이 필요합니다. 준비물 : 부품, 회로도, 인두, 땜납, 테프론 래핑 와이어(얇은 배선용 전선), 일반전선, 멀티...
    Date2015.07.03 Category밸런싱 로봇 By한종인 Views2692
    Read More
Board Pagination Prev 1 2 Next
/ 2