본문으로 바로가기

우리나라의 월드컵이 끝났네요. 한동안 이것저것 걱정은 잠시 접어두고 월드컵에 푹 빠져있었습니다. 우루과이전을 마치고 흘린 차두리 선수의 눈물이 머릿속에 오래 남아 그 좋아하던 술도 그날은 마시지 않고, 그저 아쉬움을 삼켰네요. 그래도 우루과이와의 마지막 경기는 2002년 월드컵의 그 멋진 경기들 만큼이나 오래 기억될 것 같습니다. 아주 멋진 경기였다고 생각합니다.^^

위의 판매페이지의 그림을 보면

이렇는데요. 좀 로봇 높이가 낮은게 아닌가 해서 높이를 높이도록 봉을 교체했습니다. 모터는 엔코더 내장형이구요.

실제 구입한 기구부입니다.

사실 이전에 수립한 동역학방정식[관련글]에 의하면, 위의 모터 파라미터를 다 알 필요가 없습니다. 알파와 베타만 알면 되죠. 그런데 문제가 하나 생겼습니다.

데이터시트를 모터 판매처에 요청해서 받았더니 딱 저 세개의 값이...ㅠㅠ 문제는 마찰계수를 알 수가 없네요. 문제가 생겨도 단단히 생긴 모양입니다. 그러나 우리에게는 실험이라는 막강한 무기(^^)가 있지요. 이렇게 허접하게 판매해도 되는지.ㅠㅠ. 일단 데이터시트상에서 알 수 있는 값부터 찾아 보도록 하겠습니다.

저항은 나와 있구요. 토크상수의 단위를 유도한 동역학에 적용하기 위해 단위를 변경했습니다.

또 역기전력 상수도 단위를 변경했구요

50:1 기어비를 사용하고 있으므로 n=50까지 적용하면 저렇게 alpha를 알 수 있습니다.

문제는 beta인데요. 마찰계수 f_m을 알기 전에는 beta를 확정지을 수가 없습니다.. ㅠㅠ 일단 이 문젠 좀 놔두고 휠의 이너셔를 찾아야 겠네요

휠의 제원인데요. 그냥 간단히 원통형이라고 가정하면

이렇게 구해집니다. 그런데 기구부를 잘 관찰하면, 모터 축과 휠을 연결하는 축커플링이 있어요.

저걸 따라 측정해서 휠 이너셔에 포함 시키겠습니다.

그래서 합한 결과 휠의 이너셔가 0.00030861이라고 계산했습니다.

일차계 시스템의 특성 파악 !

1차계 시스템의 경우

위와 같이 각속도(omega)와 인가전압(v)에 대한 전달함수가 위와 같습니다. 이를 가지고, 계단응답 특성을 조사하면

위와 같습니다. 정상상태일때는 인가전압*alpha/beta의 관계가 있습니다. 그리고, 시정수 66.6% 지점을 읽으면, 그때 시간값이 J/beta가 됩니다. 여기서 관성모멘트에는 휠과 모터축이 같이 들어가 있기 때문에 놔두고, 정상상태의 속도값을 읽어서 beta를 확정지음으로서 마찰계수를 찾도록 하겠습니다.

모터의 마찰계수 찾기 !

모터에 5V를 인가했을대 각속도의 그래프입니다. 진동하는 부분은 실제 엔코더의 값을 차분하면서 생기는 문제입니다. 0.2초 후에는 확실히 정상상태에 들어간다는 것을 다른 실험에서도 확인해서 0.2초부터 끝까지의 평균값을 구하도록 하겠습니다.

왼쪽 오른쪽 모터를 5V부터 20V까지 인가해서 측정했습니다. 위의 표에서 평균각속도가 정상상태에서의 평균각속도값입니다. 위의 f_m을 구하는 과정은

저 식에 대입했을때

위의 식으로 마찰계수 f_m을 찾을 수 있습니다. 다시 표를 보면, f_m이 0V에 가까운 값과 아닌값이 차이가 크다는 것을 확인할 수 있고, 또한 아주 크다는 것도 확인할 수 있습니다. 이는 저가형 DC모터에서 역시 저가형 기어박스(동축이 아닌)를 사용한 경우 자주 확인되는 경우입니다. 그리고, 우리는 이전 경험에 의해 실제 제어는 대체로 5V이내에서 이뤄진다는 사실을 알고 있어서 5V의 데이터에 좀 더 큰 가중치를 주고 평균을 구해서

