สารบัญ:

เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711: 4 ขั้นตอน (พร้อมรูปภาพ)
เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 2 load cells using arduino & hx711 2024, พฤศจิกายน
Anonim
เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711
เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711
เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711
เครื่องชั่ง Arduino พร้อมโหลดเซลล์ 5 กก. และแอมพลิฟายเออร์ HX711

คำแนะนำนี้จะอธิบายวิธีการสร้างเครื่องชั่งน้ำหนักขนาดเล็กโดยใช้ชิ้นส่วนที่หาซื้อได้ง่ายจากชั้นวาง

วัสดุที่จำเป็น:

1. Arduino - การออกแบบนี้ใช้ Arduino Uno มาตรฐาน รุ่น Arduino หรือโคลนอื่น ๆ ก็ควรทำงานเช่นกัน

2. HX711 บนบอร์ดฝ่าวงล้อม - ไมโครชิปนี้ทำขึ้นเป็นพิเศษสำหรับการขยายสัญญาณจากโหลดเซลล์และรายงานไปยังไมโครคอนโทรลเลอร์อื่น โหลดเซลล์เสียบเข้ากับบอร์ดนี้ และบอร์ดนี้บอก Arduino ว่าโหลดเซลล์วัดอะไร

3. โหลดเซลล์ขนาด 5 กก. - โหลดเซลล์เป็นชิ้นส่วนโลหะรูปทรงพิเศษที่มีสเตรนเกจติดกาวไว้ สเตรนเกจเป็นตัวต้านทานที่เปลี่ยนความต้านทานเมื่องอ เมื่อชิ้นส่วนโลหะโค้งงอ ความต้านทานของโหลดเซลล์จะเปลี่ยนไป (HX711 วัดการเปลี่ยนแปลงเล็กน้อยของความต้านทานได้อย่างแม่นยำ) คุณสามารถซื้อทั้ง HX711 และโหลดเซลล์ได้ที่นี่:

หากคุณซื้อชุดโปรดแสดงความคิดเห็น! มันมีประโยชน์มากสำหรับผู้ซื้อในอนาคต

4. พื้นผิวเรียบที่แข็งแรง (x2) - เหมาะอย่างยิ่งสำหรับไม้เนื้อแข็งหรือโลหะ

5.สายไฟหลากสีสำหรับต่อทุกส่วน

6. แหล่งจ่ายไฟสำหรับ Arduino

ขั้นตอนที่ 1: ติดตั้งโหลดเซลล์

ติดตั้งโหลดเซลล์
ติดตั้งโหลดเซลล์

ขั้นแรกเราจะติดตั้งโหลดเซลล์ การเมานท์ของคุณจะไม่เหมือนใคร แต่นี่คือแนวทางปฏิบัติที่คุณต้องปฏิบัติตาม:

1. โหลดเซลล์อะลูมิเนียมควรมีรูเกลียว 4 รู และฉลากแสดงทิศทางของแรง ติดตั้งด้านข้างโดยไม่ติดฉลากเข้ากับพื้นผิวคงที่ และติดตั้งด้านข้างโดยติดฉลากไว้กับพื้นผิวที่เคลื่อนที่ ลูกศรที่ด้านที่มีฉลากควรชี้ลงในทิศทางที่แท่นจะเคลื่อนที่เมื่อมีการโหลด

2. แผ่นยึดและแผ่นเคลื่อนที่ควรแข็งแรงที่สุด

3. ตรวจสอบให้แน่ใจว่าได้ใส่ตัวเว้นระยะแบบแข็งบางรูปแบบระหว่างเพลตยึดกับโหลดเซลล์ Standoffs หรือเครื่องซักผ้าทั้งสองทำงานได้ดี เป้าหมายคือแรงใดๆ ที่กระทำกับเพลตเคลื่อนที่จะทำให้โหลดเซลล์งอและบิด หากไม่มีตัวเว้นระยะ โหลดจะถูกถ่ายโอนโดยตรงจากเพลตที่เคลื่อนที่ไปยังเพลตแบบตายตัวโดยไม่กระทบต่อโหลดเซลล์

ขั้นตอนที่ 2: ต่อสายโหลดเซลล์และ HX711

วางสายโหลดเซลล์และ HX711
วางสายโหลดเซลล์และ HX711

