![]() |
Home > 고객지원 > 기술지원 > Q&A |
| 전체 | IT convergence | Green IT |
| Intelligent Robot System | LabVIEW Embedded | RFID |
| Ubiquitous Sensor Network | Embedded System | Micro Processor |
| DSP | FPGA/SoC | Commuication System |
| Sensor | 기초전기전자 | LED |
| [re]로보카 컴퍼스모듈에 관해서 여쭙고 싶습니다. | |||
|---|---|---|---|
| 카테고리 | Intelligent Robot System | ||
| 작성자 | HB_Robot | 아이피 | 121.183.237.63 |
| 작성일 | 09-07-13 14:09 | 조회수 | 6229 |
| 파일 |
|
||
안녕하세요. 한백전자입니다. Cali(); 함수는 로보카를 통해서 컴파스 모듈의 Calibration 을 하게끔 하는 함수입니다. 로보카에 대한 질문이 있어서 이렇게 글을 남깁니다.
현재 미리 한대를 받은것을 시험해 보고 있습니다.
예제에 있는 Cali() 함수에 대하여 여쭤보고 싶습니다. (함수내용은 하단에 붙여넣겠습니다.)
저희는 이 함수가, 로보카모터로 인한 나침반값의 오차를 보정하기 위한 함수로 알고 있습니다. 코드내용 중에서 compass_paket[1] = 0x09; compass_paket[5] = 0x01; 를 수신한 UART0에 있는 컴퍼스 모듈은 정확히 어떤동작을 하게 되나요? (어떤변화를 측정하며 어떠한 계산을 하게 되는지요?) 또한 매번 파워를 넣을때마다 이함수를 수행해야하는지요?
바쁘시겠지만, 답변좀 부탁드립니다. 좋은하루 되세요.
감사합니다. - 박재용 void Cali()
{
//콤파스 센서 cali
//추가된 콤파스 센서 캘리 처리루틴.
//로보카를 1바퀴 회전시키면서 센서를 초기화한다.
//반드시 북쪽을 바라보게 한다음, 실행해야 한다.
compass_paket[1] = 0x09;
compass_paket[5] = 0x01;
for(i=0;i<24;i++) //calib Start
putch_u0(compass_paket[i]);
ms_delay(50);
Motor_mode(RIGHT_U);
cli();
wheel_cnt_r=Right_cnt=0;
while(1)
{
Count_Pulse();
_delay_us(50);
if(Right_cnt+wheel_cnt_r*650 >= TARGET_CNT(360)) break;
}
sei();
ms_delay(100);
Motor_mode(STOP);
compass_paket[1] = 0x09;
compass_paket[5] = 0x02;
for(i=0;i<24;i++) //calib End
putch_u0(compass_paket[i]);
for(i=0;i<24;i++) //Chk calib End
getch_u0();
} | |||
다음글 ![]() | 로보카 컴퍼스모듈에 관해서 여쭙고 싶습니다. |
|---|---|
이전글 ![]() | 로보빌더에 대해서 문의 드립니다 |
댓글 등록은 로그인 하신후 이용하실 수 있습니다.

















