เครื่องวัดความหนาสีเนี่ย งานเข้าทุกวงการเลยนะน้อง ไม่ว่าจะเป็นอุตสาหกรรมยานยนต์ การบิน อวกาศ เรือ หรือการก่อสร้าง เพราะความหนาของสีที่แม่นยำเนี่ย สำคัญมากต่อการควบคุมคุณภาพและประสิทธิภาพของชิ้นงาน มันใช้วัดความหนาของสีหรือสารเคลือบบนพื้นผิวโลหะนั่นแหละ ตัวอย่างที่เห็นชัดสุดก็ตอนซื้อรถยนต์ไง เราสามารถเอาไปเช็คได้ว่ารถคันนั้นมี "อิฐผสมน้ำ" (บัดดี้) ซ่อนอยู่ใต้สีรึเปล่า ฮ่าๆ
ต่อไป พี่จะมาสอนวิธีทำเครื่องวัดแบบง่ายๆ ใช้บอร์ด Arduino เป็นตัวควบคุมหลักให้ดู เครื่องวัดของเราจะแสดงความหนาของชั้นสีที่วัดได้ เทียบกับจุดที่ยังเป็นสีเดิมอยู่ (ยังไม่โดนทาสีทับ) แถมยังแยกได้ด้วยว่าพื้นผิวด้านล่างเป็นเหล็กหรืออะลูมิเนียม งานนี้จัดไปวัยรุ่น!

โครงการนี้ได้รับการสนับสนุนจาก PCBWay ซึ่งเป็นผู้ให้บริการครบวงจรสำหรับการทำโปรเจกต์ต่างๆ ไม่ว่าจะเป็นโปรเจกต์ในโรงเรียนหรือโปรเจกต์ระดับมืออาชีพที่ซับซ้อน คุณสามารถแชร์ประสบการณ์หรือหาไอเดียสำหรับโปรเจกต์ต่อไปของคุณได้ที่นี่ พวกเขายังมีบริการประกอบแผ่นวงจรพิมพ์ (PCB) แบบ Surface Mount Technology (SMT) ที่สมบูรณ์ในราคาที่ดี พร้อมการควบคุมคุณภาพมาตรฐาน ISO9001 อีกด้วย

ส่วนประกอบที่ต้องใช้
อย่างที่บอกไป ตัวเครื่องทำง่ายมาก ใช้ชิ้นส่วนไม่กี่อย่าง:
- **บอร์ดไมโครคอนโทรลเลอร์ Arduino Nano**: เป็นหัวใจหลัก ใช้สร้างสัญญาณความถี่และประมวลผลค่าจาก ADC
- **จอแสดงผล LCD 128x64 จุด พร้อมชิปขับ ST7565**: เอาไว้แสดงกราฟิกและค่าที่วัดได้
- **ตัวต้านทาน (Resistor) 3 ตัว, ตัวเก็บประจุ (Capacitor) 1 ตัว และไดโอด (Diode) 1 ตัว**: ประกอบกันเป็นวงจรกรองและเรียงกระแส
- **ปุ่มกด 2 ปุ่ม** (พี่ใช้ปุ่มสัมผัสแบบ capacitive touch แต่น้องใช้ปุ่มกดธรรมดา (mechanical) แทนก็ได้ ไม่ต้องแก้โค้ด)

- **คอยล์เซนเซอร์ (Sensor Coil)**: คอยล์อันนี้พี่เอามาจากรีเลย์แม่เหล็กไฟฟ้าเก่า ค่าความต้านทานประมาณ 500 โอห์ม แต่น้องใช้คอยล์อื่นที่มีคุณสมบัติใกล้เคียงกันแทนได้เลย ห้ามช็อตนะตัวนี้!

