24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

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

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

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

Здесь только проекты на ATtiny
Post Reply
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

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

История:

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

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

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

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

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

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

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

Голая плата изготовленная "лазерным утюгом":
Голая плата изготовленная "лазерным утюгом"
Голая плата изготовленная "лазерным утюгом"
Собранная плата, вид со стороны проводников:
Собранная плата, вид со стороны проводников
Собранная плата, вид со стороны проводников
Собранная плата, вид со стороны элементов:
Собранная плата, вид со стороны элементов
Собранная плата, вид со стороны элементов
Готовое устройство:
Готовое устройство
Готовое устройство
Готовое устройство
Готовое устройство
Вот такой вот корпус:
Вот такой вот корпус
Вот такой вот корпус
Прошивка:

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

Code: Select all

    if (!FanStoped & PINB.1)
    { 
    Beep();
    }


Фьюзы (9,6МГц, остальное без изменений):
fuse_fan.png
fuse_fan.png (3.3 KiB) Viewed 101037 times
На старте контроллер запускает вентилятор на полную и медленно снижает напряжение на выходе до 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.jpg
Результаты:

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

Был у меня "сервер" - P-III 800MHz - использовался только как файловое хранилище и шлюз в интернет. На него были установлены 6 таких устройств.
  1. Процессор (Slot 1)
  2. Видеокарта (GeeForce 4 MX440)
  3. БП Codegen 400W
  4. Корпус
  5. HDD1
  6. HDD2
Если до установки регуляторов я не знал куда его запихнуть, то теперь его стало еле слышно, и то в моменты нагрузок - копирую на него что-то или с него, или много народу ломанулось в интернет и антивирус усердно кушает ресурсы процессора. А основное время (до 70%) вентиляторы стоят!!!

ВНИМАНИЕ!!! Данное устройство можно подключать только к нерегулируемым выходам для вентиляторов на материнской плате, или к 12 Вольтам напрямую к блоку питания. Можно также выключить регулировку напряжения в BIOS, только зачем тогда было делать это устройство, если Ваша материнка умеет сама регулировать скорость вращения вентиляторов.
Attachments
hex.rar
Прошивка (HEX)
(1.12 KiB) Downloaded 4045 times
pcb.rar
Печатная плата в Sprint-Layout 5.0
(5.95 KiB) Downloaded 3469 times
src.rar
Исходники проекта в CodeVisionAVR
(4.49 KiB) Downloaded 5019 times
QWERY
Пробегал мимо
Posts: 2
Joined: 14 Mar 2009 17:18

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

Post by QWERY »

Собрал,прошил AVRку,фузы не менял,при включении подает 5 вольт на кулер,секунд 5 держит и снижает напряжение до нуля.На нагрев датчика не реагирует.Питание сделал согластно даташиту.убрал резбк на пять вольт с порта,запитал датчик нормальными 5 вольтами. Два датчика пробовал,результат тот же. На порту в сторону датчика редкие посылки,слушал входом звуковой карты. При отключении вывода датчика от порта и подключении к звуковой-тишина. Проверить датчики нет возможности (пока,как будет время соберу термометр на 16F84,попробую на ней проверить). Прошивал три раза,первый раз даже при включении не дышал,потом оба раза одно и то же,питалово подвет,несколько секунд крутит и останавливает..Что можно еще попробовать ?
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

QWERY wrote:при включении подает 5 вольт на кулер
5? можеть 12?
QWERY wrote:и снижает напряжение до нуля
что-то не то... должен до 5-ти снижать.
QWERY wrote:убрал резбк на пять вольт с порта,запитал датчик нормальными 5 вольтами
резистор должен быть в любом случае.
QWERY
Пробегал мимо
Posts: 2
Joined: 14 Mar 2009 17:18

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

Post by QWERY »

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

Добавлено спустя 5 минут 42 секунды:
Джага-джага, тумба-юмба, запаял резистор и работает !!!
Спасибо большое :!: !
:good:
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Кстати транзистор лучше не BC857, а BC807 - у него ток до 500мА
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

urcda wrote:Суть работы в следующем, при температуре +83-85°C двигатель начинает работать на 30% мощности, при увеличении температуры увеличивается мощность(при снижении температуры уменьшается) при +95-98°C двигатель работает на 100% мощности, если есть возможность надо организовать подстройку температуры минимальной и максимальной (т.е регулировать 83-85 и 95-98)
Заранее спасибо за ответ
пробуйте - проект во вложении. Коментарии присутствуют.
Сам не пробовал - писал на коленке, без доступа к паяльнику.
Attachments
firmware v1.1 (for DC-motor).rar
(7.09 KiB) Downloaded 2614 times
urcda
Частенько бываю
Posts: 100
Joined: 31 Jan 2009 18:51

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

