เกริ่นนำ:
พี่เป็นมือใหม่หัดขับในวงการ Arduino และอิเล็กทรอนิกส์เลยนะน้อง ตอนแรกก็แค่เซิร์ฟหาข้อมูลไปเรื่อยๆ แล้วก็ไปสะดุดตากับโปรเจคหลอดแก้วสีส้มเรืองแสงที่หลายคนทำกัน เลยไปค้นต่อจนรู้ว่ามันคือ "นิกซีทูบ (Nixie Tube)" อุปกรณ์วินเทจจากยุค 60s-70s เอาไว้แสดงตัวเลขกับสัญลักษณ์ แถมตอนนี้ก็เลิกผลิตแล้ว (มีแค่ที่เดียวที่ยังทำ) ทุกคนที่ใช้กันก็คือของเก่าคลังหรือแกะจากอุปกรณ์รุ่นคุณปู่ โคตรจะเท่ใช่ไหมล่ะ? แล้วพี่ก็ได้รู้เพิ่มว่าเจ้าหลอดพวกนี้ต้องใช้ไฟเลี้ยงประมาณ 180 โวลต์... เรื่องนี้ทำให้พี่ขนลุกจนต้องเก็บไอเดียนี้ไว้ก่อน รอให้มีประสบการณ์ด้านอิเล็กทรอนิกส์มากขึ้นสักหน่อย
หลังจากทำโปรเจคอื่นไปสองอัน (หุ่นยนต์สามล้อกับจอแสดงข้อความ LED 1280 ดวง) พี่ก็รู้สึกว่าพร้อมจะมาจับเจ้าหลอดฝุ่นๆ พวกนี้แล้ว เอามาทำเป็นนาฬิกานิกซีสวยๆ ไว้ประดับห้องตัวเองซักที
แล้วเราก็มาถึงจุดนี้แหละน้อง
ฟีเจอร์เด็ด:
นาฬิกาของพี่มีฟังก์ชันการทำงานดังนี้ จัดไปวัยรุ่น:
- แสดงเวลาแน่นอนอยู่แล้ว (เป็นรูปแบบ 24 ชั่วโมง เพราะพี่ชอบ) พร้อมโคลอนที่กระพริบได้
- จับเวลาแม่นยำ และมีแบตเตอรี่สำรองให้เวลายังเดินต่อแม้ไฟดับ
- ไฟแบ็คไลท์ LED สี RGB ใต้ตัวเลขและจุดคั่น มีเอฟเฟกต์สีให้เลือกถึง 8 แบบ
- มีเซนเซอร์วัดแสง และปรับความสว่างของ LED อัตโนมัติตามแสงในห้อง
- โหมดทดสอบ (Test Mode) ที่จะไล่แสดงตัวเลขทุกหลักและสี LED ทุกสี พร้อมแสดงค่าจากเซนเซอร์วัดแสง
- ปุ่มกด 4 ปุ่ม สำหรับควบคุมฟังก์ชันเหล่านี้:
- - ตั้งเวลา
- - เปลี่ยนเอฟเฟกต์สีของ LED
- - เปิด/ปิด ไฟ LED
- - เข้าและควบคุมโหมดทดสอบ
- มีรูทีน "Anti-Cathode-Poison (ACP)" เพื่อดูแลสุขภาพของนิกซีทูบให้ใช้งานได้นานๆ
- มีรูทีนปิดหลอดและ LED อัตโนมัติตอนกลางคืนเมื่อไม่มีแสงในห้อง เพื่อประหยัดไฟและยืดอายุการใช้งาน
- ออกแบบให้ซ่อมบำรุงง่าย
- มีสวิตช์เปิด-ปิดไฟหลัก
- มีฟิวส์เพื่อความปลอดภัย ห้ามช็อตนะตัวนี้!
แนวคิดการออกแบบ:
แนวคิดหลักคือทำให้เรียบง่ายที่สุด เพื่อให้วางชิ้นส่วนทั้งหมดลงบนเพิร์ฟบอร์ดแผ่นเดียวได้อย่างสวยงาม เพราะตัวเคสที่ใช้เป็นแบบใสเห็นข้างในหมดเลย พี่ไม่ได้ใช้วิธีมัลติเพล็กซ์นะ เพราะถ้าจะทำต้องเพิ่มวงจรเพื่อควบคุมการเปิด-ปิดแต่ละหลอดแยกกัน แถมไอซีนิกซีโซเวียต (K155ID1) ก็หาง่ายและราคาถูกอยู่แล้ว เลยตัดสินใจใช้ทีละ 6 ตัวไปเลยง่ายดี แล้วด้านล่างก็ยังมีที่ว่างพอให้วาง Arduino Mega ได้สบายๆ ปัญหาเรื่องต้องใช้พินเยอะ (ชิปละ 4 พิน) ก็จัดการได้ด้วยสายริบบอน IDC ที่ช่วยให้ต่อสายสะดวกขึ้นอีก โคตรเวิร์ค! เป้าหมายคือความเรียบง่าย และนี่คือวิธีที่เรียบง่ายที่สุดสำหรับสกิลและความเข้าใจของพี่ในตอนนั้นแหละ
ลงลึกในรายละเอียดทางเทคนิค
การสร้างและสวิตช์ไฟ DC 170V
Arduino มันเป็นระบบลอจิก 5V นะ ส่วนหลอดนิกซี (Nixie tube) นี่มันต้องการไฟ DC ประมาณ 170V ถึงจะจุดพลาสมาในหลอดได้
- วงจรบูสต์คอนเวอร์เตอร์ (Boost Converter): โปรเจกต์นี้ใช้ High Voltage DC-DC Step-Up Converter เฉพาะทาง (รุ่น NCH6300HV) เพื่อแปลงไฟเข้า 12V ให้กลายเป็นไฟ ~174V ตามที่ต้องการ
- ไอซีขับ K155ID1: Arduino มันจ่ายหรือสวิตช์ไฟ 170V โดยตรงไม่ได้หรอกน้อง ทางออกคือใช้ K155ID1 (หรือตัวเทียบเท่าอย่าง SN74141) ไอซีตัวนี้เป็น BCD-to-Decimal decoder ที่ถูกออกแบบมาตั้งแต่ยุค 70s ให้จัดการกับแรงดันสูงได้โดยตรง
- หลักการทำงาน: Arduino ส่งสัญญาณไบนารี 4 บิต 5V เล็กๆ (เช่น
0100สำหรับเลข 4) ไปให้ไอซีขับ K155ID1 มันจะถอดรหัสสัญญาณนั้นแล้วเชื่อมเส้นทางไฟ 170V จากแคโทด (ขั้วลบ) ของหลอดนิกซีที่ตรงกับเลขนั้น (เช่น "สายสำหรับเลข 4") ลงกราวด์ ทำให้เลขนั้นสว่างขึ้น
การออกแบบและประกอบแผงวงจร (Perfboard) แบบเอง
โปรเจกต์นี้สอนเรื่องการวางลายวงจรขั้นสูงและความปลอดภัยสำหรับแรงดันสูง
- ห้ามใช้เบรดบอร์ดเด็ดขาด! เพราะไฟ 170V มันอาจจะวิ่งกระโดดข้ามคลิปด้านในแล้วละลายมันได้
- เราต้องบัดกรีไอซีขับ, ซ็อกเก็ตหลอด และชิ้นส่วนอื่นๆ ลงบน แผงไฟเบอร์กลาสเจาะรู (Perforated Fiberglass Board) อย่างระมัดระวัง ต้องจัดการลายทองแดงสำหรับไฟแรงดันสูง (ให้หนา) และไฟลอจิก 5V (ให้บาง) แยกกันให้ดี เพื่อป้องกันการลัดวงจรหรือการอาร์คที่อาจพังทั้งโปรเจกต์ได้ รูปด้านบนคือผลงานที่ได้จากการวางแผนอย่างดีแล้ว
สำหรับไฟแบ็คไลท์ เราใช้ LED RGB แบบกำหนดค่าได้ WS2811 ซึ่งไม่ต้องการวงจรเสริมอะไรมากมาย และควบคุมแต่ละดวงได้ง่ายๆ เพื่อสร้างเอฟเฟกต์เจ๋งๆ
นาฬิกาได้ไฟเลี้ยงจากอะแดปเตอร์ 12V ทั่วไปที่หาง่ายๆ สำหรับจ่ายไฟให้หลอดนิกซี เราเลือกใช้พาวเวอร์ซัพพลายสำหรับนิกซีโดยเฉพาะ (แปลง 12V เป็น 174V) และใช้บักคอนเวอร์เตอร์ (Buck Converter) (แปลง 12V เป็น 5V) สำหรับจ่ายไฟให้ LED ส่วน Arduino Mega ได้ไฟเลี้ยงตรงจาก 12V ของอะแดปเตอร์เลย กระแสรวมที่นาฬิกาใช้ทำงานเสร็จแล้วอยู่ที่ประมาณ 250mA
สุดท้าย สำหรับส่วนจับเวลา เราเลือกใช้โมดูล RTC ราคาถูกจากอีเบย์ที่ใช้ชิป DS3231 มันสื่อสารกับ Arduino ผ่านโปรโตคอล I2C และได้ไฟเลี้ยงตรงจากขา 5V ของ Arduino เลย
บทเรียนที่ได้:
เนื่องจากวิธีทำงานของหลอดนิกซีหรือการจุดมันให้สว่างเนี่ย หาได้ง่ายมากในเน็ตจากบทความของหลายๆ คน พี่เลยคิดว่ามันน่าจะมีประโยชน์มากกว่าถ้าเล่าถึงสิ่งที่พี่ได้เรียนรู้ระหว่างทำโปรเจกต์ ซึ่งพี่หวังว่ามีใครบอกพี่ก่อนเริ่มทำจัง เอาล่ะ ไปดูกัน:
- มีพาวเวอร์ซัพพลายสำหรับหลอดนิกซีขายอยู่บนอีเบย์จากผู้ขายจีนเยอะแยะ ราคาถูกมาก พี่ซื้อมาหลายตัว ทุกตัวใช้งานได้ แต่มันทำได้ไม่เต็มตามสเปคที่โฆษณาไว้ สิ่งที่พี่ค้นพบคือ พาวเวอร์ซัพพลายพวกนี้เป็นของก๊อปปี้จากดีไซน์ที่มีอยู่บนเน็ต และโฆษณาว่ามีความสามารถเทียบเท่าของแท้ ปัญหาคือมันใช้ชิ้นส่วนที่ถูกกว่าของแท้ เลยทำได้ไม่เต็มที่จริงๆ ในกรณีของพี่ พาวเวอร์ซัพพลายก๊อปปี้พวกนี้จ่ายกระแสไม่พอสำหรับหลอดนิกซีทั้ง 6 หลอดและหลอดจุดคู่จุด (colon lamps) ทำให้หลอดนิกซีมัวลงตอนที่หลอดจุดคู่จุดสว่าง และบางเลข (ส่วนใหญ่เลข 2) จะไม่สว่างเต็มที่ พอเปลี่ยนไปใช้อีกดีไซน์หนึ่ง ไฟกระพริบหาย แต่พาวเวอร์ซัพพลายกลับร้อนมากๆ สุดท้ายพี่เลยยอมลงทุนซื้อของแท้มาใช้ มันทำงานได้ดีและเป็นไปตามสเปคที่โฆษณาไว้
- น้องสามารถหาลวดที่หุ้มด้วยยางซิลิโคน (silicon rubber) มาใช้ได้นะ มันไม่ละลายเหมือน PVC เวลาโดนหัวแร้งนี่ช่วยได้เยอะมากจริงๆ เวลาต้องบัดกรีลวดหลายๆ เส้นบนแผงวงจร
บิลวัสดุ (Bill of materials):
- นิกซีทูบ (Nixie Tube) IN-14 จำนวน 4 ตัว
- นิกซีทูบ (Nixie Tube) IN-16 จำนวน 2 ตัว
- เสากระจอกับหลอดนีออน NE-2H 2 หลอด + โฮลเดอร์ จำนวน 2 ชุด
- เพิร์ฟบอร์ดสำหรับทำโปรโตไทป์ ขนาด 120x180mm แบบสองหน้า
- Arduino Mega 2560 R3 แบบไม่มีเฮดเดอร์
- โมดูลนาฬิกาแม่นยำ DS3231 AT24C32 I2C Precision RTC Module
- ไอซีขับนิกซี K155ID1 จำนวน 6 ตัว
- ทรานซิสเตอร์ MPSA42 A42 0.5A/300V NPN TO-92 DIP จำนวน 2 ตัว
- LED สี RGB WS2811 ขนาด 5mm แบบรูเจาะ จำนวน 8 ตัว
- โฟโตเรซิสเตอร์ LDR ขนาด 5mm
- เพาเวอร์ซัพพลายแรงดันสูง NCH6300HV DC-DC - ของแท้จาก omnixie
- ตัวแปลงแรงดัน DC-DC Step-down 3A เอาต์พุต 5V แบบตายตัว ขนาดมินิ
- ตัวต้านทาน (Resistor) 1/4 Watt 5% ค่าต่างๆ จำนวน 20 ตัว
- ตัวเก็บประจุเซรามิก 100nF จำนวน 14 ตัว
- ตัวเก็บประจุอิเล็กโทรไลต์ 100µF 16V
- ตัวเก็บประจุอิเล็กโทรไลต์ 1000µF 16V
- เทอร์มินอล 5.08mm 2Pin จำนวน 7 ตัว
- คอนเนคเตอร์ IDC แบบผู้ (male) 2x13 พิน
- คอนเนคเตอร์ IDC แบบผู้ (male) 2x13 พิน แบบมุม
- สายริบบอน IDC 2x13 พิน
- ซ็อกเก็ต DIP 16 พิน จำนวน 6 ตัว
- สวิตช์กดขนาดมินิ จำนวน 4 ตัว
- ตัวถือฟิวส์แบบ THT ขนาด 5x20mm
- ฟิวส์แก้ว 5x20mm 500mA
- สวิตช์ร็อคเกอร์ ON-OFF สีแดง
- คอนเนคเตอร์จั๊กไฟ DC ขนาด 5.5x2.1mm แบบสี่เหลี่ยม
- แผ่นเพล็กซิกลาส ขนาด 56 ตารางเซนติเมตร หนา 4mm