본문으로 건너뛰기
피드

아날로그 전압계 3개로 만든, 꽤 진심인 탁상시계

general 약 8분
vote
0
댓글
북마크

lcamtuf가 2019년에 만들었던 전압계 시계를 더 보기 좋게 다시 만들고, 목공·CNC·임베디드 제어 과정을 자세히 풀었다. 핵심은 아날로그 패널 전압계 3개를 시·분·초 표시기로 쓰고, DAC 없이 1비트 펄스와 계기 바늘의 관성을 이용해 부드러운 움직임을 만드는 것이다.

  • 1

    90도 아날로그 패널 전압계 3개를 분해해 시·분·초용 커스텀 다이얼을 붙임

  • 2

    시침은 0~12의 13개 눈금, 분침과 초침은 00~60의 61개 눈금으로 만들어 연속 움직임을 구현함

  • 3

    AVR128DB28 MCU와 8MHz 크리스털, 버튼 2개만으로 회로를 단순하게 구성함

  • 4

    DAC 없이 고주파 1비트 펄스의 듀티 사이클과 계기 바늘의 관성으로 중간 위치를 표현함

  • 이 글은 아날로그 패널 전압계 3개로 탁상시계를 만드는 제작기임

    • 저자는 2019년에 이미 단순한 전압계 시계를 만들었지만, 인터넷에 보이는 비슷한 제작물들이 대체로 어설퍼 보여서 더 보기 좋은 버전을 만들기로 함
    • 전통적인 시계판 대신 전압계 바늘이 각각 시, 분, 초를 표시하는 구조임
    • 그냥 아이디어만 던지는 글이 아니라 목공, CNC 가공, 회로, 펌웨어까지 꽤 꼼꼼하게 기록한 제작기임
  • 표시부는 아마존에서 산 90도 패널 전압계 3개로 구성함

    • 사용한 부품은 Baomain 65C5 계열의 저렴한 아날로그 패널 전압계이고 개당 약 9달러임
    • 전압계를 분해해서 기존 눈금판 치수를 재고, 접착식 종이에 새 다이얼 데칼을 출력해 붙임
    • 시침용 게이지는 0부터 12까지 13개 눈금을 사용함
    • 분침과 초침용 게이지는 00부터 60까지 61개 눈금을 사용함
  • 눈금을 12개나 60개가 아니라 13개, 61개로 만든 이유가 꽤 디테일함

    • 저자는 각 바늘이 뚝뚝 끊기지 않고 연속적으로 움직이길 원했음
    • 예를 들어 11시 30분이면 시침이 11에 고정돼 있으면 안 되고 12 방향으로 절반쯤 이동해야 함
    • 그래서 끝 눈금을 실제 도달점이라기보다 연속 움직임을 위한 기준점처럼 둔 셈임
    • 이런 작은 설계가 결과물의 “싸구려 장난감 느낌”을 줄여줌
  • 외관 쪽 난도는 회로보다 훨씬 높았음

    • 저렴한 전압계에는 보기 싫은 플라스틱 플랜지가 있어서, 저자는 이걸 전면에서 안 보이게 숨기기로 함
    • 전면 패널에는 장식용 오목한 패턴을 넣어 단조로움을 줄였음
    • 이 때문에 전면과 후면은 손작업보다 CNC 밀로 가공하는 게 더 효율적이었다고 함
    • 재료는 단풍나무 목재를 켜고, 직각을 맞추고, 대패질한 뒤 CNC로 마감하는 식으로 준비함
  • CNC가 없어도 만들 수 있는 우회 방법도 제시함

    • 전면 패널을 두 조각으로 나눠 종이 템플릿을 따라 자르고 붙이는 방식이 가능하다고 설명함
    • 곡선을 정확하게 맞추려면 스핀들 샌더를 쓰는 게 간단한 방법이라고 함
    • 즉, 꼭 고가 장비가 있어야만 가능한 프로젝트는 아니지만, 깔끔한 결과물에는 장비빨이 꽤 들어감
  • 곡선형 옆면은 나무를 휘어 붙이는 방식으로 해결함

    • 이음새 없이 보이게 하려면 평평한 나무 조각을 템플릿에 맞춰 구부려야 했음
    • 스팀 벤딩 장비 없이 작은 반경을 만들기 위해 안쪽에 여러 개의 홈을 냄
    • 나무를 적시고 클램프로 고정한 뒤 며칠 동안 말린 다음 전면과 후면에 접착함
    • 스크랩 합판으로 만든 템플릿을 써서 클램프와 래칫 스트랩으로 씨름하지 않고 정확한 핏을 맞춤

