rladbsqo321.egloos.com

둥근지구의 놀이터

포토로그



최근 포토로그


망했네..

기어를 일본에서 사와서 
가공을 맡겼는데.. 
망했단다.

뭐 그럴수도 있지.. 하면서 다시 사려고 하는데
일본에서 그 기어를 사서 보내줬던 친구가 
한국에 있단다. ㅠㅠ

일단 그 제품 구입처를 기록해둔다. 
스퍼 : KHK DS 0.5 - 40 http://www.monotaro.com/p/0714/9396/
피니언 : KG S50B 12K-1007 http://www.monotaro.com/p/3706/3905/

재동아 일단 그 친구 다시 일본으로 갔는지 물어볼게. ㅠㅠ

공유하기 버튼

 

이런 멍청이.. 로봇

센서가 거리가 너무 안나와서 왜그러지? 하고 생각하다가.. 
발광센서와 수광 센서 파장대가 안맞는다는 걸 발견했다. 
이런 멍청이 기본적인 것도 확인 안하고 실험하다니.. ㅠㅠ

TEFT4300은 파장대가 880~1000nm 에 위치해 있고 중심파장이 925nm이다. 
하지만 내가 실험에 사용했던 발광 센서는 SFH4550은 850nm가 중심이었고, SFH484는 880nm 였다. 
그래서 키아트 회로도에 있는 SFH4511(950nm)을 찾아봤는데 구매할 수 있는 사이트를 찾기가 쉽지 않았다. 
그러던 중 엘레파츠에서 OPE5594A(940nm) 라는 녀석을 찾았다. 쏘는 각도는 +-10도다.


일단 주문해서 써봐야겠다.
그런데 반사강도가 얼마 되지 않는다.. SFH4511의 경우 1A pulse 에서 1200mw/sr의 반사강도인데..
MOUSER에서 찾아보니 '폐기' 라고 표시된다.. ㅠㅠ
Mouser에서는 세부 스펙 사항을 이용해 필터링이 가능해서 그곳에서 원하는 스펙으로 검색을 해보니 SFH4545 라는 제품이 나왔다. 940nm에 1A pulse 에서 2730mw/sr에 +-5도의 스펙을 가졌다.
일단 구매 가능한 곳을 살펴봐야겠다.
엘레파츠에서 구매가능한 것을 보고 주문했다. 센서 올때까지 모션 제어와 스무스턴을 해야겠다.


그리고 이전 포스트에서 80us동안 기다려서 peak를 이용해 하는 방식은 다시 생각해봐야 할 것 같다. 
이렇게 할 경우 전류 소모가 극심히 크다. 5us로 켜서 인터럽트를 돌리면 전류 소모가 거의 없지만 오랫동안 켰을 때는 
150mA나 더 소모되는 것을 알 수 있었다. 
센서 오면 다시 테스트 해봐야 할 것 같다.




공유하기 버튼

 

적외선 센서 실험 로봇

오늘은 밤새 센서와 씨름하느라 여태 안자고 있다. 

센서 값을 이용해서 exponential 함수로 근사화하여 근사화한 식을 이용해서 거리를 구하는 게 목적이었다. 

요구하는 조건은 아래와 같다.

1.  15cm 이상의 거리에서도 신뢰할만한 센서값이 나와야 한다. 
2.  1cm 이상되는 거리에서는 센서값이 saturation 값보다 작아야 한다.
3.  근사화된 식으로 변환이 용이한 거리-센서값 그래프가 나와야 한다. 

일단은 쓰고 있던 센서들(SFH484 - SFH313)로 거리-센서값 그래프를 구하며 실험을 하였다. 
발광 센서를 켜는 시간을 1~6us 로 넣어보며 테스트를 했다.

그 결과 아래와 같은 그래프를 얻을 수 있었다.


발광 센서를 켜는 시간을 늘리면 늘릴 수록 가까운 거리에서 saturation 현상이 나타남을 알 수 있었다.
그래서 1~2us 로 켰을 때의 그래프를 가지고 최소자승법을 이용하여 근사식의 계수를 찾아보았다. 
근사화식은 micromouseonline.com 에서도 소개된 것으로 y = exp(a/(x+b)) 로 y는 센서값을 의미하고 x는 벽과의 거리를 의미한다.

하지만 찾은 계수를 통해 센서값에 대한 거리 그래프를 그려보아도 실제 거리와의 차이가 상당하였다. 
그 원인으로 거리-센서값 그래프가 앞에서 가정한 형태의 exponential 함수와 차이가 있기 때문이라고 생각되었다. 
그래서 정말 밤새며 미친듯이 이것저것 해보았다. 

