myAHRS 관련 질문입니다.

게시판 Sensors myAHRS 관련 질문입니다.

이 게시글은 8개 답변과 3명 참여가 있으며 마지막으로  withrobot 3 년, 1 월 전에 의해 업데이트 됐습니다.

9 글 보임 - 1에서 9 까지 (총 9 중에서)
  • 글쓴이
  • #9350

    김범수

    안녕하세요.
    myAHRS 센서 사용하는 학생입니다.
    ATMEGA128을 이용하여 I2C로 통신을 구현 중입니다.
    SD746 datasheet 및 매뉴얼 기준으로 SD746의 경우 통신 프로세스상 CS핀 hi -> i2c_init() -> mySD46Write()를 이용 Stand-by enable -> mySD746Write()이용 가속도/자이로 측정범위설정 -> mySD746ReadBuf()이용 데이터 수신구조를 갖고 수신 패킷 구조가 명시 되어 있는데요
    myAHRS 센서의 경우 I2c로 통신하기 위한 설정 프로세스가 이해가 잘안됩니다.
    질문사항입니다
    1) 전원 연결 시(5V) LED 동작 상태가 적색/녹색(OFF) 인데요 통신위한 커멘트를 송신해야
    동작상태 LED가 점멸되나요?
    – INT(x), sleep(x), nRST(high) 연결됨
    2) I2c 통신을 위한 프로세스(커멘드)는 어떻게 되나요?
    3) I2c 통신 시 수신 패킷 구조는 어떻게 되나요?
    ( UART의 경우 page 12 에 정확히 명시됨.)

    담당자님 답변부탁드립니다.

    #9355

    irmus
    회원

    I2C는 통신 규약이 정해져있습니다. 패킷 구조는 I2C 스펙을 참고하시기 바랍니다.

    참고로 myARS-USB를 myMCU-AVR128 보드에서 I2C로 사용하는 예제가 있습니다. I2C부분은 거의 동일하므로 예제를 참고하시는 것을 추천드립니다.

    myAHRS-USB의 적색 LED는 USB를 연결했을 때나 센서 에러인 경우에만 켜집니다.
    USB가 아닌 I2C를 사용하고 전원만 인가한 경우라면 녹색이 점멸하게 됩니다.
    LED 동작에 관한 자세한 내용은 myAHRS-USB의 사용자 메뉴얼을 참고하시기 바랍니다.

    #9356

    irmus
    회원

    죄송합니다만 AVR 예제는 제가 착각을 했습니다.
    링크 걸었던 예제는 UART 인터페이스 예제입니다.
    쓸만한 예제가 있을지 한번 찾아보도록 하겠습니다.

    #9361

    김범수

    안녕하세요
    담당자님
    질문 있습니다.
    1) myAHRS 센서를 ATMEG128을 이용 i2c로 받았을 때 출력되는 데이터 메시지는 공유되는 매뉴얼 UART/USB
    인터페이스 부분에서 받은 데이터 메시지 $sensor_id,seq,roll,pitch,yaw,…,temp와 같게 출력되나요?
    2) 소스는 제공된 twimaster.c , i2cmaster.h를 사용하고 있습니다.
    // send device address
    TWDR = address;
    TWCR = (1<<TWINT) | (1<<TWEN);
    // wail until transmission completed
    while(!(TWCR & (1<<TWINT))); <- 이부분에서 break
    -> ACK/NACK 가 전송안되는것같은데요? 이유를 모르겠습니다.
    또한, 요청드렸던 참고할 만한 myAHRS센서 i2c(avr버젼) 제어 소스가 있는지요?

    답변부탁드립니다.

    #9362

    irmus
    회원

    I2C는 메시지 형태가 아니라 레지스터단위로 데이터를 전송하게됩니다.
    UART나 USB와는 완전히 다릅니다.
    사용자메뉴얼의 레지스터 정의 항목을 보시면 어떤 데이터가 어느 레지스터에 있는지 확인하실 수 있습니다.
    AVR에서는 이 레지스터의 값을 읽고 쓰는 방식으로 myAHRS-USB의 데이터를 읽거나 쓰게 됩니다.

    예제를 찾아봤습니다만 적당한 것이 없어서 하나 만들고 있는 중입니다.
    예제가 완성되면 다시 한번 댓글로 알려드리도록 하겠습니다.

    #9375

    김범수

    안녕하세요
    담당자님

    저번주에 요청드렸던 부분은 어떻게 진행이 되었는지요?
    UART 사용한 부분은 문제 없으나, i2c 부분은 잘안되고 있어서 요청드립니다.
    언제쯤 예제가 완성되는지 답변부탁드립니다.
    수고하세요.

    #9376

    현재훈

    안녕하세요
    담당자님

    WITHROBOT에서 제공하는 예제소스를 잘보고 있습니다.
    그중에 myAhrs.cpp 파일을 보고 있는데요

    myAhrs::read, myAhrs::write 함수에서 처음 한바이트를 보낼 때, 동일하게 MYAHRS_I2C_ADDRESS를 보내던데, 메뉴얼 I2C 프로토콜을 보면 처음바이트는 SAD+R, SAD+W라고 적혀있습니다.

    그렇다면 아래와 같이 보내야 하는게 맞지 않을까요?
    myAhrs::read()
    two_wire->beginTransmission((MYAHRS_I2C_ADDRESS << 1) | 1);

    myAhrs::write()
    two_wire->beginTransmission((MYAHRS_I2C_ADDRESS << 1 ) | 0);

    답변해주시면 감사하겠습니다.

    #9391

    김범수

    안녕하세요
    담당자님

    10일전에 요청드렸던 부분은 어떻게 진행이 되었는지요?
    UART 사용한 부분은 문제 없으나, i2c 부분은 잘안되고 있는데요
    i2c로 되는게 맞는지요? (SD746에서 i2c 통신은 잘됨)
    기존 공유하신 부분은 UART 부분이고, i2c 예제를 공유하신다고 하셨습니다.
    답변부탁드립니다.
    수고하세요.

    #9392

    withrobot
    회원

    myAHRS 제품 소개 페이지(http://withrobot.com/myahrs/)에 AVR-128예제가 추가되었습니다.

9 글 보임 - 1에서 9 까지 (총 9 중에서)

‘myAHRS 관련 질문입니다.’는 닫혀 있어, 새로운 답변을 달 수 없습니다.

에 올린 글