이번엔 거리센서 테스트를 해봤습니다.
본 센서의 사용예는 광범위한데요 여러분이 가장 손쉽게 접하는것은 아마도 최근 많은 화장실에 설치된 손 건조기 일겁니다.
손을 갖다대면 히터가 작동하는 기계말입니다. ( 제조하시는분 왈: 요녀석이 그 용도로는 짱이랍니다.)

또한가지 용도는 로봇에 장착하여 벽이나 주변 물체를 감지하는데 사용하곤 합니다.
제가 이번에 소개시켜드릴 거리센서는 로보티즈사의 바이올로이드 같은 로봇에서 절대거리 센서로 이용되고 있습니다. (동일모델)

본 센서의 장점은 부차적인 회로없이 거리값에 비례하는 전압을 출력해준다는점 입니다.
이 출력전압을 ADC입력핀에 넣어주면 MCU측에서 절대거리값을 구해낼수 있습니다.
온도를 전압으로 변화시켜주는 LM35 와 유사하게 사용할 수 있습니다.

내부를 들여다 보면, 자체적인 오실레이터와 측정 및 전압출력 회로가 내장 되어있음을 볼 수있는데요,
재밌는것은 내부를 분해해보시면, 그안에 카메라 화상 센서 (CCD) 같은 부분이 있는것을 볼 수 있습니다.
아마도 저해상도의 CCD 어레이를 직선방향으로 배열하여 거리를 삼각측량방식으로 구해내는듯 합니다.
(참고로 구형 메모리칩을 뚜껑을 분해해서 저해상도 카메라로 사용할 수도 있습니다. 요즘엔 그런 무시무시한 일은 하지 않아도 저렴한 카메라가 넘쳐나니 그렇다는것 정도만 알아둡시다. )

테스트결과:
공급전압이 5V일경우
정면 80Cm 거리 이내에 물체감지가 안되면 약 0.2V 출력이 나왔고요,
10Cm정도까지 근접할때 3.2V에 조금 못미치는 전압이 출력되었습니다.
단, 10Cm보다 더 근접하면 오히려 값이 떨어집니다.


테스트 방법:
회로도도 필요없는 간단한 구성입니다.
작동 테스트를 위해서 멀티테스터와 5V정도의 정전압만 있으면 됩니다. 사양서를 보니 공급전압은 7V까지 지원하는 듯 합니다.
하지만 얼렁뚱땅 표준전압인 5V가 좋습니다. 
조금 부유한 장비를 보유하신 분들이라면 오실로스코프를 이용하시면 시간에따른 변위를 한눈에 보실 수 있으니 더 좋겠죠. 멀티테스터와 동일한 위치에 Probe를 함께 연결해 주시면 끝입니다.  용도에 따라 전압이나 주변회로와 함께 사용하 실 때는 저항,콘덴서 1~2개로 노이즈 제거해주시면 되고요. 여기서는 생략했습니다.

어설픈 회로도와  동영상 감상하시는 것으로 마무리 하겠습니다.


[거리센서-정면]

[거리센서-측면]


[거리센서- 내부]

[절대거리감지기 테스트용 연결도]


[거리센서 - 변위에 따른 전압 변화 ]


관련링크

거리센서 + 아듀이노 =시리얼 통신=> 그래프 파형 관측 
우편함 뮤직로봇 응용예제


참고자료: DataSheet

SHARP_GP2Y0A21YK.pdf
다운로드
샤프거리센서-원리및상세기술자료.pdf
다운로드

 

한 외국 과학정보 사이트에서 정전기 감지기라는 것을 보고 감동?을 받은 뒤 직접 만들어 보려고 관련 부품을 수소문 하던게 벌써 몇년전 입니다.  하지만 이 부품을 국내 온라인, 오프라인 소매점에서 구할 수 없었습니다. 지금도 상황은 비슷합니다.