ดูแผนภาพการเดินสายไฟสำหรับวิธีเชื่อมต่อโหลดเซลล์, HX711 และ Arduino

บนโหลดเซลล์อะลูมิเนียม สเตรนเกจหลายตัวถูกต่อเข้าด้วยกันสำหรับสะพานวีทสโตน สิ่งที่คุณต้องทำคือต่อสายไฟเข้ากับบอร์ด HX711 ในทิศทางที่ถูกต้อง

ขั้นตอนที่ 3: เพิ่มไลบรารี HX711 ลงใน Arduino IDE ของคุณ

ห้องสมุด HX711 มีอยู่ที่นี่:

ดูลิงก์นี้บนเว็บไซต์ Arduino สำหรับคำแนะนำในการเพิ่มไลบรารีลงใน Arduino IDE ของคุณ:

ขั้นตอนที่ 4: ปรับเทียบและชั่งน้ำหนัก

ปรับเทียบและชั่งน้ำหนัก!
ปรับเทียบและชั่งน้ำหนัก!

Sparkfun มีโปรแกรม Arduino ที่ยอดเยี่ยมในการรันสเกล เวอร์ชันล่าสุดมีอยู่ใน GitHub และพิมพ์ซ้ำด้านล่าง:

ขั้นตอนแรกของซอฟต์แวร์คือการกำหนดปัจจัยการสอบเทียบสำหรับเครื่องชั่ง ในการดำเนินการนี้ ให้เรียกใช้รหัสนี้:

/*

ตัวอย่างการใช้กระดานฝ่าวงล้อม SparkFun HX711 ที่มีมาตราส่วน โดย: Nathan Seidle SparkFun Electronics วันที่: 19 พฤศจิกายน 2014 ใบอนุญาต: รหัสนี้เป็นสาธารณสมบัติ แต่คุณซื้อเบียร์ให้ฉันถ้าคุณใช้สิ่งนี้และเราพบกันสักวันหนึ่ง (ใบอนุญาตเบียร์) นี่คือภาพร่างการสอบเทียบ ใช้เพื่อกำหนด calibration_factor ที่ตัวอย่างหลักใช้ นอกจากนี้ยังแสดงค่า zero_factor ที่เป็นประโยชน์สำหรับโครงการที่มีมวลถาวรบนมาตราส่วนระหว่างรอบพลังงาน ตั้งค่าเครื่องชั่งของคุณและเริ่มสเก็ตช์โดยไม่ต้องชั่งน้ำหนักบนเครื่องชั่ง เมื่ออ่านค่าแล้ว ให้วางน้ำหนักลงบนสเกล กด +/- หรือ a/z เพื่อปรับ calibration_factor จนกว่าค่าที่อ่านได้จะตรงกับน้ำหนักที่ทราบ ใช้ calibration_factor นี้กับตัวอย่างสเก็ตช์ ตัวอย่างนี้ถือว่าปอนด์ (lbs) หากคุณต้องการกิโลกรัม ให้เปลี่ยน Serial.print(" lbs"); เส้นเป็นกก. ปัจจัยการสอบเทียบจะแตกต่างกันอย่างมีนัยสำคัญ แต่จะสัมพันธ์เชิงเส้นกับปอนด์ (1 ปอนด์ = 0.453592 กก.) ปัจจัยการสอบเทียบของคุณอาจเป็นบวกหรือลบมาก ทั้งหมดขึ้นอยู่กับการตั้งค่าระบบมาตราส่วนของคุณและทิศทางที่เซ็นเซอร์เบี่ยงเบนจากสถานะศูนย์ โค้ดตัวอย่างนี้ใช้ไลบรารีที่ยอดเยี่ยมของ bogde:"https://github.com/bogde/HX711" ไลบรารีของ bogde เผยแพร่ภายใต้ GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND พินส่วนใหญ่บน Arduino Uno จะเข้ากันได้กับ DOUT/CLK บอร์ด HX711 สามารถจ่ายไฟได้ตั้งแต่ 2.7V ถึง 5V ดังนั้นไฟ Arduino 5V น่าจะใช้ได้ */ #รวม "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 มาตราส่วน; float calibration_factor = -7050; //-7050 ทำงานสำหรับการตั้งค่าขนาดสูงสุด 440lb ของฉัน การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.println ("ร่างการสอบเทียบ HX711"); Serial.println("เอาน้ำหนักทั้งหมดออกจากมาตราส่วน"); Serial.println("หลังจากการอ่านเริ่มต้น ให้วางน้ำหนักที่ทราบบนมาตราส่วน"); Serial.println("กด + หรือ a เพื่อเพิ่มปัจจัยการสอบเทียบ"); Serial.println("กด - หรือ z เพื่อลดปัจจัยการสอบเทียบ"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); มาตราส่วน.set_scale(); scale.tare(); //รีเซ็ตมาตราส่วนเป็น 0 ยาว zero_factor = scale.read_average(); //รับค่าพื้นฐานการอ่าน Serial.print("Zero factor: "); // สามารถใช้เพื่อลดความจำเป็นในการทดน้ำหนักได้ มีประโยชน์ในโครงการขนาดถาวร Serial.println(zero_factor); } วงเป็นโมฆะ () { scale.set_scale (calibration_factor); //ปรับปัจจัยการสอบเทียบนี้ Serial.print("การอ่าน: "); Serial.print(scale.get_units(), 1); Serial.print("ปอนด์"); //เปลี่ยนค่านี้เป็นกิโลกรัมและปรับปัจจัยการสอบเทียบใหม่หากคุณปฏิบัติตามหน่วย SI เช่น Serial.print(" calibration_factor: "); Serial.print(calibration_factor); Serial.println(); ถ้า (Serial.available ()) { ถ่านชั่วคราว = Serial.read (); if(temp == '+' || temp == 'a') calibration_factor += 10; อื่น if(temp == '-' || temp == 'z') calibration_factor -= 10; } }

