เพื่อทำโปรเจกต์นี้ให้สำเร็จ พี่ต้องไปจ้างโรงงานผลิต PCB จากจีนให้ผลิตวงจรตามแบบที่พี่ออกแบบด้วยโปรแกรม KiCad มาจัดการให้
ภาพรวมโปรเจกต์
"Sentinel-Alpha Advanced Timer" ตัวนี้คือการอัพเกรดจากของเล่นในห้องแล็บ สู่ระบบ Embedded แบบมืออาชีพเลยนะน้อง แม้ว่าตัวตั้งเวลาทั่วไปจะมีเยอะ แต่ตัวนี้พี่ใส่ใจในรายละเอียดแบบ Industrial Design ไปเลย ไม่ว่าจะเป็น การผลิต PCB แบบหลายชั้น, ตัวเรือนกันฝุ่นกันน้ำแบบ IP67 และใช้ คอนเนคเตอร์ Fisher/M12 แบบเฉพาะทาง ระบบขับเคลื่อนด้วย Arduino Nano ทำหน้าที่เป็นตัวควบคุมเวลาที่แม่นยำ พร้อมขับรีเลย์ภายนอกและโหลดในอุตสาหกรรมที่กินกระแสสูงได้
ลงลึกเรื่องเทคนิค: สถาปัตยกรรม PCB และการออกแบบด้วย KiCad
- ระบบบัสควบคุมแบบโมดูลาร์: โปรเจกต์นี้ใช้ PCB ที่ออกแบบเองด้วย KiCad EDA แผงควบคุมหลักจะแยกส่วนลอจิก (Nano) ออกจากส่วนสวิตช์ไฟ (รีเลย์) โดยใช้กราวด์เพลนขนาดใหญ่เพื่อลดสัญญาณรบกวนทางแม่เหล็กไฟฟ้า (EMI) จากเหตุการณ์สวิตชิงแรงดันสูง
- การผลิตระดับมืออาชีพ: วงจรนี้มีสกรีนลายและชุบทองแบบ ENIG เพื่อให้บัดกรีง่ายขึ้นและทนต่อการกัดกร่อนในสภาพแวดล้อมชื้น
หน้าจอแสดงผลและแผงควบคุมที่ออกแบบใน KiCad:


นี่คือบอร์ดที่โรงงานผลิตมาให้ พี่สั่งมาอย่างละ 10 แผ่นเลยจ้า


ลงลึกเรื่องเทคนิค: การออกแบบระบบหลัก
มาดูความคืบหน้าการประกอบกัน ตัวตั้งเวลาสุดท้ายใช้ Arduino NANO โดยพี่กำหนดให้พิน "10, 11, 12" ควบคุมจอแสดงผล, พิน "6, 7, 8, 9" ควบคุมแถวแนวนอนของคีย์แพด และพิน "2, 3, 4, 5" ควบคุมแถวแนวตั้ง
- หัวใจการมัลติเพล็กซ์ MAX7219: จอ 7-Segment ถูกขับด้วย ไอซี MAX7219 แทนที่จะต้องใช้พินถึง 28 พินสำหรับ 4 หลัก มันจัดการมัลติเพล็กซ์ LED matrix 8x8 ภายในผ่านการสื่อสารแบบ SPI 3 สาย (พิน 10, 11, 12) ซึ่งช่วยลดภาระการใช้งานพินของ Nano ไปได้เยอะ Firmware จะปรับความสว่าง PWM ของ LED ผ่านรีจิสเตอร์ Scan-Limit และ Intensity ภายใน MAX7219
- ลอจิก State Machine ในซอฟต์แวร์: คีย์แพด 4x4 ใช้วิธี Polling-Based Scanning ปุ่ม "A" ใช้เริ่มต้นโปรแกรม, ปุ่ม "B" จัดการ การหยุดชั่วคราวแบบ Asynchronous ผ่านฟลัก volatile boolean, ปุ่ม "C" ล้างบัฟเฟอร์ และปุ่ม "D" เริ่มการนับถอยหลัง
- ลูปการทำงานของรีเลย์: รีเลย์ที่ติดตั้งมาบนบอร์ดเชื่อมกับพิน A1 ซึ่งใช้เป็นดิจิทัลเอาต์พุต เมื่อตัวนับถึงศูนย์ Nano จะส่งสัญญาณ HIGH ไปยังวงจรทรานซิสเตอร์ NPN/ออปโตคัปเปลอร์ เพื่อจ่ายไฟให้คอยล์รีเลย์ทำงานและไปเปิดสัญญาณเตือนหรือเครื่องจักรภายนอก
บัซเซอร์เชื่อมกับพินอนาล็อก "A0" รีเลย์ถูกติดตั้งบนแผงควบคุมและกำหนดให้ใช้พินอนาล็อก "A1" ของ Arduino โดยมันจะทำงานอัตโนมัติเมื่อการนับถอยหลังถึง 0


