밸런싱 로봇 (Balancing Robot) 만들기 연재
1. 동역학 구축 (1) [바로가기]
2. 동역학 구축 (2) [바로가기]
3. 동역학 구축 (3) [바로가기]
4. 기구부 구성 및 모터 파라미터 측정 [바로가기]
5. 제어기 설계 및 MATLAB을 이용한 시뮬레이션 [바로가기]
6. 밸런싱 로봇 만들기 [바로가기]



사실 항상 작업의 진도가 로봇 기구부를 먼저 만들지는 않고 아이디어만 생각한 다음 이것저것 따져도 보고 시뮬레이션도 해보고 합니다만, 이번에는 원래 한번 만들어 봤던 놈인데다, 요즘 재정적 상황이 아름답게 따라주지 않아서 원래 있던 기구부를 다시 재활용할 거라 기구부를 먼저 이야기 합니다...ㅠㅠ

음.. 전체 모습인데요. 보시면 아시겠지만, 배터리는 없습니다.. 그냥 외부에서 선 끌어와서 전원연결할려구요. 모니터링을 위해서 시리얼통신으로 PC와도 연결되어야해서 (무선을 생각을 안했네요^^) 뭐 선이 하나 나가나 두개 나가나 뭐 같은거니까요...ㅎㅎ 로봇의 전체 길이는 모터의 회전 중심부터 끝까지가 50cm입니다.




제일 윗부분에는 메인 컨트롤러로 리얼시스사에서 판매하는 DSP2812 묘듈이 장착되어있구요. 모터드라이버는 LMD18200T를 사용할 것입니다.

엔코더 두 개를 해석해야하는데 그건 DSP2812에서 해결되니 부가적인 해석 칩은 없구요. 전원(레귤레이터)단과 모터와 CPU단의 전원 분리를 위한 포토커플러가 장착되어있습니다.






밑판에는 로봇몸체의 기울어지는 각도를 측정하기 위한 자이로센서와 가속도센서가 장착되어 있는데요. 자이로센서는 InvenSence사의 IDG-300을 장착한 NT-Gyro300[관련자료]을 사용합니다. 가속도센서는 Freescale사의 MMA7260QT를 장착한 AM-3AXIS[관련자료]를 사용합니다.




모터의 보호를 위해 바퀴와 모터는 저렇게 기어로 연결되는데요. 문제는 저 기어가 그리 썩 좋은 애가 아니라 움직일 때 소리가 좀 납니다..ㅠㅠ


모터는 두개를 사용했습니다. 방향을 바꿀려고 두개를 쓴거면 참 좋겠는데... 하나를 쓰면 옆으로 넘어지니까요..ㅠㅠ 원래는 방향도 바꾸고 싶었는데 말이죠...^^ 모터는 Maxon사의 엔코더 내장형 모터입니다.



모터의 데이터시트는

이구요. 거기서 148867번 모터입니다. 모터에 있는 감속기어의 데이터시트는 

이구요. 번호는 203116입니다. 모터에 내장된 엔코더는의 데이터시트는


이구요. 번호는 225785입니다. 이렇게 해서 기구부 구성을 마쳤네요. 



바퀴의 반지름은 7.5cm입니다.
바퀴와 모터를 제외한 로봇 몸체의 무게는 0.858kg입니다.
바퀴와 모터를 합친 아랫부분의 무게는 3.744kg입니다.


