회원가입 ID/PW 찾기
AA

이번에 온도센서를 만지면서 궁금한게 생겼습니다!

LM35DZ 였구요. 회로 구성은 아래 그림에 있는 회로



이대로 구성해서 만들었습니다.

정작 전원 넣고 돌려봤더니 센서(LM35DZ)의 전압이 0.001mA씩 서서히 증가했었습니다.

LM35로 들어가는 (+) 사이에 10K가변저항 물려서 해당 문제를 해결했는데요(사실 맞는 방법인지는 모르겠어요.)

이게 셀프히팅이라고 하던데.. 이것과 유사한 경우나 대략 설명 좀 해주실 수 있는지요?

제가 검색을 못하는건지 좀 비슷한 사례를 알고 싶어서요 ^^;;


----------------------------------------------------------------------------------------------------------------------------------------------------------

img1.jpg

댓글 29
  • No Profile

    셀프 히팅은....저도 첨 듣는 단어이네요.ㅠㅠ 죄송해요~~~
    lm35에서 나오는 출력을 반전 증폭회로를 이용해 증폭한 연후에 adc로 값을 변환하네요.

    센서에서 나오는 전압이 수 mV이기 때문에 증폭이 필요할겝니다.ㅋㅋ

    lm35는 안써봐서 패스요.ㅋ 데터쉬트도 귀찮은.ㅠㅠ

  • No Profile
    아크마님이 맞는 말씀입니다 LM35DZ 데이터 시트를 보시면 알겠지만 

    100도씨에 출력 전압이 1V밖에 안됩니다.

    저두 온도계만들때 했지만 기억이 가물가물하네요 ㅋㅋ 그래서

    저 역시 OP-AMP를 물려서 5배 증폭하여 ADC에 물렸습니다.

    전 AVR(ATmega128)로 구성하였지만 ㅋ 암튼 원리는 같죠 ㅋㅋ

    LM35DZ에 관한 데이터 시트를 먼저보시는게 도움이 될꺼 같네요

    데이터 시트에 기본 TEST회로가 나와있으니깐요 ㅋㅋ
  • No Profile
    글쓴이 환상 07.12.06 14:47 댓글 좋아요 0 싫어요 0
    음..셀프히팅이란게 센서 사용하면서 종종 있는 경우가 있다더라구요.
    대충 미리전압이 음흉하게 증가하면서 오래두면 연기가 스윽~ ^^;

    LM35뿐만 아니라 다른것도 있는지 궁금했어요 ㅠ

    뽀님 말씀대로 테스트하다가 일어난거거든요 ㅠ

    이 궁금증!!! ~~~~~~~
  • No Profile

    저도..음..셀프히팅이라...어떤거가 온도가 스스로 올라가는건지는 잘 모르겠지만...
    어찌든간에....LM35도 마찬가지지만..모든 센서는 온도컴펜세이션을 시켜줘야 합니다..
    온도가 10도만 올라가도...저항비가 많이 바뀌게 되버리니까요..뭐..콘덴서나 코일도 마찬가지구요.
    그림 14의 회로는 전압분배하는 회로에서 나온 전압(2/19*5v=0.52v ~ 3/19*5v=0.78v 가변저항을 돌리면 0.52v에서 0.78v까지 변함)을  OPAMP를 통한 전압플로워를 거처 입력임피던스를 크게하고...AD컨버터의 기준 전압으로 사용했군요..
    제 기억으로는 0804가 8bit AD니까....그림에서처럼 가변저항을 잘 맞춰 VREF를 0.64v 로 맞췄을 때
    0v = 0 이되고 0.64v = 255가 되게됩니다..

    환상 님께서 말씀하신 "정작 전원 넣고 돌려봤더니 센서(LM35DZ)의 전압이 0.001mA씩 서서히 증가했었습니다."
    부분에서는 처음에 저항의 온도는 낮지만...전압이 흐르게 되면..흐르는 전류에 비례하게..열이 발생하기도 하고..
    회로의 다른 부분에서 발생하는 열이..전도가 될 수 도 있고...어쨌든지 간에..이런 류의 열이 발생하게 되면.
    이랬을 때 발생하는..문제를 몇가지만 생각해보면..
    우선.. VREF로 들어가는 전압이 낮아지거나 높아질수 있죠..(저항값이 온도에 따라 약간 변하기 때문에)
    만일 0.64v로 들어가던 기준전압이 0.66v로 바껴버렸다면? AD컨버터가 변환하는 값들에도..약 3%의 변화가 생기게 
    되는군요(원래 100도를 출력한다면 103도가 출력되겠죠)
    이런 문제 이외에도..다른 여러 문제가 회로의 구동온도의 변화에 의해서 발생할 수 있습니다.
    해결을 위해서는..온도변화에 가장..둔감한 저항을 구하셔도 어느정도 효과를 보실 수 있구요..
    온도보상회로를 만들어주는거도 하나의 방법입니다.

    그런데.....음흉하게 전압이 증가하다가 연기가 발생하는..문제는...ㅡㅡ 이그응(흐흐 잼있군요)
    아마 회로가 뭔가 이상하지 않나 라는 생각을 해봅니다.


  • No Profile
    글쓴이 환상 07.12.06 21:32 댓글 좋아요 0 싫어요 0
    아하~ 결국.. 저항을 잘맞춰야겠네요.
    의도하지 않았던 내용이었던 레퍼런스전압 맞추는것도 설명해주시니 몸둘바를 모르겠어요+_+
    0.64맞춰야되는데.. 0.74~0.78에서만 맴돌았었거든요.
    셀프히팅 없애려고 LM35 앞에 10K저항 걸으면서.. 발생한 문제였었는데.

    양쪽 동네에 걸리는 전류를 일정하게 해주면되겠죠?
  • No Profile

    아...그 예기는...LM35의 +단에..직렬로 10K저항을 거셨다는 이야기 인가요?
    아마..그렇다면 16K저항의 라인과 병렬로 연결되는 관계니깐...그 부분은..괜찮을 겁니다...
    가변저항만 잘 맞춰주시면..괜찮은..데이터를 얻으실지도 모르겠군요...
    여담으로..AD컨버터의 입력 임피던스가 꽤 높긴할건데.....가끔 보면..생각보다 낮은 녀석들이 좀 있어서..
    AD컨버터의 입력부분..(IN부분)에도 전압플로워를 똑같이 만드셔서 걸면..더 나을지도 모르겠다는 생각이 드는군요.
    정밀한 회로를 위해서는 온도에 따라 저항값이 적게 변하는 저항을 사용하시면..좋습니다..
    업체에서 개발해서 판매하고자 한다면..꼭 따라야 할 수칙이구요...
    그냥..정밀한 것이 필요하지 않은 학습이나 데모용 정도..라면...굳이 온도 컴펜세이션을 하실 필요는 없을겁니다.
    온도에 따라 맞추는 게 쉬운일은 아니거든요.
    또하나 AD컨버터를 프로세서로 인터페이스 하신다면...아마 제가 올려놨던.. 칼만 필터를 구현해 보시는
    것도 ..좋은 스킬이 될 수 있습니다....생각보다 AD컨버터로 받은 값들이 노이즈 때문에 흔들림이 많거든요...

  • No Profile
    빠라삐리뽀님 같은경우는..AVR의 AD 레퍼런스를 아마 5V로 연결해서 쓰는 경우가 많아서(VCC하고 VREF하고 연결되어있는 경우가 많아서)...아마도 ..LM35의 출력을 5V로 맞추기 위해 증폭을 하셔서 사용하셨을 듯 하군요. 그런 형태의 구현도
    상당히 많이 하는 것으로 기억되는 군요..
  • No Profile
    글쓴이 환상 07.12.09 01:17 댓글 좋아요 0 싫어요 0
    문제점을 찾았어요! commidi님 하신말씀 곰곰히 생각해보다가

    ADC에서 읽어들일때 발생하는(?) 노이즈때문에 값이 팍팍팍팍팍~~~~~~~~!!!!!!!!!!!!!!! 튀었었던 거더라구요..

    (수정한 부분은 그림으로 올려요. 본문참조바랍니다. [급하게 그림판으로 끄적여서 죄송해요~ _ _) ])
    교수님 설명으론 LPF어쩌고 하시는데 빨간사각형안에 있는거거든요.
    자세한건 구글이나 또 두드려봐야겠어요~
    (LPF,HPF 혹시 아시는분 있나요?) 
    뭐 노이즈 줄일때 사용한다고 했던거 같네요.
    오른쪽에 ADC 입력 부분 앞에는 그냥 한번 더 붙여봤어요 -_-;

    아무튼 팍팍 튀던게 1~2안으로 줄어들었네요.
  • No Profile
    high pass filter 와 low pass filter  필터가 아닐런지요
    high pass filter는  차단점 fc(0.707/70.7%)이하의 주파수를 제지하고  차단점보다 높은주파수는 통과시키고
    low pass filter 는 high pass filter 의 반대입니다
    제가 볼땐 low pass filter  인것같습니다.  깊이 들어가면 모르겠네요..
    죄송해요 습자지 지식이라서 .....
    이론상으로 만 배웠고 실질적으로 어디에 쓰이는지 는 모르겠네요
    하면할수록 어렵네요
  • No Profile
    글쓴이 환상 07.12.09 13:44 댓글 좋아요 0 싫어요 0
    저한테는 충분히 도움이 되었어요! 감사합니다 _ _)
  • No Profile

    아...입력단에 수동필터를..묶으신거 처럼..보이네요..

    하드웨어적으로..콘덴서랑 저항으로 필터를 연결하였으면...생각보단..덜 튀긴 할 겁니다..
    그러나 아무래도...소프트웨어적으로..필터를...구현해주는 것이..한 방법이 될 수 있습니다...

    이제..이 부분에 대해서 간단히 이야기 해보도록 하죠..
    우선..가장 직관적으로 생각해 볼 수 있는 것이...데이터 하나를 위해 샘플링을 20번에서 50번을 해서..
    그 데이터를 평균하는 방법이 있을 수 있습니다..이거는 쉽게 구현하실 수 있으실 거고..
    이거보다 약간 더 좋은 방법은...데이터를 20~50개를 획득하고..이거를 순위를 매겨서...
    위쪽데이터..와 아래쪽 데이터..들을 잘라내고...나머지..데이터를 가지고 평균을 매기는 방법이 있지요..
    이거도 나름..효과를 보실 수 있으실 듯..하구요..
    아무래도 제가 생각하는 제일 효율적인 방법은...칼만 필터를 사용하시는 방법을 추천합니다.
    다음 댓글에 ..간단하게 다시 설명 드리도록 하죠...




  • No Profile
    #define Q    0.00001
    #define R    0.001

    float g_xPredict = 0 ;
    float g_x = 0;
    float g_PPredict = 0 ;
    float g_P = 1 ;
    float g_K = 0  ;
    float g_z = 0 ;

    float calcKalman( float a_MeasuredValue )
     {
            float l_z ;
            // predict..
            g_xPredict=g_x;
            g_PPredict=g_P + Q;
            // predict..

           
            // Correct..
            g_K=g_PPredict/(g_PPredict + R);
            l_z=a_MeasuredValue ;
            g_x=g_xPredict+g_K*(l_z-g_xPredict);
            g_P=(1 - g_K)*g_PPredict;
            return g_x ;
            // Correct..
    }

  • No Profile
    우선..위의 소스는..AVR강좌란에 올라가 있습니다...
    하지만..C를 사용하는...거면..어떤 것이든 상관없구요..

    위의 소스를 지금 편집하고 있는 소스에 첨가 하시구요...
    읽어들이신 데이터가 변수이름이 a 라고 하고..필터링된 사용할 데이터를 b라고 하면.
    b = calcKalman( a ) ;
    하셔서....b를 사용하시면..됩니다...만일 R값을 크게 하면...데이터가 천천히 변화하게 됩니다.
    R값이 작으면..데이터가 실제 데이터와 거의 같게 나오게 되는 거구요..
    제가 보기엔..R값을..0.1 ~ 0.01 사이의 값을 사용하시면...좋을 듯 합니다..

    ㅎㅎㅎ..완전..묻지마..필터가..되버린 듯 하군요...
    어찌든 우선 써보시구요...내용은..AVR강좌를 참조하시고...이해가 잘 안되시면...말씀하세요...이해 안되는 부분은
    설명 드리도록 하겠습니다..
  • No Profile
    네..LPF는 Law Pass Filter 구요..
    HPF는 High Pass Filter 가 맞습니다..

    Law Pass Filter를 간단하게 설명하면......주파수가 느린거만 걸른다는 말이긴 한데...약간 이해 하셔야 할 부분이 있습니다
    어떤 특정 주파수를 선택하고..(10Hz, 100Hz, 1000Hz 등등등)그 주파수보다 작은 주파수 대역은 ..걸르는 것이
    Law Pass Filter 구요...High Pass Filter는 그 주파수보다 큰 주파수 대역을 걸르는 거죠...

    그런데..실제..위에 사용하신..필터는...수동필터(R과 C를 사용한)인데...실제...더 좋은 퍼포먼스를 위해서는..
    능동필터(OPAmp를 사용한) 를 사용하는 경우가 많습니다...이런 류의 내용은...인터넷이나..책을 참고하시면..
    상당히 많은 부분들을 찾으실 수 있습니다...

    제가 말 주변이 좀 부족한 고로...설명이 잘 되고 있는 지 모르겠군요...여하튼..좋은 결과 있으시길 바래요..
  • No Profile
    오타 태클..죄송합니다.

    Low Pass Filter아닌가요?

    저역통과 필터라면요

    다른 의미의 law라면 모르겠고요
  • No Profile

    어떤 특정주파수를 결정한다는 말이신지?모르겠네..

    어차피 차단점은 결정되어있지않습니까?
    1차능동필터라든지 2차능동필터라든지...

  • No Profile
    글쓴이 환상 07.12.09 23:24 댓글 좋아요 0 싫어요 0
    헉........... commidi 님 말씀대로 칼만필터 적용해봤더니..
    완던 ㅎㄷㄷ 입니다 +_+

    오차범위가 0.x~0.x로 떨어졌네요... >_<

    올려놓으신 자료 번역하면서 공부좀 해봐야겠어요~ 수학은 완전 싫은데 ㅠ 그게 확률이면.. 어휴~
  • No Profile
    댓글 개수에 혀를 내두루고 지나갑니다...^^
  • No Profile

    네...law 아니죠...low 맞습니다..

  • No Profile
    아뇨..그냥...로우패스 필터하고..하이패스 필터의 개념 부분을 말씀드린겁니다. 차단점은..
    수동소자의 크기로 결정이 되는 건데...가끔 보면...로우패스필터..라고 하면..
    저주파수..라고만 막연히 생각하고 계신 분들이 많으신거 같아서..
    만일 차단점을 10Hz로 잡으면...로우패스라고 하는게 10Hz 미만을 걸른다 ...라고 하는 말을 표현하고 싶어서
    그러니깐..임의의 차단점 이하의 주파수를 통과시키는게 로우패스 필터다...라는 이야기를 표현하고 싶었습니다..^^;
    말주변이 별로 없는 저를 이해해 주시길..^^;
  • 어어 저도 댓글 추가 ㅋㅋ 칼만필터까지 나오는군요. 마치 최종 필살기까지 ..

    필터에서 차단 주파수에 함정이 있습니다.  이때 차단주파수 F = 1/2ΠRC 가 되고 기울기는 -3dB 가 됩니다.(0.707Vmax)

    즉, 약간 감소는 되지만 차단은 안되죠. 한 10배 정도 되면 거의 없어질 것 입니다. 이 필터 분야가 참 어려워요.

    고주파에선 더욱더 심해집니다. 이젠 임피던스 매칭까지 해 주어야 하니깐요. 보드선도.. 위상각.. 지상회로망.. 으아아아 ^^;;;
  • No Profile
    환상님..말씀은...칼만필터..쓰고나니깐...데이터가 잘 나온다는..이야기 인가요?
    다행히 ..쉽게 쓰시는거 같아..다행입니다...
    그리고 칼만 필터..를 이해하시는 부분에는...첫번째 사진만 있으면..충분한 거 같군요..
    두번째 ~ 네번째 사진은...그냥..실험치를..보여주는 사진이라..
    그냥..링크된 문서를 받아보셔도..실험치를 보여준..사진이 있으니간...이해하시는데 걱정하시지 않으셔도 될듯.
  • No Profile
    글쓴이 환상 07.12.10 02:58 댓글 좋아요 0 싫어요 0
    네 ^^ ADC0804쓰고있었거든요.
    1차, 노이즈때문에 오차범위가 ±10정도였고
    2차, LPF 적용후 오차범위가 ±1~2 정도였구요
    3차, 칼만필터 적용후 소숫점 이하로 떨어져서 정확(?)한 측정이 가능해졌어요.

    역시~ 사람은 배우면서 진화하는군요 크크크; 상당히 재미있는(?) 실험이었습니다~ 공부도 많이 되었구요 ^^;

    적용하는데 어려움은 없었어요. 소스 이해하는데 애좀 먹은거 빼면 (변수가... ㄷㄷ)^^;


    영혼님 말씀대로 나온건 다나온거같은데요? 물론 결과도 좋으니 부정하기 힘든 사실인건가 -0-;
    (근데 영혼님 말씀하시는게 뭔지 모르겠어요 ㅠ 방학해야 언능 전자전기 공부할텐데)
  • No Profile

    아...맞다..마지막으로...하나 만 더..알려 드리지요...
    보통..필터(능동, 수동, 소프트웨어..등등)를 설계할 때 손으로..모두 계산을 하고 계신지도 모르겠군요...
    하지만..이런 것들은....개념 정도만 알고 계시면...툴을 사용하시는게..훨씬 더 빠른..결과를...
    얻어내실 수 있습니다...유틸리티야..여러가지 있는데...하나 만 소개하자면.. Filter Solutions 라고 하는
    프로그램이 있겠습니다...뭐..스크린 샷이라도 보여드리면..좋을 것 같긴한데...지면..크기상 그건 어려울 것 같고..
    상당히 잘 만들어 놓은 프로그램이라고 생각합니다...필터설계하실 때 한번쯤 써보시길 추천합니다..^^;
    아마..영혼님께..상당한 도움이 되지 않을까 합니다.
    행복하세요.

  • No Profile

    LPF는 f=1/2piRC  HPF f=1/2piRC도 공식은 같습니다만 이해하셔야하는건 HPF 는 저기로 계산된 주파수값 부터 통과~
    LPF는 계산된 주파수까지만 통과...대략적으로 통과되는 개념입니다.

    두 필터를 합하면 BPF가 됩니다.  이런 개념만 알고 들어가신다면 윗글들이 이해가 쉽게 갈듯하네욤...칼만 필터는 RF에서 쓰시는 개념인가봐욤.....  공부해보려니...힘이...오늘은 힘 앵꼬....ㅋ

  • No Profile
    많은분들의 훌륭한 조언이 있네요..^^
  • No Profile
    아마 온수장판이 때문에?
  • No Profile

    이런 센서를 이용하는건 어떨까요 위의 회로가 다 센서에 들어가 있구요 i2c interface 네요 datasheet 첨부함

  • No Profile

    이런 센서를 이용하는건 어떨까요 위의 회로가 다 센서에 들어가 있구요 i2c interface 네요 datasheet 첨부함

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
  • 성공적인 결혼이란 매일같이 개축해야 하는 건물과 같은 것이다.
    - 모로아
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.