Как сделать лазерные часы
Солнечные часы 21 века с лазерным лучом в роли стрелки
Это простой проект солнечных часов, в которых в роли стрелки выступает лазерный луч. Сам лазер устанавливается на сервоприводе с дистанционным управлением, который в свою очередь управляется микроконтроллером. Микроконтроллер ведет отсчет времени и соответствующим образом дает команды на поворот сервопривода.
Будучи очень простым по дизайну, мое устройство делает именно то, что я хотел и содержит минимально возможное количество деталей.
В роли микроконтроллера выступает Atmel Attiny24 с кристаллом для большей точности. Внутренний RC-генератор можно откалибровать, однако в конечном итоге точность зависит сугубо от кристалла кварца.
Схема чрезвычайно проста, всего лишь микросхема с кристаллом и конденсаторами, сам лазер и транзистор для управления им, а также сервопривод. Питание идет от блока питания на 5 В.
Микроконтроллер ведет отсчет реального времени. Время конвертируется из минут в формат 1:00 часов и затем в ШИМ импульс, подходящий для управления сервоприводом. Исходный код снабжен полными комментариями и легок для понимания в плане принципа работы.
J4 необходим для программирования микроконтроллера с помощью внутрисхемного последовательного программирования. Если у вас уже есть запрограммированная микросхема (скажем, вашим другом), то этого делать не надо.
При подаче питания сервопривод начинает движение из среднего положения солнечных часов на 1:00 часов. Замкните ножки 5-6 J1 чтобы «стрелка» часов сдвигалась на 1 час за раз. Повторите эту процедуру несколько раз от 1:00 до 12:00 часов для определения диапазона поворота. Затем удалите перемычку, когда лазер укажет на точное время.
Проще установить минуты при установке «ровного» времени, потому что таймер минут сбрасывается на 0 всегда, когда устанавливаются часы. В ином случае, замкните ножки 3-4 J1, перебирая по 2 минуты каждую секунду, и удалите перемычку на нужном времени.
Замыкая ножки, 1-2 вы «оживите» солнечные часы, заставив их показывать секунды. Вначале это действует гипнотически, затем теряет смысл.
Замыкая ножки, 7-8, вы заставляете лазер быть постоянно включенным, иначе он мигает каждую секунду.
Цепь и ПО можно изменить для показа различных значений, например напряжения на аналоговом входе микропроцессора, превращая тем самым лазер в аналоговый измерительный прибор. Или можно сделать что-либо наподобие лазерного «хронулятора»
Вот сама конструкция.
Я использовал сервопривод Hitec HS-300BB – довольно хороший и к тому же случайно завалявшийся в моем ящике. Подойдет и любой другой сервопривод, только возможно диапазон перемещения будет немного иным. Его можно настроить с помощью значений SERVO_MIN и SERVO_MAX, однако будет необходима повторная компиляция.
Печатную плату я не использовал.
На картинках видно, как я прикрепил лазер к сервоприводу: L-образный кусок алюминия, несколько мелких шурупов и тефлоновый зажим легко справились с этой задачей. Сложным было выровнять нижний конец лазерной линии с центром сервопривода. В любом случае, ошибки в этом процессе могут породить некоторые интересные эффекты, когда лазерная линия движется не вокруг одного из своих концов, а вокруг некоей точки где-то посередине, подобно стрелке спидометра. Экспериментируйте
Программное обеспечение.
Написано на С, компиляция и отладка в AVR Studio. Отладку кода я производил с помощью AVR Dragon, которая использует встроенные в ATTiny24 возможности по отладке.
Код снабжен комментариями и должен быть вполне понятным, а также простым для изменений по вашему желанию. Но в любом случае, ниже приводятся несколько комментариев.
#define F_CPU 2457600UL // частота кристалла
#define PWM_TOP F_CPU/60 // = 40960 – МАКС значение для таймера 0 (идет в OCR0A)
Эти прекомпиляторные инструкции определяют частоту кристалла и значение, вносящееся в регистр OCR1A, которое будет максимальным значением для таймера1 перед сбрасыванием на ноль. Нам надо, чтобы частота ШИМ была 60 Гц. Эта импульсы также используются в качестве временной оси для часов реального времени.
Следующие строки настраивают Таймер1 на быструю ШИМ, без предделителя частоты (то есть частота кристалла напрямую идет на Таймер1), а ШИМ Compare Output на выводе ОС1В.
TCCR1A = _BV(WGM11) | _BV(WGM10) | _BV(COM1B1);
TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10);
OCR1A = PWM_TOP; // ШИМ част = 60 Гц
Сейчас Таймер1 отсчитывает время от 0 до значения PWM_TOP, 60 раз каждую секунду (2457600/40960)
Вышеуказанные инструкции также делают выход OC1B высоким, когда счетчик меньше значения ОCR1A и 0 в обратном случае. Это и есть ШИМ – изменение значения OCR1B от 0 до PWM_TOP изменяет коэффициент заполнения от 0% до 100% на частоте ШИМ, которая не меняется: 60 колебаний каждую секунду, колебания просто уже или шире.
Точное значение станет понятнее после просмотра технической документации по ATTiny24.
Следующая инструкция помещает сервопривод на положение OCR1B – промежуточное положение между максимальным и минимальным положениями сервопривода.
OCR1B = (SERVO_MAX + SERVO_MIN) / 2 ;
Это значение не составляет 50% коэффициента заполнения ШИМ, так как сервопривод перемещается от минимального положения до максимального с импульсом менее 50%, поэтому я определил значения defined SERVO_MAX и SERVO_MIN, основываясь на длительности импульсов, которые перемещают сервопривод в максимальное или минимальное положение:
#define SERVO_MAX PWM_TOP*1.65/(1000/60) // макс. поворот – на 2,35 млс импульса
#define SERVO_MIN PWM_TOP*0.75/(1000/60) // мин. поворот – на 0,70 млс импульса
Теперь я хочу, чтобы переполнение таймера использовалось в качестве временной оси для часов реального времени:
TIMSK1 = _BV(TOIE1); // включить переполнение таймера (для часов реального времени)
sei(); // включить глобальные прерывания
Сейчас каждую 1/60-ую секунды выполняется следующая операция:
Эта операция выполняет целый ряд действий:
Отсчитывает реальное время, 60 умноженное на 1/60 секунды означает прошествие одной полной секунды, поэтому вместе с отсчетом минут и часов можно добавить и секундомер.
Заставляет лазер мигать каждую 1/10-ую секунду каждую секунду, если только не стоит соответствующая перемычка, в противном случае лазер включен постоянно.
Данная операция также определяет положение, в которое должен передвинуться сервопривод. Для выполнения этой задачи время конвертируется в общее количество минут, прошедших со времени 1:00, а полученный результат вписывается в диапазон
SERVO_MIN до SERVO_MAX
servo_pos = servo_min + ((hour-1)*60+min)*((servo_max-servo_min)/(11*60+59));
Замыкая JUMP_0 мы заставляем сервопривод отображать только секунды (от 9 до 59), тем самым вышеуказанное вычисление производится только по текущим секундам, минуты и часы не принимаются во внимание.
servo_pos = servo_min + sec*((servo_max-servo_min)/59);
Следующие команды помещают сервопривод в зеркальное положение, чтобы лазер двигался по часовой стрелке:
OCR1B = servo_min+servo_max-servo_pos; // по часовой стрелке
// OCR1B = servo_pos; // против часовой стрелки («закомментарено»)
Если необходимо, то можно превратить первую строчку в комментарий и убрать «//» со второй. Результатом этого станет (после компиляции и закачки в процессор) то, что сервопривод будет двигаться против часовой стрелки.
Наконец, эта операция также проверяет наличие перемычек для выставления времени и, если требуется, устанавливает часы и минуты. Минуты изменяются каждые полсекунды, тогда как часы – раз в секунду. Убрав перемычки, вы вернете стандартное отображение часов.
Если вы хотите модифицировать и перекомпилировать программу с помощью AVR Studio с AVRGCC, С компилятором, не забудьте установить FUSE на режим External Clock от 0,9 до 3 МГц, без сторожевого таймера, х8 делитель частоты – отключен. Все остальные FUSE – по умолчанию.
Перевод: Сашич по заказу РадиоЛоцман
Бизнес-план: лазерная резка часов
Часы – одна из самых популярных ниш для лазерной резки. Резать их просто, бесплатных макетов в сети множество, а спрос на такие подарочные изделия высокий и стабильный.
Но из чего строится весь процесс резки часов? Насколько мощный станок с ЧПУ потребуется для их резки? Какие часы вообще бывают? Какие из них пользуются большей популярностью, а какие не имеет смысла нарезать «про запас»? На эти и некоторые другие вопросы мы ответим сегодня.
Типы часов для лазерной резки
Прежде всего следует понимать, что лазерная резка часов — это не самостоятельная ниша для бизнеса. Конечно, если поискать на просторах сети Интернет, то вы, скорее всего, сможете найти магазины, для которых лазерная резка часов из винила – это основная часть деятельности, но такие примеры скорее являются исключениями, подтверждающими правило, а производства позиционируют себя больше как хобби с минимальным доходом и окупаемостью.
Для того, чтобы извлечь из ниши хорошую прибыль, нам потребуется охватить все возможные для вашего лазерного или фрезерного станка с ЧПУ виды и способы резки того или иного продукта. И часы не являются исключением. Но давайте по порядку. Какие часы вы можете производить на станке с ЧПУ?
Сборные часы-конструкторы
То есть, те часы, которые вам, как производителю, или вашему клиенту, придётся собирать. Это могут быть массивные, дорогие часы с маятником, изготовленные на фрезерном станке с ЧПУ, или более простые и популярные сказочные часики с кукушкой. Как правило, примитивная сувенирная продукция пользуется популярностью в курортных зонах и в привязке к домовым и всяческой «талисманной» тематике. Проблема производства таких часов в том, что даже несмотря на массовость, это всё же сборное изделие. А значит, вам придётся учитывать погрешности толщин фанеры и затрачивать дополнительное время на регулировку шаблона. Особенно если макет для лазерной резки был взят из свободного доступа.
Лазерная резка многослойных часов
Часы из виниловых пластинок
Крайне распространенная и довольно популярная тема, известная, пожалуй, каждому. Даже те, кто не знает, что такое лазерный станок с ЧПУ, хоть раз в своей жизни да видели подобные изделия. Чем обусловлена их популярность? Во-первых, эффект винтажности. Всё-таки это настоящая виниловая пластинка. Во-вторых, такие часы, как правило, изготавливают с учётом тематики различных фильмов, сериалов, игр и т.п. То есть, тут изначально идёт расчёт на то, что это не просто некий полезный девайс, а скорее тематический подарок фанату. И, наконец, в-третьих, лазерная резка таких часов крайне проста, а с винилом способен справиться даже лазерный излучатель мощностью до 50 Вт.
Исходя из вышеперечисленного, лазерная резка виниловых пластинок может стать попросту дополнительным источником дохода для вашего цеха. Для этого достаточно приобрести небольшой, недорогой лазерный станок с ЧПУ, который будет специализирован на резке именно таких, малогабаритных изделий из материала не требовательно к высокой мощности излучения.
Безопасность при лазерной резке различных материалов
Не стоит забывать, что различные материалы воспринимают лазерную резку по-разному. Так, при хорошей юстировке, винил будет резаться на ура даже маломощным лазером, но его испарения ядовиты и вдыхания продуктов горения этого материала следует избегать. Примерно такая же ситуация и с акрилом, которым часто заменяют винил. Хотя он более безопасен, но всё же это синтетический материал и ничего полезного от частого вдыханияего паров ждать не приходится.
Макеты для лазерной резки
Как и всегда, для того, чтобы облегчить ваш старт в новой нише мы добыли для вас сериюспециализированных макетов для лазерной резки – архив гик-часов от Тролля, который любезно предоставил нам свои работы. Все представленные в архиве макеты неоднократно резались из винила, акрила и даже фанеры, с последующей покраской. Так что вам остаётся только загрузить макет в станок и попробовать себя в новом начинании!
Полезные статьи
Бизнес-планы: Как заработать на станках с ЧПУ
Цифровые светодиодные часы своими руками
Привет всем любителям самоделок. В данной статье я расскажу, как сделать цифровые часы со светодиодной матрицей при помощи кит-набора, заказать который можно по ссылке в конце статьи. Такие самодельные часы будут отличным индикатором времени в вашем доме, а также будут показывать температуру в помещении, что отличает их от обычных часов.
Перед тем, как прочитать статью, предлагаю посмотреть видео, где показан процесс сборки данного кит-набора с разбором всех мелочей, и само собой проверкой готовой самоделки.
Для того, чтобы сделать цифровые светодиодные часы своими руками, понадобится:
* Кит-набор
* Паяльник, припой, флюс
* Бокорезы
* Крестовая отвертка
* Приспособление для пайки «третья рука»
* Блок питания 5В с выходом USB
Шаг первый.
Комплект кит-набора достаточно большой. В нем есть инструкция на английском языке, которая поможет собрать схему, настроить ее и посмотреть номиналы радиодеталей, так как на самой плате не все указано.
Удобно то, что определять сопротивление резисторов здесь не нужно, поэтому просто устанавливаем на места с надписью на плате R1, R2 и R3 данные резисторы. Для того, чтобы при пайке радиодетали не выпали, подгинаем им выводы.
Шаг второй.
Далее ставим на плате керамические неполярные конденсаторы, их номиналы в данном случае разные и подписаны на корпусе.
В схеме у нас их три, два из них емкостью 22пФ с цифрой 22 на корпусе и один конденсатор на 0,1 пФ с цифрой 104 на корпусе. В каком порядке их поставить смотрим по инструкции.
Шаг третий.
Теперь вставляем фото и терморезистор, первый можно установить вплотную к плате, а вот терморезистор нужно вывести немного за пределы корпуса, чтобы измерение температуры было как можно точнее, для этого припаиваем его, оставив длинные ножки.
Аналогично делаем со второй микросхемой. В комплекте было два гнезда под установку микросхем, но ставить их или нет зависит только от вас, так как их можно припаять и без этого. При пайке без гнезд не перегревайте микросхемы, так как они могут выйти из строя, плюс гнезд в том, что микросхемы от самого паяльника греться не будут, потому что устанавливаются после пайки.
Шаг пятый.
Ставим кнопки на плату, которые в дальнейшем позволят настроить часы.
На этом паяльник можно выключать.
Шаг седьмой.
Пришло время поместить всю начинку в корпус. Перед установкой в корпус проверяем часы на работоспособность, чтобы не разбирать его при какой-либо ошибке или неисправности.