Съдържание:
- Консумативи
- Стъпка 1: Проектиране на печатна платка на нагревателя
- Стъпка 2: Проектиране на платката на контролера
- Стъпка 3: CircuitPython Bootloader
- Стъпка 4: CircuitPython код
- Стъпка 5: Монтаж
- Стъпка 6: Завършен проект
Видео: Термохромен дисплей за температура и влажност - PCB версия: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Преди известно време направих проект, наречен Термохромен дисплей на температурата и влажността, където изградих 7-сегментен дисплей от медни плочи, които се нагряваха/охлаждаха от пелтие елементи. Медните плочи бяха покрити с термохромно фолио, което променя цвета си с температурата. Този проект е по -малка версия на дисплея, който вместо пелтиери използва печатна платка със следи от нагряване, както е предложено от потребителя DmitriyU2 в секцията за коментари. Използването на PCB нагревател позволява много по -опростен и по -компактен дизайн. Отоплението също е по -ефективно, което води до по -бърза промяна на цвета.
Гледайте видеото, за да видите как работи дисплеят.
Тъй като ми бяха останали няколко печатни платки, аз също продавам този дисплей в моя магазин Tindie.
Консумативи
- Нагревателна платка (вижте моя GitHub за Gerber файлове)
- Контролирайте печатната платка (вижте моя GitHub за Gerber файлове и BoM)
- Сензор DHT22 (например ebay.de)
- 3D печатна стойка (вижте моя GitHub за stl файл)
- Термохромен залепващ лист, 150x150 mm, 30-35 ° C (SFXC)
- Болт M2x6 + гайка
- 2x щифтова заглавка 1x9, 2,54 мм (например mouser.com)
- 2x конектор за SMD платка 1x9, 2,54 мм (например mouser.com)
Стъпка 1: Проектиране на печатна платка на нагревателя
Нагревателната платка е проектирана в Eagle. Размерите на печатната платка са 100x150 mm, тъй като 150x150 mm е стандартният размер на термохромните листове, които използвах. Първоначално направих скица на сегментите във Fusion360, която беше записана като dxf и след това импортирана в Eagle. Сегментите имат фрезовани празнини между тях и са свързани само с малки мостове. Това подобрява топлоизолацията на отделните сегменти и следователно позволява по -бързо нагряване и намалява „термичното кръстосване“. Сегментите бяха запълнени със следи от ПХБ върху горния слой (вижда се в червено) с помощта на инструмента меандър в Eagle. Използвах ширина на коловоза и разстояние от 6 мили, което е минималният размер, който може да бъде произведен от PCBWay без допълнителни разходи. Всяка следа се меандрира между два отвора, които след това се свързват с щифтовете през долния слой (вижда се в синьо), като се използват много по -дебели следи от 32 мили. Всички сегменти имат обща основа.
Не направих никакви изчисления за топлинната мощност, необходима за определено покачване на температурата, нито изчислих очакваното съпротивление на сегмент. Предположих, че всяко регулиране на отоплителната мощност може да се извърши чрез използване на ШИМ сигнал с променлив работен цикъл. По -късно установих, че сегментите се нагряват сравнително бързо, когато се захранват през 5V USB порта, използвайки ~ 5% работен цикъл. Общият ток при нагряване на всичките 17 сегмента е около 1,6 A.
Всички файлове на борда могат да бъдат намерени на моя GitHub.
Стъпка 2: Проектиране на платката на контролера
За да управлявам нагревателя на печатни платки, избирам SAMD21E18 MCU, който също използвах в моя GlassCube проект. Този микроконтролер има достатъчно щифтове за управление на всички 17 сегмента на нагревателя и отчитане на сензора DHT22. Той също така има вграден USB и може да се мига с буутлоудъра на Adafruit CircuitPython. За захранване и за програмиране на MCU се използва микро USB конектор. Нагревателните сегменти се управляват от 9 двуканални MOSFET (SP8K24FRATB). Те могат да обработват до 6 A и да имат прагово напрежение на порта <2,5 V, така че да могат да бъдат превключвани чрез 3.3 V логически сигнал от MCU. Намерих тази тема много полезна, за да ми помогне да проектирам веригата за управление на нагревателя.
Поръчах платките от PCBWay и електронните части отделно от Mouser и сглобих печатните платки сам, за да спестя разходи. Използвах дозатор за спойка, поставих частите на ръка и ги запоявах с инфрачервен IC нагревател. Въпреки това, поради относително голямото количество включени компоненти и необходимата преработка, това беше доста досадно и мисля да използвам услуга за сглобяване в бъдеще.
Отново файловете на дъската могат да бъдат намерени на моя GitHub. Там можете да намерите подобрена версия на печатната платка, която използва USB-C конектор вместо micro USB. Също така коригирах разстоянието между отворите за сензора DHT22 и добавих 10-пинов конектор за по-лесно мигане на буутлоудъра чрез J-Link.
Стъпка 3: CircuitPython Bootloader
Първоначално флашнах SAMD21 с UF2 буутлоудър, базиран на Trinket M0 на Adafruit. Буутлоудъра трябваше да бъде леко модифициран, защото дрънкулката има светодиод, свързан към един от щифтовете, които използвам за отопление. В противен случай този щифт ще се повиши за кратко време след зареждане и ще загрее свързания сегмент с пълна мощност. Мигането на буутлоудъра става чрез свързване на J-Link към MCU чрез портовете SWD и SWC. Целият процес е описан подробно на уебсайта на Adafruit. След инсталирането на буутлоудъра MCU се разпознава като флаш устройство, когато е свързано чрез микро USB порта, а следващите буутлоудъри могат да бъдат просто инсталирани чрез плъзгане на UF2 файл на устройството.
Като следваща стъпка исках да инсталирам зареждащ механизъм CircuitPython. Въпреки това, тъй като моята платка използва много щифтове, които не са свързани към Trinket M0, първо трябваше леко да променя конфигурацията на платката. Отново има страхотен урок за това на уебсайта на Adafruit. По принцип човек просто трябва да коментира няколко игнорирани пина в mpconfigboard.h и след това да прекомпилира всичко. Персонализираните файлове за зареждане са налични и на моя GitHub.
Стъпка 4: CircuitPython код
След като е инсталиран зареждащият инструмент CircuitPython, можете просто да програмирате платката, като запазите кода си като файл code.py директно на USB флаш устройството. Кодът, който написах, отчита сензора DHT22 и след това последователно показва температурата и влажността чрез нагряване на съответните сегменти. Както вече споменахме, отоплението се извършва чрез превключване на MOSFET с PWM сигнал. Вместо да конфигурирам пиновете като ШИМ изходи, генерирах „фалшив“ШИМ сигнал с ниска честота на превключване от 100 Hz в кода, използвайки закъснения. За допълнително намаляване на консумацията на ток не включвам сегментите едновременно, а последователно, както е показано на схемата по -горе. Има и няколко трика, за да направите нагряването на сегментите по -равномерно. На първо място, работният цикъл е малко по -различен за всеки сегмент. Например тирето на знака "%" се нуждае от много по -голям работен цикъл поради по -високата си съпротива. Също така открих, че сегментите, които са заобиколени от много други сегменти, трябва да се нагряват по -малко. Освен това, ако един сегмент е бил нагрят в предишния "цикъл", работният цикъл може да бъде намален в следващия. И накрая, времето за нагряване и охлаждане се адаптира към температурата на околната среда, която удобно се измерва от сензора DHT22. За да намеря разумни времеви константи, всъщност калибрирах дисплея в климатична камера, до която за щастие имам достъп по време на работа.
Можете да намерите пълния код на моя GitHub.
Стъпка 5: Монтаж
Сглобяването на дисплея е доста лесно и може да бъде разделено на следните стъпки
- Запоявайте женски щифтове към нагревателя на печатни платки
- Прикрепете самозалепващ се термохромен лист към печатна платка на нагревателя
- Запоявайте сензора DHT22 към платката на контролера и закрепете с M2 болт и гайка
- Запоявайте мъжки щифтове към PCB на контролера
- Свържете двете печатни платки и ги поставете в стойка с 3D печат
Стъпка 6: Завършен проект
Доволен съм от завършения диплей, който сега постоянно се изпълнява в хола ни. Целта да направя по -малка, по -опростена версия на моя оригинален термохромен дисплей определено беше постигната и бих искал още веднъж да благодаря на потребителя DmitriyU2 за предложението. Проектът също ми помогна да подобря уменията си за проектиране на печатни платки в Eagle и научих за използването на MOSFET като превключватели.
Човек би могъл допълнително да подобри дизайна, като направи хубав корпус за печатни платки. Аз също мисля да направя цифров часовник в същия стил.
Ако този проект ви харесва, можете просто да го преработите или да го купите в моя магазин Tindie. Също така помислете за гласуване за мен в предизвикателството за дизайн на печатни платки.
Съдийска награда в PCB Design Challenge
Препоръчано:
ДИСПЛЕЙ ВЛАЖНОСТ И ТЕМПЕРАТУРА НА LCD С ARDUINO NANO: 5 стъпки
ДИСПЛЕЙ ВЛАЖНОСТ И ТЕМПЕРАТУРА НА LCD С ARDUINO NANO: Следното Instructable се занимава с направата на прост LCD интерфейс с arduino nano
Дисплей за температура и влажност на DHT 11: 4 стъпки
Дисплей за температура и влажност на DHT 11: Необходими части .adafruit.com/product/3861.3 " OLED зелен екран https://www.amazon.co.uk/DSD-TECH-Screen-Support
Автоматизиране на оранжерия с LoRa! (Част 1) -- Сензори (температура, влажност, влажност на почвата): 5 стъпки
Автоматизиране на оранжерия с LoRa! (Част 1) || Сензори (температура, влажност, влажност на почвата): В този проект ще ви покажа как автоматизирах оранжерия. Това означава, че ще ви покажа как построих оранжерията и как свързах електрониката за захранване и автоматизация. Също така ще ви покажа как да програмирате Arduino платка, която използва L
Измервател на температура и влажност с помощта на OLED дисплей: 5 стъпки
Измервател на температура и влажност с помощта на OLED дисплей: ИЗИСКВАНИ КОМПОНЕНТИ- 1. Arduino NANO: https://amzn.to/2HfX5PH 2. DHT11 сензор: https://amzn.to/2HfX5PH 3. OLED дисплей: https: // amzn. към/2HfX5PH 4. Макет: https://amzn.to/2HfX5PH 5. Кабелни проводници: https://amzn.to/2HfX5PH Връзки за покупка
Термохромен дисплей за температура и влажност: 10 стъпки (със снимки)
Дисплей за термохромна температура и влажност: Работя по този проект от доста време. Първоначалната идея ми хрумна, след като изградих демонстратор на контролер на TEC по време на работа на търговско изложение. За да покажем възможностите на TEC за отопление и охлаждане, използвахме термохромна боя, която