본문 바로가기

ESP32 Project

무선 저울: 작은 저울 네 개 = 큰 저울 하나

반응형

자전거나 여행 가방처럼 큰 물건의 무게를 할 때는 일반 저울을 사용하는 것이 비효율적인 경우가 많습니다. 이 솔루션은 최대 4개의 소형 저울을 사용하여 무게 측정값을 ESP32 모듈로 전송하고, 모듈은 이를 종합하여 총 무게를 표시합니다. 무선 전송에는 경량 통신 프로토콜인 ESP-NOW가 사용됩니다.

 

 

프로젝트

 

최근 자전거 무게를 재보고 싶었는데, 기존 방식( 자전거를 들고 있을 때와 메지 않고 있을 때 체중계로 몸무게를 재고 차이를 계산하는 방식 )이 상당히 번거로웠습니다. 마찬가지로, 크기가 큰 수하물이나 자전거 가방을 가지고 여행할 때 항공사 무게 제한을 맞추는 것도 골칫거리입니다. 저는 여러 개의 소형 저울을 서로 연결하여 사용하는 솔루션을 개발했습니다. 이 저울들은 실시간 데이터를 무선 수신기로 전송하고, 수신기는 모든 값을 합산합니다.

 

이 프로젝트에서는 각 저울이 10kg(사용된 스트레인 게이지에 따라 다름)까지 측정할 수 있도록 설계하여 총 40kg까지 측정이 가능합니다. 다른 센서를 사용하면 더 높은 무게 범위도 쉽게 구현할 수 있습니다. 이 시스템은 매우 직관적입니다. 자전거의 경우, 각 바퀴 아래에 저울을 올려놓기만 하면 됩니다. 여행 가방이나 상자와 같은 직사각형 물체의 경우, 네 모서리 아래에 저울을 올려놓으면 총 무게를 측정할 수 있습니다!

 

전자 모듈

 

저울과 수신기를 포함한 각 구성 요소에는 통합 OLED 디스플레이(HW-724 유형, 그림 1 ) 가 있는 ESP32 모듈이 포함되어 있습니다 . SSD1306 드라이버를 사용하는 이 간단한 0.96인치 디스플레이는 128 × 64 픽셀을 제공합니다.

 

무선 저울: 그림 1: HW-724 모듈은 ESP32 SoC와 PCB에 직접 장착된 통합 OLED 디스플레이를 특징으로 합니다.

 

각 저울에는 HX711 정밀 계량 모듈( 그림 2 )이 내장되어 있으며, 이 모듈은 무게 센서에서 나오는 아날로그 데이터를 디지털화합니다. 무게 센서는 금속 막대에 고정된 4개의 스트레인 게이지가 휘트스톤 브리지 구성으로 통합되어 있습니다. HX711 정밀 계량 모듈은 높은 정확도의 측정을 위해 24비트 해상도의 ADC를 사용합니다. 센서 브리지의 연결은 다음과 같습니다. E+ = 양극 전원(AVDD), E- = 음극 전원(GND), A+ = 양극 입력(INA+), A- = 음극 입력(INA-). 괄호 안의 명칭은 데이터시트에 명시된 내용과 일치 합니다 .

 

그림 2: HX711 정밀 계량 모듈은 무게 센서에서 얻은 아날로그 데이터를 디지털화합니다.

 

결과 데이터는 24비트 해상도로 변환되어 I2C를 통해 사용할 수 있게 됩니다. 그림 3 에서 보는 바와 같이 HX711 모듈은 ESP32 보드의 뒷면에 직접 장착됩니다.

 

HX711 보드는 ESP32 모듈의 뒷면에 부착되어 있습니다.

 

 

그림 3: HX711 보드는 ESP32 모듈의 뒷면에 편리하게 부착되어 있습니다.

 

앞서 언급했듯이 제가 사용한 조립식 무게 센서( 그림 4 )는 최대 10kg의 무게를 측정하도록 설계되었습니다.

 

변형률 게이지 4개가 부착된 알루미늄 사각 막대

 

그림 4: 이 센서는 휘트스톤 브리지에 4개의 스트레인 게이지가 있는 알루미늄 사각 막대를 사용합니다. 중앙의 길쭉한 구멍은 감도를 높입니다.

 

