2 Схемы
Принципиальные электросхемы, подключение устройств и распиновка разъёмов
Самодельный измеритель температуры компьютера
Предметом размышления была возможность измерения трех температур (ЦП, ГП и воздуха в корпусе), выводимых на дисплей в отсеке от HDD 3,5 дюйма. Результат будет по задумке представлен на трех 7-сегментных LED дисплеях. Дополнительным элементом должен был стать USB-порт, который позволит переместить внутренний USB-разъем, присутствующий на плате расширения PCI, в более рациональное место, то есть на переднюю часть корпуса и, конечно же, также использовать это напряжение для питания термометра.
У проекта было два подхода к делу:
- 1) все они были размещены на одной печатной плате, соответствующей отсеку, и каким-то образом закреплены в отсеке в корпусе компьютера.
+ экономия времени при выполнении (только одна плата)
— нет необходимости использовать дополнительные розетки / штекера для подключения нескольких плат
— необходимость вертикального монтажа гнезда USB
— необходимость тщательного проектирования печатной платы и всех радиоэлементов.
- 2) Дисплеи размещены на первой плате, а остальные детали на второй, соединены с помощью штыревого разъема под 90 градусов. Вторая плата будет крепиться к отсеку снизу.
+ USB-разъем можно установить горизонтально на второй плате
+ больше места на второй плате для размещения компонентов
— необходимость сделать 2 печатные платы.
В итоге выбрал первый метод.
Схема термометра для процессора, видеокарты и БП ПК
AVR Atmega 8 в миниатюрном корпусе TQFP32 идеально подходит для такого типа проектов, в качестве датчиков температуры были выбраны DS18B20, работающие по шине 1-W3ire.
Для управления анодами дисплея использовал транзисторы PNP BC857 (IcMAX = 100 мА, IcPeak = 200 мА) в корпусе SOT23 (каждый сегмент дисплея имеет фиксированный ток при Iseg = 20 мА: Rcathode = (VCC — VGreenLed) / Iseg = (5V — 1,8V) ) / 20 мА = 160R =
Таким образом, в сумме со всеми включенными сегментами это дает 7 х 21 = 147 мА. Однако каждый дисплей включен только на 1/6 своего времени, поэтому средний ток составляет 147 мА / 6 = 25 мА.
Транзисторы должны работать как ключи, поэтому в соответствии с диапазоном усиления (100…800), выбирая наихудшее усиление и запас прочности x3:
Ib = 3 х Ic / 100 = 3 х 147 мА / 100 = 4,4 мА
Rb = (Vcc — Vbe ) / Ib = (5V — 0.7V) / 4,4 мА = 970R = 1k
Одной из дилемм был способ подключения термометров к компьютеру.
- 1) каждый может быть подключен к отдельной линии передачи данных.
— больше используемых контактов
— термометры можно подключать к любым разъемам, потому что разъем 1 всегда будет связан с дисплеем 1, а 2 с дисплеем 2 и т. д.
- 2) все они могут быть подключены к общей линии передачи данных.
+ сохранение пина
— необходимость связать уникальный серийный номер с данным датчиком (то есть числа, вшитые в код микропроцессора или какой-либо другой метод настройки).
Выбор пал на метод 1. Решил проблему с USB-разъемом, просто согнув его контакты по вертикали и припаяв все это тоже к металлической части корпуса, таким образом обеспечивая их постоянную защиту.
К сожалению, с самого начала все пошло не так, как должно:
После изготовления платы программатор вообще не обнаружил микроконтроллер. Оказалось, что виновником была линия MOSI, которую также использовал для управления сегментом D. Во время программирования все линии ввода / вывода микроконтроллера находятся в состоянии высокого сопротивления, что означает транзисторы управления анодом могут переключаться сами.
В результате такой транзистор высвобождает напряжение питания на линии MOSI / CD, и, несмотря на последовательно включенный резистор 160R, программатор не может управлять этой линией. Конечно, все специальные линии (MOSI, MISO, SCK) могут использоваться во время работы микроконтроллера любым способом, как и любой из его выводов. Но следует помнить, что к этим линиям не подключается никакой вывод от другой внешней схемы, потому что тогда при попытке программирования микроконтроллер не сможет управлять этими линиями.
Решением было заменить вывод, управляющий линией CD, на другой (отсюда и красный кабель, видимый на плате).
Снова не получилось общаться с термометрами (несмотря на то, что была собственная написанная и протестированная библиотека). Оказалось, что забыл про внешние резисторы, подтягивающие эту линию к питанию (4,7 кОм), а встроенные в Atmega резисторы (30-50 кОм) оказались слишком большими. Пришлось добавить резисторы SMD на плату.
Термометр в среднем гнезде не заработал — причиной было короткое замыкание на землю по этой линии, возникшее во время пайки.
Дисплей мигал. Для поддержки протокола 1-Wire требуется соблюдение временных зависимостей во время передачи, а это означает, что прерывания должны быть отключены в это время, что может продлить выполнение критического кода, нарушая передачу. Однако отключение прерываний, которые, в свою очередь, выполняют сегменты кода 7 обработки дисплея, вызывает их заметное мигание. Здесь решение заключалось в отключении прерывания не на все время обработки показаний температуры, а только в критических ситуациях (на время передачи / чтения каждого отдельного бита в протоколе 1-Wire).
Крепление термометра к корпусу ПК
Здесь использовались отрезанные соответствующим образом куски текстолита, которые припаял к передней пластине, создав форму, которая идеально вписывалась в отсек. Просверленные отверстия под винты М3 с припаянными гайками позволят прикрутить все это к корпусу без проблем. Переднюю панель сделать сам — это должна быть просто пластиковая заглушка с прорезями для дисплеев и разъем USB.
Источник
Делаем «умную» систему активного охлаждения для мини-компьютера или медиа-приставки
Многие мини-компьютеры или медиа-приставки используют пассивную систему охлаждения. Это могут быть устройства с процессорами Intel Atom и ОС Windows или множество моделей с Android. У части этих устройств есть одна общая проблема — неэффективная система охлаждения. При продолжительной нагрузке и превышении определённого порога температуры начинается троттлинг — процессор начинает снижать частоту, отключать ядра и пр. Производительность падает. Иногда это не сильно заметно, а иногда мешает комфортной работе с устройством. Производители просто не уделяют системе охлаждения достаточно внимания, считая троттлинг нормальным поведением стационарных систем.
Посмотрите, например, тематические форумы, там чуть ли не в каждой второй теме мини-компьютеров или медиа-приставок обсуждаются вопросы модификации системы охлаждения. Изначально пытаются решить проблему доработкой пассивного охлаждения. Если это не удаётся, переходят к активному охлаждению с помощью вентилятора. Я расскажу, как сделать простое «умное» активное охлаждение с минимальными затратами.
Единицы мини-компьютеров и медиаплееров с пассивным охлаждением имеют на плате выводы питания для вентилятора с возможностью настройки режима работы. Обычно берут вентилятор на 5 В и подключают (подпаивают) его к внутренним контактам питания USB разъёма или разъёму питания самой медиа-приставки. Просто и эффективно. В этом случае вентилятор работает постоянно во время работы медиа-приставки, что не всегда приемлемо или комфортно из-за шума.
- Программируемый терморегулятор W1209 (цена от 1,7$)
- Повышающий преобразователь 5 В > 12 В (цена от 0,8$)
- вентилятор на 5 В или 12 В
- паяльник (пайки минимум, она простая)
Программируемый терморегулятор W1209
Это компактное устройство, которое предназначено для поддержания определённой температуры. Сфера его применения очень широкая. Его можно использовать для автоматизации нагрева (например, промерзающих труб или бойлера, обогрев растений, инкубатора), вентиляции (например, теплиц), охлаждения и пр., вариантов множество.
Характеристики W1209:
- Управляющее напряжение 12 В.
- Коммутируемый ток до 14 В (постоянное) / 20 А или до 250 В (переменное) / 5 А.
- Диапазон установки температур от -50 ºС до 110 ºС.
- Диапазон гистерезиса от 0,1 ºС до 15 ºС.
- Регулировка задержки срабатывания до 10 минут.
- Два режима режима работы: C — охлаждение, H — нагрев.
- Размер: 48x40x14,5 мм
Комплект поставки: терморегулятор и датчик температуры.
Принцип работы простой. В режиме C, охлаждение, контакты реле разомкнуты, пока температура ниже установленной. Как только температура превышает установленную, контакты реле замыкаются и остаются в таком положении, пока температура не снизится на величину гистерезиса. Например, к коммутирующим контактам подключен вентилятор, терморегулятор установлен на температуру 70 ºС, гистерезис 15 ºС. Как только терморегулятор фиксируют температуру 70 ºС на датчике, контакты реле замыкаются, и вентилятор начинает работать. Выключится он, когда температура опустится до 55 ºС.
В режиме H, нагрев, принцип работы обратный. Контакты реле замкнуты, пока температура ниже установленной плюс величина гистерезиса. Как только температура превышает установленную плюс величину гистерезиса, контакты реле размыкаются и остаются в таком положении, пока температура не снизится до установленной.
Программировать терморегулятор просто, настройки сохраняются. Нажимаете кнопку SET и с с помощью кнопок + и — выставляете температуру срабатывания. Если держать кнопку SET 5 секунд, то попадёте в меню настроек:
- P0. Режим работы: C или H.
- P1. Гистерезис от 0,1 ºС до 15 ºС.
- P2. Установка максимальной температуры от -45 ºС до 110 ºС (по умолчанию 110 ºС).
- P3. Установка минимальной температуры от -50 ºС до 105 ºС (по умолчанию -50 ºС).
- P4. Коррекция температуры от -7 ºС до 7 ºС.
- P5. Задержка срабатывания от 0 до 10 минут (по умолчанию 0).
- P6. Защита от перегрева. Если включить, то при 110 ºС терморегулятор отключится.
Повышающий преобразователь
Это простой преобразователь 5 В > 12 В. Он нам нужен для того, чтобы обеспечить управляющее напряжение для терморегулятора. Ещё он понадобится, если вы решите использовать вентилятор на 12 В, вместо 5 В.
Все эти устройство нужно будет установить внутри мини-компьютера или медиа-приставки. Вот фотография для оценки размеров:
Я буду рассматривать вариант, когда вся конструкция подключается к внутренним контактам питания одного из USB разъёмов. Конечно, можно подключить и к разъёму питания самой медиа-приставки. Более того, если на входе 12 В, то и преобразователь не понадобится. Схема подключения будет немного иной. Но я буду рассматривать конкретный универсальный вариант.
Для демонстрации я буду использовать вентилятор на 12 В, но подавать на него буду напряжение 5 В. В реальной ситуации так делать не нужно, т.к. эффективность слабая. Вентилятор должен быть рассчитан на напряжение 5 В. Для питания я буду использовать обычный кабель USB, но в реальной ситуации нужно подключить (припаять) провода к внутренним контактам USB на плате медиа-приставки.
Схема подключения очень простая:
Если вы будете использовать вентилятор на 12 В, то его нужно коммутировать к выходам на преобразователе.
Т.к. ток слабый во всей схеме, используйте тонкие гибкие провода для соединения. Для демонстрации я использовал толстые. Дополнительно можете залить термоклеем места пайки для надёжности, нагрева со слабой нагрузкой там нет. Пайку проводов нужно изолировать с помощью термоусадки или изоленты. При необходимости укоротите провод датчика температуры до нужной длины.
Готовая демонстрационная система:
А вот, как система работает:
Размещаете конструкцию внутри корпуса мини-компьютера или медиа-приставки. Датчик температуры крепите к радиатору SoC.
Например, вы можете установить температуру включения вентилятора 70 ºС, а гистерезис 15 ºС. В обычном режиме, при просмотре видео, просмотре веб-страниц и пр., будет использоваться пассивное охлаждение. Но при нагрузке, например, играми, как только радиатор нагреется до 70 ºС, вентилятор включится и будет работать до тех пор, пока температура не опустится ниже 55 ºС.
В итоге за 2,5$ и 30 минут работы мы добавили немного «мозгов» активной системе охлаждения. Минус у этой системы только один — электромеханическое реле, которое издаёт щелчок при замыкании контактов (включение вентилятора). Идеально было бы его заменить на твердотельное реле или транзистор, чтобы работало бесшумно, но это уже другая история…
Источник