2010년 작업2011.01.05 14:58
목차
1. 제품 기획
2. 제품 기획 II
3. 회로 설계 및 PCB 제작
4. 펌웨어 테스트
<- 현재 여길 보고 계십니다.
5. 양산 및 이벤트

자, PCB가 들어왔으니 이제 떨리는 마음으로 전원을 인가하여 JTAG이 붙는지 테스트를 해야 합니다. 혹시 모를 불상사를 위해 파워 서플라이의 전류를 최소로 셋팅해 놓고, 전압 다시 한번 체크한 후 심호흡 크게 한 번 합니다. 15년 넘게 수없이 많은 보드를 만들어도 이 순간만큼은 떨립니다.

자.... 연결하고... 소비 전류 체크. OK, 불꽃 놀이할 염려는 없고... 그 다음은 클록 발진... 에구, 스코프 프루브가 끼고 들어갈 공간도 없네요. 어쨌건 어렵사리 클록 발진도 OK. 오예. 여기까지면 80% 성공입니다. 자, 이제 JTAG을 붙여볼까요? 휴~~~. 붙습니다. 95% 성공입니다. 아, 그 동안의 스트레스가 사라집니다. 이 맛으로 계속 개발을 하는 것이겠죠.

나머지 5%는 이제 각 function별 코드를 넣어 실수한 부분은 없는지 확인하는 부분이죠.

기존 myARS에 비해 달라진 점은 가속도 센서를 더 좋은 모델로 선정했다는 점입니다. 노이즈 특성이나, 감도 측면에서 더 좋은 모델을 선정하였는데, 그러다보니 펌웨어 부분에서 수정해야 할 부분이 많아졌습니다. 더군다나 인터페이스를 USB, UART, i2c를 동시에 지원하다보니 인터페이스를 지원하는 부분도 꽤나 신경써야 할 부분이 많아졌구요.

한 문장으로 줄여보면...
이전 myARS의 펌웨에어서 건질 부분이 거의 없으며 몽창 다 새로 작성해야 한다는 점입니다.

다행히 플랫폼 팀장님이 뉴질랜드 출장 중 짬짬이 모듈 단위로 작성을 해서 귀국을 했습니다. 크리스마스가 지나고 모든 프로젝트 맴버가 다시 한 자리에 모이자 엄청난 가속이 붙기 시작합니다.

하루가 지나니 가속도, 자이로 센서값이 들어오고...
하루가 지나니 UART가 동작하기 시작하고...
또 하루가 지나니 칼만 필터가 돌기 시작합니다.
이 정도면 동작을 확인해 볼 수 있습니다. 펌웨어를 합쳐서 동작시켜 봅시다.

빵판에 대충 연결합니다. 맨 왼쪽은 myUSB2UART로 UART 신호를 PC로 넣어주는 역할입니다. 아직 USB 기능까지 myARS-USB에 넣지 않은 상태에서 실험했습니다.



아래 동영상은 위 셋트를 이용해서 찍은 동영상입니다.



myARS-USB의 UART 출력 테스트를 위해 myUSB2UART로 연결하여 PC에서 각도값을 받은 후 출력하는 모습입니다. 자알~ 돌죠?

보다 정량적으로 분석하기 위해서는 정확하게 몇 도 움직였는지 알려줄 장치가 필요합니다. 위드로봇에서는 한 바퀴 회전하면 2000 pulse가 나오는 장치를 만들어 이를 다시 4체배로 정밀도를 높인 장치를 만들어 myARS-USB의 출력 정밀도를 검증합니다.

삼각대에 붙여 사용합니다. 회전량을 0.045도 해상도로 분석이 가능합니다.



이 장치로 분석을 한 결과는 다음과 같습니다. 보시면 일반적인 적분 형식으로 추정하는 것에 비해 엔코더 값을 잘 추종하는 모습을 확인할 수 있습니다.

파란색: myARS-USB 출력 녹색: 자이로 적분 빨간색: 엔코더 정보(true value)


가속도 센서만으로 중력 가속도 값의 변화량을 이용해 기울기를 측정하는 경우는 물체의 빠른 가감속에 의한 가속도 변화량이 계산에 나쁜 영향을 미칩니다. myARS-USB는 이 경우에도 자이로 센서 데이터를 이용하여 94% 정도 오차를 줄여줍니다. 아래 데이터의 녹색이 이러한 노이즈가 포함된 가속도 센서의 출력값이며 파란색이 myARS-USB의 출력값입니다.


이제 메뉴얼 만들고, 양산 준비를 해야 할 것 같습니다. 특징을 정리해 보면 다음과 같습니다.
  • 칼만 필터를 이용한 5IMU 센서 융합
  • -피치(roll-pitch) 각도 출력
  • 3축 가속도 센서, 2축 자이로 센서, 온도 센서 raw data 출력
  • 100Hz 데이터 출력 속도
  • 40Hz dynamic bandwidth
  • UART/i2c/USB 인터페이스 지원
  • DATA READY 인터럽트 출력
  • 단일 커맨드를 이용한 손쉬운 영점 보정 기능
  • Start-up calibration필요없는 fully static fusion algorithm(전원투입시 정지 해 있을 필요 없음)

19.94mm x 14.84mm x2.62mm 의 초소형 모듈입니다.


 핀 번호
이름
핀 번호
이름
 1  INT  12  VDD
 2  SLEEP  11  nRST
 3  i2c_SCL  10  No connection
 4  i2c_SDA   9  UART_TX
 5  USB_DM   8
 UART_RX
 6  USB_DP   7
 GND

i2c를 사용하고 싶으면 3번, 4번 핀을 이용하면 됩니다.
AVR이나 기타 마이컴을 이용해 UART로 데이터를 수신하려면 8번, 9번 핀을 이용하면 됩니다.
PC의 USB로 바로 데이터를 받고 싶으시면 5번, 6번 핀을 USB와 연결하면 됩니다. 다른 부품없이 USB 커넥터만 연결하면 되는데 아무래도 납땜하기 어려우므로 별도의 인터페이스 보드를 제작하여 판매할 계획입니다.

다시 팀장들이 모여 빠진 것은 없는지, 추후 해야 할 일은 무엇인지 점검하는 회의를 가졌습니다. 그랬더니 아직도 해야 할 일이 많다는 것을 확인할 수 있네요. 메뉴얼 새롭게 만들어야지, 홈페이지 업데이트 해야지, 동영상 찍어서 편집해야지 등등...

그리고 그 동안 myARS 품절에 많은 문의를 해 주신 분들께 뭔가 혜택을 드리는 것이 좋겠다는 의견이 나왔습니다. 그래서~~ 이벤트를 준비하기로 했습니다.

다음 이야기: [myARS-USB] 양산 및 이벤트 (마지막회)










'2010년 작업' 카테고리의 다른 글

[myIMU6-USB] 위드로봇의 골칫거리 IMU  (0) 2011.01.05
[myARS-USB] 양산 및 이벤트  (0) 2011.01.05
[myARS-USB] 펌웨어 테스트  (0) 2011.01.05
[myARS-USB] 회로 설계 및 PCB 제작  (0) 2010.12.07
[myARS-USB] 제품기획 II  (0) 2010.12.07
[myARS-USB] 제품 기획  (0) 2010.12.06
Posted by getcome