💡

> 이 프로젝트의 핵심 꼼수는 전자회로보다 물리 특성 활용에 있음. 전압계 바늘의 관성과 코일 인덕턴스를 이용하면 DAC 없이도 부드러운 중간 위치를 만들 수 있음.

  • 회로는 외관에 비하면 상당히 단순함

    • MCU는 AVR128DB28을 사용함
    • 전원은 벽 어댑터에서 받고, 8MHz 크리스털 ECS-80-18-4X-CKM을 붙임
    • 32.768kHz 크리스털도 잘 동작할 수 있다고 설명함
    • 패널 전압계 3개는 디지털 출력 핀 PC0, PC1, PC2에 연결함
    • 시간 설정용 버튼 2개는 후면에 달고 입력 핀 PD6, PD7에 연결함
  • 흥미로운 건 DAC가 전혀 필요 없다는 점임

    • 일반적으로 아날로그 계기를 원하는 위치로 움직이려면 디지털-아날로그 변환기(DAC)를 떠올릴 수 있음
    • 하지만 저자는 상대적으로 높은 주파수의 1비트 디지털 펄스열만 사용함
    • 전압계 바늘의 관성과 전자석 코일의 인덕턴스가 펄스를 평균화해주기 때문에, 소프트웨어가 제어하는 듀티 사이클에 비례한 중간 위치에 바늘이 머무름
    • 결과적으로 부품 수를 늘리지 않고도 아날로그처럼 보이는 움직임을 얻음
sequenceDiagram
    participant 타이머 as 타이머 인터럽트
    participant 카운터 as 10Hz 시간 카운터
    participant 메인루프 as 메인 루프
    participant 출력핀 as 디지털 출력 핀
    participant 전압계 as 아날로그 전압계
    타이머->>카운터: 크리스털 기준으로 시간 증가
    카운터->>메인루프: 현재 시·분·초 값 제공
    메인루프->>메인루프: 각 바늘 위치에 맞는 듀티 사이클 계산
    메인루프->>출력핀: 1비트 펄스열 토글
    출력핀->>전압계: 평균 전류 형성
    전압계->>전압계: 관성과 코일 특성으로 바늘 위치 안정화
  • 펌웨어 구조도 미니멀함
    • 크리스털에 동기화된 타이머 인터럽트로 10Hz 카운터를 전진시킴
    • 메인 이벤트 루프는 현재 시간에 맞는 듀티 사이클을 계산하고 출력 핀을 직접 토글함
    • MCU에 하드웨어 PWM 모듈이 있지만, 이 정도 애플리케이션에서는 직접 토글해도 충분해서 굳이 쓰지 않았다고 함
    • 마지막에는 11:59:59에서 넘어가는 롤오버 영상까지 찍어서 바늘 움직임을 보여줌