Post by urcda »

Я говороил что не соображаю в написании программ для МК
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

urcda, ну прошить то вы сможете. И там не надо соображать - там надо ставить свои цифры...
barbus
Пробегал мимо
Posts: 10
Joined: 22 Feb 2009 20:55

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

Post by barbus »

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

В протеусе не работет схема.
Attachments
firmware v1.1 (for DC-motor).rar
модель протеуса
(48.23 KiB) Downloaded 1753 times
urcda
Частенько бываю
Posts: 100
Joined: 31 Jan 2009 18:51

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

Post by urcda »

hardlock
здрствуйте, собрал девайс описаный сдесь http://hardlock.org.ua/mc/tiny/fan_pwm/index.html , двигатель работает страно стартует на движке +12вольт потом снижается до +5вольт, потом напруга прыгает до +12 и не снижается. Подскажите вчем может быть косяк?
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

датчик температуры скорей всего не работает по 2-х проводной схеме.
urcda
Частенько бываю
Posts: 100
Joined: 31 Jan 2009 18:51

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

Post by urcda »

hardlock
привет, вы оказались правы подсоидинил плюс к датчику и сразу всё заработало. Смущает нагрев транзистора ВС807 нагревается так что пальцем держать нельзя, но нагрев происходит в раёне напряжений от 7вольт до 10 вольт.
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

по нагреву, это да. Я ставил BC817 - он по паспорту до 500мА - вроде получше. По даже 847-й греясь так, что "аж палец обжигает", работет уже не первый год в том стареньком сервере с кулером на 250мА...
urcda
Частенько бываю
Posts: 100
Joined: 31 Jan 2009 18:51

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

Post by urcda »

hardlock
спасибо за совет, поставим посмотрим как будет работать, у меня весит два маленьких кулера по 170мА надеюсь выдержит. У ВС807 тоже ток колектора 500мА.
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

urcda wrote: два маленьких кулера по 170мА
2 * 170 = 340... это ещё больше чем у мну. А максимальный ток транзистора?
urcda
Частенько бываю
Posts: 100
Joined: 31 Jan 2009 18:51

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

Post by urcda »

hardlock
привет, стоит ВС807 ток колектора 500мА, как думаете выдержит?
Vitalik_Nic
Пробегал мимо
Posts: 1
Joined: 22 Aug 2009 23:00

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

Post by Vitalik_Nic »

Добрый вечер

А можно переделать схему и пере компилировать прошивку для ATiny 2313
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

а если серьезно, то щас некогда, поэтому если есть конкретные вопросы - пишите, а заняться этим пока некогда.
kipia
Пробегал мимо
Posts: 8
Joined: 20 Apr 2009 22:24

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

Post by kipia »

hardlock
Подскажите пожалуйста что нужно дописать в программе, чтобы ШИМ при включении на 0,5-1 секунду был 100 процентов. Хочу применить регулятор для питания соленоида.
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

а он вроде и так при старте даёт вначале 100%, потом снижает до необходимого значения - чтобы вентилятор гарантировано тронулся.
kipia
Пробегал мимо
Posts: 8
Joined: 20 Apr 2009 22:24

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

Post by kipia »

А проект http://hardlock.org.ua/download/file.php?jump=48 случайно не с плавным стартом? Пробовал вместо соленоида подключать лампочку- загорается сразу с установленной яркостью.Или время работы 100% ШИМ слишком мало.
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

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

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

Там для плавного старта НЕТУ исходника - утерян. Писать его заново нет времени.
kipia
Пробегал мимо
Posts: 8
Joined: 20 Apr 2009 22:24

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

Post by kipia »

Извините не туда написал. Если возможно, перенесите сообщения в указанную тему.
alelula
Пробегал мимо
Posts: 1
Joined: 08 Nov 2009 23:09

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

Post by alelula »

Привет всем. Прошу помощи. Шил понипрогом, фузы не менял, споткнулся на том, что "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:
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

alelula wrote: как восстановить, кроме HVSP?
никак - толлько ХиджВольтэйдж...
alelula wrote:Спасёт ли меня AVR910?
нет - этот тот же STK 200/300, только на USB...
alelula wrote:в схемке 6 вывод PB1/miso можно было-бы подправить
Спасибо. Исправил.
Post Reply