กลับไปหน้ารวมไฟล์
electronic-weighing-machine-96f635.md

อยากรู้จังว่าอุปกรณ์อิเล็กทรอนิกส์พวกนี้มันหนักเท่าไหร่ เลยตัดสินใจทำเครื่องชั่งของตัวเองซะเลย :)

ก่อนจะเริ่ม ต้องลงไลบรารี่พวกนี้ก่อนนะน้อง

LiquidCrystal_PCF8574

Wire

HX711

Micro-Voltage Physics: เครื่องชั่งอิเล็กทรอนิกส์

ถ้าน้องเอาโลหะชิ้นนึงไปจิ้มที่พิน Analog ของ Arduino มันจะไม่มีอะไรเกิดขึ้นเลย แต่พอน้องวางน้ำหนัก 1 ปอนด์ลงบนแท่งอลูมิเนียม ตัวโลหะมันจะโก่งงอไปนิดเดียวแบบที่ตาเปล่ามองไม่เห็น โปรเจค เครื่องชั่งอิเล็กทรอนิกส์ นี้ใช้ สเตรนเกจ (Strain-gauges) ในการวัดการยืดหดของอะตอมระดับจิ๋วพวกนั้นเลย! เพราะว่าแรงดันไฟฟ้าที่เปลี่ยนมันน้อยมากๆ แค่ 0.0001 โวลต์ มันเลยต้องพึ่งพระเอกอย่าง HX711 24-Bit ADC มาดึงค่าพวกนั้นขึ้นมาให้เราเห็นในโลกดิจิทัล!

The HX711 24-Bit Amplifier Engine

ADC 10-bit ในตัว Arduino น่ะใช้กับงานนี้ไม่ได้เลย (มันเห็นแค่ 1024 สเตป) แต่เจ้า HX711 นี่เห็นถึง 16 ล้านสเตป!

  1. โหลดเซลล์ (Load Cell) ใช้สาย 4 เส้น (ส่วนใหญ่คือ สีแดง, ดำ, ขาว, เขียว) ซึ่งประกอบกันเป็นวงจรวีตสโตนบริดจ์ทางกายภาพ
  2. Arduino จะต่อกับ HX711 ผ่านพิน 2 ขา: DT (Data) และ SCK (Clock)
  3. ไลบรารี่ <HX711.h> จะช่วยจัดการเรื่องการสื่อสารแบบซิงโครนัสที่โคตรจะวุ่นวายให้เรา
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(2280.f); // ค่าคาลิเบรชันทางคณิตศาสตร์ที่ต้องหาให้ได้!
scale.tare();            // ลบค่าน้ำหนักตั้งต้นเป็นศูนย์!

float currentWeight = scale.get_units(10); // อ่านค่า 10 ครั้งแล้วเอามาเฉลี่ย!

ต่ออุปกรณ์ทั้งหมดตามแผนภาพวงจรเลยน้อง

Metrology Base Components

  • Arduino Uno/Nano (สถาปัตยกรรมมาตรฐาน)
  • HX711 Load Cell Amplifier Board (ห้ามสลับขา Data นะ โปรโตคอลมันเข้มงวดมาก)
  • Aluminum Bar Load Cell (มีแบบ 1kg, 5kg, หรือ 20kg ต้องยึดมันให้แน่นระหว่างแผ่นไม้แข็งๆสองแผ่นในรูปทรง 'Z' ไม่งั้นมันไม่โก่ง ค่าที่อ่านได้จะเป็นศูนย์ตลอด!)
  • I2C 16x2 LCD สำหรับแสดงผลน้ำหนักเป็นกรัมแบบละเอียดยิบ!

ส่วนโปรแกรมมิ่งนี่สำคัญมาก

1. การคาลิเบรท

Calibrating the Aluminum Physics

โหลดเซลล์ใหม่ๆ มันไม่ส่งค่าเป็น "กรัม" ออกมานะ มันส่งค่าตัวเลขดิบมั่วๆ ออกมาแบบ -845601

  • ขั้นตอนการคาลิเบรท:
  • น้องต้องเขียน "สเก็ตช์สำหรับคาลิเบรท" ก่อน วางน้ำหนักมาตรฐานที่รู้ค่าแน่นอน เช่น 100 กรัม ลงบนเซนเซอร์
  • Serial Monitor จะอ่านค่าได้ประมาณ 500000 น้องก็เอา 500000 / 100 = 5000
  • เลข 5000 นี่แหละที่จะกลายเป็น calibration_factor ค่าคงที่ทางคณิตศาสตร์ของเครื่องชั่งน้อง! ถ้าไม่มีค่านี้เป๊ะๆ เครื่องชั่งน้องจะกลายเป็นเครื่องสร้างตัวเลขสุ่ม!

ตอนคาลิเบรท ให้อัพโหลดสเก็ตช์คาลิเบรทโดยที่ยังไม่มีอะไรวางบนถาดชั่ง จากนั้นค่อยวางน้ำหนักมาตรฐานที่รู้ค่า แล้วเปิด Serial Port ขึ้นมา ปรับค่า calibration factor ขึ้นลงจนกว่าค่าที่แสดงจะตรงกับน้ำหนักที่วาง

ตัวอย่างเช่น ถ้าน้องวางน้ำหนัก 250 กรัม ตอนแรกมันอาจจะแสดงเป็น 400 กรัม หรือ 1kg ก่อนคาลิเบรท.. น้องก็ใช้ปุ่ม a, s, d, f หรือ z, x, c, v ปรับค่า calibration ไปเรื่อยๆ จนกว่ามันจะแสดง 250 กรัม จาก 400 กรัม หรือ 1kg ที่เป็นอยู่ พอได้แล้วก็จดค่า calibration factor ไว้

2. สเก็ตช์จริง

เอา calibrated value xxxxxxx ที่ได้มาใส่ในบรรทัดนี้แล้วอัพโหลดไปเลย จบ...

scale.set_scale(xxxxxxx);

3. เวลาจะรีเซ็ตค่า Tare (ชั่งน้ำหนักตั้งต้น) พี่ใช้ปุ่มกดหนึ่งปุ่ม

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "boaz"
category: "Sensors & Environment"
components:
  - "1x Standard LCD - 16x2 White on Blue"
  - "1x I2C LCD Module"
  - "1x 3Kg Load Cell"
  - "1x Arduino UNO"
description: "Micro-gram kinematic distortion arrays! Extract terrifyingly microscopic voltage differences from physical Wheatstone-bridge aluminum load cells using the HX711 24-bit amplifier to build absolute precision analytical scales."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/5466ce32-b166-43de-b0ba-1cb07af40b1e.ino"
encryptedPayload: "U2FsdGVkX1/l5l/4yuLYFhxORr1G5ezTgSsbrXR61IjE7DA30Ae/rRbuAGO3bXbrY9Gb5zkYSOPpVZr7mVu8WoOGMJ61i4zJ+jwZsSlbCKQ="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/electronic-weighing-machine-96f635_cover.jpg"
lang: "en"
likes: 26
passwordHash: "1613e52d1aef287280a0eb21c40ae05201db288bc98570051811b7fe08634af0"
price: 1120
seoDescription: "Build an Electronic Weighing Machine using Arduino Uno and a 3 kg 5-wire Load Cell. Accurate DIY weighing scale project guide."
tags:
  - "embedded"
  - "smart appliances"
  - "transportation"
title: "เครื่องชั่งอิเล็กทรอนิกส์ งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/zIHzsi0_1bE"
views: 42474