นาฬิกาโวลต์มิเตอร์ที่ดีกว่า
(lcamtuf.substack.com)- นาฬิกาโวลต์มิเตอร์รุ่นใหม่ใช้โวลต์มิเตอร์แบบแผงอนาล็อก 3 ตัวเพื่อแสดงชั่วโมง นาที และวินาที โดยออกแบบให้เรียบง่ายและดูดีกว่าแบบเดิมที่มีอยู่บนอินเทอร์เน็ต
- ถอดแยก Baomain 65C5 5V panel meter เพื่อวัดขนาดด้านหน้า แล้วพิมพ์ หน้าปัดทดแทน ลงบนกระดาษกาวเพื่อเปลี่ยนให้เป็นการแสดงผลแบบนาฬิกา
- เข็มชั่วโมงแบ่งเป็น 13 ช่วงตั้งแต่ 0~12 ส่วนเข็มนาทีและวินาทีแบ่งเป็น 61 ช่วงตั้งแต่ 00~60 ทำให้เข็มเคลื่อนที่ต่อเนื่องระหว่างตัวเลข
- ตัวเรือนทำจากไม้เมเปิลด้วย CNC mill และผนังด้านข้างแบบโค้งถูกดัดด้วยรอยบากด้านใน การทำให้ชื้น และการหนีบ เพื่อสร้างรูปลักษณ์ไร้รอยต่อ
- วงจรเรียบง่าย ใช้ AVR128DB28 กับคริสตัล ปุ่ม 2 ปุ่ม และขาดิจิทัล 3 ขา โดยขับมิเตอร์ด้วย duty cycle ของชุดพัลส์ 1 บิต แทนการใช้ DAC
การออกแบบและการสร้าง
- นาฬิกาโวลต์มิเตอร์รุ่นแรกที่ทำในปี 2019 ใช้โวลต์มิเตอร์แบบแผงอนาล็อกแสดงเวลาแทนหน้าปัดนาฬิกาแบบดั้งเดิม ส่วนรุ่นใหม่ถูกสร้างขึ้นโดยตั้งเป้าให้เรียบง่ายกว่าและสวยงามกว่าแบบเดิมที่มีอยู่บนอินเทอร์เน็ต
- การออกแบบใหม่เริ่มจาก mockup แบบคร่าว ๆ ใน Rhino3D และใช้มิเตอร์แผง 90° แบบทั่วไปจาก Amazon จำนวน 3 ตัว
- Baomain 65C5 5V panel meter เป็นชิ้นส่วนราคาประมาณ $9 เมื่อถอดแยกแล้วจึงวัดขนาดด้านหน้าและพิมพ์หน้าปัดทดแทนลงบนกระดาษกาวเพื่อปรับแต่ง
- มี เทมเพลต PDF สำหรับพิมพ์ให้ที่ meter_clock2.pdf
- มาตรวัดเข็มชั่วโมงประกอบด้วย 13 ช่วงตั้งแต่ 0~12 และมาตรวัดเข็มนาทีกับวินาทีประกอบด้วย 61 ช่วงตั้งแต่ 00~60
- นี่เป็นการเลือกเพื่อให้เข็มแต่ละอันเคลื่อนที่อย่างต่อเนื่องไม่สะดุด
- ตัวอย่างเช่น เวลา 11:30 เข็มชั่วโมงไม่ควรหยุดอยู่ที่ 11 แต่ควรเคลื่อนไปทางช่วงที่ 12
- เพื่อปิดบังหน้าแปลนพลาสติกราคาประหยัดของมิเตอร์ Baomain 65C5 และทำให้แผงด้านหน้าไม่ดูเรียบเกินไป จึงใช้ ลวดลายตกแต่งแบบเว้า
- แทนที่จะทำตัวเรือนด้วยมือเหมือนรุ่นแรก ด้านหน้าและด้านหลังถูกขึ้นรูปด้วย CNC mill
- วัสดุคือไม้เมเปิลที่นำมาเลื่อยใหม่ จัดฉาก และไสเรียบในเวิร์กช็อป
- ผนังด้านข้างแบบโค้งทำโดยดัดแผ่นไม้แบนให้เข้ากับเทมเพลตรูปทรง เพื่อให้ได้รูปลักษณ์ไร้รอยต่อ
- เพื่อทำงานนี้โดยไม่ใช้สตีมเบนดิ้งจิก จึงตัด รอยบากด้านใน หลายตำแหน่งที่ด้านในของผนังข้าง เพื่อให้ไม้ดัดได้ง่ายขึ้น
- ทำให้ไม้ชื้นแล้วหนีบยึดไว้ให้แห้ง จากนั้นอีกหลายวันต่อมาจึงนำผนังข้างที่โค้งแล้วมาติดกาวเข้ากับด้านหน้าและด้านหลัง
- เพื่อความพอดีที่แม่นยำ มีการใช้เทมเพลตภายนอกจากเศษไม้อัดเพื่อหลีกเลี่ยงการต้องจัดการแคลมป์และสายรัดแบบ ratchet strap ที่ยุ่งยากอีกครั้ง
- หลังประกอบตัวเรือนแล้ว มีการขัดและพ่น nitrocellulose lacquer เพื่อให้พร้อมสำหรับการติดตั้งขั้นต้น
วงจรและหลักการทำงาน
- วงจรเป็นแบบเรียบง่าย ใช้เวลาทำประมาณหนึ่งชั่วโมง โดยใช้ MCU AVR128DB28 และจ่ายไฟจาก wall adapter
- MCU เชื่อมต่อกับคริสตัล 8MHz ECS-80-18-4X-CKM และยังสามารถใช้ คริสตัล 32.768kHz ได้ด้วย
- มิเตอร์แผงทั้งสามตัวเชื่อมต่อกับขาออกดิจิทัล PC0, PC1, PC2
- ปุ่มกดขนาดเล็กสองปุ่มที่ด้านหลังเชื่อมต่อกับขาอินพุต PD6, PD7 และใช้สำหรับตั้งเวลา
- การขับมิเตอร์ไม่ต้องใช้ DAC หรืออุปกรณ์เพิ่มเติม
- ใช้ ชุดพัลส์ดิจิทัล 1 บิต ที่ความถี่ค่อนข้างสูง
- ความเฉื่อยของมิเตอร์และค่าความเหนี่ยวนำของขดลวดภายในจะจัดการส่วนที่เหลือ และทำให้เข็มคงที่ที่ตำแหน่งกึ่งกลางตาม duty cycle ที่ซอฟต์แวร์ควบคุม
- โค้ดดูได้ที่ meter_clock2.c ซึ่งสั้นและมีคอมเมนต์ไว้อย่างดี
- หัวใจของการทำงานคือการเพิ่มค่า ตัวนับ 10Hz ผ่าน timer interrupt ที่ซิงก์กับคริสตัล
- จากนั้น main event loop จะคำนวณ duty cycle ที่เหมาะสมและสลับสถานะขาออกด้วยตนเอง
- แม้ชิปจะมีฮาร์ดแวร์ PWM module แต่เนื่องจากแอปพลิเคชันนี้เรียบง่าย การใช้วงจร PWM จึงแทบไม่มีประโยชน์เชิงปฏิบัติ
- มี วิดีโอ rollover ที่ถ่ายใกล้เวลา 11:59:59 ให้ดูที่ Video 3
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ราวปี 2014 ผมเคยเห็นนาฬิกามิเตอร์วัดแรงดันที่ทำด้วย Arduino ของใครสักคน น่าจะเป็นอันนี้: https://maniacallabs.com/2014/07/08/meter-clock-pt1/
คิดว่ามันเท่มาก แต่ก็แพงไปหน่อยเมื่อเทียบกับของที่ได้
เลยทำเองด้วย ชิป PIC: https://www.n1kdo.com/meter-clock/index.html
ของผมใกล้เคียงกับของตกแต่งบนโต๊ะที่ชวนคนคุยมากกว่าจะเป็นนาฬิกาที่เที่ยงตรง
โปรเจ็กต์แบบนี้สนุกเสมอ ชอบตรงที่มัน สวยในเชิงศิลปะ และชวนให้นึกไอเดียได้สารพัด
มันยังเป็นวิธีที่ทำให้สมองหลายส่วนได้ทำงานพร้อมกันด้วย
ตลกดีที่ผมเองก็เพิ่งเล่นกับ panel meter อยู่เหมือนกัน
ตอนนี้กำลังปิดงานคอมพิวเตอร์แอนะล็อกอยู่ และได้ต่อ ADC เพื่อแปลงค่าแอนะล็อกเป็นดิจิทัลแล้วแสดงบน LCD ใช้บอร์ดพัฒนา ESP32 ซึ่งยืดหยุ่นกว่า panel meter และถูกกว่าออสซิลโลสโคป
แต่พอมองดู panel meter แบบ “จำลอง” แล้วมันเหมือนทำให้จุดประสงค์ของคอมพิวเตอร์แอนะล็อกพร่ามัวไปหน่อย เลยทำ PCB เล็ก ๆ เพื่อเชื่อมคอมพิวเตอร์แอนะล็อกของผมเข้ากับ panel meter จริงแบบที่ใช้ในนาฬิกาเรือนนี้
พอลองรัน การจำลองสปริง+มวล บนคอมพิวเตอร์แอนะล็อก แล้วเห็นทั้งการแสดงผลแบบ panel meter บน LCD/ESP32 กับ panel meter จริงขยับไปพร้อมกัน ทุกอย่างก็คลิกเลย
เท่มาก! วงจรอิเล็กทรอนิกส์น่าจะทำได้ไม่ยาก แต่โปรเจ็กต์แบบนี้ต้องมี เครื่องมืองานไม้ และห้องสตูดิโอเล็ก ๆ ของผมไม่มีที่ให้เก็บ
ภรรยาผมก็คงไม่ชอบแน่ถ้าผมจะซื้อเครื่องมือพวกนั้น ซึ่งก็เป็นอีกปัญหาหนึ่ง
แย่ที่สุดก็อาจต้องไปเรียน FreeCAD แล้วซื้อ collet ($10~$50) กับดอกกัด (สองดอกก็ราว $50~$75) ถ้าโชคดี ที่นั่นอาจมีซอฟต์แวร์กับเครื่องมือพร้อมใช้อยู่แล้ว
ผมพูดจากประสบการณ์ที่ทำเฟอร์นิเจอร์เป็นอาชีพ เคยทำงานใน makerspace และเคยทำโปรเจ็กต์ระดับความซับซ้อนใกล้เคียงกันด้วย Shopbot ที่นั่น
เสริมอีกนิด ถ้าตัดสินใจไม่ทำร่องบ่ารอบเกจที่แผงหน้า ก็จะทำเป็นงาน CNC หน้าเดียวได้และง่ายขึ้นมาก ถ้าทำอย่างระวัง ใช้เราเตอร์มือถือกับดอกทำร่องบ่าก็พอไหว
ไม่นานมานี้ Princess Auto เอา มิเตอร์ส่วนเกินสต็อก แบบนี้มาขายถูกมาก ผมเลยทำขึ้นมาหนึ่งอัน ราคาตกชิ้นละนิดเดียวเกิน 1 ดอลลาร์ ก็เลยซื้อมาเยอะ
ของที่ผมทำไม่สวยเท่านี้ แต่เป็นวิธีแสดงเวลาที่ดีมาก และคนที่เห็นก็มักจะรู้สึกทึ่งนิด ๆ
ดีมาก! แค่น่าจะมีการปรับอีกนิดเพื่อกัน overshoot กับการเด้ง เวลาค่าลดจากสูงไปต่ำ
อย่างที่คนอื่นบอก overshoot อาจดูเท่ก็จริง แต่ผมกังวลว่า panel voltmeter ราคาถูกจะไม่ทนต่อแรงกระแทกแบบนั้นได้มากนัก
;-)
เจ๋งดี! แต่ก็แอบคาดหวังว่าจะมี op-amp สักตัวสองตัวในวงจรบ้าง ;)
ไอเดียสุ่ม ๆ:
ใช้ แรงดันเป็นชั่วโมง และ กระแสเป็นนาที
แล้วให้กำลังไฟที่ได้ไปขับหลอดไฟสีรุ้ง
เพิ่งรู้เมื่อกี้ว่าในภาษาอังกฤษนิยมเรียก ammeter มากกว่า ‘amperemeter’ แต่ผมชอบ ‘amperemeter’ มากกว่าเพราะฟังดูตรงตัวดี
ผมชอบที่ขับ อุปกรณ์แอนะล็อก แบบนี้ด้วยเอาต์พุตดิจิทัล การใช้ PWM ฉลาดดี
ตัวงานประกอบเองยอดเยี่ยมมาก! อันนี้เป็นจุดติดขัดส่วนตัวล้วน ๆ ของผม แต่รูปแบบที่ เข็มวินาทีต้องรีเซ็ต นั้นชวนขัดใจไม่รู้จบจริง ๆ :/