일단 센서를 바꿔보았다. 
한쪽은 SFH4550-TEFT4300 으로 한쪽은 SFH484-TEFT4300으로 땜하여서 동시에 실험을 진행했다. 
그런데 5PI센서(SFH313)에서 3PI센서(TEFT4300)으로 센서를 바꾸어서 그런지 거리가 잘 나오지 않았다.
TEFT4300 에서는 10cm 정도에서 센서값이 많이 떨어져 발광을 쏘지 않을 때와 비슷한 값이 나와버렸다. 

좌절하며 여기저기 찾아보던 중 수광 센서의 peak값을 쓰기 위해 120us정도의 delay를 사용하는 소스를 우연히 발견했다. 
그래서 peak 값을 쓰는 게 맞나? 하는 생각을 하다가 일단 그렇게 해보기로 했다. 
우리가 ADC 하는 방식은 발광을 잠깐동안(1~5us) 쏜 후 수광 센서에서 빛에 의해 전압이 올라갈때 그 값을 conversion 하는 방식이다. 그래서 수광 소자가 빛에 대해 온전히 peak로 올라가기 전에 그 슬로프에서 값을 받는 식이었다. 

일단 발광센서의 쏘는 시간을 바꿀 수 있도록 프로그램 한 후 스위치로 값을 바꿔가며 실험하였다. 
수광 소자에서 값이 올라가는 추세를 오실로스코프로 찍어보며 peak까지 가는 시간을 체크했다. 대략 80us 정도는 있어야 신뢰할만한 peak로 올라가는 것을 볼 수 있었다. 또한 80us로 바꾸었더니 더 많은 거리를 보게 되어 15cm 정도는 신뢰할만한 값을 보였다. 또한 그로 얻은 거리-센서값 그래프를 통해서 얻은 근사식 계수를 통해 센서값-거리 그래프를 그려보았더니 실제 거리와 거의 비슷하게 나오는 것을 볼 수 있었다. 

 

이러한 이유에 대해 생각해보고 내린 나름대로의 결론은 아래와 같다. 
위에서 사용한 근사식은 빛의 반사량에 대한 이론적 분석을 통해 얻어진 것으로 알고 있다. 이는 카토의 블로그에도 소개된 바 있다. 하지만 우리가 ADC 하는 방식은 발광을 잠깐동안(1~5us) 쏜 후 수광 센서에서 빛에 의해 전압이 올라갈때 그 값을 conversion 하고 빛의 량에 대한 수광소자의 peak 값을 이용하지 않기 때문이라고 생각했다.

또한 TEFT4300이 다른 센서들보다 반응 파장대역이 좁아서 그 특성 때문에 다른 외광에 강하다고 성진이형이 말씀하셨다. 
지금의 테스트 마우스에는 두 가지 다른 수광 센서가 달려있기 때문에 이를 테스트 해보았다. 

테스트를 위해 동방에 썩혀두고 있떤 200W 전구를 꺼냈다.(한번 켜면 엄청 뜨거워져서 손도 못댈 뿐더러 책상에도 함부로 못놓는다는.. )
실험은 간단하다. 아래 그림처럼 200W 전구를 로봇 위 약 20cm 위치에 켜놓고 수광 센서에서 얼만큼의 변화가 있는지 오실로스코프로 찍어보는 실험이다. (사진이 굉장히 어둡게 보이지만 동아리방 불은 모두 켜져 있었다. 너무나 강한 200W 전구의 영향으로 카메라가 그에 조도를 맞추었기 때문에 주변이 어둡게 보이도록 찍힌 것이다.)

이제까지의 나의 상식으로는 이정도 위치에 이정도 밝기면 바로 saturation 되어버릴 것만 같은 말도 안되는 실험이다. 
하지만 놀랍게도 두 가지 센서 모두 saturation은 일어나지 않았다. 다만 이 전구의 빛에 반응하는 정도가 달랐다. 

SFH313 의 경우 2V 정도의 전압이 관측되었다. 
TEFT4300은 놀랍게도 450mV 정도의 전압이 관측되었다.

대회장의 빛이 아무리 밝아도 이보다 밝진 않을 것이라 생각된다. 또한 그 빛의 광원이 이보다 훨씬 멀리 떨어져 있기 때문에 수광센서에서의 값의 변화가 많지 않을 것이다. 결과적으로 TEFT4300은 굉장하다!.. 

졸리다 자야겠다. ㅠㅠ

공유하기 버튼

 

노트북 먼지 제거

2008년 초 전역 후 신학기의 부푼 꿈을 안고 샀던 노트북.. 