(다음 섹션에 설명된) 이러한 센서는 저렴하고 쉽게 구할 수 있으며, 다른 무게 범위에 맞는 다른 센서도 사용할 수 있습니다.

 

무게 센서

 

제가 사용한 무게 센서는 양 끝에 장착 구멍이 있고 중앙에 이중 구멍이 있는 알루미늄 막대로 구성됩니다. 이 구멍은 재질을 얇게 만들어 막대가 휘어질 때 구멍 주변 영역에서 늘어나거나 압축되는 현상을 유발합니다. 이러한 변화는 스트레인 게이지로 감지할 수 있습니다.

 

무게 센서 텍스트 상자

 

출처: Cristian V., Wikimedia, CC BY 4.0

 

스트레인 게이지는 얇은 플라스틱 캐리어 층 위에 구불구불한 패턴으로 도포된 얇은 금속(또는 반도체 재료) 층으로 구성되어 도체의 유효 길이를 늘리거나 줄일 수 있습니다(왼쪽 이미지). 스트레인 게이지는 굽힘으로 인한 길이 변화를 감지하기 위해 금속층에 접착됩니다. 금속층이 있는 스트레인 게이지의 경우, 얇고 구불구불한 층이 그에 따라 팽창하면서 길이뿐만 아니라 단면적도 변하고, 이로 인해 저항도 변합니다. 이러한 저항 변화는 매우 미미하기 때문에 측정 정확도를 확보하기 위해서는 전자 회로가 필수적입니다.

 

최적의 결과는 휘트스톤 브리지 구성으로 4개의 스트레인 게이지를 사용할 때 얻을 수 있습니다(오른쪽 이미지). 이 구성은 굽힘 방향을 감지하고 온도 변화에 따른 드리프트를 보정합니다.

 

회로

 

그림 5 의 블록 다이어그램은 네 개의 부품이 어떻게 연결되어야 하는지를 보여줍니다. 구조가 매우 간단하기 때문에 공식적인 BOM(자재명세서)은 생략할 수 있습니다. 무게 센서는 휘트스톤 브리지를 전원(E+), 접지(E-), 그리고 HX711 모듈의 입력(A+, A-)에 연결하는 네 개의 전선을 가지고 있습니다(그림 2 참조 ). HX711은 포트 13과 15를 사용하여 I2C 방식으로 ESP32 모듈과 통신합니다.푸시 버튼을 통해 교정 및 영점 조정을 수행할 수 있습니다.

 

축척 블록 다이어그램

 

그림 5: 저울의 블록도는 단 네 개의 모듈과 하나의 푸시 버튼으로 구성되어 있습니다.

 

각 저울의 전원은 DIY 파워뱅크 에서 공급됩니다 . 파워뱅크의 5V 출력은 ESP32 모듈에 연결됩니다. ESP32 보드에는 3.3V 전압 레귤레이터가 내장되어 있어 HX711에 쉽게 전원을 공급할 수 있습니다. 파워뱅크에 전원 스위치가 포함되어 있으므로 별도의 전원 스위치는 필요하지 않습니다. 또한 ESP32가 파워뱅크를 작동 상태로 유지하는 데 필요한 전류를 충분히 소모하기 때문에 "슬립 방지 신호"도 필요 없습니다.

 

수신기는 저울과 동일한 ESP32 모듈인 HW-724를 사용합니다. 수신기 역시 파워뱅크 또는 소형 5V 충전기를 통해 전원을 공급받을 수 있습니다.

 

소프트웨어

 

모든 소프트웨어는 Arduino 버전 V1.8.19 로 작성되었으며 이 페이지 에서 다운로드할 수 있습니다 . 각 저울에는 고유한 하드코딩된 ID(변수 SCALE_ID )가 필요합니다. 따라서 각 장치마다 코드를 개별적으로 컴파일해야 합니다.

 

