<อ้างอิงจากวารสาร The Prototype Electronics ฉบับที่ 40>
แนะนำอุปกรณ์สำหรับชั่งน้ำหนัก
รูปที่ 1 ชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT
ตัวตรวจจับที่ชื่อโหลดเซลและแผงวงจรปรับสภาพสัญญาณคือตัวช่วยสำคัญ
ตัวตรวจจับสำหรับวัดน้ำหนักวัตถุสำหรับมินิโปรเจ็กต์นี้มีชื่อว่า ZX-WEIGHT แสดงในรูปที่ 1 ประกอบด้วยโหลดเซล (load cell) ที่มีหน้าตาเป็นแท่งโลหะอันเป็นตัวตรวจจับตัวจริงทำงานร่วมกับวงจรปรับสภาพสัญญาณที่เรียกว่า signal condition จนได้เป็นค่าข้อมูลของน้ำหนักที่ส่งไปยังไมโครคอนโทรลเลอร์ที่ติดต่อด้วย ในการใช้งานตัวตรวจจับนี้ผู้ผลิตไม่ได้มีเพียงฮาร์ดแวร์มาเท่านั้น ยังมาพร้อมกับไลบรารีสำหรับพัฒนาโปรแกรมบน Arduino เพื่อให้ใช้งานได้ง่ายขึ้นด้วย ชุดตัวตรวจจับและวัดน้ำหนักนี้ทำงานด้วยไฟเลี้ยงในย่าน +2.6 ถึง +5V
โหลดเซลที่เป็นตัววัดหรือชั่งน้ำหนักมีคุณสมบัติทางเทคนิคดังนี้
• ย่านวัดสูงสุด 1 กิโลกรัม ให้เอาต์พุตเป็นแรงดันไฟตรง
• ใช้ไฟเลี้ยง +5 ถึง +15V
• ความไวเอาต์พุต 1.0±0.15mV/V
• ค่าความผิดพลาด 100ppm ของค่าวัดเต็มสเกล
• ค่าสัมประสิทธิ์อุณหภูมิ 0.05/0.03 %F.S/10°C ในทุกๆ 30 นาที
• อินพุตอิมพีแดนซ์ 1.055kW
• เอาต์พุตอิมพีแดนซ์ 1kW
• ขนาด 33 x 38 มม.
โหลดเซลที่ใช้วัดน้ำหนัก 1 กิโลกรัมในชุด ZX-WEIGHT จะมีความคลาดเคลื่อนเป็นแบบไม่เป็นเชิงเส้นหรือนอนลิเนียร์อยู่เล็กน้อย โดยคลาดเคลื่อนในระดับไม่ถึง 100 กรัม ทั้งนี้ขึ้นอยู่กับน้ำหนักของวัตถุด้วย โดยวัตถุที่มีน้ำหนักน้อย ค่าที่ได้จะมีความแม่นยำมากกว่าวัตถุที่มีน้ำหนักมาก
แผงวงจรปรับสภาพสัญญาณสำหรับโหลดเซลในชุด ZX-WEIGHT มีคุณสมบัติทางเทคนิคดังนี้
• ใช้ไอซีฟังก์ชั่นพิเศษเบอร์ HX711 ผลงานของ AVIA Semiconductor เป็นไอซีแปลงสัญญาณอะนาลอกเป็นดิจิตอลความละเอียด 24 บิตสำหรับโหลดเซลโดยเฉพาะ
• มีอินพุตแบบดิฟเฟอเรนเชียล 2 ชุด จึงใช้งานกับโหลดเซลได้ง่าย
• มีขาเอาต์พุตไฟเลี้ยงสำหรับโหลดเซล มาจากวงจรเรกูเลเตอร์ภายในไอซี HX711
• เชื่อมต่อกับไมโครคอนโทรลเลอร์ด้วยสัญญาณ 2 เส้นคือ สัญญาณข้อมูล Dout และสัญญาณนาฬิกา PD_Clock
• ใช้ไฟเลี้ยง +2.6 ถึง +5.5V ใช้กระแสไฟฟ้าน้อยกว่า 1.6mA
• มีจุดต่อโหลดเซลเป็นเทอร์มินอลบล็อก 4 ขา และจุดต่อสัญญาณสำหรับเชื่อมต่อไมโครคอนโทรลเลอร์แบบ JST 3 ขา 2 ชุด พร้อมใช้งาน
ในชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT ยังมีชิ้นส่วนพลาสติกและอุปกรณ์ยึดติดเพื่อสร้างแท่นชั่งน้ำหนักอย่างง่ายมาให้พร้อมดังแสดงในรูปที่ 2
รูปที่ 2 แสดงชิ้นส่วนและอุปกรณ์ทั้งหมดของชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT
เชื่อมต่อกับบอร์ด Unicon
การเชื่อมต่อบอร์ด Unicon เพื่อใช้งานชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT แสดงดังรูปที่ 3 ใช้ 2 ขาพอร์ตคือ 1 และ 30 โดยพอร์ต 1 ต่อกับขา DOUT ส่วนขาพอร์ต 30 ต่อกับขา SCK และต่อแผงวงจรสวิตช์ ZX-01 เข้าที่พอร์ต 20 เพื่อใช้เป็นปุ่มสำหรับตั้งค่าเริ่มต้นให้เป็น 0 กรัม ในกรณีที่เปิดไฟเลี้ยงขึ้นมาแล้วค่าที่ได้ไม่เป็น 0 กรัมในขณะที่ยังไม่ได้ทำการชั่งน้ำหนักใดๆ หรือจะเรียกว่าเป็นสวิตช์ตั้งค่าศูนย์ก็ได้
รูปที่ 3 วงจรเชื่อมต่อระหว่างชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT กับบอร์ด Unicon
สายสัญญาณที่ใช้เชื่อมต่อระหว่างแผงวงจรปรับสภาวะสัญญาณกับบอร์ด Unicon ใช้สายสัญญาณ JST3AA-8 มาทำการสลับสายตามรูปที่ 4
รูปที่ 4 การสลับสายสัญญาณ JST3AA-8 เพื่อใช้ในการเชื่อมต่อระหว่างแผงวงจรปรับสภาวะสัญญาณของชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT กับบอร์ด Unicon
สร้างและติดตั้งแท่นชั่งน้ำหนักอย่างง่าย
รูปที่ 5 แบบของแท่นชั่งน้ำหนักที่ทำจากแผ่นอะครีลิกใส หนา 5 มม.
รูปที่ 6 แนวทางการประกอบชิ้นส่วนของแท่นชั่งน้ำหนัก
เพื่อให้การใช้งานชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT มีประสิทธิภาพมากที่สุด จึงต้องติดตั้งโหลดเซลไว้กับโครงสร้างที่เหมาะสม นั่นคือ ทำเป็นแท่นชั่งน้ำหนัก โดยมีชิ้นส่วนต่างๆ แสดงในรูปที่ 5 ซึ่งใช้แผ่นอะครีลิกใสหนา 5 มม. ประกอบเข้าด้วยกันตามแนวทางในรูปที่ 6 จากนั้นติดตั้งแผงวงจรปรับสภาพสัญญาณ แล้วต่อสายสัญญาณของโหลดเซลทั้ง สี่เส้นเข้ากับแผงวงจรแผงวงจรปรับสภาพสัญญาณดังนี้
สายสีแดงต่อเข้าที่จุด E+
สายสีขาวต่อเข้าที่จุด E-
สายสีดำต่อเข้าที่จุด S-
สายสีเขียวต่อเข้าที่จุด S+
ในรูปที่ 7 แสดงแท่นชั่งน้ำหนักที่พร้อมสำหรับเชื่อมต่อกับบอร์ด Unicon
รูปที่ 7 แท่นชั่งน้ำหนักที่ประกอบเสร็จแล้ว พร้อมเชื่อมต่อกับบอร์ด Unicon
หรือบอร์ดไมโครคอนโทรลเลอร์อื่นๆ
เขียนโค้ดและผนวกไลบรารีสำหรับใช้งานชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT
โค้ดโปรแกรมภาษา C/C++ สำหรับ Arduino เพื่ออ่านค่าจากชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT แสดงในโปรแกรมที่ 1 หัวใจหลักของโปรแกรมนี้คือ ไฟล์ไลบรารี Hx711.h จะต้องมีการคัดลอกไฟล์ไลบรารีนี้แล้วนำไปไว้ในโฟลเดอร์ libraries ของซอฟต์แวร์ Arduino ตามที่ได้ติดตั้งไว้ เช่น C:\Program Files\Arduino\libraries ดังรูปที่ 8 (อาจเปลี่ยนแปลงไปตามการติดตั้งซอฟต์แวร์ของผู้พัฒนาแต่ละคน) ก่อนที่จะทำการคอมไพล์หรืออัปโหลดโปรแกรมไปยังบอร์ด Unicon
โปรแกรมที่ 1 ไฟล์ Unicon_WeightSensor.ino สำหรับอ่านค่าจากชุดตัวตรวจจับและวัดน้ำหนัก ZX-WEIGHT โดยใช้บอร์ด Unicon
รูปที่ 8 แสดงโฟลเดอร์ libraries ของซอฟต์แวร์ Arduino สำหรับนำโฟลเดอร์ของไฟล์ไลบรารี Hx711.h มาติดตั้งไว้
การทำงานของโปรแกรมที่ 1 จะอ่านค่าน้ำหนักของวัตถุที่วัดได้ นำมาคูณกับ 0.921 ก่อน ซึ่งค่า 0.921 เป็นค่าชดเชยความคลาดเคลื่อนของน้ำหนักที่วัดได้ โดยทำการเทียบน้ำหนักกับเครื่องชั่งน้ำหนักตัวอื่น แล้วนำมาคำนวณเป็นค่าดังกล่าว โดยค่า 0.921 มาจากการวัดเทียบน้ำหนัก โหลดเซลวัดน้ำหนักได้เกินจริงเฉลี่ยประมาณ 108.577% จึงนำมาคำนวณด้วย 100 / 108.577 ก็จะได้เป็น 0.921 เพื่อใช้ชดเชยค่าที่วัดไว้จากโหลดเซล เมื่อได้ค่าน้ำหนักแล้วจึงนำไปแสดงบนจอแสดงผล GLCD-XT ต่อไป
สำหรับสวิตชที่ใช้สำหรับตั้งค่าเริ่มต้นให้เป็น 0 หรือสวิตช์ตั้งค่าศูนย์ ใช้ในกรณีที่ยังไม่ได้ชั่งวัตถุใดๆ แล้วค่าที่ได้ไม่เป็น 0 กรัม โดยโปรแกรมจะตรวจสอบสถานะของสวิตช์ดังกล่าวว่า มีการกดหรือไม่ เมื่อมีการกด ก็จะนำค่าน้ำหนักที่โหลดเซลวัดได้ในขณะนั้นไปกำหนดใหม่ให้เป็น 0 กรัม
ทดสอบวัดน้ำหนัก
เมื่ออัปโหลดโค้ดและโปรแกรมในบอร์ด Unicon เริ่มทำงานแล้ว ให้รอสักครู่ เพื่อให้โหลดเซลได้เตรียมความพร้อมเข้าสู่สภาวะพร้อมทำงาน จึงไม่ควรวางวัตถุใดๆ ไว้บนแท่นชั่งในขณะเริ่มทำงานใหม่ๆ หากค่าน้ำหนักที่แสดงขณะไม่มีวัตถุใดๆ มาชั่งยังไม่เป็น 0 กรัม ให้กดสวิตช์ที่ต่อกับพอร์ต 20 หรือสวิตช์ตั้งค่าศูนย์ค้างไว้ จนกว่าจอแสดงผล GLCD-XT แสดงข้อความว่า Calibrate ให้ปล่อยสวิตช์ รอจนกระทั่งค่าน้ำหนักที่แสดงเป็น 0 กรัม เมื่อค่าคงที่ที่ 0 กรัมแล้ว จึงเริ่มชั่งน้ำหนักวัตถุได้ ดังแสดงผลการทำงานตามรูปที่ 9
รูปที่ 9 ผลการชั่งน้ำหนักที่ได้จากมินิโปรเจ็กต์เครื่องชั่งน้ำหนักแบบดิจิตอลที่สร้างจากบอร์ด Unicon
หมายเหตุ
โค้ดของโครงงานทั้งหมดดาวน์โหลดได้ที่ www.tpemagazine.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น