Съдържание:

Термохромен дисплей за температура и влажност - PCB версия: 6 стъпки (със снимки)
Термохромен дисплей за температура и влажност - PCB версия: 6 стъпки (със снимки)

Видео: Термохромен дисплей за температура и влажност - PCB версия: 6 стъпки (със снимки)

Видео: Термохромен дисплей за температура и влажност - PCB версия: 6 стъпки (със снимки)
Видео: Термохромный дисплей температуры и влажности — версия для печатной платы 2024, Юли
Anonim
Image
Image
Проектиране на печатна платка на нагревателя
Проектиране на печатна платка на нагревателя

Преди известно време направих проект, наречен Термохромен дисплей на температурата и влажността, където изградих 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
Код на CircuitPython
Код на CircuitPython
Код на CircuitPython

След като е инсталиран зареждащият инструмент CircuitPython, можете просто да програмирате платката, като запазите кода си като файл code.py директно на USB флаш устройството. Кодът, който написах, отчита сензора DHT22 и след това последователно показва температурата и влажността чрез нагряване на съответните сегменти. Както вече споменахме, отоплението се извършва чрез превключване на MOSFET с PWM сигнал. Вместо да конфигурирам пиновете като ШИМ изходи, генерирах „фалшив“ШИМ сигнал с ниска честота на превключване от 100 Hz в кода, използвайки закъснения. За допълнително намаляване на консумацията на ток не включвам сегментите едновременно, а последователно, както е показано на схемата по -горе. Има и няколко трика, за да направите нагряването на сегментите по -равномерно. На първо място, работният цикъл е малко по -различен за всеки сегмент. Например тирето на знака "%" се нуждае от много по -голям работен цикъл поради по -високата си съпротива. Също така открих, че сегментите, които са заобиколени от много други сегменти, трябва да се нагряват по -малко. Освен това, ако един сегмент е бил нагрят в предишния "цикъл", работният цикъл може да бъде намален в следващия. И накрая, времето за нагряване и охлаждане се адаптира към температурата на околната среда, която удобно се измерва от сензора DHT22. За да намеря разумни времеви константи, всъщност калибрирах дисплея в климатична камера, до която за щастие имам достъп по време на работа.

Можете да намерите пълния код на моя GitHub.

Стъпка 5: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Сглобяването на дисплея е доста лесно и може да бъде разделено на следните стъпки

  1. Запоявайте женски щифтове към нагревателя на печатни платки
  2. Прикрепете самозалепващ се термохромен лист към печатна платка на нагревателя
  3. Запоявайте сензора DHT22 към платката на контролера и закрепете с M2 болт и гайка
  4. Запоявайте мъжки щифтове към PCB на контролера
  5. Свържете двете печатни платки и ги поставете в стойка с 3D печат

Стъпка 6: Завършен проект

Готов проект
Готов проект
Готов проект
Готов проект

Доволен съм от завършения диплей, който сега постоянно се изпълнява в хола ни. Целта да направя по -малка, по -опростена версия на моя оригинален термохромен дисплей определено беше постигната и бих искал още веднъж да благодаря на потребителя DmitriyU2 за предложението. Проектът също ми помогна да подобря уменията си за проектиране на печатни платки в Eagle и научих за използването на MOSFET като превключватели.

Човек би могъл допълнително да подобри дизайна, като направи хубав корпус за печатни платки. Аз също мисля да направя цифров часовник в същия стил.

Ако този проект ви харесва, можете просто да го преработите или да го купите в моя магазин Tindie. Също така помислете за гласуване за мен в предизвикателството за дизайн на печатни платки.

Предизвикателство за дизайн на печатни платки
Предизвикателство за дизайн на печатни платки
Предизвикателство за дизайн на печатни платки
Предизвикателство за дизайн на печатни платки

Съдийска награда в PCB Design Challenge

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