센서(Sensor)

자이로스코프센서

arirangled 2007. 2. 26. 01:28

자이로스코프센서로 이동용 물체의 균형을 잡는 용도로 사용한다고 하면 표현이 적절하다고 본다.일본 무라다 제작소에서 제조를 하는것 같다. 데이터 시트 파일을 첨부합니다.많은 응용을 바랍니다.또, 소재 개발에도 힘써 주시길 학수고대하며.....,

 

 http://www.geocities.jp/puw2/forcy.html

http://www.geocities.jp/puw2/forcy2.html

3축가속도 센서(KXM52-1050 모듈)를 ForCy-USB에 접속해 LED 아레이에 X, Y축의 기울기를 표시 PIC에 질려 AVR로 프로그램의 생각중을에서 접한 ForCy로 만든 것입니다.
추월전자의 3축가속도 센서의 X, Y축의 아날로그 출력을 AVR의 A/D로 수중에 넣어 표시하고 있습니다. 수평 상태이므로 한가운데 근처에 LED 도트가 있습니다.
기판 전체를+-30о좌우 전후에 기울이면 들어 올린 방향으로 닷이 이동합니다. 기판의 I/O연결기는 LED 어레이의 표시에 사용되고 있으므로 센서에서는 직접 배선해 있습니다.
画像1

ForCy-USB 기판을 제외한 화상입니다. I/O의 접속중계연결기는 유니버설 기판을 컷 해 브렛트보드용으로 핀폭을 펼쳐 있습니다. 이것이 제일의 아이디어일지도 모릅니다.
센서의 전원은 USB로부터 받고 있으므로 전원은 필요 없습니다.

画像2

연결기의 업 영상입니다. 아래 쪽은 보이지 않습니다만 한 면 기판이므로 1열의 핀을 억지로 납땜해 있습니다.

画像3

ForCY의 프로그램입니다. 흥미의 있는 분은 ForCy로 검색해 봐 주세요. 기술은 간소합니다만 안쪽은 꽤 깊습니다. 아직 입구에 선 곳입니다.
#
/*
    A/D 변환에 사용된것(3축가속도센서)
    I/O PORT C4,C5에서 3축가속도센서(KXM52-1050)을 이어서。X,Y軸축LED어레이표시
    2007/10/29 adc-KXM52-8.txt
            05 일단완성 개량할 점은 있음
            06 감도상승과 응답을 빠르게 ok

//  포트정의-----------------------------------------
    0x23 ;PINB      //포트B입력
    0x24 ;DDRB      //포트B방향
    0x25 ;PORTB     //포트B데이터

    0x26 ;PINC      //포트C입력
    0x27 ;DDRC      //포트C방향
    0x28 ;PORTC     //포트C데이터
    0x29 ;PIND      //포트D입력
    0x2A ;DDRD      //포트D방향
    0x2B ;PORTD     //포트D데이터

    0x7e ;DIDR0     //사용할ADC비트를1아날로그디지털절체
    0x7c ;ADMUX     //하위3bit로ADC를 선택 채널선택
    0x7a ;ADCSRA    //클럭선택과ADC기동
    0x79 ;ADCH      //변환데이터상위
    0x78 ;ADCL      //변환데이터하위
//------------------------------------------------------
*/
    clk + { clk == break } do . //대기:wait
    0 { ++ } for ..     //지연
:dely
    0xff 0x24 =sfr      // 포트B를 출력
    0x0f 0x27 =sfr      // 포트C 하위4bit를 출력
    0xfa 0x2a =sfr      // 포트D 상위4bit 를 출력
:init
    0xcf 0x27 =sfr      // 포트C4,5입력 그외 출력에 설정
    0xcf 0x28 =sfr      // C4,C5이외를 풀업
    0x30 0x7e =sfr      // ADC4,5를 사용 
:ADC_Init
    0x44 0x7c =sfr      // ADC4 를 선택
    0x87 0x7a =sfr      // ADC를 기동 
:ADC_4
    0x45 0x7c =sfr      // ADC5를 선택
    0x87 0x7a =sfr      // ADC 를 기동
:ADC_5
    0xc7 0x7a =sfr      // ADC 변환개시
:ADC_Start
    0x78 sfr 0x79 sfr 8 << |    //변환결과를 얻음 
:ADC_Read
    0 0x7a =sfr
    0 0x7e =sfr
:ADC_End
    ;x ;y
    ADC_Init                            //A/D초기화
    ADC_4                               //4cH A/D변환읽음포함X축
    ADC_Start                           //A/D변환스타트
    100 dely                            //A/D치 안정시간
//  ADC_Read 43 * 10 / 1050 - 270 / =x  //LED바 표시위치계산
    ADC_Read 43 * 10 / 1800 - 100 / =x  //LED바 표시위치계산
    "X=" %s x %d                        //X데이터시리얼송신Y축
    ADC_5                               //5cH A/D변환읽어 포함
    ADC_Start
    100 dely
//  ADC_Read 43 * 10 / 1050 - 270 / =y  //LED바의 표시위치계산
    ADC_Read 43 * 10 / 1800 - 100 / =y  //LED바의 표시위치계산
    " Y=" %s y %d "\r\n" %s             //Y데이터시리얼송신
:ADC_read
    1 y << 0x25 =sfr    //표시출력
    7 x - =x
    1 x << ~
    dup 0x28 =sfr       // 포트C 하위4bit를 출력
    0x2b =sfr           // 포트D 상위4bit 를 출력
:LED
    init                //I/O초기화
    ADC_Init            //A/D최기화
    {
        ADC_read        //A/D읽어표시
        LED             //LED표시
//      200 wait        //200ms대기
        100 wait        //100ms대기
        ADC_Init        //A/D초기화
        1 wait          //대기
        @c? break       //콘솔보다브레이크체크
    } do
    ADC_End
:main
\

프로그램은 이상입니다.
XY축의데이터는 4800bps로 하이퍼턴미널에서100ms마다 송신하고 있습니다.
3차원의 지진계등이나 쓰여지지 않을까 생각합니다.

s42e.pdf
0.08MB
반응형

'센서(Sensor)' 카테고리의 다른 글

초전형적외선센서(焦電型赤外線センサ-)  (0) 2008.04.29
적외선온도계  (0) 2007.10.25
적외선링크 온도센서  (0) 2007.05.29
가스센서  (0) 2006.05.06
칼라센서  (0) 2006.03.04