Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Регулятор 12V вентилятора на ATtiny13

Здесь только проекты на ATtiny

Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 01 фев 2009 01:02

Предыстория:

Стоял у меня на работе старенький компьютер (Athlon XP 2500+) и сильно мне мешал своим шумом (5 вентиляторов!!!). Температура отдельных компонентов невысокая (смотрел разными программами и в BIOSе), но регулировки скорости вентиляторов в той материнке нет... Вначале была идея создать мега дэвайс по контролю температуры и регулировке скорости вентиляторов, да ещё с общением по USB с компьютером. Но немного подумав сделал простенькое устройство для каждого вентилятора.

История:

Взял все вентиляторы из своего компа и попробовал при каком напряжении они стартуют. Получилась довольно печальная картина: некоторые вентиляторы стартуют при напряжении 8 Вольт, но продолжают уверенно крутятиться даже при понижении напряжения до 5 Вольт. А при 8 - уже почти полные обороты. Поэтому на старте устройство должно на 1 секунду подать полное напряжение, а потом уменьшить до нужной величины. Далее - все вентиляторы уверенно работают при 5 Вольтах, поэтому нижняя граница напряжения принята 5 Вольт. Верхняя - понятно 12 Вольт.

Теперь о температуре... Я посчитал, что температура в 36 градусов является нормальной для всех компонентов компьютера, поэтому нижний порог срабатывания взят за 36 градусов. Ну и верхний (при котором будут максимальные обороты) выбран 66 градусов. Почему? Да не знаю вроде ещё и не критическая температуря, но уже и не маленькая...

Чем будем мерять? Хорошо конечно получать температуру прямо с материнской платы, но это не всегда возможно, да и хочется автономного устройства... Термопара? довольно сложно. Остановимся на цифровом датчике DS18B20.

Чем будем управлять? Мне показалось что самого простого контроллера будет достаточно, поэтому я взял самый дешёвый контроллер (из AVR) ATtiny13 и принялся за дело.

Схема получилась вот такая (кликабельно):
Схема


Немного поясню. Серым обозначена цепь, которая позволяет контролировать вращение вентилятора. Обратная связь на вывод 3 - контроль напряжения на выходе устройства. Остальное уже не помню - давно это было... Если что - пишите.

Печатная плата
Печатная плата


Как видите - односторонняя ПП, правда не очень простая, зато маленькая: 27*15мм!!! Во вложениях можно взять в формате Sprint-Layout 5.0 (pcb.rar)

Далее немного фото:

Голая плата изготовленная "лазерным утюгом":
Голая плата изготовленная "лазерным утюгом"


Собранная плата, вид со стороны проводников:
Собранная плата, вид со стороны проводников:


Собранная плата, вид со стороны элементов:
Собранная плата, вид со стороны элементов:


Готовое устройство:
Готовое устройство
.
Готовое устройство


Вот такой вот корпус:
Вот такой вот корпус


Прошивка:

Прошивка (hex.rar), Проект (src.rar) под CodeVisionAVR доступны для скачивания во вложениях. В прошивке отключен контроль вращения вентилятора. Просто закомментированы следующие строки (97-100):

Код: Выделить всё
    if (!FanStoped & PINB.1)
    {
    Beep();
    }


Фьюзы (9,6МГц, остальное без изменений):
fuse_fan.png
fuse_fan.png (3.3 КБ) Просмотров: 38012


На старте контроллер запускает вентилятор на полную и медленно снижает напряжение на выходе до 5 вольт, что контролируется с помощью аналогового входа ADC2. Это сделано для более точного получения напряжения 5 Вольт, т.к. параметры используемых элементом могут сильно отличаться. Далее начинам измерять температуру. Если она ниже нижнего порога 36 градусов - останавливаем вентилятор. Как только температура доберётся до 36 градусов - на одну секунду подаём 12 Вольт на вентилятор, чтобы он гарантировано стартовал, а потом уменьшаем до напряжения высчитанного по формуле:

U = ((Umax - Umin) / (Tmax - Tmin)) * (T - Tmin) + Umin


где: Umin = 5В, Umax = 12В, Tmin = 36°, Tmax = 66°, T = текущая измеренная температура.

Получается приблизительно следующее:
Т°,С_U,В
36 = 0
37 = 5,2
42 = 6,4
50 = 8,3
66 = 12

Когда температура становится равной или выше максимума - включается вентилятор на полную и включается пищалка (на выводе 7 - логический "0").

Устанавливаем:

Термодатчики можно запихивать между рёбер радиаторов. Приблизительно так:
В радиатор видеокарты


На жёсткие диски пришлось придумать скобку для крепления датчика. Вот так:
На HDD


Результаты:

После старта компьютер начинает реветь на полную мощность, но в течении 30 секунд гул стихает и если что-то успело нагреться до 36 градусов, то включается один-два вентилятора. Потом по мере прогрева системы могут включаться и остальные вентиляторы. Поработав немного и охладив систему они выключаются...