วิศวกรรมและการประกอบ: การประกอบแบบกันกระแทก (Ruggedized Assembly)
ส่วนที่เหลือของการผลิตหลักๆ ก็คือการแต่งตัวให้กับกล่องกันน้ำของเรา โดยเฉพาะการเพิ่มคอนเน็กเตอร์กันน้ำคุณภาพสูง และโมดูลเปิด-ปิดแบบไร้สายเข้าไป
- อินเทอร์เฟซแบบทนทาน (Connectors): มีคอนเน็กเตอร์สำหรับชาร์จแบตเตอรี่, คอนเน็กเตอร์ Fisher 0B แบบ 8 พินล็อกตัวเอง สำหรับคีย์แพดตัวเลข (รับประกันว่าการสั่นสะเทือนทางกลจะไม่ทำให้สัญญาณหาย) และ คอนเน็กเตอร์ M12 แบบ 8 พิน สำหรับ I/O พร้อมไฟ +3.3/5V และ GND เพื่อให้เข้าถึงเซ็นเซอร์รองได้อย่างเป็นมาตรฐาน
- การจัดการพลังงานขั้นสูง: ระบบนี้ใช้พลังงานจาก เซลล์ลิเธียมไอออน 18650 ความจุสูง ไฟภายในถูกควบคุมผ่านวงจรแปลงไฟแบบ Buck-Boost เพื่อให้แน่ใจว่าไฟลอจิก 5V จะเสถียร ไม่ว่าแบตเตอรี่จะเหลือเท่าไหร่ก็ตาม
- การควบคุมทับซ้อนแบบไร้สาย (Wireless Override): โมดูลเปิด-ปิดไร้สายนี่จริงๆ แล้วเป็นชุดที่สั่งซื้อออนไลน์มา (มักจะเป็น 433MHz หรือ 2.4GHz) เอาไว้สำหรับสั่งหยุดฉุกเฉินระยะไกล หรือสั่งเริ่มด้วยมือ โดยไม่ต้องผ่านคีย์แพดในสถานการณ์เร่งด่วน
- การผนึกกันน้ำ: ชุดประกอบทั้งหมดถูกบรรจุอยู่ในกล่องกันแรงกระแทกสูงพร้อมซีลยาง ทุกช่องสำหรับจอแสดงผลและสวิตช์ถูกผนึกด้วยกาวระดับอุตสาหกรรมเพื่อรักษาระดับมาตรฐานกันน้ำ (IP-rating) สำหรับใช้งานกลางแจ้ง




ซอฟต์แวร์และฟังก์ชันการทำงาน
สำหรับโค้ด พี่ปรับปรุงโดยเพิ่มฟังก์ชันเข้าไปอีกหน่อย ตอนนี้ นอกจากจะตั้งเวลาด้วยปุ่ม 'A' และเริ่มด้วยปุ่ม 'D' แล้ว ยังสามารถกดปุ่ม 'B' เพื่อพักการนับถอยหลัง และกด 'D' อีกทีเพื่อเริ่มใหม่ได้ด้วย ถ้าเกิดตั้งโปรแกรมผิดในโหมดตั้งค่า ให้กดปุ่ม 'C' แล้วกด 'A' อีกครั้งเพื่อตั้งเวลาใหม่ได้เลยจ้า
พี่กำลังคิดจะเพิ่มเอาต์พุต I/O ที่กำหนดมาจากเอาต์พุตอนาล็อกของ Arduino สำหรับเชื่อมต่อกับโมดูลภายนอกได้สูงสุด 5 ตัว เช่น รีเลย์, เซ็นเซอร์ ฯลฯ... พร้อมกับมีขา GND, 3.3V และ 5V ให้ด้วย
สรุป
ด้วยการรวมฮาร์ดแวร์ที่ออกแบบเองเข้ากับซอฟต์แวร์ State Machine ที่แข็งแกร่ง ไทเมอร์ Sentinel-Alpha ตัวนี้จึงเป็นโซลูชันจับเวลาที่น่าเชื่อถือได้ ช่วยเชื่อมช่องว่างระหว่างโปรเจคในห้องเรียนกับเครื่องมือระดับอุตสาหกรรมเข้าด้วยกัน
ควบคุมเวลาได้ดั่งใจ: รวมการออกแบบ PCB ระดับมืออาชีพเข้ากับการผลิตแบบอุตสาหกรรมที่ทนทาน