그 부품이 바로 JFET 이라는 전계효과트랜지스터(Junction Field Effect Transistor)의 일종인인데요, 트랜지스터의 형제뻘 되는 소자이고 생긴것도 트랜지스터와 다름이 없습니다.  전자공학 서적에서도 다이오드, 트랜지스터 다음으로 소개될 정도로 매우 기초적인 전자부품임에도 부품상에서 구하기 곤란한 제품인것이 이해가 가지 않았지만, 아마도 JFET 자체보다는 MOSFET, CMOS, VFET 같은 보다 특화된 부품으로써 인기가 많은 소자라서 궂이 JFET 범용 부품으로써의 활용도가 적기때문인듯 합니다.

하지만, 전자공학 초심자들에겐 기초소자의 특성을 직접 체험하는것이 매우중요하다는 생각이 들기에 매우 아쉬운 상황입니다.
현실탓을 그만하고, 어쨌든  요즘같은 글로벌 시대에 못 구하는 부품이 어디 있겠습니까?!!  생각을 고쳐먹고 외국 사이트에서 구입했습니다.

JFET을 받자마자 정전기 감지기를 만들어 테스트 해봤는데요,
조그만 머리빗으로 2미터 이상의 거리에서 LED를 켜고 끄는 정도의(8V) 전위 변화를 감지해 낼 수 있었습니다.

회로도 대신 제작도와 동영상을 올려봅니다.   매우 단순한 회로입니다.
상세한 작동원리는 전자공학 서적에서 JFET 부분을 읽어보시거나 온라인 정보를 활용하시면 이해하 실 수 있을듯 합니다.

[그림1. 전기장 감지기 제작도]


[동영상1. 전기장 감지기 테스트]


 
실험방법:

그림1.의 제작도와 같이 회로를 구성 후,
플라스틱 머리빗을 이용하여, 머리카락을 빠르게(중요) 비벼준 후,
감지기의 안테나 방향으로 향하게한다.
머리빗을 감지기의 안테나 방향으로 향하면 LED가 어두워 지거나 꺼지게된다.
거리를 멀리 떨어져 가면서 머리빗의 방향을 바꿔가면서 감지기의 상태를 관찰한다.


작동원리:

제가 알고있는 범위내에서 간단하게 작동 원리를 소개해 드리겠습니다.
서로 마찰했을때 (-)으로 대전되기 쉬운 물질이 있고 (+)으로 대전되기 쉬운 물질 있습니다.
가령 우리의 머리카락과 머리빗을 마찰시키면, 머리카락의 전자가 머리빗으로 이동하게되고 이에따라 머리빗은 (-)전하로 대전되게됩니다.  이순간 전하의 불균형에 대응되는 전기력(장)이 형성되고, 주변공간에 영향을 끼치게 됩니다. 이힘은 이론상 무한히 퍼져나가는데요,,, 본 실험과는 큰 상관이 없지만 만약 이 머리빗을 아주 빠르게 흔든다면(가속운동한다면) 가속하는 전하에 의해 전파가 발생하고 안드로메다에 있는 미녀 외계인에게 러브콜 신호를 전송할 수 도 있을지 모릅니다. (답신이 올까요? ^^;;)

머리빗에 대전된 전압은 생각보다 매우 높은 전압입니다. 정확한 값은 저도 측정해보지 못했지만, 수백V가 넘고 수천~수만Volt에 이르는 것으로 알고 있습니다. 그렇게 높기때문에 매우 건조한 겨울날 어두운곳에서 방전되면서 불꽃이 일어나기도 하고 전자제품을 돌아가시게 하기도 하는겁니다.

JFET관련 기술서적을 보면, G(게이트 단자)와 S(소스단자)사이에 (-)전압이 걸리게되면,  D(드레인단자)와 S사이의 전류의 흐름이 방해받게 됩니다. ( 제가사용한 JFET소자는 N채널이라 위와 같고, P채널의 경우는 전압이 반대일때 흐름이 방해 받습니다.)

JFET소자마다 다르지만, MPF102의 경우, G와 S사이의 전위차가 -8Volt 가 넘으면(이를 cutoff전압이라고 함),  D와S사이에 흐르는 전류가 (거의)완전 차단되게됩니다.  이소자는 주로 스위칭용으로 사용되며, G-S전압을 조절하여 D-S전류를 ON/OFF 하는 용도로 사용됩니다. 여기서는 G-S전압에 따라  LED가 켜지거나 꺼지게 되도록 회로가 구성되어있습니다.

