시계는 3개의 주요 파트로 구성됩니다.
- .휠, 기어 그리고 모터가 있는 기계파트
- 아두이노 Mega 2560 easydrivers and RTC 모듈을 기반으로 한 전자장비.
- 멀티 플랙스 하우징
1단계 : 메카닉 부분을 만듭시다 - 1단계 휠과 모터 고정
이 시계는 각각 0~9사이의 숫자를 독립적으로 표시할 수 있는 4개의 휠이 있고 시간 디스플레이는 00:00~23:59까지 구성할수 있습니다.
각각의 숫자 파트를 동일하게 보이게 하기 위해서 디자인과 공정을 단순화 해주세요. (저는 디스플레이 휠 4개를 동일하게 만들어 줬습니다). 각각의 휠은 3mm 플렉시글라스(PMMA) 로 만들어 질겁니다. 한쪽은 중심 구멍으로만 닫힐거고 다른쪽은 35의 톱니가 있는 내부 기어로 만들어 질겁니다. 스테퍼 모터는 축에 톱니 바퀴 8개가 부착되어 있으며 휠 사이의 거리를 최대한 가깝게 유지하기 위해 휠 내부에 장착될겁니다.
기어들은http://hessmer.org/gears/InvoluteSpurGearBuilder.html 여기서 필요한 조합을 만들어 주시면 됩니다. 모터는 모터 마운트와 중앙 축 홀더를 구성하는 Plexiglas부품 세트에 의해 제자리에 고정될겁니다
숫자는 75mm 폴리에틸렌 (Lexan)에 새겨져 있습니다. 조립을 쉽게 하고 일관된 바퀴를 만들기 위해 접착제가 굳을 동안에 휠에 숫자들을 고정시켜줄수 있는 틀을 만들어 주세요.
UHU POR 접착제를 사용해주세요. 0-9까지의 숫자의 접합 부분에 휠에 있는 스트립을 통해 1mm크기의 구멍을 만들어 주시고 핀을 붙여주셔서 휠이 안움직이게 고정시켜 주세요
각 휠에는 안정성을 위해 PMMA 더블러(doubler) 와셔를 사용하는 플라스틱 접착제 2개로 PMMA에 황동 막대를 부착해주세요. 그리고 4mm 스틸 와이어가 휠 베어링으로 작동하기 위해 황동 로드와 PMMA 모터 마운트를 통과시켜주세요. 마찰과 마모를 줄이기 위해 약간의 기름을 사용해주세요. 하단 부분에는 모터 마운트를 올바른 위치에 고정하기 위해 두개의 나사형 로드(rode) M5를 사용해주시면 됩니다.
모터 마운트에 홀 센서가 장착될거고 해당 휠에 자석이 부착되어 있어 휠이 거의 0위치에 있을 때 센서가 활성화될겁니다. 정확한 포지셔닝은 공구보정(offset compensation) 소프트웨어에서 다룰겁니다. 참고로, 홀 센서는 하우징에 맞기 위해 자기 양극화를 요구합니다. 그러니 모든 자석과 홀 센서가 올바른 위치에 있는지 확인해주세요.
2단계 : 메카닉 부분 만들기 파트 2 숫자 스트립
휠에 붙을 번호들은 새겨지고 페인트칠 될겁니다
단계 :
- 충분한 크기의 Polycarbonate 시트를 가지고 와서 보호 호일을 제거합니다.
- 실버 페인트(또는 원하는 다른 색상)를 분사하여 시트의 전체 표면을 덮고, 여러층을 분사하여 잘 덮으세요.
- 페인트가 마른 후에는 거울 이미지로 된 숫자를 페인트를 칠한 면에 0.2mm깊이로 새기고 스트립을 잘라냅니다.
- 부드러운 브러시를 사용하여 플라스틱 칩을 조심스럽게 제거하세요.
- 스트립을 약한 표면을 보호하는 테이프를 사용하여 일회용 underground에 테이프로 붙이고, 새겨진 부분은 그림 페인트칠을 하기 위해 열린 상태로 두세요.
- 페인트가 잘 덮어지는지 확인 하면서 숫자에 페인트를 여러겹으로 분사해주세요.
- 페인트가 마르게 놔 두시고 보호 포일을 위에 올려주세요
3단계 : 전자장비
이 시계의 전자 부품은 아두이노 메가 2560입니다. 스테퍼 모터는 Schmalzhaus Easydriver 모듈에 의해 구동됩니다. 모터 전류가 상대적으로 낮기 때문에 칩에 열 싱크가 필요하지는 않습니다. 아두이노에 12V입력 전력은 on-board 전압 조절기에 의해 5V로 조절됩니다. Easydriver 칩(모터가
아니라 별도로 전원이 공급됨)에서 사용하는 추가 전류로 인해 Arduino전압 레귤레이터가 과열될수 있습니다. 이 문제를 해결하고 모터에 별도의 전원을 공급하기 위해 두개의 조절식 DC/DC컨버터를 사용하여 아두이노의 입력 전압을 8.5V로 낮추고 Schmalzhaus에 있는 모터 드라이버에 6V를 제공해주시면 됩니다.
핀 할당은 도면에 따라 다르므로 요구 사항에 맞게 핀을 쉽게 재할당해주시면 되고 LED조명에는 다른 핀을 사용하는 것이 좋습니다. 전원을 켜는 동안 다른 핀과는 다르게 불이 깜박거릴겁니다. LDR이 캐비넷 외부의 뒷면에 장착되어 있고 아날로그 케이퍼블(capable) 핀에 연결되어 있는지만 확인해주세요. LED는 PWM capable 핀에 의해 구동되어야 합니다. 도면에서 사용된 트랜지스터는 BC547로, 최대 100mA를 처리할수 있습니다. 하지만 더 많이 사용하려는 경우 (각 세그먼트가 최소 20mA를 사용하는 경우), 중간 전류 트랜지스터(예:BC639)가 필요합니다.
Easydriver 보드는 모터 드라이버 부품과 logic/input 부품에 는 별도의 전원을 사용합니다. 전원을 분리하려면 각 보드의 점퍼를 절단해야 합니다. Logic에 사용되는 5V는 아두이노에서 가져온 것입니다. 홀 센서도 이 5V에 연결됩니다. 홀 센서 개방형 콜랙터와 푸시 버튼 스위치에는 AT Mega 칩에서 사용할 수 있고 소프트웨어로 프로그래밍된 보충(pull-up)레지스터가 필요합니다.
시간을 정확히 맞추기 위해서 Real Time Clock (RTC) 모듈 (DS3231)은 와이어 두개 (I2C)로 아두이노 핀 20과 21에 연결해주세요. 이 모듈에는 배터리 백업이 있어서 전원이 꺼졌을 때는 전원이 다시 켜질 때까지 정확한 시간을 유지할수 있습니다.
4단계 : 하우징
하우징은 CNC라우터로 9mm와 12mm의 자작 나무 합판을 잘라서 만듭니다. 필요한 모양으로 약 20개의 층이 필요합니다. 숫자 사이의 층은 잘리기 전에 6mm보단 약간 큰 사이즈로 줄여주여야 합니다. M5와 M4 나사형 로드를 사용하여 층을 순서대로 정렬합니다. 그런 다음 너트를 조여 부품을
그런 다음 너트를 조여 부품을 고정합니다. 접착제가 흘러나오는 것을 막기 위해 접착제는 층 사이에 발라 주지 마세요. 대신에, 얇은 CA를 사용하여, 접착제의 모세관 특성을 이용하여 그 층들 사이로 들어가도록 나무안쪽부터 적셔주세요. 접착제가 잘 스며들어가게 접착제를 충분히 사용해주세요. CA를 사용할 때는 접착제 냄새를 들이마시거나 눈에 자극이 가지 않도록 주의하십시오. 밖이나 환기가 잘 되는 곳에서 해주세요. 접착제가 잘 굳은 후 나사형 로드를 제거하세요. 막대가 구멍 안에 잘 고정되도록 하기 위해서 구멍안에 접착제를 약간 넣어주세요. 밖에는 접착제가 발려있지 않은 상태로 그대로 두세요. 목재 접착제를 사용하여 사이드 패널을 제자리에 접착하고 고정해주세요. 접착제가 굳으면 표면를 매끄럽게 갈아주신 후 니스를 바르고 조금 갈고 또 니스를 발라주세요 (두겹의 니스를 칠해주세요.) 이제 케이블이나 다른 부품이 움직이는 부품에 닿지 않도록 하면서 기계와 전자 부품이 하우징 안에 설치 해주시면 됩니다.
5단계 : 소프트웨어
https://vimeo.com/203717066 -동영상
제가 할때 소프트웨어에 몇가지 문제가 있었습니다. 다른 컴파일러와 같이 작업해왔지만 아두이노 C는 처음으로 사용하는 프로그램입니다. 체크하고 프로그램을 업로드하기 정말 쉽습니다. 그냥 마우스 클릭만 하면 프로그램이 보드에 입력되면서 실행 됩니다. 즉 문장 구성에 의한 오류는 없다는겁니다.
해결해야 할 문제는 모터 어셈블리의 일부인 특정 기어 감속과 모터로 부터 휠까지의 감속입니다. 스테퍼 모터 데이터 시트에는 기어 감속이 1:64이고 모터 자체의 스텝 수는 64라고 나와 있습니다. 모터를 4분의 1 스텝에서 가장 잘 작동한다는걸 알아냈습니다. 대략 초당 120 스텝이 모터에서 나올 수 있는 신뢰할수 있는 최대 스피드 입니다. 그리고 기어 비는 정확히 1:64가 아니라 1:63.68395 였습니다. 모터에서 휠 기어까지의
모터에서 휠 기어까지의 감속이 8:35이기 때문에, 한 휠 회전에 필요한 총 펄스 수는 128 x 63.68395 x 4.375 = 35663.012 입니다. (모터는 회전당128 쿼터 스텝 필요)
따라서 각 자릿수 증가에는 3566개의 펄스가 필요합니다. 이는 자릿수 증가 당 0.3012 펄스 단락입니다. 하루가 1440분이기 때문에 24시간 내에 고장이 약 433회 납니다. 고장을 해결하기 위해 상쇄 펄스 카운터가 추가되고, 정확히 자정(00:00)이 될 때마다 모든 휠이 0위치로 맞춰지게됩니다.
두번째 문제는 현재 휠 위치를 계속 추적하는 것입니다. 숫자 0에 가까워지면 활성화 되지만 정확하지는 않은 자석과 홀 센서를 추가했고 홀센서가 휠 회전 몇도 동안 활성화되게 하는 감지기능도 추가했습니다.
이러한 문제는 센서 감지와 실제 영점 간의 차이에 대한 휠당 상쇄을 구현하여 해결되었습니다 (휠이 항상 동일한 방향으로 회전하는 경우 센서 스위치 포인트가 휠 위치와 일치함).
아래에서 벡터 도면과 아두이노 프로그램을 찾을 수 있습니다.
(첨부파일 참고)