그건 지금 생각하면 아주아주아주~ 구린 에버라틱 4600 series ㅠㅠ

그래픽 카드도 내장이라 그 당시 동방에서 조낸 하던 서든 어택을 하면 끊기는 화면 덕에 오버댓이 난무했더랬다.

램은 주형이의 도움으로 4기가로 업그레이드 하고 운영체제는 xp로 다운그레이드하여 쓰니 꽤 쓸만한 노트북이 됐더랬다. 

근데 이게 산지 얼마 되지 않아 켜기만 하면 이잉~~~ 하는 소리를 소리를 내며 이륙을 하는 게 장난 아니게 시끄러웠다. 

랩실에서 나와 동방에 자리를 마련하고 로봇을 하기 위해 노트북을 켰는데 옆에서 노래를 들으며 시험 공부를 하던 현찬이가 노트북 팬 소리가 이어폰을 뚫고 들어온다며 볼멘소리를 했다.

그래서 노트북 청소를 했다!.. 

하도 소리가 나길래 인터넷에 검색을 해봤다. 이게 원래 이런건지 아니면 어떤 문제 때문에 이렇게 된건지.. 인터넷에도 나와 같은 고민을 가진 사람들이 아주아주아주~ 예전에 올렸던 질문들을 보고 .. 아~ 원래 그런거구나 생각하다가 다른 글이 눈에 띄었다. 

"에버라텍 4600 소재" 라는 글이었는데 '소재'라는게 먼지 제거를 의미하는 듯 보였다. 

아무튼 그 글을 보니 노트북 뜯고 먼지 제거 하는게 그리 어렵지 않아 보여서 바로 실행에 옮기기로 했다. 

그래서 뜯어본 결과!


환풍구를 떡하니 막고있는 먼지들.. 

이 먼지들을 보고 경악을 금치 못하고 제거하느라 블로그에 나와있는 것보다 더 뜯어댔다. 

다시 조립했다가 램이 잘못 꽂혔었는지 안켜져서 잠시 식겁했었지만 해놓고 보니 정말 소리가 많이 줄었다. 

가끔씩 이렇게 먼지 제거를 해줘야 할 것 같다.. 

꽉꽉 막혀있던 곳을 뚫어줘서 뜨거운 바람을 훅훅 불어대는 노트북을 보기 위해.. 

공유하기 버튼

 

테스트용 마우스 로봇

4륜 마우스를 만들기 전에 회로들을 테스트할 테스트용 마우스를 만들었다. 

전에 있던 내 마우스에 있던 휠과 모터(2224)를 떼서 한달 전에 만들어놨었지만 차세대 콘트롤러 F4를 구하지 못해 썩혀두고 있었다. 

하지만 얼마전 성진이형이 가져다주신 STM32F405RG를 장착했다. 


앞으로 이것으로 4륜 마우스에 들어갈 회로를 결정하고 테스트 할 예정이다. 
(얼마나 걸릴진 모르지만.. )

ARM을 처음 써보는 거라 개발환경 구축부터 좀 난항이었다. 
F4 칩이 최근에 나온것이기 때문에 컴파일러도 최신의 것으로 구해야 했다. 

결국 일단 IAR Embedded Workbench for ARM V6.30 Kickstart 를 컴파일러로 사용하고 Flash Loader Demonstrator(2.4.0) 를 이용해서 시리얼로 프로그램을 전송하는 형식으로 개발환경을 구축했다. 

무료 툴인 Ride7이라는 툴도 알게 됐지만 가장 최신 버전(7.36)에서도 STM32F4를 지원하지 않는 듯 보여서 쓰지 않았다.

일단 Kiat 아저씨의 회로도를 참고하여 만들어볼 예정이다. 

하지만 주의할 점은 kiat의 회로도는 STM32F103이라는 것이다. 
다른 점은 31,47번 핀이 전압 안정화를 위해 bypass 캐패시터(2.2uF)를 연결하는 핀으로 바뀌었다는 것이다. 


이 부분만 달리 땜하면 잘 동작하는 것을 확인할 수 있었다. 

일단 예제 프로그램을 통해 LED를 깜박이는 것은 성공했다. 
또 모터 PWM 부분에 포트제어를 통해 특정 신호를 줬더니 모터가 돌아가는 것으로 봐서
모터 드라이버도 제대로 동작하는 것 같다.

앞으로 갈길이 멀다. 
근데 아직도 다른 할일을 남겨두고 있으니.. 그것부터 빨리 해치워야겠다. 

공유하기 버튼

 

1 2 3



FACEBOOK

ZETIN

IT테마 인기글