기술 맥락

  • 이 프로젝트에서 제일 재밌는 선택은 DAC를 안 쓴 거예요. 아날로그 전압계는 입력이 빠르게 흔들려도 바늘이 즉시 따라 움직이지 않고 어느 정도 평균 위치에 머무르거든요. 저자는 이 물리적 둔함을 단점이 아니라 기능으로 써먹은 거예요.

  • PWM과 듀티 사이클이 중요한 이유도 여기에 있어요. 출력 핀은 디지털이라 켜짐과 꺼짐밖에 없지만, 켜져 있는 시간의 비율을 조절하면 전압계 입장에서는 평균 전류가 달라진 것처럼 보여요. 그래서 바늘이 0과 최대치 사이의 원하는 위치에 안정적으로 멈출 수 있어요.

  • AVR128DB28 같은 작은 MCU로 충분한 이유는 요구사항이 단순하기 때문이에요. 네트워크도 없고 디스플레이 드라이버도 없고, 정확한 시간 기준과 핀 3개 제어만 있으면 되거든요. 그래서 하드웨어 PWM까지 쓰지 않고 메인 루프에서 직접 핀을 토글하는 구현도 현실적인 선택이 돼요.

  • 눈금을 13개와 61개로 만든 건 UX에 가까운 기술 판단이에요. 시침과 분침이 계단식으로 튀면 전압계 시계의 매력이 줄어드니까, 실제 시계처럼 연속적으로 움직이는 느낌을 주기 위해 끝 눈금을 하나 더 둔 거예요. 작은 디테일이지만 완성도 차이를 크게 만드는 부분이에요.

이 글은 ‘예쁜 하드웨어 만들기’와 ‘단순한 임베디드 제어’가 만나는 지점이 재밌음. 부품을 더 넣어서 해결하는 대신, 아날로그 계기의 물리적 특성을 이용해 소프트웨어로 제어를 끝낸 점이 꽤 개발자 감성임.

댓글

댓글

댓글을 불러오는 중...

general

폐쇄된 클라이밋닷거브, 공공 데이터 덕분에 클라이밋닷어스로 되살아나다

미국 정부의 기후 정보 사이트 Climate.gov가 예산 삭감으로 내려간 뒤, 전직 NOAA 관련자들이 Climate.us로 핵심 자료를 복원했어. 15년 넘게 쌓인 기후 지도, 교육 자료, 기후 지표 보고서, 삭제된 제5차 국가기후평가까지 되살린 배경에는 미국 정부 데이터가 법적으로 퍼블릭 도메인이라는 점이 있었어. 다만 운영은 기부에 의존하고 있어, 공공 인프라를 민간이 임시로 떠받치는 불안정한 구조도 같이 드러나.

general

AI 시대에도 인간 관리자가 남는 이유는 결국 ‘책임’ 때문임

생성형 AI가 기업 경영의 많은 판단을 도와도, 인간 관리자의 역할이 사라지지는 않는다는 주장이다. 글은 공감, 검증, 실행, 책임이라는 네 가지 영역에서 AI가 아직 인간 관리자를 대체하기 어렵다고 설명한다.

general

서로 1만 달러 주고받으면 매출 1만 달러? 스타트업 매출 놀이를 비꼰 풍자 사이트

LARP는 창업자끼리 같은 금액을 서로 주고받은 것처럼 장부에 기록해 매출을 만든다는 설정의 풍자 사이트다. 실제 제품, 고객, 현금 이동 없이도 연간 반복 매출(ARR)을 부풀릴 수 있다는 식으로, 스타트업의 매출 인정과 상호 거래 관행을 날카롭게 비꼰다.

general

뱅크오브아메리카, 소버린 클라우드 수요 보고 아이오노스에 매수 의견

뱅크오브아메리카가 유럽 웹 호스팅·도메인 기업 아이오노스에 매수 의견과 목표주가 37유로를 제시했다. 핵심 논리는 중소기업 대상 웹 서비스, AI 업셀링, 소버린 클라우드 수요가 맞물리며 2025년부터 2028년까지 매출과 이익이 성장할 수 있다는 것이다.

general

SDT·KT·스패로우까지, 국내 보안·클라우드·양자 업계 단신 모음

SDT는 양자 클라우드 플랫폼 큐레카에 양자내성암호를 적용하고 CUDA-Q 교육 모듈을 3개 국어로 제공하기로 했다. KT, 스패로우, 매스웍스, 아이씨티케이, 오케스트로 클라우드도 각각 메일보안, 앱 보안, 디지털 트윈, 양자보안, 공공 클라우드 전환 관련 소식을 냈다.