Был у меня "сервер" - P-III 800MHz - использовался только как файловое хранилище и шлюз в интернет. На него были установлены 6 таких устройств.

  1. Процессор (Slot 1)

  2. Видеокарта (GeeForce 4 MX440)
  3. БП Codegen 400W
  4. Корпус
  5. HDD1
  6. HDD2

Если до установки регуляторов я не знал куда его запихнуть, то теперь его стало еле слышно, и то в моменты нагрузок - копирую на него что-то или с него, или много народу ломанулось в интернет и антивирус усердно кушает ресурсы процессора. А основное время (до 70%) вентиляторы стоят!!!

ВНИМАНИЕ!!! Данное устройство можно подключать только к нерегулируемым выходам для вентиляторов на материнской плате, или к 12 Вольтам напрямую к блоку питания. Можно также выключить регулировку напряжения в BIOS, только зачем тогда было делать это устройство, если Ваша материнка умеет сама регулировать скорость вращения вентиляторов.
Вложения
hex.rar
Прошивка (HEX)
(1.12 КБ) Скачиваний: 2480
pcb.rar
Печатная плата в Sprint-Layout 5.0
(5.95 КБ) Скачиваний: 2039
src.rar
Исходники проекта в CodeVisionAVR
(4.49 КБ) Скачиваний: 3024
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение QWERY » 14 мар 2009 18:27

Собрал,прошил AVRку,фузы не менял,при включении подает 5 вольт на кулер,секунд 5 держит и снижает напряжение до нуля.На нагрев датчика не реагирует.Питание сделал согластно даташиту.убрал резбк на пять вольт с порта,запитал датчик нормальными 5 вольтами. Два датчика пробовал,результат тот же. На порту в сторону датчика редкие посылки,слушал входом звуковой карты. При отключении вывода датчика от порта и подключении к звуковой-тишина. Проверить датчики нет возможности (пока,как будет время соберу термометр на 16F84,попробую на ней проверить). Прошивал три раза,первый раз даже при включении не дышал,потом оба раза одно и то же,питалово подвет,несколько секунд крутит и останавливает..Что можно еще попробовать ?
QWERY
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 14 мар 2009 18:18

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 14 мар 2009 18:31

QWERY писал(а):при включении подает 5 вольт на кулер

5? можеть 12?
QWERY писал(а):и снижает напряжение до нуля

что-то не то... должен до 5-ти снижать.
QWERY писал(а):убрал резбк на пять вольт с порта,запитал датчик нормальными 5 вольтами

резистор должен быть в любом случае.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение QWERY » 14 мар 2009 18:35

Подает именно 5 максимум,причем достаточно точно,+/- 0,2 Вольта.
А потом да,просто выключает кулер,и нагревом датчика уже не запускается.
Щас запаяю,результат доложу.

Добавлено спустя 5 минут 42 секунды:
Джага-джага, тумба-юмба, запаял резистор и работает !!!
Спасибо большое :!: !
:good:
QWERY
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 14 мар 2009 18:18

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 14 мар 2009 18:46

Кстати транзистор лучше не BC857, а BC807 - у него ток до 500мА
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 29 апр 2009 13:56

urcda писал(а):Суть работы в следующем, при температуре +83-85°C двигатель начинает работать на 30% мощности, при увеличении температуры увеличивается мощность(при снижении температуры уменьшается) при +95-98°C двигатель работает на 100% мощности, если есть возможность надо организовать подстройку температуры минимальной и максимальной (т.е регулировать 83-85 и 95-98)
Заранее спасибо за ответ

пробуйте - проект во вложении. Коментарии присутствуют.
Сам не пробовал - писал на коленке, без доступа к паяльнику.
Вложения
firmware v1.1 (for DC-motor).rar
(7.09 КБ) Скачиваний: 1669
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение urcda » 29 апр 2009 23:13

Я говороил что не соображаю в написании программ для МК
urcda
Частенько бываю
 
Сообщения: 100
Зарегистрирован: 31 янв 2009 19:51

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 30 апр 2009 09:42

urcda, ну прошить то вы сможете. И там не надо соображать - там надо ставить свои цифры...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение barbus » 07 июн 2009 16:17

В CodeVision выдает предупреждение на 101 строке "PWM_ = ((dP / DT) * T);"

В протеусе не работет схема.
Вложения
firmware v1.1 (for DC-motor).rar
модель протеуса
(48.23 КБ) Скачиваний: 1039
barbus
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 22 фев 2009 21:55

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение urcda » 11 июл 2009 19:37

hardlock
здрствуйте, собрал девайс описаный сдесь http://hardlock.org.ua/mc/tiny/fan_pwm/index.html, двигатель работает страно стартует на движке +12вольт потом снижается до +5вольт, потом напруга прыгает до +12 и не снижается. Подскажите вчем может быть косяк?
urcda
Частенько бываю
 
Сообщения: 100
Зарегистрирован: 31 янв 2009 19:51

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 11 июл 2009 21:19