소프트웨어는 시작 시 디스플레이를 0kg으로 설정하는 용기 무게 제거(tare) 기능을 실행합니다. 이 과정 동안 저울이 비어 있는지 확인하십시오. "0"이 표시되면 측정을 시작할 수 있습니다. 버튼을 짧게 누르면 용기 무게 제거 기능이 실행됩니다. 그 후 100ms마다 측정이 이루어집니다. 무게 변화가 감지되면 해당 값이 수신기로 전송됩니다.

 

전원을 켤 때 버튼을 길게 누르면 전체 보정이 시작됩니다. 안내에 따라 정확한 200g 기준 무게(예: 물 한 잔)를 저울 위에 올려놓아야 합니다. 소프트웨어는 보정 계수를 생성하여 ESP32의 플래시 메모리에 저장하고, 이 계수는 향후 모든 측정에 사용됩니다. 저울의 ID도 디스플레이에 표시됩니다.

 

데이터 전송은 ESP-NOW 프로토콜을 사용합니다. ESP-NOW는 Espressif에서 설계한 무선 프로토콜로, Wi-Fi의 물리 계층을 사용하지만 Wi-Fi 특유의 높은 오버헤드는 없습니다. 통신 참여자를 식별하기 위해 MAC 주소가 사용됩니다. 본 프로젝트에서는 수신기의 특정 MAC 주소를 사용하여 안정적인 통신을 보장합니다. 이를 위해 프로그램에는 MAC 주소를 읽는 간단한 함수가 포함되어 있습니다. 컴파일 시 특정 옵션을 선택하면 이 함수를 한 번만 실행하여 MAC 주소를 가져오고 기록할 수 있습니다.

 

수신기는 ESP-NOW 데이터를 수신하여 각 저울의 ID와 무게를 추출하고 한 줄씩 표시합니다. 저울이 없거나 데이터 전송을 중단하면 해당 저울의 이전 데이터는 삭제되고 최종 합산 값이 업데이트됩니다.

 

설계

 

받침대와 상판에는 원형 플렉시글라스 시트를 사용했습니다. 센서에는 양쪽에 두 개의 장착 구멍이 있습니다. 한쪽은 나사와 아크릴 스페이서를 사용하여 받침대에 고정하고, 다른 한쪽은 같은 방식으로 상판에 고정합니다. ESP32 모듈은 절연 및 안정성을 위해 구부린 알루미늄 시트와 양면 테이프를 사용하여 측면에 부착했습니다.

 

센서, ESP32 모듈, 그리고 DIY 파워뱅크 내부 부품(PCB 및 리튬 배터리)을 조립한 후, 저울을 테스트할 준비가 되었습니다. 그림 6은 제가 제작한 저울 시제품 중 하나입니다.

 

 

축소 모형

 

그림 6: 축소 모형 모습: (a)는 보조 배터리 PCB, 배터리 및 중앙 센서를 보여줍니다. (b)는 HX711 모듈이 장착된 ESP32의 후면을 보여줍니다.

 

그림 7은 측정 실험에서 두 개의 저울과 수신기를 보여줍니다. 왼쪽 저울이 463g, 오른쪽 저울이 354g일 때 수신기는 817g을 정확하게 표시합니다. 높은 해상도에도 불구하고, 수하물 무게 측정에서 1g의 오차는 무시할 수 있을 정도로 작다는 것을 알 수 있습니다

 

무선 저울: 완벽한 시스템

 

 

그림 7: 저울 두 개와 수신기 한 개로 구성된 전체 시스템.

 

무선 저울 2개로 레이싱 자전거를 측정했습니다.

 

 

그림 8: 두 개의 저울 위에 올려진 내 경주용 자전거.

 

마무리 말씀

 

4개의 저울로 구성된 시스템은 최대 40kg의 수하물 무게를 측정하기에 충분하며, 대부분의 항공사 허용 무게 제한을 초과합니다. 저의 경우처럼 경주용 자전거의 무게를 1g도 정확하게 측정해야 하는 상황에서는 총 20kg까지 측정 가능한 저울 두 개면 충분합니다( 그림 8 ). 소프트웨어는 추가적인 편의성이나 기능을 위해 최적화할 수 있습니다. 즐거운 실험 되세요!

 

이 튜토리얼의 원문은 다음 링크를 따라가세요. 원문 제공자에게 감사합니다.

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