하지만, 본 회로에서는 G단자에 아무것도 연결되지 않았기때문에 G-S전압은 공기중의 전위에 영향을 받게 되는 상태입니다.
사실 위와 같은 상황은 주변 전기장에 영향을 많이 받기때문에 일반적인 전자회로에서는 절대로 사용되지 않는 것이지만 본 회로에서는 거꾸로 전기장을 감지하는데 역이용하는 것입니다.

본래 본회로에서 LED를 완전히 끄기 위해서 필요한 G-S전압은 약 8Volt 입니다. 즉, 실험을 통해서  2미터 떨어진 곳에서 머리빗에 대전된 고전압에 의해  JFET소자의 G와 S 단자 사이에 8Volt 이상의 전압차를 발생시켰다는 얘기입니다.  전기력이 거리의 제곱에 반비례하여 감소되는것을 볼때 엄청난 전압으로 대전된것을 (정확한 값으로 계산해내지는 못하지만) 감으로나마 알수 있게 되었습니다.

참고로, JFET의 G(Gate) 다리에 안테나 전선을 메달아 뒀는데요, 사실 안테나 선이 없이 JFET 다리만 있어도 되지만 감도를 높이기 위해서 안테나(연장전선)를 부착하였습니다.  참고사이트 자료에 의하면, 안테나 선을 충분히 길게 설치하면, 매운 건조한 공간에서 5미터 이상의 거리에서도 감지를 할 수 있다고 합니다.  춥고 건조한 겨울을 기다려 봐야겠습니다 ^^

+추가사항:
보다 그럴듯한 정전기 감지기로 사용하는 방법:  시중에 1만원이 안되는 저렴한 디지탈 멀티테스터가 많습니다. 위 감지기 회로상의 LED 양다리에 디지탈 전압계를 연결하시면, 정전기력의 변화를 아날로그(LED)적으로 보는것과 동시에 디지털(전압계수치)적으로 보실수 있습니다. 이 방법을 이용하면 매우 미세한 정전기장의 변화까지도 수치로 확인하실 수 있습니다.


+추가사항 (2010.Dec.2)
본 감지기가 9V에서만 작동하는것으로 알고 있었는데요, 실험해보니 5V전원에서도 잘 작동하는 것을 확인했습니다.  요즘 9V 건전지 가격이 터무니없이 비싸고(3천원 이상) 게다가 어뎁터까지 구해야 하므로 감지기 제작가격이 상승하게 되었는데요, 이제는 5V정도의 건전지나 어뎁터로도 실험이 가능하다는것을 참고하시기 바랍니다.


참고 사이트

2. 각종 전자/과학 실험에 대한 소개글이 있는 재밌는 사이트: 

링크

 

 
MinimalComps 꽤 쓸만한데, 한글을 입력하면 아예 안보인다. 
하지만  아래와 같이 Style.as 파일을 수정하면, 한글을 사용할 수 있다.
임베디드 한글폰트도 사용할 수 있지만,  용량이 6MByte정도 불어버린다.  ;;;   포기하고 그냥 시스템 폰트를 사용해보자.