датчик температуры скорей всего не работает по 2-х проводной схеме.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение urcda » 11 июл 2009 21:42

hardlock
привет, вы оказались правы подсоидинил плюс к датчику и сразу всё заработало. Смущает нагрев транзистора ВС807 нагревается так что пальцем держать нельзя, но нагрев происходит в раёне напряжений от 7вольт до 10 вольт.
urcda
Частенько бываю
 
Сообщения: 100
Зарегистрирован: 31 янв 2009 19:51

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 11 июл 2009 21:45

по нагреву, это да. Я ставил BC817 - он по паспорту до 500мА - вроде получше. По даже 847-й греясь так, что "аж палец обжигает", работет уже не первый год в том стареньком сервере с кулером на 250мА...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение urcda » 11 июл 2009 21:48

hardlock
спасибо за совет, поставим посмотрим как будет работать, у меня весит два маленьких кулера по 170мА надеюсь выдержит. У ВС807 тоже ток колектора 500мА.
urcda
Частенько бываю
 
Сообщения: 100
Зарегистрирован: 31 янв 2009 19:51

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 11 июл 2009 21:50

urcda писал(а): два маленьких кулера по 170мА

2 * 170 = 340... это ещё больше чем у мну. А максимальный ток транзистора?
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение urcda » 11 июл 2009 21:53

hardlock
привет, стоит ВС807 ток колектора 500мА, как думаете выдержит?
urcda
Частенько бываю
 
Сообщения: 100
Зарегистрирован: 31 янв 2009 19:51

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение Vitalik_Nic » 22 авг 2009 23:08

Добрый вечер

А можно переделать схему и пере компилировать прошивку для ATiny 2313
Vitalik_Nic
Пробегал мимо
 
Сообщения: 1
Зарегистрирован: 22 авг 2009 23:00

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 23 авг 2009 09:18

можно - переделывайте. :jokingly:

а если серьезно, то щас некогда, поэтому если есть конкретные вопросы - пишите, а заняться этим пока некогда.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение kipia » 19 окт 2009 11:56

hardlock
Подскажите пожалуйста что нужно дописать в программе, чтобы ШИМ при включении на 0,5-1 секунду был 100 процентов. Хочу применить регулятор для питания соленоида.
kipia
Пробегал мимо
 
Сообщения: 8
Зарегистрирован: 20 апр 2009 22:24

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 19 окт 2009 12:03

а он вроде и так при старте даёт вначале 100%, потом снижает до необходимого значения - чтобы вентилятор гарантировано тронулся.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение kipia » 19 окт 2009 14:42

А проект http://hardlock.org.ua/download/file.php?jump=48 случайно не с плавным стартом? Пробовал вместо соленоида подключать лампочку- загорается сразу с установленной яркостью.Или время работы 100% ШИМ слишком мало.
kipia
Пробегал мимо
 
Сообщения: 8
Зарегистрирован: 20 апр 2009 22:24

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 19 окт 2009 14:45

Дык это же другой проект - пишите в соответствующей ветке, а то путаница получается...

Там нет исходника - утерян.

Добавлено спустя 13 минут 5 секунд:
Ещё раз повторю - по вашей ссылке - вот эта тема, а тут РЕГУЛЯТОР ДЛЯ ВЕНТИЛЯТОРА!

Там для плавного старта НЕТУ исходника - утерян. Писать его заново нет времени.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение kipia » 19 окт 2009 15:04

Извините не туда написал. Если возможно, перенесите сообщения в указанную тему.
kipia
Пробегал мимо
 
Сообщения: 8
Зарегистрирован: 20 апр 2009 22:24

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение alelula » 09 ноя 2009 00:40

Привет всем. Прошу помощи. Шил понипрогом, фузы не менял, споткнулся на том, что "Read device" фузы не считывает а "Write device" видимо прописывает так и прошились sut1, ckel0, ckel1, lock0, lock1=0(галочки стоят). после прошивки ни Pony ни STK200 проц не опознаётся, повесил кварц 4.000 на 2,3 ногу - всёравно глухо. как восстановить, кроме HVSP? Спасёт ли меня AVR910?
На втором был осторожней, вот для пони правильные фузы: cksel0,sut0,ckdiv8=0. в схемке 6 вывод PB1/miso можно было-бы подправить.
Автору глубокое уважение :drink:
alelula
Пробегал мимо
 
Сообщения: 1
Зарегистрирован: 09 ноя 2009 00:09

Re: Регулятор 12V вентилятора на ATtiny13

Сообщение hardlock » 09 ноя 2009 10:32

alelula писал(а): как восстановить, кроме HVSP?

никак - толлько ХиджВольтэйдж...
alelula писал(а):Спасёт ли меня AVR910?

нет - этот тот же STK 200/300, только на USB...
alelula писал(а):в схемке 6 вывод PB1/miso можно было-бы подправить

Спасибо. Исправил.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5