СамоДельник

Электро-механические часы под управлением Ардуино

Nextrp [CPP] RU + Many GEOs

Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноВ данной для нас статье мастер-самодельщик скажет нам, как он сделал часы похожие на часы Humans Since 82.
Для производства авторских часов необходимо, кроме других деталей, 25 плат Arduino и 48 шаговых движков, а так же, для всякого циферблата, употребляется особая интегральная схема. Общая стоимость сборки составила около 500 баксов (уникальные часы стоят около 6000$).
Часы можно настроить для хранения опций разных часовых поясов (EEPROM Arduino).
Давайте поглядим демонстрационное видео работы часов.

Инструменты и материалы:-3D-принтер;
-Паяльничек;
-Отвертка;
-Кусачки;
-Суперклей;
-Шаговый движок + плата драйвера мотора – 48 шт;-Nano V3.0 – 25 шт;-Магниты 5Х1 мм – 48 шт;-Модуль 3144E с датчиком Холла – 48 шт; -DIP переключатель 6-позиционный – 24 шт;-Модуль времени DS3231 – 1шт;-Угловой 5-контактный разъем – 48 шт;-Резистор 1,3 кОм – 2 шт;-Клавиша включения с фиксацией- 1 шт;-Клавиша без фиксации – 2 шт;-Блок питания от 10А;
Электро-механические часы под управлением АрдуиноШаг 1-ый: 3D-печать
Далее необходимо напечатать детали. Мастер употреблял принтер Creality Ender 3 Pro, нить – PLA. Все детали были написаны при обычных температурах с 20% -ным наполнением, кроме 2-ух зубчатых трубок, которые были написаны со 100% -ным наполнением и опорами. Опоры на зубчатых трубках нужно будет отрезать.
Для печати всех деталей требуется около 30 дней.
несколько советов при печати:
Сопло нужно часто чистить. В неприятном случае отпечатки станут весьма тонкими.
Катушки с PLA должны плотно прилегать, чтоб нить не скручивалась и не ломалась во время печати.
Ниже можно скачать файлы для 3D-печати, количество каждых деталей можно поглядеть в данной для нас таблице.
center_connector_plate.stlclock_arm_small_5.1.stlclock_arm_big_8.65.stlclock_base_plate.stlcorner_frame_A.stlcorner_frame_B.stlgear_tube_big.stlgear_tube_small_2.stllong_edge_frame.stlmaster_support.stlmotor_gear.stlshort_edge_frame.stlside_connector_plate.stl
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг 2-ой: схема
Схемы была разработана в Autodesk.
На данной схеме вначале обозначен оптический модуль, а не датчик Холла, как в устройстве.
Любая плата датчика Холла подключена к 5V, Gnd и аналоговому выводу (O_0 либо O_1) на печатной плате. Наиболее подробная информация о этом будет предоставлена в деталях сборки.
analog_clock_rev2.sch
Электро-механические часы под управлением АрдуиноШаг 3-ий: интегральная схема
Для этого проекта пригодится 25 печатных плат. Скачать файл для платы можно ниже. Платы мастер заказывал тут, но можно и испытать создать самому.
H2W-312555_Analog_clock_Rev2.zip.gz
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг 4-ый: код
В этом проекте употребляются два файла Arduino: основной и подчиненный.
Мастер-код употребляется один раз и управляет всеми подчиненными. Код ведомого употребляется 24 раза.
ZIP-файл библиотеки RTC (часы настоящего времени) также включен сюда. файл .zip можно добавить в IDE Arduino, выполнив последующие деяния:
sketch -> include library -> add .zip library.
Чтоб запрограммировать Arduino, изберите:
tools -> Boards: Arduino Nano
tools -> Processor Atmega328 (old bootloader/старенькый загрузчик)
tools -> port (select your port/изберите собственный порт)
Файл с кодом можно скачать ниже. Раскрывается файл архиватором.
HartClock_Arduino_Code.zip.gz
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноОсновной Arduino посылает поочередные команды I2C на 24 подчиненных Arduino, которые размещены за каждым циферблатом. Подчиненные Ардуино декодируют команды I2C в часы.
Вероятные команды Arduino I2C от ведущего к ведомому:
0= IDLE, 1= Calibrate, 2= Arm_go_clockwise, 3= Arm_go_counter_clockwise
Часы имеют 8 вероятных положений, в каких они могут находиться, как показано на рисунке ниже.
Опосля сброса “основной” вышлет команду калибровки на каждое Arduino, чтоб вынудить возвратятся в начальное положение, которое соответствует положению часов «8». В шестеренках сзади каждых часов есть магниты, также датчик Холла, который описывает, когда магнит находится “дома“.
Электро-механические часы под управлением АрдуиноШаг 5-ый: установка плат
необходимо смонтировать 24 платы.
Не забудьте вынуть микросхемы драйверов ULN2003 из их гнезд на малеханьких платах драйверов, которые поставляются с движками.
Обратите внимание, что к каждой плате припаяно по 6 перемычек.
Обратите внимание, что зеленоватые 4-контактные клеммные колодки, показанные на этих рисунках, не употребляются. Мастер просто припаял провода впрямую, так меньше утраты напряжения
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноНа каждой печатной плате есть микропереключатель. Двухпозиционный переключатель для всякого тактового сигнала должен быть установлен на значения, показанные на рисунке, чтоб “мастер” мог персонально адресовать любой подчиненный модуль часов.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг 6-ой: сборка главный платы
Основная плата Arduino состоит из платы часов настоящего времени (RTC) и Arduino nano.
Эта плата RTC быть может приклеена термоклеем либо при помощи двухсторонней ленты. Опосля пайки она будет накрепко зафиксирована.
Подключите RTC Vcc к монтажному отверстию +5 на плате.
Подключите RTC Gnd, SCL и SDA к подходящим обозначениям контактов на плате.
Припаяйте подтягивающий резистор I2C 1,3 кОм (либо близкое Припаяйте подтягивающий резистор I2C 1,3 кОм (либо близкое Припаяйте четыре провода длиной около 15 см к + 6V, Gnd SDA и SCL для грядущего подключения к иным платам.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг седьмой: установка модуля часов
Для наилучшего осознания процесса сборки смотрим видео.
Обусловьте правильную полярность установки магнитов проверив их при помощи модуля датчика Холла, присоединенного к источнику питания 5 В либо маленькой аккумуляторной батареи. Для этого мастер употреблял аккумуляторную батарею на 4,5 В. Когда направление правильное, индикатор должен стать зеленоватым (означает, эта сторона ставится ввысь).
Наклейте магниты суперклеем.
Соберите часы, как показано на видео.
Отрежьте четыре провода см по 15. Зачистите оба конца и скрутите их вкупе. Припаяйте их к одной стороне печатной платы в точках + 6V, Gnd, SDA, SCL. Они будут употребляться в предстоящем.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг восьмой: тестовый код Arduino ведомого устройства с одним тактовым сигналом
Мастер советует протестировать любой модуль часов опосля его сборки. Для этого необходимо временно установить DIP-переключатель на Это не будет похоже на движение на видео, но проверить что движения правильные, а магниты находятся в подходящих местах. Кабель USB сумеет питать оба мотора для этого теста, потому подключение к источнику питания не требуется.
Для проверки необходимо произвести последующие деяния.
Подключите USB-кабель и загрузите подчиненный код Arduino. Вы должны узреть, как производится калибровка на каждой стрелке. Переместите стрелку в верхнее положение «8 часов» опосля калибровки. Нажмите клавишу сброса на Arduino nano. Проверьте снова.
Не забудьте установить переключатель DIP на правильное Шаг девятый: блок питания
Поначалу необходимо обжать разъемы и подключить провода к блоку питания. Потом отрегулировать напряжение до 7,5 В и зафиксировать ручку регулировки (к примеру изолентой).
Провода будут подключены к главной плате через переключатель.
Обратите внимание, что любой шаговый движок 28BYJ48 приводится в действие напряжением 7,5 В. Обмотки по 70 Ом любая.
Таковым образом, ток через каждую обмотку составляет 7,5 В / 70 Ом = 107 мА.
Есть 2 обмотки, которые интенсивно управляются ведомым шаговым движком на шаг. Итак, 2 * 107 мА = 214 мА на движок.
Если все 48 движков вращаются, это 48 * 214 мА = 10,2 ампер. В согласовании с сиим и необходимо выбирать блок питания.
Электро-механические часы под управлением АрдуиноШаг десятый: тест для ведущего Ардуино
Этот шаг дозволяет проверить одну полную цифру из 6 блоков.
Соберите 6 часов в одну цифру, используя 2 боковых соединителя на любом стыке и вставив в их винт. Припаяйте провода, чтоб вышла цифра.
Код Arduino, именуемый тут debug_master_counter.ino, загружается в главную плату. К этому моменту все подчиненные модули синхронизации обязаны иметь загруженный файл analog_clock_slave.ino.
DIP-переключатели должны быть установлены в положение: (от 0 до 5), либо (от 6 до 11), либо (от 12 до 17), либо (от 18 до 23).
Это дозволит добавлять одну цифру за раз, тестировать и соединять, спаяв 6 блоков вкупе.
Временно припаяйте 4 провода ведущего модуля к сиим часам в точке + 6 В, gnd, sda, SCL для тестирования.
Удостоверьтесь, что к основному модулю подключен источник питания (временно без переключателя) и настроен на 7,5 В. Так как разъема нет, придется временно припаять его для этого теста.
Основной модуль включает и инициализирует все 6 часов. Нам необходимо переместить стрелки ввысь (позиции на 8 часов). Потом он вышлет аннотации, чтоб показать схему роста счета от 0 до 9, как показано на фото.
Загрузите основную плату arduino с правильным кодом master_clock_slave.ino, когда вы закончите тестирование всех цифр.
debug_master_counter.ino
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноШаг одиннадцатый: полная сборка часов
Опосля того, как будут собраны все модули, можно приступить к сборке часов. Для всякого соединения 2-ух модулей требуется два кронштейна. Крепления фиксируются винтами.
Опосля того, как часы будут собраны, необходимо припаять провода меж каждым модулем. Вначале на каждой плате были зеленоватые винтообразные клеммы, но мастер решил просто припаять соединения. Винтообразные клеммные колодки делали сопротивление на любом винте, что приводило к падению напряжения.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноДалее необходимо установить рамку. Все детали написаны на 3D-принтере, и собрать ее не составит труда. В одной из нижней секций рамки необходимо просверлить три отверстия для установки клавиш управления.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноНаклейте скобу master_support, которая будет задерживать главную плату Arduino, как показано на фото ниже.
Электро-механические часы под управлением АрдуиноШаг двенадцатый: заключительные работы
В мастер-коде Arduino можно настроить направления вращения стрелок часов.
Некие из шаговых движков 28BYJ-48, работают задом наперед, но это можно поправить в коде. Пример этого показан на картинке. Установите соответственный бит = 1 в мастер-коде Arduino, чтоб инвертировать стрелку часов, которая вращается некорректно.
Электро-механические часы под управлением АрдуиноЭлектро-механические часы под управлением АрдуиноЧасы мастер укрепляет на стенку при помощи длинноватого кронштейна.
Электро-механические часы под управлением АрдуиноВсе готово.
Электро-механические часы под управлением Ардуино

FIFA Online 4 [CPP] RU+CIS

SamoDelnik

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.