Съдържание:
- Стъпка 1: Инструменти и материали
- Стъпка 2: Залепете заедно дървена рамка
- Стъпка 3: Изрежете рамката с помощта на Джиг за рязане на кръг
- Стъпка 4: Отпечатайте и сглобете Gears
- Стъпка 5: „Залепете“разделите заедно
- Стъпка 6: Изрежете релефи в рамка
- Стъпка 7: Изчистете хлабина за сензори на Hall ефект
- Стъпка 8: Залепете външния пръстен
- Стъпка 9: Изрежете винтовете за регулиране на сензора за ефекта на Хол
- Стъпка 10: Залепете пръстените към ПДЧ
- Стъпка 11: Залепете вътрешния диск
- Стъпка 12: Прикрепете фурнир
- Стъпка 13: Подрежете фурнир
- Стъпка 14: Изрежете фурнир
- Стъпка 15: Лепене на фурнир
- Стъпка 16: Пясък и финиш
- Стъпка 17: Инсталирайте Power
- Стъпка 18: Сглобете електрониката
- Стъпка 19: Запояване и свързване на електроника
- Стъпка 20: Задна плоча
- Стъпка 21: Arduino код
- Стъпка 22: STL файлове
- Стъпка 23: Файлове на Solidworks
- Стъпка 24: Заключение
Видео: Очароващ магнитен стенен часовник: 24 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Механичните часовници винаги са ме очаровали. Начинът, по който всички вътрешни зъбни колела, пружини и спусъци работят заедно, за да доведат до постоянен надежден часовник, винаги е изглеждал недостижим за моя ограничен набор от умения. За щастие съвременната електроника и 3D отпечатаните части могат да преодолеят празнината, за да създадат нещо просто, което не разчита на малки прецизни метални части.
Този минималистичен стенен часовник крие чифт 3D отпечатани пръстенови зъбни колела, задвижвани от евтини стъпкови двигатели, които въртят магнитите зад класически фурнир от орех.
Първоначално вдъхновен от STORY Clock, исках времева част, която показва часа през деня, използвайки само лагери срещу цифрово отчитане и бавно движещи се сачмени лагери, използвани от техните продукти.
Стъпка 1: Инструменти и материали
Материали:
- 13 x 13 x 2 инча Шперплат/ПДЧ (залепих 3 парчета скрап дърво)
- 13 x 13 инча
- Arduino Nano
- Часовник в реално време
- Стъпкови двигатели и драйвери
- Сензори на ефекта на Хол
- Магнити
- Захранващ кабел
- AC адаптер
- Щепсел
- Разнообразни машинни винтове
- Разнообразни винтове за дърво
- 3D отпечатани части (последна стъпка)
- Фурнир (12 x 12 инча - лице, 40 инча дълга лента)
- Спрей лак
- Черна спрей боя
Инструменти:
- 3D принтер
- Компас
- X-acto нож
- Лепило
- Щипки
- Джиг за рязане на кръг
- Hack Saw
- Дискова шлифовъчна машина
- Скоба с тресчотка
- Длето
- Владетел
- Сандер
- Свредла
- Отвертки
- Поялник
- Пистолет за горещо лепило
Стъпка 2: Залепете заедно дървена рамка
Залепете заедно три парчета дърво, които ще образуват рамката на часовника. Използвах регенерирани ПДЧ от стара рамка за легло.
Стъпка 3: Изрежете рамката с помощта на Джиг за рязане на кръг
Маркирайте центъра на дъската и я монтирайте към кръгъл нож за рязане. Изрежете пет кръга със следните диаметри:
- 12 инча
- 11 1/4 инча
- 9 1/4 инча
- 7 1/4 инча
- 5 3/8 инча
Стъпка 4: Отпечатайте и сглобете Gears
Пръстеновите зъбни колела са разделени на сегменти, така че да могат да се отпечатат на малък принтер и да се сглобят заедно. Всички части са отпечатани в ABS, за да подпомогнат процеса на стопяване, показан в следващата стъпка. Шлайфайте всички ръбове и повърхности на частите.
Отпечатайте следните количества части, намерени в стъпка 22:
- 1 - Часовник с магнитен сегмент за пръстен
- 6 - Часовник с пръстен Gear Segment Basic
- 1 - Часов задържащ пръстен сегментен стъпков монтаж
- 6 - Часовник задържане на пръстен сегмент Basic
- 1 - Стойка за сензор за ефект на Хола
- 1 - Магнит за сегментна скоростна кутия
- 7 - Сегмент на минута пръстеновидна предавка Basic
- 1 - Стъпков монтаж на сегмент за задържане на пръстен за минута
- 6 - Основен сегмент за задържане на пръстен за минути
- 1 - Стойка за сензор за минутен хол ефект
- 2 - Цилиндрична предавка
- 1 - Монтаж за електроника
Стъпка 5: „Залепете“разделите заедно
В стъклена бутилка с малко ацетон разтворете неуспешните отпечатъци от стария поддържащ материал и др. Боядисайте ацетоновата смес върху всеки шев, за да слеете парчетата заедно. След като се втвърди, шлайфайте всеки шев.
Стъпка 6: Изрежете релефи в рамка
Поставете пръстеновите зъбни колела и задържащите пръстени в рамката и изрежете релефи за стъпковите двигатели. Измерих и изрязах прекалено големия вътрешен пръстен, така че го подстригах до размера, като използвах някаква кленова лента, която имах около магазина.
Стъпка 7: Изчистете хлабина за сензори на Hall ефект
Изрежете хлабинен отвор през вътрешния пръстен за сензора за минутен хол и слот за сензора за ефекта на часовия хол. Използвах длето, пила и малък ръчен трион, за да изрежа тези хлабини.
Стъпка 8: Залепете външния пръстен
Залепете и залепете външния пръстен с размера на минималния задържащ пръстен.
Стъпка 9: Изрежете винтовете за регулиране на сензора за ефекта на Хол
Нарежете машинните винтове с трион, така че да са по -дълги от дебелината на задържащия пръстен и държача на сензора за Хол. Нарежете прорез в резбите, така че да може да се регулира от края с резба с плоска отвертка.
Стъпка 10: Залепете пръстените към ПДЧ
Изрежете кръг от ПДЧ, малко по -голям от външния пръстен. Залепете външния и вътрешния пръстен към лицевата страна на дървените плоскости. Използвайте минутния задържащ пръстен и зъбното колело, за да поставите вътрешния пръстен. Обърнете по -добро внимание от мен, за да не залепите вътрешния пръстен отзад. Изображение две показва нов разрез за сензор за минутен хол ефект.
Използвайте дискова шлифовъчна машина, за да отрежете плочата до размера на външния пръстен.
Стъпка 11: Залепете вътрешния диск
Залепете вътрешния диск на място, като използвате часовия задържащ пръстен и зъбното колело, за да поставите вътрешния диск.
Стъпка 12: Прикрепете фурнир
Изрежете лента от фурнир, по -широка, отколкото часовникът е дълбок и достатъчно дълъг, за да се увие денонощно (3,14 * диаметър на часовника, ще върне необходимата дължина. Добавете инч, за да сте сигурни, че имате достатъчно.) Подсушете фурнира на нарязани на дължина. Нанасяне на достатъчно лепило върху фурнира и закрепване на място със скоба за каишка. Оставете да изсъхне няколко часа, за да осигурите адхезия.
Стъпка 13: Подрежете фурнир
С остър длето изрежете излишния фурнир от предната и задната част на часовника.
Стъпка 14: Изрежете фурнир
Фурнирът ми имаше някои пукнатини. За да улесня работата, нанесох лента за боядисване, за да я държа заедно. С помощта на нож x-acto в компас изрежете фурнира малко по-голям от лицевата страна на часовника.
Стъпка 15: Лепене на фурнир
Използвайте отрязаните пръстени, за да разпределите налягането по лицето на часовника. Нанесете достатъчно лепило върху незалепващата страна на фурнира. Насочете зърното вертикално върху циферблата на часовника и приложете много скоби, затягайки всяка една по една. Това ще гарантира, че фурнирът не се измества и има равномерен натиск върху лицето.
Използвах няколко плоски дъски от лицевата страна на часовника и няколко дупки на гърба.
Стъпка 16: Пясък и финиш
С помощта на шкурка внимателно отстранете излишния фурнир от лицевата страна на часовника и пясък, започвайки от 220 зърна до 600 зърна.
Нанесете между 10 и 20 слоя лак. Това ще изгради повърхността, по която ще се движи сачменият лагер. Неизбежно поради прах и други частици във въздуха, мисля, че линиите ще се появят по пътя на всеки сачмен лагер. Нанасянето на повече слоеве финиш трябва да забави това възможно най -дълго. Това също ще улесни бъдещото обновяване. Ще актуализирам тази стъпка, ако на часовника ми някога се появят редове.
Стъпка 17: Инсталирайте Power
С помощта на свредло 27/64 инча пробийте дупка в долната част на часовника и завийте щепсела на място.
Стъпка 18: Сглобете електрониката
Прикрепете стъпкови драйвери и часовник в реално време към електронната платка. Трябваше да намеря начин да закрепя Arduino, така че дупки бяха пробити и отрязан прорез за цип. Тези функции са добавени към файла, намерен в стъпка 22.
Стъпка 19: Запояване и свързване на електроника
Следвайки блоковата диаграма, запоявайте всички компоненти заедно. Горещо залепете пръстените на място и закрепете всички разсеяни проводници с горещо лепило.
Стъпка 20: Задна плоча
Създайте задната плоча, като изрежете друг кръг с 1/2 инча по -голям от лицевата страна на часовника и пръстен с вътрешен диаметър, същият като задната част на часовника. Залепете пръстена и кръга заедно с някои пружинни скоби.
След като изсъхне, напишете линия с 1/8 инча по -голяма от вътрешния пръстен и подстрижете до размера с помощта на лентовия трион или шлифовъчната машина.
Изрежете прорез 1 инч дълъг 1/4 инча широк в горната част на гърба с помощта на фреза или свредла. Сензорът с четири дупки за закрепване на гърба в рамката на часовника.
Нанесете черна боя за пръскане и прикрепете към часовника, след като изсъхне.
Стъпка 21: Arduino код
Кодът arduino се коментира възможно най -добре. Имайте предвид, че не съм програмист, имам минимален опит с arduino (бъдете любезни). Кодът работи непрекъснато, за да провери дали текущото време съвпада с "Reset Time". Тъй като не можех да измисля начин да преведа текущото време в стъпки, то се коригира само веднъж дневно (полунощ по подразбиране). В полунощ зъбните колела се завъртат в среднощно положение, след това изчакайте до 00:01, като преминете към това време, след което продължете оттам. Тъй като в момента седи, часовникът губи само около 5 секунди за период от 24 часа.
Ще ви трябват инсталирани библиотеки Stepper и RTClib.
Знам, че кодът може да бъде оптимизиран от някой с повече опит от мен. Ако сте изправени пред предизвикателството, моля, пресъздайте този проект за себе си и споделете знанията си.
#включва
#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // броят на стъпките в един оборот на 28BYJ-48 стъпков двигател Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Отделно време за скоростта на часовника. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Текущо време за математика. float hr = 0; поплавък mn = 0; поплавък sc = 0; // Задайте часа на деня за нулиране на часовника (24 часов формат). int resetHour = 0; int resetMinute = 0; // Променливи за задаване на правилно време при стартиране и нулиране. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Настройка на часовника в реално време и нулиране на сензорите за ефект на Хола. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Декомментирайте реда по -долу, за да зададете час. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Задайте максимална скорост на стъпкови двигатели. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Цикъл, докато минутата и часовата стрелка са по обяд while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {забавяне (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {забавяне (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {забавяне (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {забавяне (4); }} // Вземете текущия час DateTime сега = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Промяна на 12 -часов формат, ако (hr> = 12) {hr = hr - 12; } // Вижте каква ръка трябва да премине по лицето по -нататък и използвайте това разстояние //, за да настроите съответно зададеното време. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Задаване на текущ час setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Задаване на текуща минута setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Тествайте коя ръка ще се нуждае от повече стъпки и задайте това на най -дългия брой стъпки за цикъла for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {забавяне (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {забавяне (4); }} // Задайте часовник, работещ с RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Стартиране на цикъла на часовника. for (int i = 0; i <22; i ++) {minuteHand.step (1); забавяне (setDelay1); // Тест за време за нулиране, ако е готов за нулиране, прекъснете. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} забавяне (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); забавяне (setDelay1); // Тест за време за нулиране, ако е готов за нулиране, прекъснете. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } for (int i = 0; i <20; i ++) {minuteHand.step (1); забавяне (setDelay2); // Тест за време за нулиране, ако е готов за нулиране, прекъснете. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}} // Нулиране на часовника по време на нулиране if (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Промяна на скоростта на часовника hourHand.setSpeed (10); minuteHand.setSpeed (10); // Цикъл до минута и час стрелка достига до обяд. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {забавяне (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {забавяне (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {забавяне (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {забавяне (4); }} // Изчакайте тук, докато изтече времето за нулиране. while (rtc.now (). minute () == resetMinute) {забавяне (1000); } // Вземете текущия час DateTime сега = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Промяна на 12 -часов формат, ако (hr> = 12) {hr = hr - 12; } // Вижте каква ръка трябва да премине по лицето по -нататък и използвайте това разстояние //, за да настроите съответно зададеното време. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Задаване на текущ час setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Задаване на текуща минута setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Тествайте коя ръка ще се нуждае от повече стъпки и задайте това на най -дългия брой стъпки за цикъла for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {забавяне (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {забавяне (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}
Стъпка 22: STL файлове
Ще трябва да отпечатате следните количества файлове:
- 1 - Часовник с магнитен сегмент за пръстен
- 6 - Часовник с пръстен Gear Segment Basic
- 1 - Часов задържащ пръстен сегментен стъпков монтаж
- 6 - Часовник задържане на пръстен сегмент Basic
- 1 - Стойка за сензор за ефект на Хола
- 1 - Магнит за сегментна скоростна кутия
- 7 - Сегмент на минута пръстеновидна предавка Basic
- 1 - Минутен задържащ пръстен сегмент Степенен монтаж
- 6 - Основен сегмент за задържане на пръстен за минути
- 1 - Стойка за сензор за минутен хол ефект
- 2 - Цилиндрична предавка
- 1 - Монтаж за електроника
Стъпка 23: Файлове на Solidworks
Това са оригиналните файлове на Solidworks, използвани за създаване на STL, намерени в предишната стъпка. Чувствайте се свободни да редактирате и променяте моите файлове, както сметнете за добре.
Стъпка 24: Заключение
Този часовник се оказа по -добър, отколкото очаквах. Имайки минимален опит с Arduino, радвам се как се оказа и колко е точен. Изглежда страхотно и функционира точно както се надявах.
Препоръчано:
Експлодиращ стенен часовник „Направи си сам“с осветление при движение: 20 стъпки (със снимки)
Експлодиращ стенен часовник „Направи си сам“с осветление с движение: В този инструкционен / видео ще ви покажа стъпка по стъпка как да направите креативен и уникално изглеждащ стенен часовник с интегрирана система за осветление с движение. Тази доста уникална идея за дизайн на часовник е ориентирана да направи часовника по -интерактивен . Когато вървя
Ambient LED стенен часовник: 11 стъпки (със снимки)
Ambient LED Wall Clock: Наскоро видях много хора да изграждат огромни LED матрици, които изглеждат абсолютно красиви, но те или се състоят от сложен код или скъпи части, или и двете. Затова си помислих да изградя своя собствена LED матрица, състояща се от много евтини части и много
Криптичен стенен часовник: 27 стъпки (със снимки)
Криптичен стенен часовник: Времето е нещо, което не можем да контролираме. Това се случва със същата скорост, ако спим, будни, отегчени или ангажирани. С текущите събития е важно да запомните, че времето ще мине. Докато чакаме да мине време, защо да не направим нещо
АНИМИРАН СТЕНЕН ЧАСОВНИК RGB: 10 стъпки (със снимки)
АНИМИРАН СТЕНЕН ЧАСОВНИК RGB: Няма съмнение, че ще харесате този стенен часовник. В този проект отново използвахме RGB LED. И разбира се, 3D принтерът е много важен за нас. Ние отново проектирахме и произведохме някои от парчетата, необходими за нашия СТЕНЕН ЧАСНИК. И това не е само часовник. То
Как да дадете на стенен часовник светещи стрелки и маркери за времеви интервали: 14 стъпки (със снимки)
Как да подарим на стенен часовник светещи стрелки и маркери за времеви интервали: Искахме стенен часовник за спалня със светещи стрелки и показване на интервали от пет минути и четвърт час. Тя трябваше да се чете без усилие от леглото и сиянието трябваше да издържи през нощта