시중에 팔고 있는 로드셀은 비쌉니다 ㅡ.-;;;
대량으로 사도 비싼데...
avr관련 카페들을 검색해보니 몇십만개 단위로는 싸게 살수 없다는 군요 ㅡ,.ㅡ;;
그런 이유로 보통 디지털 체중계를 분해해서 사용합니다.
저도 분해해 보겠습니다.
제가 이번 포스팅에서 분해할 체중계는 다음과 같습니다.
모델 : 카스 HE-18
1눈의 값 : 100g
사용 범위 : 4kg~150kg
시중에서 15000원 정도 하는 나름 고가(?)의 디지털 체중계입니다.
원래는 싸구려 중국제를 2개 분해했는데 둘 다 값이 이상하게 나와서 찾아보니 어떤 분께서 추천해주신 제품입니다.
(다른 모델명(생긴 건 똑같은데-_-;)의 체중계는 괜찮은 것으로 보아 저 제품이 이상한듯하네요.)
디지털 체중계에서 최소 범위는 의미가 없습니다.
최소범위 이상 무게가 올라가야 체중계가 켜진다는 의미인지라 직접 재보면 4kg 미만이여도 값이 나옵니다.
시중에 있는 대부분의 디지털 체중계는 3선식 로드셀을 이용합니다.
로드셀을 사용할 때는 브리지를 만들어야 합니다.
로드셀이 1개면 하프브리지를 만들어야 하고 2개/4개면 풀브리지를 만들어야 합니다.
(참고 : [하드웨어] 체중계 분해하여 체중계 만들기 - 3선 로드 셀(Load cell) 배선을 하자 )
하프브리지를 만들 때 주의해야 할 것이 저항은 로드셀이 나타내는 저항값에 비슷한 것을 사용해야 합니다.
그리고 하프브리지를 만들 경우 값이 불안정하게 나오는 경우가 있는데 이럴 때는 고정밀 저항을 사용해야 한다고 합니다.
디지털 체중계를 분해하면 다음과 같은 기판에 3선 로드셀 4개가 풀브리지로 구성되어 있습니다.
대부분의 디지털 체중계가 위의 2개 모양 중 하나의 기판으로 되어 있을 것입니다.
(전 5개 정도 분해했는데 거의 아래 모양의 기판을 사용하더군요.)
배선 상 차이는 없습니다.
기판에 글자가 안 쓰여있는 경우도 있는데 보통 양쪽 끝이 +V, -V입니다.
그리고 가운데가 +S, -S입니다.
따로 쓰여있는 내용이 없는 경우 거의 위에 사진과 같이 돼 있을 확률이 높습니다.
(꼭 그런 건 아니므로 기판의 배선을 확인해야 합니다.)
로드셀을 확인할 때 공급 전원이 너무 높거나 낮지만 안다면 문제없습니다.
로드셀은 공급 전원에 비례해서 값이 출력된다고 합니다.
그러니 3V이상 공급해야 값을 읽는 데 문제가 없을 것입니다.
(체중계가 3V를 사용하기 때문입니다.)
저는 아두이노를 가지고 있기 때문에 5V공급이 편해서 5V를 공급했습니다.
+V에 5V를 연결하고 -V에 GND를 연결합니다.
+S와 -S를 각각 테스터기에 연결합니다.
극성은 상관없습니다.
극성이 반대가 되면 값이 마이너스가 나올 테니 바꾸시면 됩니다.
어찌 됬건 아무것도 안 올라갔다면 0V가 나와야 합니다.
여기서 공급 볼트에 따라 0~0.010V가 나옵니다.(제가 가지고 있는 체중계의 경우 그렇고 체중계에 따라서 더 큰값이 나올 수도 있습니다. 이럴때는 직접올라갔을때 값이 얼마나 변하는지 체크하셔야 합니다.)
그런데 여기서 너무 큰 값(1V)이 나온다면 배선이 잘못 된 것입니다.
(선이 끊어지거나 합선돼도 값이 나옵니다. 주의해야 합니다.)
배선에 대한 내용은 스텐바이김님의 블로그에 자세하게 설명되어 있으니 링크로 대체 합니다.
추가 : 기존 스텐바이김님 블로그에 해당 내용이 사라져서 다른 링크로 바꿉니다.
참고 : [하드웨어] 체중계 분해하여 체중계 만들기 - 3선 로드 셀(Load cell) 배선을 하자
로드셀과 같이 낮은 전압의 값이 나오는 센서들은 값은 너무 작기 때문에 전압증폭을 해야합니다.
그러니 배선이 정확한대도 0V에 가까운 값이 나오지 않는다면 체중계를 바꿔보시는 걸 추천합니다.
(똑같은 거 2개 샀는데 둘 다 1V나와서 카스 걸로 바꾼 건데 한큐에 됨 OTL)
이제 사람이 올라가봅시다.
제 몸무게가 60kg정도 인데 0.001~0.002V 정도 올라갑니다.
몇 볼트를 넣었느냐에 따라 조금씩 다르긴 한데 3~5V인경우 60kg정도 올라가면 0.001~0.002V정도 올라가는 것을 볼 수 있습니다.
만약 같은 조건에서 값이 올라가지 않는다면 체중계가 젤 수 있는 최대치까지 무게를 늘려봐야 합니다.
무게를 최대치까지 올려서 값이 올라가지 않는다면 10v이상의 전압을 인가해보고 그래도 변화가 없으면 배선이 잘못됐을 확률이 높습니다.
(이거보다 낮은 값이 나올 수는 있는데.....증폭해서도 값이 나오지 않는다면 체중계를 바꾸는 방법뿐입니다.)
이대로는 너무 낮은 값이 나와서 어느 정도 올라갔는지 알 수가 없습니다.
그러니 증폭을 해야 합니다.
전압을 증폭하는 방법은 다른 글에서 설명했습니다.
(참고 : [하드웨어] AD620을 이용한 전압증폭)
증폭은 AD620을 이용하였으며 -4.5V, +5V를 인가하여 490k저항을 연결하였습니다.
(저울엔 +5V)
이제 아무것도 올라가지 않은 상태에서 어떤 값이 나오는지 확인해 봅시다.
지금부터 나오는 값들은 여러 가지 상황에 따라 값이 많은 차이가 있을 수 있습니다.
저는 5V를 인가한 상태에서 아무것도 올려놓지 않으니 0.03V가 나왔습니다.
1리터짜리 우유를 올려 보았습니다.
제가 올라가 보았습니다.
이제 이걸 계산해서 무게로 환산하는 건 여러분의 몫입니다 ㅎㅎㅎㅎ
이런류의 아날로그 센서의 값은 평활법을 이용하여 일정 시간 동안 수집된 값을 처리해야 합니다.
어떤 방법으로 값을 만들지도 여러분의 몫이죠 ㅎㅎㅎㅎ
체중계마다 나온 값이 다를 수 있습니다.
저는 테스트할 것이 몇 가지 있어서 여러브랜드의 제품으로 확인해 봤는데 다들 제각각입니다 ㅡ.-;;;;
추가 : 사실,,,,,이건 당연한겁니다 ㅎㅎㅎ 그건 밑에 링크에서 알 수 있습니다
참고 : [Arduino] 체중계 분해하여 체중계 만들기 - HX711과 아두이노를 이용하여 데이터를 받아보자
데이터 자체는 확인해봐야 알겠지만 가변저항을 이용하여 어느 정도 맞는 값을 지정할 수 있지 않을까 생각중입니다 ㅎㅎ
2019-11-03 추가 : 지금은 로드셀도 싸게 구할 수 있습니다 ㅎㅎㅎㅎ