마찰 계수 f_m을 위의 값 1.7747을 사용하겠습니다.

오랜만의 포스팅이었네요. 요즘 제가 졸업을 위해 발악중입니다. 너무나도 초라한 실적에 좌절 중이기도 합니다. 어쩌겠습니다. 중간에 그저 돈 좀 벌어보겠다고 과하게 알바를 했던 저에게 잘못이 있겠지요...ㅠㅠ 이후에는 모터를 제외한 나머지 파라미터를 수립하도록 하겠습니다.


댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. goldlightbv 2010.08.30 15:32 신고

    안녕하세요. 세그웨이 로봇 만드는 걸 도전하는 한 대학생입니다.
    저 기구부를 구매 하셨을 때 모터를 기본 스팩
    (토크:2kgf cm에 회전수 107RPM )으로 구매 하셨는지 알고 싶고 또 충분히 기구부를 구동 하는데 큰 무리가 없는지 알고 싶습니다.

  3. theshy 2010.09.02 20:17 신고

    안녕하세요~전에 한번 질문했던 학부생입니다..^^;;
    저희도 같은 바디를 디바이스마트에서 구입해서 하고 있는데요
    윗글 보니 모터를 바꾸셨다고 했는데 모델명좀 알려주시면 안될까요?

  4. 마이크로 2010.11.02 17:17 신고

    모터 타입을 12v에서 24v로 올리신 이유를 알고싶습니당~

    • BlogIcon PinkWink 2010.11.02 17:46 신고

      12V짜리는 무부하 전류가 120mA에 정격전류가 470mA였습니다.
      두개를 사용할 것이니 240mA에 940mA가 되네요.
      당시 저희 판단으로는 같은 전력 개당 3.14W지만
      24V는 무부하시 60mA에 210mA의 정격전류를 가지고 있었습니다.
      두개를 사용하니까 12mA에 420mA지요.
      거기에 DSP와 JTAG, 각종 센서가 사용하는 전류를 감안했을때
      (당시에 작성된 이 글에는 배터리를 사용하지 않고 파워서플라이를 사용했는데요)
      파워서플라이 공급 전류가 한계치(3A)를 위협한다고 생각했기 때문에
      낮은 전류를 선택한것 뿐입니다.

  5. eom 2011.07.30 21:49 신고

    제 석사 논문이 마찰력 보상을 했었는데 LuGre모델을 사용하여서
    LuGre모델의 파라미터를 고정시키고 했었는데 이걸 보니 실험적으로
    파라미터들을 구할 수 있겠군요.. 많은것들을 얻어갑니다.^^

    • BlogIcon PinkWink 2011.07.31 14:38 신고

      아핫.. LuGre??는 잘 모르지만,
      저야 뭐... 제가 할 수 있는 한에서 쉽게 찾고 싶었거든요^^
      이건 당시.. 대학원때 지도교수님께서 알려주신 방법이랍니다.^^

  6. ksp 2011.10.26 03:03 신고

    아직 보실까 모르겠지만.. 의문점이 있어서요
    계산값 보면 베타값이 2.3xxx정도 될텐데 시상수는 대충 0.04~0.05s 정도로 보이구요
    그럼 시상수 = 이너샤/베타 이니까 이너샤는 0.1xxx 정도 나오는것 아닌가요? 실제 측정치랑 차이가 너무 많이나는데...
    저도 비슷한 모터로 테스트중인데 왜 이런지 아무리 생각해도 모르겠어요

    • BlogIcon PinkWink 2011.10.26 16:17 신고

      네 맞습니다. 당시 저도 그부분을 고민을 하긴 했습니다.
      당시의 유추로는 정상상태의 속도치가 과연 정확한 것인가에 의문을 가지고 있었습니다. 왜냐면, 모터자체의 마찰과 기어의 마찰을 모두 가지고 있기 때문이었습니다. 기어를 제거할 수 없었거든요.
      그래서, 기어까지 없는 것과 비교하여 정상상태의 속도 그리고, 정상상태까지 도달 시간에 오차가 생기지 않았을까 생각했었습니다.
      그래서 가급적 시정수가 들어가는 수식은 건드리지 않고, 정상상태의 경우만 따지긴했었습니다만,
      이 부분에서는 1년밖에 되지 않았지만, 살짝 정확하다고 말씀드리기는 어렵네요...ㅠㅠ

  7. jang 2012.03.25 22:52 신고

    저에게 신세계를 보여주시는군요;; 이블로그를 알게된건 행운인듯 합니다.
    자주 찾아오게 될것 같아요

  8. riskey 2012.07.23 16:15 신고

    여쭈어 볼 것이있습니다 ㅎㅎ
    모터 마찰계수를 찾기! 그래프를 저도 그려보고 싶은데, 어떻게 하셨는지 여쭙니다.
    실제 모터에 마이크로프로세서를 달아서 전압인가 후 엔코더 펄스값을 가져와서 그래프를 그리는 것인지도
    함께 여쭙니다. ㅎㅎ

    • BlogIcon PinkWink 2012.07.24 10:12 신고

      네.. 엔코더를 장착하고, MCU에서 데이터를 수집해서 시리얼통신으로 PC에 보낸걸 MATLAB에서 분석한 것입니다.

  9. 떠돌이 2012.09.11 11:16 신고

    핑크윙크님 여쭈어볼게 있는데요,,
    모터를 12V 짜리에서 24V 짜리로 바꾸셧다고 했는데
    디바이스마트에서 찾아보니 24V짜리 모터의 타입이
    9,12,22 TYPE 이 있더군요 (RB-35GM+Encoder 로요)
    이중 어느타입으로 하셨고, 또 감속비는 어떤거루 하셧는지
    알려주시면 감사하겠습니다.

    • BlogIcon PinkWink 2012.09.12 09:03 신고

      오래전이라 기억이 정확하진 않은데..
      당시 모터는 디바이스마트가 아니라 제조사? 아니면 한국 판매사?에 직접 연락해서 구매했던걸로 기억납니다.

  10. powerred 2013.12.18 23:15 신고

    안녕하세요. 핑크윙크님

    부산대학교 석사과정 학생입니다...

    여쭈어볼게 있습니다. 위에 동일한 모터를 가지고 수학적 모델링을 하려고 하는데요.

    모터에 90g r=0.45 휠을 장착했습니다.

    모터 댕핑, 인덕턴, 모터 관성 모멘트를 어떻게 알 수 있을까요?ㅠ

    정확한 수치는 아니더라도 알 수 있는 방법이 없을까요?

  11. powerred 2013.12.19 10:19 신고

    정확히 이해가 가질 않습니다..ㅠㅠ

    인덕턴스 값은 어느 부분에서 알 수 있죠?

    모터 댐핑 계수 는 베타를 말하시는건가요?

    모터 관성 모멘트는 Jw를 말씀하시는건가요?

    • BlogIcon PinkWink 2013.12.19 11:42 신고

      그렇군요. 원하는 팩터들을 확인하긴 힘들수도 있겠군요.
      본문의 글에서는
      L은 작다고 보고 무시했으며,
      모터의 마찰과 모터의 관성모멘트는 어차피
      바퀴를 포함한 전체 마찰과 전체 관성모멘트에 흡수될 것이므로 따로 구하지 않고 전체를 구했다는 내용입니다.
      관성모멘트야 워낙 모터 축과 로봇 전체를 보면 모터의 것은 작기때문에 무시되어도 상관없을겁니다만...

  12. BlogIcon Lee 2014.11.13 01:15 신고

    핑크윙크님덕에 많은 공부가 되었습니다. 질문이 있는데요. 다른 댓글을 보고 올리는 것이지만 , coil resistance를 알아볼때, 모터양단에 멀티미터를 ohm으로 한 상태에서 체크를 하면 2~4, 어떤모터는 8 ohm정도로 나오던데 핑크윙크님의 모터는 52ohm이나 되시더군요. 원래 내부저항이 이렇게 차이가 큰가요?

    • BlogIcon PinkWink 2014.11.13 08:48 신고

      ㅋㅋㅋ 싸구려 모터라 그런가요?? ㅎㅎ 사실 정확한건 아닌데 제가 이것저것 만져보니 좀 싼 모터일 수록 저항이 크더군요. ㅋㅋ.
      아무튼 모터의 특성이고 그럴수 있습니다.^^

  13. 오시 2015.02.24 18:12 신고

    안녕하십니까?
    공학도 오시 입니다..
    궁금한게 있는데요. 핑크님께서는 기어비를 1/50을 사용하셨는데, 저는 같은 제품인데 1/6을 구매했습니다.
    n값이 핑크님과 많이 차이 나는데 성능상으로는 큰 문제가 되진 않을까요?
    윗댓글들 2010년7월6일 댓글을 보니 1/50이라 괜찮다고 하셨는데 혹시 1/6이라 문제있는 부분이 무었인지 잘 모르겠습니다.

    • BlogIcon PinkWink 2015.02.25 16:24 신고

      그건 시스템의 무게와 특징들을 가지고 시뮬레이션을 돌려보셔야만 합니다. 그래서 좀 넉넉하게 잡긴해야하지만 여하튼 필요한 모터의 성능을 확인하셔야 합니다.

  14. 갱해이 2015.04.09 02:09 신고

    핑크윙크님 안녕하세요.
    모터의 마찰계수 찾기! 에서.. 모터에 5V,10V,15V,20V를 인가했을때 각속도의 그래프부분있잖아요..
    각속도의 그래프라고 하셨는데.. 자이로 각속도 말씀하시는 건가요?.... 그 값을 Txprintf로 뿌리면 되는건가요?...
    전.. 엔코더 각도값으로 파라미터값을 추출하는 건 줄 알고... 엔코더각도추출까지 해놨는데..
    이 글을 보니.. 혼동이와서 질문드립니다..ㅠ

    • BlogIcon PinkWink 2015.04.09 10:16 신고

      엔코더에서 받은 신호를 미분했습니다.
      코드로 구현할려면 차분이 될테지만요^^

    • 갱해이 2015.04.09 23:42 신고

      엔코더 펄스값을 미분 하셨다는 말씀이신가요..
      엔코더 각도값을.. 미분하면.. 각속도가 나오는데..
      코드로 구현하면.. 어떻게... 되는지.. 여쭤봐도 될까요..
      도통... 감이 안오네요..ㅠㅠ

    • BlogIcon PinkWink 2015.04.10 09:09 신고

      아니요.. 엔코더를 가지고 계산한 각도를 미분해서 각속도를 얻었다는 겁니다. 엔코더를 이용해서 각도를 추출하실 수 있다고 가정하면, 각속도를 구하는 식은
      각속도 = (현재 각도 - 이전 각도) / 샘플 시간....
      으로 쉽게 구할 수 있습니다.

    • 갱해이 2015.04.29 01:50 신고

      안녕하세요 핑크윙크님
      중간고사 시험끝나고 다시 시작하는 중입니다..
      엔코더를 가지고 각속도를 얻어서 마찰계수를 찾고 있는데
      각속도를 뿌려보니 3700정도.. 즉 천자리수가 나옵니다.
      샘플링주기는 1m/s로써 0.001을 곱해줬구요..
      이 각속도 값이 맞는 각속도 값 맞죠..?
      핑크윙크님 각속도값 단위가 뭔가요?
      핑크윙크님이랑 평균각속도값이 너무 차이나서 질문드립니다..

    • BlogIcon PinkWink 2015.04.29 10:31 신고

      네 생각보다 큰 값이 나올 수도 있습니다.
      단위변환에 신경쓰시구요...
      검증하는건...
      초당 한 바퀴로 회전하게끔 대충 맞추고 결과를 보세요...^^

    • 갱해이 2015.04.29 18:19 신고

      안녕하세요 핑크윙크님..ㅠㅠ
      계속 질문해서 죄송해요.
      단위 rad/s 로 맞춰서 f_m은 추출했습니다.
      근데 의문점이 생겻습니다.
      f_m(모터와 바디사이의 마찰계수)은 beta를 구할때 필요하지만
      4.기구적인 파라미터 찾기에서 f_theta를 구했는데
      f_theta(로봇바디와 모터축 사이의 마찰계수)는 식에서 f_theta가 보이지 않아 언제 필요한 건지 모르겠습니다..
      그리고 f_w(바퀴와 바닥과의 마찰계수) 는 0 으로 하셨는데.
      f_w은 값이 엄청 적기때문에 0으로 주신건가요?

    • BlogIcon PinkWink 2015.04.30 12:54 신고

      f_w의 경우는 바닥면을 구동하는 바퀴에서는 사실 사용하지 않는걸로 알고 있습니다. 그래서 0으로 가정해버렸습니다.
      그리고 f_m은 제어기를 찾기 위한 상태행렬 A, B에 보면 들어가 있습니다.^^

  15. 안녕하세요 2015.12.07 01:27 신고

    혹시 모터는 어떤 모터를 사용하셨는지 알 수 있을까요?

    • BlogIcon PinkWink 2015.12.07 09:47 신고

      12V급 소형 DC 모터였던걸로 기억이 나는데요... D&G 모터였던것 같습니다. 오랜된 일이라.. 이것도 기억이..ㅠㅠ

  16. 2017.02.15 02:05

    비밀댓글입니다

  17. 벨런싱로봇 2017.03.06 14:47 신고

    안녕하세요

    혹시 모터의 마찰계수 찾기 fm 을 구할 시에 5~20V까지 올려서 구하셨던데

    모터 전압이 5V라면 어떤 식으로 실험을 해야할까요 ?

  18. 벨런싱로봇 2017.03.08 13:18 신고

    모터 마찰계수 5V~20V 를 실험을 하셨던데 .,,

    모터가 20V까지 버티는 모터였나요 ?

    그리고 5v 를 실험할 경우는 딱 한번만 5v로 해서 마찰계수로 써도될지에 대해서 여쭤보려고 합니다.ㅠㅠ

    • BlogIcon PinkWink 2017.03.08 13:41 신고

      제 기억에는 모터가 24V까지였는데 그냥 5V부터 했구요.. 그랬던 또 하나의 이유가 5V 이하에서는 마찰때문인지 모터가 선형적 운동이 되지 않더라구요.
      그리고 5V모터라고 하셨는데...
      그러면 1V, 2V, ... 5V라고 구간을 나눠서 하면 되지 않을까요

  19. 벨런싱로봇 2017.03.10 17:15 신고

    위에 포스팅 내용에서 각속도가 5v일때 각속도 평균이 1.7 이라고 나와있는데

    그래프를 보면 각속도가 5근처에서 PLOTTING 됐는데 어떻게 평균값이 1.7이 나온거에요 ?ㅠㅠㅠ

    너무어렵군요 ㅠㅠ파고들수록

    • BlogIcon PinkWink 2017.03.11 11:28 신고

      오래전이라 기억이 가물거리지만.. 아마 주어진 그래프는 표에 비춰보면 10V에서 테스트한게 아닐까 합니다.ㅠㅠ

  20. 벨런싱로봇 2017.03.10 17:53 신고

    5V의 데이터에 좀 더 큰 가중치를 주고 평균을 구하셨다는 것이 어떤식으로 가중치를 더 주었다는 것인가요 ?ㅠㅠ

    총 합 1중에서 소수점으로 서로 나눠가졌다는 건가요 ?

    핑크님 덕에 끝이보이기시작합니다

    항상감사드립니다..!

    • BlogIcon PinkWink 2017.03.11 11:29 신고

      보통 (a + b + c)/3이 일반적인 평균이라면...
      weighted average는
      (a*1.6 + b*0.7 + c*0.7)/3 처럼 하는 것을 의미합니다.

  21. 해봅시다 2017.03.26 21:26 신고

    저는 5V짜리ㅏ 모터인데 5V인가시 속도가 95rad/s 까ㅓ지 올라가는데 핑크님에 비해 너무 차이가 나는 거같아서 ....엄청 느리신건가요
    >??....10배이상차이나서요 ..