ลงลึกเรื่องเซนเซอร์และหลักการทางวิศวกรรม
หัวใจของการวัดไม่ได้อยู่ที่ชิปซับซ้อนหรอกน้อง แต่คือ "ตัวเหนี่ยวนำ (Inductor)" ที่เราปลี่ยนแปลงมาจากรีเลย์นี่แหละ
หลักการทำงานของระบบ:
- สร้างสัญญาณ (Signal Generation): Arduino ส่งสัญญาณสี่เหลี่ยมผ่านขา D2 สัญญาณนี้มีความถี่คงที่
- วงจรแบ่งแรงดันแบบเหนี่ยวนำ (Inductive Voltage Divider): สัญญาณถูกส่งไปยังวงจรแบ่งแรงดันที่ประกอบด้วยตัวต้านทานค่าคงที่ และ "ขดลวดเซนเซอร์" ซึ่งมีค่ารีแอกแตนซ์แบบเหนี่ยวนำ ($X_L$)
- การรบกวนของสนามแม่เหล็ก (Magnetic Field Interference): เมื่อนำขดลวดเข้าใกล้โลหะ ค่าความเหนี่ยวนำ ($L$) ของมันจะเปลี่ยนไป เนื่องจากผลของเส้นแรงแม่เหล็ก (สำหรับเหล็ก) หรือการเกิดกระแสวน (Eddy Currents) (สำหรับอลูมิเนียม) การเปลี่ยนแปลงนี้ทำให้แรงดันตกคร่อมขดลวดแปรผันตามไปด้วย
- ประมวลผลสัญญาณ (Signal Processing): แรงดัน AC ที่ขึ้นลงผ่านไดโอดเพื่อเปลี่ยนเป็น DC และตัวเก็บประจุช่วยทำให้สัญญาณเรียบขึ้น ก่อนจะส่งไปยังขา Analog Input ของ Arduino เพื่อแปลงเป็นค่าตัวเลขดิจิทัล
วิธีใช้งานและขั้นตอนการวัด
ขั้นตอนการวัดความหนาของสีแบบเปรียบเทียบมีดังนี้:
1. **จุดอ้างอิง (Calibration):** เริ่มจากวางขดลวดบนจุดที่มั่นใจว่าเป็นสีเดิมของตัวรถ แล้วกดปุ่ม **"Calibration"** ตอนนี้ค่าที่ได้จะถูกใช้เป็นค่าอ้างอิงสำหรับวัดความหนาบริเวณที่สงสัย
2. **การวัด (Measurement):** จากนั้น วางขดลวดบนจุดที่ "น่าสงสัย" แล้วกดปุ่ม **"Measurement"**
3. **แสดงผล (Display):** Arduino จะคำนวณหาผลต่างระหว่างค่าอ้างอิงกับค่าปัจจุบัน แล้วแสดงผลเป็นค่าตัวเลขแบบเปรียบเทียบบนหน้าจอ LCD
มาดูกันว่าเจ้าเครื่องนี้ทำงานยังไง: ทันทีที่เปิดเครื่อง หน้าจอ "Ready" จะปรากฏขึ้น

ระหว่างการทดสอบวัด ผมจะใช้ชิ้นส่วนโลหะมาลองจำลองสีและสารอุดที่มีความหนาต่างกัน เพราะตอนนี้ยังไม่มีเงื่อนไขไปวัดกับรถจริงๆ นั่นแหละ

วิเคราะห์ตรรกะของโปรแกรม
อย่างที่เห็นในภาพด้านบน เจ้าเครื่องนี้ตรวจจับประเภทพื้นผิว (เหล็กหรืออลูมิเนียม) ได้แม่นยำมาก และสำหรับความหนาของสี มันจะแสดงตัวเลขแบบเปรียบเทียบที่ไม่ได้ตรงกับความหนาจริงในหน่วยวัดใดๆ แต่ก็ยังให้แนวคิดเกี่ยวกับความหนาของชั้นสีได้อยู่ดี
เครื่องนี้ถูกโปรแกรมให้ฉลาดพอที่จะแยกประเภทโลหะได้จากคุณสมบัติทางแม่เหล็กไฟฟ้า:
- ถ้าเป็นเหล็ก (Ferrous): ค่าความเหนี่ยวนำจะเพิ่มขึ้นอย่างมีนัยสำคัญ
- ถ้าเป็นอลูมิเนียม (Non-ferrous): จะเกิดกระแสวน (Eddy Currents) ซึ่งต้านการเปลี่ยนแปลงของสนามแม่เหล็ก ทำให้ค่าที่อ่านได้ต่างจากเหล็ก
แม้ว่าค่าที่แสดงจะเป็น "ตัวเลขเปรียบเทียบ" และอาจไม่บอกความหนาเป็นไมครอนโดยตรง แต่ความไวของเซนเซอร์ขดลวดนี้ก็เพียงพอที่จะบอกเราว่า "จุดนี้สีหนาผิดปกติแน่ๆ" จัดไปวัยรุ่น! ด้วยการปรับแต่งโค้ดเล็กน้อย เราสามารถเปลี่ยนอัตราส่วนระหว่างความหนาจริงกับตัวเลขที่แสดงได้ ซึ่งจะเพิ่มความแม่นยำขึ้นอีก ถ้าผู้ใช้ต้องการความแม่นยำเชิงปริมาณ ก็สามารถปรับการแมปค่า Analog ในโค้ดเพื่อแปลงเป็นหน่วยความหนาจริงได้เลย เพียงแต่ต้องสร้างตารางอ้างอิง (Lookup Table) ขึ้นมาก่อน สู้งานนะน้อง ห้ามช็อตนะตัวนี้
สรุปสั้นๆ หน่อย
สุดท้ายนี้ก็สรุปง่ายๆ ละกัน ถึงแม้เจ้าตัวนี้จะทำไม่ยาก แต่บอกเลยว่าเป็นเครื่องมือที่โคตรมีประโยชน์ โดยเฉพาะเวลาจะซื้อรถมือสอง เอาไว้เช็คจุดน่าสงสัยที่อาจมีงานกะเทาะหรือมีพวกออโต้พัตตี้ (Auto Putty) อัดใต้สีมาแล้ว อุปกรณ์ทั้งหมดเราก็จัดเก็บให้เรียบร้อยในกล่องที่ทำจากแผ่น PVC แล้วปิดทับด้วยวอลเปเปอร์ติดเองสีสวยๆ ไปอีก เรียบร้อยสวยงาม ใช้งานได้จริง สู้งานนะน้อง!