package com.bit101.components
{
    public class Style
    {
        public static var BACKGROUND:uint = 0xCCCCCC;
        public static var BUTTON_FACE:uint = 0xFFFFFF;
        public static var INPUT_TEXT:uint = 0x333333;
        public static var LABEL_TEXT:uint = 0x666666;
        public static var DROPSHADOW:uint = 0x000000;
        public static var PANEL:uint = 0xF3F3F3;
        public static var PROGRESS_BAR:uint = 0xFFFFFF;
       
        //public static var embedFonts:Boolean = true;  // 초기값 본래는 RF Rnda Seven라는 임베디드 폰트를 사용한다.
        public static var embedFonts:Boolean = false;  // 이걸 false로 해줘야함.
        public static var fontName:String = "굴림";  // 사용하려는 시스템 폰트명
        public static var fontSize:Number = 10;
    }
}
bit101의 MinimalComps  미니멀리즘?(단순깔끔) 디자인 컴포넌트 를 사용하는데  폰트가 안보이는 현상이 발견되어 자료를 찾아봤는데요, SDK버젼에 따라 Component.as 파일을 수정해서 사용해야 한다는 결론입니다.
컴파일 버전(SWC) 사용시 swc 0.9.5 버젼에선 정상작동하는것을 확인했고요,
소스 버전의 경우엔  제가 사용하는 Flex 4 SDK 에 맞게 주석을 제거한 후 정상적으로 폰트가 보입니다.
요점은 새로운 폰트 버전이 기본값으로 사용되게 되어있는 SDK4부터는  기존 버전의 폰트들을 사용시엔 별도 옵션을 지정해야하는것 이겠네요 ->    embedAsCFF="false"

    public class Component extends Sprite
    {
        // NOTE: Flex 4 introduces DefineFont4, which is used by default and does not work in native text fields.
        // Use the embedAsCFF="false" param to switch back to DefineFont4. In earlier Flex 4 SDKs this was cff="false".
        // So if you are using the Flex 3.x sdk compiler, switch the embed statment below to expose the correct version.
       
        // Flex 4.x sdk:
    [Embed(source="/assets/pf_ronda_seven.ttf", embedAsCFF="false", fontName="PF Ronda Seven", mimeType="application/x-font")]
        // Flex 3.x sdk:
//        [Embed(source="/assets/pf_ronda_seven.ttf", fontName="PF Ronda Seven", mimeType="application/x-font")]



참고URL: http://www.bit-101.com/blog/?p=2555
다른 글에서 전자칠판과 적외선펜을 소개해드렸는데요, 생각해보니 Wiimote로 할 수 있는게 전자칠판뿐이 아닙니다.  더 쉽게 응용가능한 용도가 한가지 더 있는데요,,,  Wiimote를 무선 포인터(마우스)로 사용하는 겁니다.  

종종 프리젠테이션 할때 페이지를 넘기거나 화면상의 특정지점을 지적하는데 사용되는 전용 기기들이 판매되고 있습니다. 가격이 십만원정도 했던것 같은데요  Wiimote로 이걸 대신할 수 있습니다.   영화를 보거나 할때도 리모컨으로 이용이 가능합니다.

그런데, 이때 Wii 센서바 라는게 필요합니다. 
그런데 이름은 Sensor Bar인데 센서같은건 들어있지 않고 적외선 LED 몇개 달려있는겁니다. 
움직이는 Wiimote가 기준위치를 참고할 수 있도록, 가만히 앉아서 적외선 빛만 발생시켜주고 자기 역활은 끝입니다.
일종의 등대같은 녀석입니다.

쇼핑몰에서 1만원 이내에 판매되고 있더군요, 구입해서 사용하시거나  IRED를 가지고 계시다면 직접 자작하시면 더 저렴하고요 포터블하게 들고다니며 사용할 수 도 있어서 좋습니다.
( 제게서 IRED 구입하신 분들은 적외선펜 만들고 남은 IRED로 센서바 하나 만들어 두시면 좋을듯합니다. )

어떻게 만드는지 이번에도 초간단 버전을 보여드리오니 참고하시기 바랍니다.  회로는 적외선 펜과 동일합니다.   건전지 한개에 저항없이 직결하면 됩니다.  관련내용은 적외선펜 만들기 글을 참고하시기 바랍니다.

저는 스위치가 장착된 2Cell짜리 건전지 케이스를 개조해서 On/Off 되게 만들었는데 두고두고 편리하게 사용하고 있습니다.
건전지 자리 하나 비우고 그곳에 IRED를 납땜해 버리는 방법입니다. 
한가지 더 가운데쯤엔 IRED 얼굴내밀 구멍도 뚤어줘야 하는군요... 

헉,,, 납땜과 드릴작업까지 ,,,  그리 간단하지 않네요;;  그래도 마음을 비우고 한번 해보시죠 ^^


자작 센서바 내부구조

[ 사진1. 자작 센서바 내부구조 ]


작동중인 센서바


[사진2. 작동중인 센서바 ]



※ 소프트웨어는 전자칠판을 지원하는 SW에서 선택만 하면 사용할 수 있습니다.


+ Recent posts