หลังจากปรับเทียบมาตราส่วนแล้ว คุณสามารถเรียกใช้โปรแกรมตัวอย่างนี้ แล้วแฮ็กเพื่อจุดประสงค์ของคุณเอง:

/*

ตัวอย่างการใช้กระดานฝ่าวงล้อม SparkFun HX711 ที่มีมาตราส่วน โดย: Nathan Seidle SparkFun Electronics วันที่: 19 พฤศจิกายน 2014 ใบอนุญาต: รหัสนี้เป็นสาธารณสมบัติ แต่คุณซื้อเบียร์ให้ฉันถ้าคุณใช้สิ่งนี้และเราพบกันสักวันหนึ่ง (ใบอนุญาตเบียร์) ตัวอย่างนี้สาธิตเอาท์พุตมาตราส่วนพื้นฐาน ดูภาพร่างการสอบเทียบเพื่อรับ calibration_factor สำหรับการตั้งค่าโหลดเซลล์เฉพาะของคุณ โค้ดตัวอย่างนี้ใช้ไลบรารีที่ยอดเยี่ยมของ bogde:"https://github.com/bogde/HX711" ไลบรารีของ bogde เผยแพร่ภายใต้ใบอนุญาตสาธารณะของ GNU GENERAL HX711 ทำสิ่งหนึ่งได้ดี: อ่านโหลดเซลล์ บอร์ดฝ่าวงล้อมเข้ากันได้กับโหลดเซลล์ที่ใช้สะพานหินข้าวสาลี ซึ่งจะช่วยให้ผู้ใช้สามารถวัดทุกอย่างได้ตั้งแต่ไม่กี่กรัมจนถึงหลายสิบตัน Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND บอร์ด HX711 สามารถจ่ายไฟได้ตั้งแต่ 2.7V ถึง 5V ดังนั้นไฟ Arduino 5V น่าจะใช้ได้ */ #include "HX711.h" #define calibration_factor -7050.0 // ค่านี้ได้มาจาก SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.println ("สาธิตมาตราส่วน HX711"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); //ค่านี้ได้มาจากการใช้ SparkFun_HX711_Calibration sketch scale.tare(); //สมมติว่าไม่มีน้ำหนักบนมาตราส่วนเมื่อเริ่มต้น ให้รีเซ็ตมาตราส่วนเป็น 0 Serial.println("การอ่าน:"); } วงเป็นโมฆะ () { Serial.print ("การอ่าน: "); Serial.print(scale.get_units(), 1); //scale.get_units() ส่งคืน Serial.print แบบลอยตัว (" lbs"); //คุณสามารถเปลี่ยนค่านี้เป็น kg ได้ แต่คุณจะต้องปรับโครงสร้างใหม่ calibration_factor Serial.println(); }

แนะนำ: