Автоматический реобас с USB управлением «Ветерок»

23 февраля 2015, понедельник 14:44
для раздела Блоги
Хочу представить на суд общественности свою разработку — 8 канальный плату-реобас с 5-ю внешними цифровыми термодатчиками. Вентиляторы и термодатчики настраиваются с помощью весьма дружелюбного ПО под Windows. Присутствует голосовой информатор и возможность аппаратно выключить компьютер при превышении температуры или остановке вентилятора. А настроить можно почти всё что угодно!



Вступление


По вопросам приобретения пишите в тему по разработке, там же в первом посте цена и условия.
Тема реобасостроения не раз поднималась на этом, да и на других сайтах. Большинство устройств, которые можно найти или очень примитивны или слишком дороги.
Догадываюсь, что большинство людей вполне устраивают системы управления вентиляторами встроенные в материнские платы, однако этого хватает не всегда и не для всех. Если же вы понимаете зачем существуют такие штуки, но с презрением относитесь к реобасам, от одного канала которых нельзя запитать ваш автомобильный пылесос… думаю вам всё равно будет интересно почитать. То же самое относится к посетителям, считающим что кошерно управляются только 4-pin вентиляторы имеющие специальный контакт для ШИМ управления. Там, поверьте мне тоже не всё так гладко как хотелось бы.
На свете есть множество различных конструкций, начиная от переменных резисторов до весьма неплохих с использованием микроконтроллеров. К сожалению, абсолютное большинство промышленно производимых панелей очень недалеко ушли в плане функциональности, даже при наличие термодатчиков и микроконтроллера. Несмотря на красивые описания и сенсорные экраны эти изделия представляют из себя всё те же резисторы, а микроконтроллеры в них занимаются переключением подсветки, вместо обработки реальных данных. Относительно недавние обзоры реобасов на данном сайте это полностью подтверждают – тестировать в этих панелях абсолютно нечего. У реобаса «Ветерок» нет экрана – это плата для установки внутри корпуса, однако функциональность, уровень автоматизации и простота настройки превосходит многие модели.
Примеры настройки и управления реобасом «Ветерок» приводятся в основном в видео, а текст больше используется для понимания, почему всё именно так, как есть. А для осознания что это уже всё действительно есть, сначала посмотрим на фото самого реобаса:
Верх платы

Низ платы
низ платы
Нижнее пластиковая пластина с креплением из двустороннего скотча
Нижнее пластиковая пластина с креплением из двустороннего скотча
Термодатчики
Термодатчики
Провод для отключения ПК
Провод для отключения ПК
Провод для подключения к внутреннему USB разъёму
Провод для подключения к внутреннему USB разъёму

Требования к хорошему реобасу

Дак каким же должен быть хороший реобас? Здесь мне хочется предупредить о некотором количестве технических нюансов, в которые не всем захочется вникать и кто-то может даже напугаться, как же всё сложно. Однако при этом в самой настройке ничего сложного нет.
Разберём по увесистым пунктам самые важные требования:
1. Реобас должен быть действительно автоматическим. Под словом действительно, я понимаю безграничные возможности управления конкретным вентилятором:
• управление в зависимости от температуры
• возможность полного отключения вентиляторов
• настройка плавности старта вентилятора после остановки
• аварийный контроль остановки и действия при нём (вплоть до отключения ПК)
• коррекция оборотов при воздействии на вентилятор внешних сил или при износе подшипника — это как правило, вызывает вибрацию и замедление вентилятора

2. Главная несуразность в управлении почти всех реобасов очевидна и незаметна одновременно, к ней просто уже все привыкли и воспринимают как данность. Основная характеристика любого вентилятора кроме его размера – это частота вращения, т.е. обороты в минуту, они же rpm. Однако в настройках реобасов присутствует что угодно: вольты, проценты и прочие попугаи, но только не эти желанные обороты в минуту. Почему же всё так нерационально с точки зрения удобства? Ведь для решения этой проблемы надо всего-навсего прогнать вентилятор от максимальных, до минимальных оборотов, при этом плавно уменьшать мощность и запоминать, при какой мощности какие были обороты! А потом, когда нам нужно будет выставить определённые обороты, то берём из получившейся таблицы нужную мощность и выставляем! Всё же очевидно – этот процесс я назвал калибровка. После проведения калибровки становится гораздо удобнее управлять вентиляторами в об/мин, а не в процентах! Однако оказалось, что для решения одной очевидно-простой проблемы нужно решить несколько неочевидных и не очень простых:
• Разные вентиляторы при понижении напряжения имеют разный порог работоспособности тахометра, от 200об/мин и до 600об/мин на самых худших.
• Если просто поддерживать одинаковое напряжение на вентиляторе, то он будет вращаться с разной скоростью в зависимости от плотности воздуха, но главное от уровня прогрева его собственной электроники! Этому подвержены не все вентиляторы, но у некоторых эта разница доходит до 200-300 оборотов, т.е. например на «прогретом» вентиляторе было 600 об/мин, а на холодном, после длительной остановки и при одинаковой подаваемой мощности получится только 300-400. Такой разброс нельзя игнорировать!
Так появилась активная коррекция оборотов, конечно для её работы необходимо откалибровать вентилятор. При этом сама таблица калибровки хранится на компьютере и содержит около сотни точек. При выставлении условий, в реобас передаются данные по каждому условию, а именно: температура, желаемые обороты и грубоватое значение мощности для желаемых оборотов по данным таблицы. Сам реобас постоянно следит (интервал около 1 секунды одновременно для всех каналов) за совпадением желаемых и реальных оборотов и корректирует мощность в каналах. Если температура находится между точками условий, то значение идеальных оборотов пересчитывается самим реобасом по линейному закону. Таким образом реальная точность составляет 5-10 об/мин и обеспечивается очень быстрый (3-5 сек.) выход на нужные обороты даже при резком изменении обстановки.

3. Последнее, но немаловажное требование – при всём обилии настроек важно сохранить простоту управления. Ради этой простоты пришлось даже пойти на некоторые упрощения. Например, мне писали что неплохо не только сделать чтобы несколько вентиляторов могли быть привязаны одновременно к одному термодатчику, но и наоборот, т.е. несколько термодатчиков работали на один вентилятор и на каком из этих термодатчиков будет максимальная температура – тот и считать главным. Практически такое решение полезно, когда у вас стоит несколько HDD и на каждый ставится термодатчик, а вентилятор их обдувает всего один. Но со стороны интерфейса такое дополнение будет выглядеть очень сложно.

Характеристики и возможности
Теперь осталось сравнить требования (по крайней мере мои) и получившийся результат.

Характеристики

• Термодатчики: 5 штук — цифровые (DS18B20) с абсолютной погрешностью 0.5 градуса, дискретность измерения 0.25 градуса. Диапазон измерения 0-125 градусов, но провода рассчитаны только до температуры 85 градусов.
• Каналы вентиляторов: 8 штук с возможностью подключения до 2 вентиляторов на канал (тахометр только от 1 вентилятора), общий написанный на этикетках вентиляторов ток не должен превышать 0.6А Однако если хватает каналов, то лучше подключать по 1 вентилятору на канал, т.к. алгоритмы подгонки оборотов больше рассчитаны на 1 вентилятор, с 2-я будут работать медленнее.
• Питание: стандартный 4 контактный Molex. 12В(3.5А), 5В(0.1А)
• Настройка: через подключение к USB (внутренний порт) с помощью программы управления для Windows 8.1/8/7/Vista/XP
Общие возможности:
• Полнофункциональная автономная работа без подключения по USB по ранее заданным настройкам.
• Голосовой информатор об аварийных событиях (при запущенной программе управления) и одновременно пищалка на плате всегда (физически отключаемая, негромкая).
• Отображение в виде таблицы текущего состояния всех термодатчиков и вентиляторов, показ красным цветом отказавших вентиляторов и термодатчиков. Ведение лога на 24 часа с графиками изменения температуры и оборотов всех каналов.
• Отключение компьютера при авариях физическим нажатием кнопки питания компьютера (реле на плате). На выбор длинное или короткое нажатие. Можно например перевести в состояние гибернации.
• Если произошло аварийное отключение, например при настроенном перегреве или остановке вентилятора, то при следующей загрузке программа управления сообщит о причинах отключения.
• Контроль передаваемых данных между компьютером и реобасом, для исключения искажения настроек при передаче. Так же контролируется данные хранящиеся во флэш памяти микроконтроллера. Каналы вентиляторов с повреждёнными данными выходят на максимальные обороты, соответственно при повреждении данных канала термодатчика привязанные к нему каналы вентиляторов разгоняются.
• Автоматическое замыкание реле при повреждении прошивки реобаса и циклических перезагрузках микроконтроллера. Поэтому провод отключения ПК обязательно должен быть подключен к материнской плате на место кнопки Power, а корпусная кнопка Power подключена к реобасу, по сути реле и кнопка стоят параллельно, при замыкании того или другого произойдёт выключение или гибернация, смотря какое действие настроено при на нажатие кнопки питания в Windows.
• Возможность обновления прошивки микроконтроллера реобаса, если обнаружатся какие-то недоработки.

Возможности канала термодатчика:
Панель управления термодатчиками
• Настройка температуры предупреждения – по достижению этой температуры выполняется одно из трёх действий: ничего не делать (по умолчанию), вывести на максимум все привязанные к этому термодатчику вентиляторы или же вывести на максимум все 8 каналов. Голосовой информатор сообщает о достижении температуры предупреждения и номер канала.
• Настройка аварийной температуры – по достижению этой температуры может выполняться 2-а действия: ничего не делать (по умолчанию) и выключить компьютер, при этом замыкается реле.
• При отказе термодатчика все вентиляторы привязанные к нему автоматически переходят на максимальную скорость. Голосовой информатор сообщает об отказе.

Возможности канала вентилятора:
Панель управления вентиляторами
• Работа в режиме «постоянных оборотов» и в режиме по «условиям от температуры». Если не проведена калибровка, то доступна регулировка только в процентах мощности – регулируется весьма нелинейно из за особенностей конструкции. С нелинейностью связана некоторая боязнь, но дело в том, что в процентах управлять вентиляторами нужно только в крайних случаях, для всего остального есть об/мин – запомните это и после проведения калибровки нужно указывать обороты, а реобас сам за ними будет следить. В режиме «по условиям от температуры» возможно линейная регулировка при изменении температуры или дискретная, с резким изменением скорости вентилятора.
• Каждый канал вентилятора может быть произвольно привязан к 1 термодатчику, при этом к одному термодатчику можете быть привязано хоть все 8 вентиляторов и каждый будет работать по настроенным только для него условиям.
• Для включения показаний тахометра и проведения калибровки его необходимо включить, т.к. по умолчанию обороты не показываются.
• Настройка действия при аварийной остановке вентилятора: ничего не делать (по умолчанию), все вентиляторы на максимум и выключить ПК. Для использования этой возможности вентилятор должен иметь тахометр. Обязательно надо задать отключение ПК хотя бы для остановки одного вентилятора.
• Время подачи стартовой мощности – позволяет настроить уверенный старт вентилятора, но в то же время без избыточных оборотов и шума.
• Минимум калибровки – позволяет выставить обороты, до которых будет производиться калибровка. Используется если вентилятор нельзя остановить почти полностью даже на 10-20 секунд. По умолчанию стоят очень низкие обороты, соответственно калибровка проходит до начала неуверенной работы тахометра.

Доработки благодаря обсуждениям на форуме

Хочу выразить благодарность всем участникам обсуждений. Хоть там и было человек 10 за всё время. Но вы господа дали мне возможность увидеть очевидное, за концентрацией на мелочах некоторые вещи становятся незаметными. И даже местами победили мою лень по доработке некоторых функций.
Итак:
1. Убраны некоторые не очень нужные элементы управления, не стало режима автоматического поддержания постоянной температуры, который я зачем то добавил и он вызывал много проблем, но не имел особой практической пользы.
2. Добавлена линейная зависимость оборотов от изменения температуры. Сначала обороты изменялись только дискретно. На том этапе это казалось сложно, т.к. и дискретное изменение оборотов не было доведено до ума, но потом всё получилось.
3. Добавлена панель графиков для всех каналов. Этого не хватало для красоты и просмотра как и что изменяется. Правда пришлось серьёзно повозиться с различным масштабированием, но результатом я в общем доволен. Добавление графиков выявило другую проблему – на них стало видно, что обороты подстраиваются как то не совсем красиво. Поэтому алгоритмы подстройки оборотов пришлось очень капитально переделать для получения симпатишной картинки на графиках.
Остались конечно и вещи которые я не смог сделать. Например настройку условий в виде графиков как это сделано у материнских плат Asus. Дело тут в том, что у них одна размерность изменения мощности – проценты. У меня две – проценты и обороты и обе могут быть использованы одновременно. Если вам попался плохой вентилятор, который откалибровался только скажем до 600 об/мин, а ниже тахометр не работает, то если задавать условия в режиме оборотов, реобас не даст поставить более низкое значение. А если захочется больше замедлить вентилятор, для этого нужно переключить самое первое условие в режим процентов и выставить на глаз нужные обороты. При этом цифры процентов будут иметь красный цвет, обозначая игнорирование тахометра в этом условии – это значит, что не будет работать защита от остановки и коррекция оборотов. При повышении температуры и переходе к следующему условию, где установлены об/мин все функции заработают. Лучше всего конечно держать дистанцию от нижнего порога калибровки около 100 об/мин в большую сторону. Совместить все эти вещи на одном графике, чтобы это осталось понятным для использования, и уложиться в разумные сроки по написанию не получилось.
С другой стороны некоторые незначительные пожелания я просто игнорирую и это не из вредности, а потому что человек прочитал через строку, посоветовал с видом знатного эксперта и… пошёл советовать в другие места, где в нём нуждаются ещё больше. При этом даже искренне заинтересованным личностям я устану рассказывать, почему всё сделано именно так, любая хоть немного сложная система имеет огромное количество связей и нюансов и порой нельзя что-то взять и просто поменять, даже если это на первый взгляд и кажется совсем простым.

Предупреждения

По пунктам хочется сказать, что необходимо делать и чего делать ни в коем случае нельзя.
Необходимо:
• Соблюдать рекомендации приведённые в тексте и видео.
• Крепить термодатчики с участием теплоизоляции и термопасты – это не просто так придумано.
• Хотя бы для 1-ого вентилятора (можно для постоянно вращающегося) настроить отключение ПК при аварийной остановке.
• Подключать сдвоенный провод отвечающий за отключение ПК, случайно он его не выключит, а вот спасти компьютер от перегрева в случае чего сможет.
• В режиме работы по условию для точной и быстрой установки оборотов необходимо выставлять условия с интервалом 150-200 до 500 об/мин, 300-400 до 1500. Оптимальное кол-во обычно составляет 3-4-5 условий для вентиляторов до 3000 об/мин. Точно это выясняется на практике по ровности изменения оборотов на графике.
• Если вы используете все каналы, да на некоторых по 2 вентилятора, то как бы это странно не звучало очень желательно немного обдувать и сам реобас.
Нельзя:
• Гнуть термодатчики в районе термоусадки
• Вставлять USB разъем наобум в надежде что повезёт. Если вставите наоборот, то сгорит микросхема отвечающая за USB, реобас продолжит работать, но связь с компьютером потеряется.
• Резать USB кабель с желанием его удлинить, он неэкранированный и его нельзя делать слишком длинным.
• Долговременно использовать реобас без выполнения приведённых выше необходимых пунктов.
Кроме того, устройство поставляется на условии «как есть», конечно гарантия в 6 месяцев имеется (с даты получения посылки адресатом) и послегарантийный ремонт тоже есть, но за возможный косвенный ущерб нанесённый устройством я ответственности не несу. Так же под гарантийный ремонт не подпадают устройства с сорванными гарантийными метками, физическими повреждениями и следами перегрева/перегрузки каналов (потемнение сдвоенных фильтрующих резисторов на выходах каналов).

Обзорные и обучающие видео

Обзор платы реобаса

Краткий обзор программы управления

Подключение и настройка вентилятора

Установка термодатчиков

Нюансы настройки

Заключение

Эта статья в некотором роде является и рекламой, так как печатных плат в Китае было заказано несколько десятков. Несколько десятков реобасов уже нашли своих владельцев. К сожалению те у кого всё хорошо не пишут отзывов… бывают и проблемы которые решаются тем или иным путём. Конечно может накаркаю, но гарантийных случаев пока не возникало.
На этом описание считаю законченным, а остальное сможет показать лишь практическое использование.
Обсуждение лучше вести в теме по разработке реобаса
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают