Съдържание:

МАЛКИ 3D-отпечатан OLED ръчен часовник: 6 стъпки
МАЛКИ 3D-отпечатан OLED ръчен часовник: 6 стъпки

Видео: МАЛКИ 3D-отпечатан OLED ръчен часовник: 6 стъпки

Видео: МАЛКИ 3D-отпечатан OLED ръчен часовник: 6 стъпки
Видео: TICWATCH PRO 5 Review: The BEST Wear OS Watch Yet?! // A Complete Guide 2024, Ноември
Anonim
МАЛКИ 3D-отпечатан OLED ръчен часовник
МАЛКИ 3D-отпечатан OLED ръчен часовник
МАЛКИ 3D-отпечатан OLED ръчен часовник
МАЛКИ 3D-отпечатан OLED ръчен часовник

Здравейте, обичате ли да създавате свой собствен ръчен часовник?

Със сигурност е предизвикателство да се създаде малък ръчен часовник „Направи си сам“като този. Ползата е удоволствието да реализирате собствената си идея и да се гордеете с достигането на това ниво на умения …

Причината да си направя собствен часовник беше, че евтиният ми интелигентен часовник-с доказателство, че е водоустойчив-се отказа от бедния си призрак, веднъж потопен в плувен басейн …: (Затова се ядосах да си купя часовници (друг скъп "слънчев часовник" "-часовникът също се отказа-собствената му батерия с малки размери нямаше шанс да бъде сменена …).

От друга страна, съществуващите проекти за часовник „Направи си сам“за моя вкус бяха предимно твърде тежки или прекалено селски-затова реших да си направя собствен часовник, като имах възможността да включа предпочитаните от мен функции!

Ако искате, можете да промените софтуера, за да реализирате собствените си идеи: Коментирах всеки ред (в зависимост от избраната програма между 700-800 реда …)-Но бъдете предупредени: Този проект е наистина предизвикателство и със сигурност не е за начинаещи ! Малката и лека форма (30 x 30 x 10 mm) изисква прецизно боравене с 3D отпечатаната кутия и внимателно запояване на двустранната платка: въпреки че съществува опция за подреждане на платката на печатни платки (файлове Eagle и Gerber включен) тук го направих с моя специализиран метод Toner-Direct-инструкциите следователно също са включени тук).

Свойства на часовника:

-OLED-дисплеят с размери 128x64px показва цифров и аналогов часовник, активиран с десния бутон, показващ дата, час, ниво на батерията и температура на китката. Като алтернатива (ако желаете) тя може да включва аларма или таймер.

-Показва се пълен месечен календар с натискане на бутона наляво за повече от 0,6 секунди, подчертавайки действителния ден от седмицата.

- Натискането на левия бутон за кратко избира едно просто меню за избор на дата, час (и аларма или таймер, ако е избрано да се включи в програмата), стойности, които да се зададат с десния бутон.

-Натискането на десния бутон два пъти активира малък светодиод-"Torch"-Light, (подходящ за черни нощи).

-Между 22 часа и 7 часа сутринта OLED-дисплеят се затъмнява автоматично (вижте там, със специална функция за затъмняване!), Така че не заслепява през нощта.

- Литиево-йонната батерия издържа почти 2 години, ако приемем, че дисплеят+електронът консумира около 25 mA с продължителност 5 секунди запалени, показвайки часовника около 10 пъти на ден.

Стъпка 1: Списък на частите

Списък с части
Списък с части
Списък с части
Списък с части

Необходими инструменти:

Ако искате да експериментирате сами с хардуера и софтуера, имате нужда от:

• Платформа 8,2 x 5,5 см AliExpress

• 3, 3V регулиран източник на захранване, като този на схемата по-горе или друг подобен източник f.ex. от 5V-USB-конектор (500mA). ⇒ AMS1117-Adj ⇒ ebay

• SMD SOIC-8 към DIP-8 пинов адаптер за RTC-Chip ebay

• Atmel ISP -програмист като "USBTiny" - AliExpress

• Arduino Pro Mini AliExpress

• Джимпър-проводници на платка Banggood

(Електронни) Необходими части:

• ⇒ вижте Html-BOM-файл за електронни части (изтегляне).

• Двустранната дъска за самия часовник: ⇒ вижте Стъпка „Как да направите двустранна дъска с метода за директно тонер“.

• 1x - Батерия ø24 x 3 мм - Литиева батерия 3, 2V (клетка с бутон) - CR2430 - AliExpress

• #25 мм Каптон / Полимидна лента за изолация между дъска / батерия и OLED дъска

• 1x лента за китка 20 мм - препоръчвам „каишка за ръчен часовник от неръждаема стомана Milanaise“- ebay

• 3D отпечатан калъф: ⇒ вижте Download-file с инструкции (Стъпка).

Една дъска от две?

В случай, че искате да направите една платка от две (uC, RTC, else части И OLED-кормилната платка в една), можете да използвате моята схема + оформление на платката за SSD1306-I2C-дисплея (вижте Изтегляне: OLED-Display_SSD1306-I2C-Circuit.zip). Използвайки 2 -те цели слоя и ги изолирайте срещу дисплея и батерията с Kapton Tape, така че часовникът може да е още около 1,5 мм по -плосък.

Стъпка 2: Електронна схема

Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема

Първо трябва да знаем основите:

Този OLED-часовник е направен с DS3231 RTC-чип (часовник в реално време в по-малка форма на SMD SO-8), който се управлява от известния ATMega328P- (Arduino) -µ контролер и-за разлика от нормално използвания мек -StandBy (на µController) - този часовник е снабден с пълно електрическо изключване след 5 секунди, освен RTC. Направих това изключване с два MOSFET-транзистора, който действа като "превключвател" заедно с UC и десния бутон (D8).

Две малки бутони от двете страни на кутията (D6 и D8) действат като входове, които управляват менюто и настройките на часовника.

Часовникът има дисплей за дата и час, (алармен дисплей - ако е включен в програмата), фенерче и календар за действителния месец+ден. Във 2 -ри. версия включих аларма, тя може да бъде заменена и с таймер.

Дисплеят е затъмнен между 23:00 и 7:00 ч. (23: 00ч и 07: 00ч) през нощта.

Функция на 2 бутона (отляво и отдясно):

• CHANGE-Бутон D8, (отдясно), натискане:

1x = активиране на uC/Дисплей, така че показване на час+дата и т.н. за около 5 секунди преди изключване (= дисплей тъмен).

2x = запалете фенерчето/факела.

3x = връщане към нормален режим (= Mode-0).

• Бутон за избор D6 (отляво):

Натискането на D6 веднъж избира РЕЖИМ, преместване на режимите от 1-10, за промяна на дата/час и т.н. (надолу, ден, година, час, секунди, аларма … включване/изключване).

Бутон-D8 вдясно повдига избраните стойности на MODE, зададени и запазени при избора на следващия MODE (с ляв бутон-D6) …

За да промените секундите, настройте часовника +1 минута, след това натиснете десния бутон (D8) на 59 секунди, за да синхронизирате с външно време.

Синхронизирането на час/дата също е възможно при изтегляне на PC-time за партиден файл: Serial-Connection to a extern Arduino-от там към четирите I2C-пина на Clock-OLED. (UC на часовника остава деактивиран през това време, за тази цел включих 2 -те R от 4,7 kΩ, R7 и R8 - преместете ги, ако не се използват!) …

• Календар за месец / дата:

Ако левият бутон (D6) е натиснат повече от 0,6 секунди, се показва действителен месечен календар. Без самодеактивиране! Ако един от двата бутона се натисне отново, Календарът се оставя.

• АЛАРМА: (ако е включена в софтуерна програма + снабдена с хардуерен високоговорител или микро-пиезо-бипер)

Може да се настрои да издава звуков сигнал на ден съвпадение всеки ден по едно и също време (24 часа, 60 м). Звездичка горе вдясно на дисплея показва дали алармата е „Включена“или не. Полезна алтернатива на алармената програма може би би бил таймер … (да се направи).

• Батерия:

Батерията е CR2430 литиева батерия (ø24x3 мм) с мощност около 300 mA. Символът на батерията показва (аналоговото) ниво на батерията (3, 25V = пълна, 2, 75V = празна). Часовникът работи с напрежения от +5, 0V до +2, 0V (по подразбиране: 3, 0V). Само светкавицата-LED работи от макс. +4, 0V надолу до +2, 7V. Внимание: Не го активирайте с 5V! - това е твърде много за светодиода - изтича след няколко секунди, въпреки че е снабдено с 33Ω съпротивление. Абсолютното максимално напрежение за процесора и RTC е 5, 25V (+5V USB за програмиране на uC директно за ISP, без буутлоудър!).

• Температура:

RTC има вграден температурен сензор (за коригиране на температурното отклонение на вградения кристал), така че можем да го използваме за показване на температурата (на китката).

• Светкавица-LED:

Ако бутонът CHANGE (D8) бъде натиснат два пъти, относително ярка светлина „свети в тъмното“. Състояние: Без самодеактивиране! Само натискането на този десен бутон още веднъж деактивира този светодиод, показващ нормалния дисплей за около 5 секунди.

• Soft-Reset Pin: A Reset-Pin (D7) нулира всички съхранени данни, ако са заземени (отворен регистър: долната дясна страна). Използва се по време на програмиране, накратко за "меко нулиране" на всички входни стойности …

Веригата:

Ако погледнем схемата, вляво има голият "Arduino" µконтролер (ATMega328-P), активиран с десния бутон (D8) на вход D12: Бутон-D8 дърпа портата на P-Mosfet надолу през Resistance R5 и диод D1, така че P-Mosfet продължава "включване" и свързва VBAT с VCC: µКонтролер+Дисплей получава ток!

За да видите „Принципа на превключване на двата мосфета, качих този„ джапанка с два мосфета “(Eagle-файлове).

След 5 секунди µC автоматично се изключва чрез изход-D5, който деактивира и двата мосфета, издърпвайки портата на N-Mosfet надолу, така че R5 (и портата на P-Mosfet) ще се "повиши" и P-Mosfet прекъсва ток на µC и OLED-дисплея. Спускането на VCC държи портата на N-Mosfet надолу през R3 и R6 (под неговото прагово напрежение на портата), така че веригата остава изключена.

От горната лява страна виждаме "увеличеното" VBAT напрежение чрез обикновен бял светодиод с около 2.5V, намален със 100k от VBAT (около 3, 2V) до около 1, 1V (макс), който се използва като вътрешен аналогов вход за измерване на действителното напрежение на батерията.

µКонтролер, RTC и OLED-дисплей комуникират чрез I²C, проста и ефективна двупроводна комуникация, реализирана за библиотека.

За запояване на SMD-части е полезно да се използва малка пинсета с остри краища, така че грепването на малките SMD-части би било по-лесно за обработка (позициониране) и запояване след това с фин накрайник за запояване, запояване първо от едната страна на SMD -Част, предварително нагряване на точката на запояване до около 330 ° C, преди да се добави ниско топим и фин калай тел (ø 0,5 мм) към точката на запояване.

Изтеглете оформлението на Circuit + Board:

Стъпка 3: Хардуер: Как да направите двустранна дъска с метода Toner-Direct

Хардуер: Как да си направим двустранна платка с метода Toner-Direct
Хардуер: Как да си направим двустранна платка с метода Toner-Direct
Хардуер: Как да си направим двустранна дъска с тонер-директен метод
Хардуер: Как да си направим двустранна дъска с тонер-директен метод
Хардуер: Как да си направим двустранна платка с метода Toner-Direct
Хардуер: Как да си направим двустранна платка с метода Toner-Direct

Ако искате да закупите двустранната дъска, тук са предоставени Eagle + (необходими) Gerber-файлове (изтегляне).

Ако искате да направите сами таблото, ще ви покажа точен метод за изработване на двустранна дъска на "TonerDirect".

1. Разпечатайте файла „OLED-Clock-2-nl_TonerDirect.pdf“на „Тонер за прехвърляне на тонер“, 2. Изрежете двете ленти на хартията, по една лента за всяка страна на дъската, 3. с ø 0,5 мм игли убождат точно 4 -те ъгъла на дъската (използвайте лупа с ярка светлина - много е важно да ужилите иглите с възможно най -добрата си точност в средата на 4 ъгъла!).

4. Разпечатайте (на обикновена празна хартия) файла "OLED-Clock-2-nl_Frame.pdf" и свържете резултата върху двустранна медна платка (с дебелина 0,5-0,8 мм). Изрязвайки дъската с около 2-3 мм по-голям толеранс (тук около 35 х 35 мм), след това пробийте 4-те отвора точно по ъглите с тренировка 0,6 мм. След тази стъпка отстранете хартията с ацетон и смилайте 2-те медни страни на дъската с фина шлифовъчна хартия (мин. 400). След тази стъпка не докосвайте дъската повече с празни пръсти! Позволено е да го хванете настрани (с чисти пръсти).

5. Маркирайте съответната посока на хартията за тонер-трансфер на двете страници, които не са отпечатани!

6. Пробийте иглите през хартията, след това през дъската и накрая ги убодете през подходящата хартия.

7. След като получите трите "слоя" точно еднакви, сменете иглите с 4 парчета 0,5 мм медна тел, огънати в единия край на 90 °, така че да не се променят. След тази стъпка огънете проводниците от другата страна на 90 ° и скъсете краищата им.

8. Така подготвено, това парче може да премине 3 пъти през (модифициран) тонер-ламинатор, загрят до 200 °!

9. Отрежете малките парчета тел от 0,5 мм и отстранете останалите подложки. След това извадете двата хартия и voilá: тонерът залепва здраво за медта.

10. Контролирайте чистите линии: Ако една линия е счупена, можем да я поправим с постоянна водоустойчива писалка. В повечето случаи само по -големи повърхности трябва да затварят няколко малки дупки. В противен случай (ако резултатът е незадоволителен), отстранете тонера с кухненска хартия и ацетон и повторете стъпки 1-9.

11. Чисто ецване: Аз ецвам моите DIY-медни плочи с разтвор на натриев персулфат (една-две чаени лъжички) с ниво от около 5 мм вода в класическа чиния Pyrex-Dish (1-1, 5L), този разтвор се нагрява до около 80 ° C (знам, че тази относително висока температура унищожава персулфата, но той ецва много по -бързо, както при по -ниски температури и прави остри и чисти ръбове за няколко минути). Оставям останалия персулфат да потисне след пълно изсъхване и издрасквам кристалите, събирайки ги в стар буркан за рециклиране!

11. Контролирайте медните линии и повърхности с лупа.

12. Премахнете изпъкналите граници с вертикална шлифовъчна лента (както в моята първа инструкция) и контролирайте размерите с нониер: двете страни на бутоните трябва да са успоредни, с разстояние 27,4 мм, но внимавайте да не смилате- извадете двата контакта на бутона!

Стъпка 4: Софтуер и мигане

Програмиране на платката:

Програмата е написана на C ++, така че можем да я модифицираме с прост ASCII-редактор и ако е необходимо, прочетете обясненията в края на всеки ред …

Важно: Не можем да използваме Arduino's Serial-Flashing за програмиране на µC, защото буутлоудъра се нуждае от твърде много време между "Старт" (натискане на бутон D8) и "Display-On". Така че трябва да го флашнем без Bootloader (използва се нормално на всички дъски на Arduino). Така че, ние програмираме нашата платка според (Atmel) ISP-конектор + програмист. Произведеният тук ISP-конектор (вграден) е направен с 6 мини гнезда, разкъсани в ред и запоени вътре от дясната страна на платката, след това свързани с (малка!) 6-пинова лента (2,54 мм- решетка), както на последната снимка в предишната стъпка.

Нуждаете се не само от Arduino-GUI, но и от още няколко библиотеки (за изтегляне), за да компилирате програмата:

- Библиотеката Wire (съдържаща се в програмата Arduino) - за комуникация според I²C betw. µC, RTC и OLED-дисплей

- EEPROM библиотека (също се съдържа в програмата Arduino) - за съхраняване на няколко стойности в µController

- "Adafruit_GFX" + "Adafruit_SSD1306" - и двете библиотеки за управление на OLED дисплея

- EnableInterrupt- за работа с Port/Pin-Interrupts на Arduino (⇒ Button-Inputs)

-DS3231-RTC-чип: няма нужда от библиотека, изписах функциите на няколко библиотеки, намиращи се в Интернет и които са по-лесни за използване. Те са включени в края на основната програма ("OLED-Clock-2-nl.ino").

Внимание: Библиотеката на Adafruit (досега) всъщност не е ефективна манипулация за затъмняване на OLED-чипа, затова копирах низ от Интернет и го поставих в края на „Adafruit_SSD1306“-библиотеката, с която можете да затъмните дисплей, малко по-полезен … (вижте Изтеглянето на добавката „Как да настроите яркостта на OLED display.zip“, тук в края).

Работа с 3, 2V - така че използвайки вътрешния 8Mhz (без 16Mhz -кристал):

ΜC тук е достатъчно бърз, за да работи без 16MHz-кристал, така че (с 3.2V от батерията) можем да използваме вътрешно предварително програмирани 8MHz (една по-малко част за запояване:-).

След като заредите и компилирате предоставената програма „OLED-Clock-2-nl.ino“в Arduino-GUI, (изтеглете), копирайте.hex-резултата в папката avrdude.

(компилираният.hex-файл се намира във временната папка на компютъра, там в подпапка като:

"C: / Tmp / arduino_build_646711 / xyz.ino"-там можете да намерите желания компилиран шестнадесетичен файл, в този случай нашия "OLED-Clock-2-nl.ino.hex".

Шестнадесетичният файл сега може да се мига (тук "ръчно" на avrdude в командния ред) чрез ISP-конектор, но имате нужда от програмист като USBTiny или AVRISP2 с 6-пинов ISP-конектор (моят ISP-конектор е DIY-out на малък 6-пинов ред конектор, както е показано на последната ми снимка, така че можете да препрограмирате платката по всяко време, ако е необходимо).

Сега свържете 6-пиновия програмист към платката (предполагам, че е известен опит с Arduino платки) …

Свързан, в командния прозорец (в Windows променете папката avrdude, след което въведете cmd)-поставете следния ред:

avrdude.exe -C avrdude.conf -v -V -p m328p -c usbtiny -e -D -U флаш: w: OLED -Часовник -2 -nl.ino.ino.hex: i

След като мигането на µController приключи, трябва да се настроят подходящи „предпазители“(на µController):

avrdude -p atmega328p -c usbtiny -U l fuse: w: 0xFF: m -U hfuse: w: 0xD7: m -U efuse: w: 0xFF: m -U заключване: w: 0x3F: m

Ако искате да промените някоя от тези настройки, можете да намерите повече информация с този онлайн калкулатор на предпазители.

Стъпка 5: Делото

Случаят
Случаят
Случаят
Случаят

Не само създаването на електронната платка е предизвикателство, не по-малко е малък и лек калъф за тази платка!

Тук, за да изтеглите моя предназначен калъф, с възможен адаптер за батерии CR2032, за да поставите по-често използвана батерия. Електронната платка и батерията трябва да бъдат напълно изолирани една от друга с Kapton-Polimid-Tape или силна алтернатива. Не използвайте обикновена лепяща лента, тя е твърде слаба, за да се изолира силно и може да причини късо съединение на батерията!

Експериментирах с много оформления (за 3D отпечатани PLA) и завърших с дебелина на стената от около 1,3 мм. В тази форма силите, идващи от каишката за китката, се задържат ефективно през двете страни на кутията във връзка с капака. Другите страни може да са по -слаби, около 1,0 мм …

Така че промяната на височината на кутията (в случай на промяна на дъската …?) Няма да е голям проблем.

Също така, ако имате аларма или таймер вътре, имате нужда от друг калъф, затова направих предложение как да вмъкна малък пиезо-високоговорител (или например този микро-високоговорител: CUI-15062S) … (Вижте Случай-2).

След отпечатването на кутията (с препоръчителна височина на слоя от 0,1 мм и около 50% пълнеж с "припокриване на стената"), трябва да изрежете преодоляващите се странични струни, като изпилявате ръбовете достатъчно заоблени, но не прекалено много … A малко по-предизвикателно е да поставите 4-те малки щраквания на капака в десен ~ 100-120 ° ъгъл, така че да щракнат в кутията достатъчно силно, но без да го разширяват или да го счупят-нито да доведат до твърде малък капак да останеш неподвижен …

Квадратната дупка за OLED също трябва да бъде извадена внимателно, съответстваща точно на очертанията на OLED-стъклото, без да се счупва, докато се сондира за поставяне на Board+OLED-дисплей (сега заедно). Затова бъдете внимателни при подаването и се опитвайте многократно да видите дали всички части пасват.

Получените димни канали се изваждат най-добре с остър нож.

Сега можете да поставите каишка за китка с парче месингова тел (ø1 мм, дължина: 28,5 мм). За това 2-те отвора на скобите трябва да се пробият по такъв начин, че проводникът да премине през тях, но след това да се залепи здраво в скобите.

Преди да активирате кутията с електроника и каишки - възможно е да я емайлирате с боя (препоръчвам автомобилен разредител - той изсъхва по -бързо, като залепва по -малко прах по повърхностите!). Препоръчвам също да се третира първо с (по-тънък) спрей за заземяване, който след това може да се шлайфа до фино гладка повърхност без отпечатани линии и дефекти. Аз лично предпочитам златисто или сребристо покритие, а също и дървено покритие би било хубаво - това е по ваш избор …

Стъпка 6: Заключения

Съображения за батерията:

Литиево-йонната батерия CR2432 има капацитет от около 300 mAh, така че издържа с продължителност приблизително 2 години, ако показва часовника около 10 пъти (на всеки 5 секунди) на ден. Така че можете да го замените с по-често срещана (но по-малка) литиево-йонна батерия CR2032, която издържа около 1, 4 години със своите 210mA.

Търсих и акумулаторна литиева клетъчна клетка като (обикновената) CR2430 и намерих това: "LIR-2430". Тази батерия има само около 50mA капацитет, но може да се презарежда f.ex. чрез безжичен трансфер на енергия … За тази цел направих сонда и можете да видите резултата в включената схема + оформление. Самият трансфер на мощност върши работата много добре. За да се гравира плоска намотка с около 30 завъртания върху плосък капак от епоксидна дъска, остава ToDo … За зареждане на батерията предложих проста схема за зареждане с бял светодиод и 2 диода Шотки за ограничаване на напрежението при крайно зареждане за това презареждане до максимум около 3.6V …

И накрая - МНОГО важно:

!!! НИКОГА НЕ ЗАРЕМАЙТЕ ЛИОНЕВА АКУМУЛАТОРА, КОЯТО НЕ СЕ ЗАПАЗВА !!! - може да експлодира и да се запали!

Любопитното е, че експериментирах с (не презареждаща се) CR2430 Li-Ion-Button-Cell, като предпазна мярка, в затворен буркан … След около един час, зареждайки се с постоянни 3.3V, забелязах малка изпъкнала деформация на корпуса … и въпреки че напрежението на тази батерия се увеличи от 2.8 на 3.2V, капацитетът в края беше значително намален! -така че презареждането няма смисъл: тези бутонови клетки наистина не се презареждат.

Остава да се направи:

• функция (базирана на софтуер) на таймер + (хардуер + калъф)-високоговорител или вибратор-мотор

• безжична схема за презареждане

• Гланцово покритие от метал или дърво.

Препоръчано: