跳转至

文章背景与核心概要

本文记录了一款模拟伏特表时钟(Voltmeter Clock)的演变与制作过程。作者在改进 2019 年粗糙原型机的基础上,设计出了一款更加精致的版本:采用定制铣削的枫木外壳、精密打印的表盘贴花以及精简的微控制器电路。

该时钟利用连续运动的电表来显示时间,由 AVR128DB28 单片机通过简单的脉冲宽度调制(PWM)技术驱动。文章详细介绍了从 Rhino3D 三维建模、表盘定制、CNC 外壳加工到软硬件实现的完整流程,为硬件爱好者提供了一份极具参考价值的制作指南。


A Nicer Voltmeter Clock

A Nicer Voltmeter Clock

Summary

Summary

This project documents the evolution of an analog voltmeter clock. Moving beyond a "janky" 2019 prototype, the author designed a refined version featuring a custom-milled maple enclosure, precision-printed dial decals, and a streamlined microcontroller circuit. The clock utilizes continuous-motion gauges to display time, driven by a simple pulse-width modulation technique on an AVR128DB28 MCU.


The Design Process


The Design Process

Back in 2019, I built a simple voltmeter clock using analog panel voltmeters. While the concept is popular, many existing designs feel unrefined. I decided to document a more polished approach, starting with a 3D mockup in Rhino3D.

A mockup of the new design in Rhino3D.

A mockup of the new design in Rhino3D.

Customizing the Gauges

Customizing the Gauges

I sourced three generic 90° panel voltmeters (approx. $9 each). I disassembled them to create custom, high-quality decals. * Templates: Printable PDF templates are available here. * Continuous Motion: The hour gauge features 13 divisions (0–12), while minutes and seconds feature 61 (00–60). This allows the hands to move continuously toward the next increment rather than jumping abruptly.

Customizing 5 V panel meters.

Customizing 5 V panel meters.

Enclosure Fabrication

Enclosure Fabrication

To hide the unsightly plastic flanges of the stock meters, I designed a recessed pattern for the front panel. I used a CNC mill to cut the maple lumber for a precise, professional finish.

CNC toolpath view.

CNC toolpath view.

For the curved side walls, I employed a "kerf-bending" technique, notching the wood to allow it to conform to a template without requiring a steam-bending rig.

For the curved side walls, I employed a "kerf-bending" technique, notching the wood to allow it to conform to a template without requiring a steam-bending rig.

Kerf-bending side walls using a template.

Kerf-bending side walls using a template.

The final assembly was sanded and finished with a coat of nitrocellulose lacquer.

The final assembly was sanded and finished with a coat of nitrocellulose lacquer.

Initial fitting.

Initial fitting.

Electronics and Code

Electronics and Code

The circuit is intentionally simple: * MCU: AVR128DB28. * Drive Method: Instead of complex DACs, I used a high-frequency, 1-bit digital pulse train. The inertia of the meter coils naturally smooths the signal, allowing for precise positioning via duty cycle control. * Timekeeping: Synchronized via an 8 MHz crystal (a 32.768 kHz crystal would also suffice). * Source Code: The well-commented code can be viewed here.

Circuit schematic.

Circuit schematic.

The Result

The Result

Here is the clock in action, captured during the transition at 11:59:59:



PS: A build from a reader, combining the appearance of the v1 clock with the circuitry of v2, can be found here.

PS: A build from a reader, combining the appearance of the v1 clock with the circuitry of v2, can be found here.