Техническое творчество и изобретательность играют важную роль в развитии технического прогресса и инноваций в различных областях. Это процесс создания новых устройств, систем и технологий, которые решают реальные проблемы и улучшают жизнь людей. Вступая в мир технического творчества и изобретательства, мы открываем для себя множество возможностей для проявления креативности и находчивости. Здесь нет границ для мыслей и фантазии, идеи, которые кажутся невозможными сегодня, могут стать реальностью завтра.
Мы можем изобретать новые устройства, улучшать существующие технологии. Техническое творчество и изобретательство – это не только интересное хобби, но и серьезная профессия, которая предлагает множество возможностей для развития и успеха. Работа в области технического творчества и изобретательства требует навыков анализа и технического мышления, умения преодолевать появляющиеся трудности.
Так как у моего папы основной род занятий – разработка микроэлектронных устройств на заказ, он привил мне интерес к этому и я всегда с огромным удовольствием смотрела, как он работает. Он объяснял мне принцип своей работы и ее нюансы. И именно с его помощью у меня получилось воплотить в жизнь такую маленькую, но очень необходимую вещь в нашем обиходе – электронные часы на микропроцессоре PIC16F84A от компании Microchip Technology.
Основа моих часов - микроконтроллер PIC16F84A, устройство работает на максимальной тактовой частоте 20Hz. Напряжение питания контроллера от 4V до 5.5V. Микроконтроллер содержит Flash-память размером 1 Kbyt, объем оперативной памяти – 0,068 Kbyte, объем памяти данных EERPOM 0,064 Kbyte. Кроме него часы содержат несколько простых и дешевых элементов, таких, как кварцевый резонатор 4МГц, светодиодный семисегментный индикатор, 8 резисторов номиналом 360 Ом, 4 резистора номиналом 1 кОм, 1 резистор 10 кОм, 2 конденсатора 22 pF, 1 конденсатор 100 nF, 1 электролитический конденсатор 100 mF, 1 кнопка, резистор номиналом 1,6 кОм, контроллер заряда аккумулятора LTC4054, разъем Type-C. Литионный аккумулятор 3,7 В, 1,4 А/h. Информация выводится на 4-х разрядный (часовой) светодиодный индикатор. Схема питается от зарядного устройства сотового телефона через разъем Type-C, а также имеет резервное питание. Схема очень простая, прост и алгоритм их работы. Кнопка служит для коррекции времени – она одна как для часов, так и минут. Часы имеют 24-часовой формат отображения времени. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе время отображается весьма точно.
Часы собраны на 2-х печатных платах, пристыкованных одна к одной под углом 90 градусов. На первой плате размещен индикатор, а все остальные детали - на второй. Элемент резервного питания – литий-ионнный аккумулятор. Питание осуществляется через зарядное устройство, емкости для стабильной работы хватает на 6 суток. Кнопка управления вынесена в низ корпуса для исключения случайных нажатий. Краткосрочное нажатие кнопки изменяет минуты, длительное нажатие, более секунды изменяет часы.
Принципиальная электрическая схема
На основе принципиальной электросхемы была произведена подготовка печатных плат (трассировка).
Какие инструменты нам для этого нужны? Конечно, лазерный принтер! Распечатываем на принтере в Sprint Layout нашу монтажную схему в зеркальном отражении, желательно на глянцевой бумаге ( это важный нюанс технологии изготовления) и переносим ее на фольгированный стеклотекстолит с помощью утюга (метод ЛУТ). Затем аккуратно очищаем от бумаги стеклотекстолит с помощью щетки и воды. Бумага смывается, а краска остается (в нашем случае это -будущие дорожки). Далее берем хлорное железо и травим нашу плату. Дальше сверлим отверстия сверлом 0,6 мм. Затем устанавливаем на платы нужные детали, спаиваем их между собой. Теперь нужно прошить микроконтроллер.
Прошивку микроконтроллера пишем на языке Jallv2:
include 16f84a pragma target clock 4_000_000 pragma target OSC HS pragma target WDT DISABLED enable_digital_io() alias lda is pin_B6 alias ldb is pin_B7 alias ldc is pin_B3 alias ldd is pin_B1 alias lde is pin_B4 alias ldf is pin_B5 alias ldg is pin_B0 alias ldh is pin_B2 alias dig4 is pin_A3 alias dig3 is pin_A0 alias dig2 is pin_A2 alias dig1 is pin_A1 alias inp0 is pin_A4 pin_B0_direction = output pin_B1_direction = output pin_B2_direction = output pin_B3_direction = output pin_B4_direction = output pin_B5_direction = output pin_B6_direction = output pin_B7_direction = output pin_A0_direction = output pin_A1_direction = output pin_A2_direction = output pin_A3_direction = output pin_A4_direction = input var bit dpoint var byte inmy var dword inmys var byte dign var byte digmilsec var byte digminsec var byte digsec var byte digmin var byte dighor var byte hor1 var byte hor2 var byte min1 var byte min2 procedure dig_led( byte in x ) is if x == 0 then lda = on ldb = on ldc = on ldd = on lde = on ldf = on ldg = off end if if x == 1 then lda = off ldb = on ldc = on ldd = off lde = off ldf = off ldg = off end if if x == 2 then lda = on ldb = on ldc = off ldd = on lde = on ldf = off ldg = on end if if x == 3 then lda = on ldb = on ldc = on ldd = on lde = off ldf = off ldg = on end if if x == 4 then lda = off ldb = on ldc = on ldd = off lde = off ldf = on ldg = on end if if x == 5 then lda = on ldb = off ldc = on ldd = on lde = off ldf = on ldg = on end if if x == 6 then lda = on ldb = off ldc = on ldd = on lde = on ldf = on ldg = on end if if x == 7 then lda = on ldb = on ldc = on ldd = off lde = off ldf = off ldg = off end if if x == 8 then lda = on ldb = on ldc = on ldd = on lde = on ldf = on ldg = on end if if x == 9 then lda = on ldb = on ldc = on ldd = on lde = off ldf = on ldg = on end if end procedure procedure t_led( byte in m, byte in y ) is CASE y OF 1: dig4 = off 2: dig1 = off 3: dig2 = off 4: dig3 = off END CASE dig_led(m) CASE y OF 1: dig1 = on 2: dig2 = on 3: dig3 = on 4: dig4 = on END CASE end procedure dign = 1 digsec = 0 digmin = 0 dighor = 0 digminsec = 0 digmilsec = 0 ldh = off dpoint = 0 inmy = 0 inmys = 0 forever loop CASE dign OF 1: t_led(hor1, 1) 2: t_led(hor2, 2) 3: t_led(min1, 3) 4: t_led(min2, 4) END CASE if inp0 == 0 then if inmy == 0 then inmy = 1 end if inmys = inmys + 1 else if inmy == 1 then if inmys >= 1000 then dighor = dighor + 1 if dighor == 24 then dighor = 0 end if else digmin = digmin + 1 if digmin == 60 then digmin = 0 end if end if inmy = 0 inmys = 0 end if end if if inmys >= 2500 then inmys = 2500 end if if dign == 2 then ldh = dpoint else ldh = off end if dign = dign + 1 if dign >= 5 then dign = 1 end if digmilsec = digmilsec + 1 if digmilsec == 10 then digminsec = digminsec + 1 digmilsec = 0 end if if digminsec == 235 then digminsec = 0 digsec = digsec + 1 dpoint = !dpoint if digsec == 60 then digsec = 0 digmin = digmin + 1 if digmin == 60 then digmin = 0 dighor = dighor + 1 if dighor == 24 then dighor = 0 end if end if end if end if hor1 = dighor / 10 hor2 = dighor % 10 min1 = digmin / 10 min2 = digmin % 10 end loop |
Прошиваем наш микроконтроллер с помощью программатора Pickit2.
Основной механизм часов у нас уже готов. Но мы же не можем пользоваться полуготовым устройством? Конечно же, нет. Нужно доводить наше изделие «до ума». Нам нужен корпус. Хорошо, что у папы на работе есть свой 3D принтер. Рисуем в программе Freecad нужный нам корпус и печатаем его на 3D принтере.
Далее устанавливаем платы в корпус и наши часы готовы!
Сборка электронных часов может быть рассмотрена как разновидность технического творчества, она позволяет создать уникальный и индивидуальный предмет, который отражает личность и вкус своего создателя. Возможность выбрать различные компоненты, стили и материалы позволяет сделать каждые часы уникальными и отличными от массового производства. Кроме того, сборка таких часов требует тщательного планирования и организации работы. Это включает в себя выбор и приобретение необходимых компонентов, разработку схемы и программного обеспечения, а так же выполнение многочисленных манипуляций при сборке. Наконец, сборка электронных часов так же может быть интересным и познавательным опытом. Этот процесс позволяет развить навыки работы с мелкими и сложными деталями, а так же может помочь в изучении основ программирования и механики. В целом могу сказать, что сборка электронных часов является интересным и творческим процессом, который позволяет создавать уникальные и индивидуальные предметы, развить навыки и знания в области техники и получить удовольствие от своего собственного творчества.
Список используемой литературы:
LTC4054 datasheet – техническая документация;
PIC16F84A datasheet – техническая документация;
Jallv2 tutorial v4.5 – справочное руководство;
Pickit2 tutorial – справочное руководство.