====== Сборка устройства на печатной плате ======
**Перед сборкой внимательно прочтите эту статью и [[making-case]].**
Для сборки нам потребуются следующие компоненты и материалы:
* фольгированный стеклотекстолит, припой, флюс;
* монтажный провод;
* плата Arduino Nano;
* модуль часов реального времени DS3231 (опционально);
* датчик BME280 или BMP280 (опционально);
* 3 кнопки без фиксации REXANT PBS-11B или другие кнопки, встраиваемые в корпус;
* 2 светодиодных дисплея SH5461AS или его аналог;
* микросхема MAX7219 (корпус DIP24);
* штыревые разъемы для подключения (папа и мама), клеммные зажимы;
* 2 резистора (номиналы подбираются по усмотрению);
* пьезоизлучатель(опционально);
* резисторы;
* встраиваемый разъем для блока питания (следует подобрать под штекер БП).
===== Производство печатных плат =====
Далее я буду описывать процесс изготовления печатной платы, который я использовал: при помощи трафаретов, перманентного маркера и раствора хлорного железа. Существуют много других технологий изготовления плат, можете использовать ту, которая вам подходит.
В папке **PCB\PCB stencils ** в архиве //project_files// (можно скачать на главной [[main|страницу проекта]]) находятся файлы дорожек готовые к печати, они уже заранее отзеркалены:
* **Main.pdf **- главная плата устройства;
* **display module front.pdf** - плата модуля дисплея (передняя часть);
* **display module back.pdf** - плата модуля дисплея (задняя часть).
Объекты расположены в пространстве листа таким образом, чтобы они полностью могли поместиться на одном листе А4, для этого печатаем один файл, затем тот же лист укладываем в принтер и повторяем печать, пока не напечатаем их все. После первой печати желательно проверить масштаб, для этого нужно измерить размеры трафаретов между крайними границами, они должны быть следующими:
* **Main.pdf **- (ширина - 95, высота - 47)
* **display module front.pdf** - (ширина - 105, высота - 47)
* **display module back.pdf** - (ширина - 47, высота - 38)
если размеры не совпадают, то нужно вычислить масштаб печати по формуле: //<требуемый размер> / <фактический размер> * 100//. Прошу заметить, что в продаже есть готовые модули дисплея на микросхеме MAX7219, поэтому свой можно не собирать, но те, что я находил имеют размер дисплея гораздо меньшего желаемого. Также в папке **PCB **есть исходные файлы плат в формате программы Sprint-Layout 5.
Затем на напечатанных трафаретах с помощью шила делаем проколы в местах, где дорожки идут под углом (на нижнем рисунке данные места обозначены красными точками).
{{ :personal_blog:diy:desktop_stopwatch:pcb_making.jpg?400&direct |pcb_making.jpg}}После нарезаем куски текстолита нужного размера, очищаем и обезжириваем поверхность растворителем, приклеиваем на них трафареты клейкой лентой. После шилом намечаем отверстия (места в центрах контактных площадок), а места проколов отмечаем перманентным маркером. Снимаем трафареты и сверлим отверстия для компонентов сверлом 0,9 мм. После рисуем дорожки тем же маркером, прочерчиваем по линейке линии от отверстий до мест, где дорожки поворачивают, закрашиваем зоны в местах расположения контактных площадок и так далее. Когда слой краски подсох оцениваем его толщину на просвет, где он слишком тонкий нужно повторить процедуру еще раз. Если нанесли краску в ненужных местах, то сотрите ее при помощи ватной палочки со спиртом или растворителем. После того, как закончили рисование дорожек не забудьте проверить так ли вы нанесли рисунок. После подготовьте раствор хлорного железа, руководствуясь приложенный к нему инструкцией и погрузите текстолит в него для протравливания. Весь процесс протравливания занимает около получаса, все зависит от концентрации раствора. После того как раствор "съел" всю ненужную медь, извлекаем платы и промываем их в проточной воде с мылом, затем растворителем удаляем краску от маркера. Разогреваем паяльник и наносим припой на медную фольгу. Может случиться так, что слой краски маркера не защитил слой меди и некоторые дорожки могут быть повреждены, тогда в местах разрыва нужно будет впаять кусочки провода, если место разрыва небольшое, то можно обойтись и припоем.
===== Сборка модулей =====
Устройство состоит из 2х модулей: управляющий модуль и дисплей, как говорилось ранее, в качестве дисплея можно воспользоваться уже готовым модулем, которые есть в продаже, если будут использованы сторонние модули, то потребуется соответствующая сборка прошивки, об этом читайте в [[upload-firmware|материале]]. В принципе можно обойтись и без использования печатных плат, а спаять все проводами или использовать макетную плату, нужно только учесть, что для связи с некоторой периферией используется шина i2с и паразитная емкость линии не должна превышать 480пФ, поэтому нужно стараться делать эти линии максимально короткими. Ниже показана принципиальная схема устройства.
{{ :personal_blog:diy:desktop_stopwatch:device_circuit_diagram.svg?500&direct |принципиальная схема устройства}}Здесь A0 - управляющий модуль, A1 - модуль дисплея.
==== Сборка управляющего модуля ====
Для сборки нам потребуются следующие компоненты:
* плата Arduino Nano, желательно без припаянных штыревых штекеров;
* штыревые штекеры;
* клеммные зажим на 3 контакта;
* (опционально) модуль часов реального времени DS3231.
На предыдущем шаге были сделаны печатные платы для сборки, сейчас просто припаиваем компоненты по следующему макету (зелеными цветом выделены токопроводящие дорожки, если смотреть на плату сверху, то этот слой должен находиться на нижней стороне платы)
{{ :personal_blog:diy:desktop_stopwatch:main.jpg?600&direct |макет управляющего модуля}}Клеммный зажим припаивается на место// "Power"//, штыревые штекеры на места: //Button1, Button2, Button3, BUZZER, Display, Display PWR, Sensor// (если планируется подключать датчик BME280 или BMP280); не отмеченные места для штекеров сделаны для последующего добавления устройств, также место //+5V reserve// расчитано для подключения питания к активным устройствам, в моем случае они не используются и нужны для пользовательской кастомизации. Далее припаиваем плату ардуино и модуль с часами (если нужен). Если плата ардуино без штекеров, то берем медный провод, залуживаем его и припаиваем модуль к нашей плате, если штекеры припаяны, то чтобы не отпаивать их и тем самым избежать повреждение платы модуля - лишние штыри можно просто отрезать. На макете показаны дорожки черного цвета - это перемычки (кусочки провода, замыкающие дорожки).
При совместном использования модуля DS3231 и датчика BME280 на некотором оборудовании наблюдается зависание устройства во время включения при наличие в модуле часов элемента питания. Во всяком случае DS3231 используется для сохранения времени при выключенном питании устройства, в остальном никакого влияния на работу он не оказывает. Его отсутствие может доставить некоторые неудобства, например, когда возникают частые перебои подачи электроэнергии в дом, поэтому каждый раз придется вручную устанавливать время на часах, также будильник может сработать не в то время. Поэтому, если такая опция не требуется, то модуль можно не устанавливать. Но, если решите его использовать, то напишите отзыв о работе устройства с ним и установленной в него батарейкой и при подключенном датчике. Адрес для связи в конце статьи.
Готовая плата управляющего модуля выглядит так
{{ :personal_blog:diy:desktop_stopwatch:photo_pcb_main_completed.jpg?400&direct }}
Вы можете исключить из устройства модули DS3232 и/или BME280, первый модуль сохраняет время при выключенном питании, а второй производит измерение температуры и влажности воздуха и атмосферного давления.
==== Сборка модуля дисплея ====
Для сборки нам потребуются следующие компоненты:
* микросхема MAX7219 в корпусе DIP24;
* 2 светодиодных дисплея SH5461AS или его аналог (при выборе аналогов сравнивайте цоколевку по даташитам);
* резистор.
Итак, модули дисплеев припаиваем на плату по следующему макету,
{{ :personal_blog:diy:desktop_stopwatch:display_front.jpg?400&direct }}напомню, что черные линии это перемычки (их припаиваем в первую очередь), а зеленые - токопроводящие дорожки, площадки в углах - монтажные отверстия.
На другой плате монтируется микросхема MAX7219 и штыревые штекеры для подключения, в данном случае следует использовать штекеры Г-образной формы, чтобы можно было подключиться сбоку. Номинал резистора подбираем из личных предпочтений, чем ниже сопротивление, тем ярче будет гореть дисплей, минимальное значение 9,53 кОм, в этом случае будет максимальная яркость, я выбрал резистор номиналом 200кОм. Яркость дисплея в дальнейшем можно регулировать программно.
{{ :personal_blog:diy:desktop_stopwatch:display_back.jpg?400&direct }}Далее с помощью проводов соединяем платы, так, чтобы MAX7219 находилась между ними, контактные площадки для соединения квадратные, также чтобы не перепутать направление две площадки помечены красным флажком, они должны быть соединены. Не могу показать реальное фото модуля, так как он оказался больше запланированного и был встроен в корпус без возможности извлечения, в дальнейшем я учел данный момент в исходных файлах. На этом процесс производства плат устройства завершен. В статье [[making-case]] я описал процесс производства корпуса для вашего устройства.
===== Модификации =====
==== Кнопки с подсветкой ====
{{ :personal_blog:diy:desktop_stopwatch:light_button_mode.jpg?500&direct&nocache |Устройство до и после модификации}}Эта простая модификация не подразумевает изменения оригинальной схемы устройства, дополнительные компоненты подключаются к существующим разъемам.
Для модификации нам потребуются следующие компоненты:
* механические кнопки с подсветкой (я брал [[https://sl.aliexpress.ru/p?key=G1f3G8W|здесь]])
* биполярный транзистор NPN типа, в моем случае КТ815Г([[https://static.chipdip.ru/lib/005/DOC003005090.pdf|даташит]]) (зарубежный прототип BD139)
* резистор 1кОм
Данный транзистор для данных целей слишком мощный, он может пропустить до 1,5 А постоянного тока, фактическая нагрузка будет зависеть зависит от устанавливаемых кнопок, в моем случае каждая кнопка при питании в 5 вольт потребляла около 20 мА, поэтому суммарная нагрузка будет около 60 мА, поэтому можно взять транзистор с характеристиками поскромнее. Так как эта модификация установлена мной после производства устройства, поэтому для тех, кто делает устройство с нуля я бы порекомендовал модифицировать плату, но в любом случае выбор за вами.
Первым делом я перепаял провода с коннекторами к новым кнопкам по такой схеме
{{ :personal_blog:diy:desktop_stopwatch:btnlight_mod:btnlight_details_2.jpg?500&direct |схема подключения штекеров к кнопке}}Как показала практика полярность питания для подсветки не имеет значения, продавец схему не приводит. Выводы кнопки выполнены из золотистого металла, а подсветка из серебристого (в вашем случае может быть иначе, все надо проверять). Места пайки изолировал термоклеем.
Резистор(под термоусадочной трубкой) и штыревые коннекторы припаиваются к выводам транзистора.
{{ :personal_blog:diy:desktop_stopwatch:btnlight_mod:btnlight_assembled.jpg?500&direct |детали припаиваются к транзистору}} Подключаем все по схеме{{ :personal_blog:diy:desktop_stopwatch:btnlight_circuit_diagram.svg?500&direct&nocache |принципиальная схема модификации}}Питание к коллектору транзистора подводится с резервного разъема с {{ :personal_blog:diy:desktop_stopwatch:main.jpg?linkonly&nocache |основной платы}} (обозначен **+5v reserve**), земля подключена как и ранее к разъемам для кнопок, теперь нужно следить за полярностью подключения. База транзистора подключается к резервному цифровому пину D6 платы Arduino Nano.{{ :personal_blog:diy:desktop_stopwatch:btnlight_mod:btnlight_assembled2.jpg?500&direct |подключение}}После подключения изолируем новые компоненты __синей изолентой__, чтобы не было замыканий там, где не нужно. Короче, всегда все изолируйте тщательнее, припаивайте и обжимаете тоже, чтобы не тратить часы на поиск неисправностей, а еще то хуже - получить поврежденное оборудование. {{ :personal_blog:diy:desktop_stopwatch:btnlight_mod:btnlight_assembled_3.jpg?500&direct |изолирование нового дополнения}}На этом работа над модификацией завершена. Теперь будет легко найти кнопки даже самой темной ночью.
----
{{page>..:article-footer & noheader }}