http://pinkwink.kr/trackback/305 관련글 쓰기
  • 아서 2010/05/12 12:37

    제가 심하게 문외한이긴 하지만..
    사람 태우기엔 바퀴 넘 얇은 거 아닌가.. 하는 생각이..ㅋㅋ
    죄송해요.. 제 몸무게를 고려하면.. 저 바퀴로는 무리..;;;;

    • PinkWink 2010/05/12 13:08

      사람이 탈게 아니거든요..ㅎㅎ^^ 그냥 스몰사이즈(높이 50cm)로 간단히 이런 제어기의 설계가 가능하다는 것을 보이는 정도랍니다.^^

  • 핑구야 날자 2010/05/12 20:38

    대단하세요,,,, 대한민국의 위대한 인물이 되어주세요,..

    • 건뚱이 2010/05/12 21:27

      저도 그한가운데 있을껍니다.. ^^
      ㅎㅎ 이제 동영상을 올라 오겟네요..

    • PinkWink 2010/05/12 22:32

      핑구야날자님/ 헉.. 정말 위대해질까요???? 헉헉헉

    • PinkWink 2010/05/12 22:33

      푸하... 건뚱이도 저걸 만드는 팀원입니다.. ㅎㅎ

  • 대학생 2010/05/13 00:30

    졸작하는데 좀 도와주세요.. 초음파 센서로 거리측정하는 로봇만드려고하는데 .. 모르겠어요 ㅠ.ㅠ

    • PinkWink 2010/05/13 14:49

      글쎄요.. 제가 뭘 도와드려야하는지 잘 모르겠습니다만..ㅠㅠ

  • 학부생 2010/05/19 11:42

    안녕하세요 프로젝트진행중인 학생입니다.
    궁금한게 있어서요.
    atmega128 과 위와 같은 am_3axis를 이용해서 컨버팅값 뽑아내려는데요
    x축과z축 컨버팅 값으로 pitch값 뽑아내는데 값이 잘 안나와서요
    x값과z값에서 pitch값으로 변환 식을 좀 알수 있을까합니다.^.^

    • PinkWink 2010/05/19 11:48

      가속도센서를 이용한 각도측정을 말씀하시는 거라면
      http://pinkwink.kr/73 에 올려두었습니다.

  • 김현진 2010/07/04 20:06

    핑크윙크님 안녕하세요?
    눈팅만 하다가 글남기네요 ㅋ
    바퀴는 혹시 지덕산업에서 구입하신건가요?
    낱개로도 판매하는지 궁금합니다

    • PinkWink 2010/07/04 20:24

      사실.. 저 바퀴는 저희가 밸런싱로봇을 처음 만들었던 2006년인가 2007년에 처음 구입한건데 어디서 구입한건지 잘 모르겠습니다.ㅠㅠ

  • 김현진 2010/07/04 20:12

    아 그리구 맥슨모터 부럽네여 ㅠ_ㅠ
    한가지 또 궁금한 것은 사용하신 모터(150W급)를 LMD18200으로 구동하셨는데 LMD18200이 견뎌낼 수 있나요? (3A 급 모터드라이버)
    제가 잘 몰라서여 ㅠ_ㅠ
    모터 스펙의 스타팅 커런트가 무엇을 의미하는건지 여쭤봐도 될까요?

    • PinkWink 2010/07/04 20:28

      네.. 충분히 사용가능하던데요^^
      그리고, 저도 모터쪽은 잘 모르지만
      StartingCurrent라는 것이 기동전류로서 정지해있는 모터가 기동될때 필요한 것이라고 알고있는데... 말이죠...
      그것만 알고있습니다...ㅠㅠ
      아.. 그리고.. 이후 기구부를 바꾸면서 모터도 교체되어서 좀 저렴한 모터를 사용합니다.^^

    • 김현진 2010/07/04 20:38

      오 일요일 늦게까지 계시는군여 ㅠ
      고생이 많으십니다^^;
      혹시 정/역 회전시 생기는 누설전류를 빼주기 위한 회로를 부가적으로 사용하신건가영?
      아니면 순수히 LMD18200만 사용하신건가용?

    • PinkWink 2010/07/04 20:51

      아무 추가 회로없이 그저 모터드라이버(모터드라이버 데이터시트에서 추천하는 부가적 소자를 포함)만 사용했습니다.

    • 김현진 2010/07/04 20:58

      그렇군요;
      일전에 60W급 모터를 LMD18200을 이용해서 구동하다가 정/역 회전 전환시 드라이버가 타버리는 경험이 있어서 지레 겁먹었네영 ㅠ

    • PinkWink 2010/07/04 21:07

      네... LMD18200을 꽤 오래전부터 사용해오고 있는데, 별 문제가 없었습니다.

  • goldlightbv 2010/09/03 05:24

    사이트에서 구매한 기구부는 모터에 바퀴가 직접 연결 되어 있었는데
    기어공차 때문에 정밀 제어가 힘들기 때문이라 들었습니다.
    기어 사용시 백래쉬가 심한 편인가요?

    • PinkWink 2010/09/03 15:57

      이 모델의 경우 좀 소음이 시끄러울 정도로 기어가 안좋습니다.ㅠㅠ
      직접 만든것이다 보니...ㅠㅠ
      이 모델은 모터가 길어서 어쩔 수 없이 기어를 사용한 경우였습니다.
      뭐 제어하는데 어려움은 없었습니다.^^

  • mijong 2011/03/10 17:48

    자이로센서의 경우에는 ntgyro300으로 yaw를 조절하시고
    mygyro300spi는 가속도 센서와 결합해서 필터역활을 해야하는데
    어디다 붙이셧나요??

    • PinkWink 2011/03/10 18:21

      mijong님께 부탁을 하나 드려야겠군요. 제발 본문을 제대로 확인해주시길 바랍니다. 전 본문에 분명 자이로는 NT-Gyro300, 가속도 센서는 AM-3AXIS를 사용한다고 했고, 부착 위치는 사진까지 첨부한 상태입니다. myGyro300spi는 한때 자이로끼리의 비교를 위해 사용한 포스팅이있긴합니다만, 그건 다른 글입니다. 그리고 밸런싱로봇에서 자이로-가속도센서로 yaw를 검출하지 않습니다. yaw는 바퀴에 달린 엔코더를 읽어서 그 차이로 검출하고 있습니다.

  • mijong 2011/03/10 19:08

    ㅎㅎㅎ 너무 마음이 급해서요 ㅠㅠ 제가 먼가 착각 하고 질문올렷네요 ㅋ
    담부턴 내용을 잘확인 해야 겟네요 ;;;;

    • PinkWink 2011/03/10 19:10

      아닙니다. 제가 단 댓글을 다시 확인해보니.. 좀 여유로운 답변이 아니었네요. 제가 다 송구스럽습니다. 죄송합니다. 배가고프다고 생라면을 뜯어먹으면 (물론 간혹 생라면이 맛있긴 합니다만...) 충분히 배부르지 않을 수 있습니다. 공부하시는 내용을 차근차근히 이해하며 확인할 필요가 있다고 감히.. 조언은 아니고, 그냥.. 살짝 귀뜸을 드립니다.^^

  • 전자공학도 2012/02/18 12:15

    안녕하세요.
    예전 부터 쭉 구경만 하다 정말로 한 번 강좌를 보고 만들어볼 맘을 가지고 하려하는데, 로봇의 무게를 재야하는 부분에서 궁금증이 있습니다.
    아 그전에 이런 친절한 강좌글을 올려주셔서 정말 감사드립니다! ㅎㅎ
    본문에서 언급하신 로봇 파트의 무게들이 질량을 측정하기 위한 것 같습니다. 그런데 제가 주변에 마땅한 저울이 없는데 소수점 셋째 자리까지 측정할 수 있는 정밀한 저울로 무게를 측정해야하나요?
    (어찌보면 정밀할 수록 당연히 더 좋겠지만, 정밀 저울은 몹시 비싸서요..)

    • PinkWink 2012/02/18 12:49

      당시 저희도 저울이 없었습니다.
      그래서 학교 안에 구내 우체국에 가서
      빵긋 웃는 표정으로 양해를 구하고
      우체국 저울을 사용했습니다.^^

      그리고, 오차가 작을 수록 좋긴 하지만
      어차피 오차를 없앨 수는 없으니
      가용한 범위에서 무게를 측정하시고 사용하셔도 될 겁니다.
      설마 1kg단위는 아니실테니... 말이죠^^

    • 전자공학도 2012/02/18 21:22

      아아!!! 우체국 저울!!
      저는 저울을 살 생각만 했는데.
      생각의 범위가 남다르신 것 같습니다 ㅎㅎ.
      괜히 유쾌한 느낌이 드네요ㅎㅎ.
      답변 감사합니다. 즐거운 주말 보내세요~

    • PinkWink 2012/02/19 16:42

      네... 그때 저의 후배들도 저울 사달라고 조르고 했었는데
      제가 우체국저울을 이야기해줬죠...
      그때 아이들의 멍~한 표정이 또 기억이 나네요.. ㅋㅋ