|
Контроллер скорости вращения вентиляторов сист. блока PC, Как правильно регулировать обороты трёхпиновых вентиляторов |
|
|
|
Apr 24 2008, 14:43
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Задумал тут сконструировать блочок (заместо старого Hardcano) для динамической регулировки скорости вентиляторов системного блока мощного компьютера. Их много, и реально работа в полную силу от них требуется довольно редко, большую же часть времени это просто никому не нужный шум...  Девайс на ATmega88, четыре термодатчика на DS18S20, четыре независимых канала регуляторов, простой ЖКИ от нокиа 3210 и четыре кнопки. Хочу прикрутить ещё RS-232 для настройки блока через графическую оболочку на компе. Измерять обороты буду подсчитыванием фронтов сигнала с таходатчика. Вот думаю, как сделать регулировку напряжения. Она должна быть в полном диапазоне 0...12 вольт, ток каждого канала минимум 400-600 ма (блоки по два 12-ти сант. вентилятора). Есть два пути - линейный стабилизатор или ШИМ напрямую через ключ. ШИМ конечно хорошо - никакого нагрева, малое кол-во деталей - но неясно, что будет с выходным сигналом таходатчика. Вероятнее всего, на некоторых вентиляторах он будет промодулирован частотой ШИМ, и измерение скорости вращения станет невозможным...  А хотелось бы, чтобы схема работала практически с любыми трёхпиновыми вентиляторами... Поэтому остановился пока на линейном стабилизаторе. Накропал схемку  , прилагаю. При выставлении скорости вращения процентов под 50 мосфет начинает довольно сильно греться, зараза, придётся посадить его на маленький радиатор. Но от этого никуда не деться... Навыки схемотехники у меня слабые, сделал, как смог. Без конденсатора С3 схема нестабильна, появляется генерация на выходе. А С2 для того, чтобы ОУ не создавал мгновенных управляющих импульсов большой амплитуды, так как медленный мосфет просто не успевает за ним... Может, кто-то уже имел опыт сборки подобных девайсов? Если есть способы сделать всё лучше и более правильно, буду рад выслушать
|
|
|
|
|
 |
Ответов
|
Apr 26 2008, 05:09
|
Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 25-04-06
Из: Краснодар
Пользователь №: 16 451

|
Цитата(sonycman @ Apr 25 2008, 22:37)  То есть измерялся период импульса с помощью таймера? Для этого ведь надо подать тахосигнал на определённую ножку проца? Да, всё так. сигнал с тахометра через резистор и стабилитрон подавался на вход прерывания меги. что-то типа такого - останавливаем ШИМ, разрешаем прерывание по фронту (или по спаду, уже не помню) сигнала, в обработчике прерывания запускаем таймер и возвращаемся в основную программу, по следующему прерыванию останавливаем таймер, считаем результат и тоже самое для остальных каналов.
|
|
|
|
|
Apr 26 2008, 10:02
|
Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 25-04-06
Из: Краснодар
Пользователь №: 16 451

|
Цитата(galjoen @ Apr 26 2008, 13:22)  А почему-бы на вентилятор +5В через диод не подать? Т.е. ШИМ будет переключать напряжение питания вентилятора между +5В и +12В. В таком случае частоту вращения вентилятора всегда можно будет получать. А от +5В вентилятор еле крутится - проверил. Если глупость написал - не пинайте. С вентиляторами никогда дела не имел. А при чем тут ШИМ тогда, если диод? От 5и вольт постоянки вентилятор, будучи засран пылью, может и не запуститься. к тому же так не интересно
|
|
|
|
|
Apr 26 2008, 10:31
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(invertor79 @ Apr 26 2008, 14:02)  А при чем тут ШИМ тогда, если диод? От 5и вольт постоянки вентилятор, будучи засран пылью, может и не запуститься. к тому же так не интересно  ШИМ как был, так и остаётся для регулировки оборотов вентилятора. Но переключает питание вентилятора не так, как раньше между 0В и 12В, а между 5В (из-за диода) и 12В. В реальности на вентилятор подавать напряжение меньше 5В смысла не имеет, т.к. вентилятор почти не крутится. Запускается вентилятор при подаче на него 12В с ШИМ. А насчёт интереса - так всё тоже самое. Та-же замкнутая цифровая двухконтурная система управления. Внутренний контур регулирования по скорости вентилятора, а внешний по температуре. Если импульсы с вентилятора терятся не будут и их всё время считать, то можно сделать ПИД регулятор скорости вращения - это и интересно и полезно (для получения опыта). Повозится с настройками регулятора, давить автоколебания (которые по неопытности наверняка возникнут). Это-же очень интересно - я пробовал.
|
|
|
|
|
Apr 26 2008, 12:29
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(ATLab @ Apr 26 2008, 07:44)  Я так сделал (+питания микроконтроллера сидит на +12), чтобы минимизировать схему. Если нужно общий провод микроконтроллера посадить на общий провод компьютера, то для P-канальных полевиков нужно добавить согласующий каскад - ключ на транзисторе или взять буферы с открытым коллектором (стоком) и допустимым напряжением на выходных транзисторах не меньше 12 В. Хотя я не вижу смысла ставить COM port: он еще может понадобиться при отладке, а при реальной эксплуатации достаточно двух предустановок - тихо и громко  Даже ЖКИ - в основном для понтов. Да, поставил пока предварительный каскад для мосфета на биполярнике. Но вот интересно, есть ли н-канальные мосфеты, уверенно открывающиеся от 3.3 вольт? Через СОМ порт будет удобно настраивать/корректировать режимы. Но самый главный для меня стимул - освоить наконец этот USART и попрограммить немного под виндой  Можно ещё бутлоадер добавить и обновлять через него прошивку - ни разу так пока ещё не делал  А вот ЖКИ я бы не сказал, что только для понтов. Удобно видеть текущие температуры/обороты в любой момент, не переключая задачи и не запуская различные диагностические проги на компе... Кстати, а можно спросить, какого номинала на Вашей схеме реобаса стоят индуктивности? Цитата(invertor79 @ Apr 26 2008, 10:09)  Да, всё так. сигнал с тахометра через резистор и стабилитрон подавался на вход прерывания меги. что-то типа такого - останавливаем ШИМ, разрешаем прерывание по фронту (или по спаду, уже не помню) сигнала, в обработчике прерывания запускаем таймер и возвращаемся в основную программу, по следующему прерыванию останавливаем таймер, считаем результат и тоже самое для остальных каналов. Но ведь, если не ошибаюсь, ножек у меги88 под внешние прерывания всего две? А каналов четыре. Как коммутировать? Цитата(galjoen @ Apr 26 2008, 15:31)  ШИМ как был, так и остаётся для регулировки оборотов вентилятора. Но переключает питание вентилятора не так, как раньше между 0В и 12В, а между 5В (из-за диода) и 12В. В реальности на вентилятор подавать напряжение меньше 5В смысла не имеет, т.к. вентилятор почти не крутится. Запускается вентилятор при подаче на него 12В с ШИМ. А насчёт интереса - так всё тоже самое. Та-же замкнутая цифровая двухконтурная система управления. Внутренний контур регулирования по скорости вентилятора, а внешний по температуре. Если импульсы с вентилятора терятся не будут и их всё время считать, то можно сделать ПИД регулятор скорости вращения - это и интересно и полезно (для получения опыта). Повозится с настройками регулятора, давить автоколебания (которые по неопытности наверняка возникнут). Это-же очень интересно - я пробовал. Да, интересно - это точно. Особенно когда нет никакого электротехнического образования и приходится учиться на собственных ошибках  А как в предложенной Вами схеме полностью останавливать вентилятор?
|
|
|
|
|
Apr 26 2008, 13:14
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(sonycman @ Apr 26 2008, 16:29)  Но ведь, если не ошибаюсь, ножек у меги88 под внешние прерывания всего две? А каналов четыре. Как коммутировать? Особого смысла считать импульсы через INT нет. Проинициализировав прерывания от таймера, например, 4 раза в милисекунду, можно в этих прерываниях опрашивать входы импульсов. Вентилятор быстрее чем 120000 об/мин всё равно не раскрутится  . Цитата(sonycman @ Apr 26 2008, 16:29)  Да, интересно - это точно. Особенно когда нет никакого электротехнического образования и приходится учиться на собственных ошибках  Ну вот и получите образование. Бесекерского почитаете... К тому-же это очень хороший пример - можно идти от простого к сложному. Вы ведь эту тему именно из-за того, что вам интересно самому сделать создали? Практической пользы от этого ведь нет? Это-же чистое хобби? Цитата(sonycman @ Apr 26 2008, 16:29)  А как в предложенной Вами схеме полностью останавливать вентилятор? Я имел ввиду, что полностью останавливаться он не будет, т.к. от 5В почти и не дует/не шумит. Но можно конечно какие-нибудь специальные ключи поставить.
|
|
|
|
|
Apr 26 2008, 14:29
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(galjoen @ Apr 26 2008, 18:14)  1. Особого смысла считать импульсы через INT нет. Проинициализировав прерывания от таймера, например, 4 раза в милисекунду, можно в этих прерываниях опрашивать входы импульсов. Вентилятор быстрее чем 120000 об/мин всё равно не раскрутится  . 2. Ну вот и получите образование. Бесекерского почитаете... К тому-же это очень хороший пример - можно идти от простого к сложному. Вы ведь эту тему именно из-за того, что вам интересно самому сделать создали? Практической пользы от этого ведь нет? Это-же чистое хобби? 3. Я имел ввиду, что полностью останавливаться он не будет, т.к. от 5В почти и не дует/не шумит. Но можно конечно какие-нибудь специальные ключи поставить. 1. Так я сделал проще - прерывания Pin Change в течении 1 секунды на нужной ножке. Там просто инкрементим счётчик, а через ровно секунду по прерыванию периодического таймера умножаем полученное число на 15, вот и обороты подсчитаны  2. Да, конечно, просто хобби. Практической пользы от него, к сожалению, немного... 3. В принципе, надо будет подумать над этим. По конструкции этот вариант сэкономит немного - исключить можно будет только индуктивность и ёмкость фильтра. Но тем не менее... Вот что у меня в итоге получилось:  А вот осциллограмма сигнала с этой схемы:  Зелёным цветом обозначено напряжение на выходе фильтра, а жёлтым - на стоке мосфета. Интересно, что это за колебательный процесс на стоке, в то время, когда он закрыт? Критично ли это? Как видно, на выходном напряжении это никак не сказывается... Зато, если убрать диод шоттки, то на стоке появляются жуткие выбросы отрицательного напряжения в несколько десятков вольт...  Если заменить индуктивность на большую - 680 мкГн, к примеру, то эти колебания практически исчезают. Но тогда сильнее проседает напряжение при полностью открытом ключе - до 11.5 вольт (по сравнению с 11.8 вольт при 120 мкГн). Видимо, проседает из-за большего сопротивления катушки...
|
|
|
|
Сообщений в этой теме
sonycman Контроллер скорости вращения вентиляторов сист. блока PC Apr 24 2008, 14:43 chds На 3-й странице рассматривается решение Circuit pr... Apr 24 2008, 15:05 Serj78 Можно поставить LC - фильтр после ШИМ-а, только д... Apr 24 2008, 16:17 MrYuran А я думаю просто кондёр можно поставить, без всяки... Apr 24 2008, 16:25 Itch Может частоту ШИМ сделать достаточно малой (~2-5Гц... Apr 24 2008, 16:43 MrYuran [quote name='Itch' date='Apr 24 2008, ... Apr 24 2008, 16:48 galjoen М.б. лучше обойтись вообще без ШИМ? В этом случае ... Apr 24 2008, 17:00  sonycman Цитата(Serj78 @ Apr 24 2008, 21:17) Можно... Apr 24 2008, 18:21   galjoen Цитата(sonycman @ Apr 24 2008, 22:21) А к... Apr 24 2008, 18:46    MrYuran Цитата(galjoen @ Apr 24 2008, 21:46) Испо... Apr 25 2008, 05:18     galjoen Цитата(MrYuran @ Apr 25 2008, 09:18) Что-... Apr 25 2008, 13:29      MrYuran Цитата(galjoen @ Apr 25 2008, 16:29) Без ... Apr 25 2008, 15:30 tazik Вот человек такую же штуку делал. После полевика L... Apr 24 2008, 18:39 sonycman Цитата(tazik @ Apr 24 2008, 23:39) Вот че... Apr 24 2008, 19:08  tazik Цитата(sonycman @ Apr 25 2008, 03:08) Поо... Apr 24 2008, 19:20   sonycman Цитата(tazik @ Apr 25 2008, 00:20) У меня... Apr 24 2008, 19:27 tazik Цитата(sonycman @ Apr 24 2008, 22:43) Хоч... Apr 25 2008, 05:12 Itch Цитата(tazik @ Apr 25 2008, 12:12) Подска... Apr 25 2008, 10:11  tazik Цитата(Itch @ Apr 25 2008, 18:11) Можно, ... Apr 25 2008, 10:45 viakon Мне сейчас подобную задачу поставили
Хочу сделать ... Apr 25 2008, 09:22 tazik Прошу прощения - несколько переусердствовал в пред... Apr 25 2008, 09:44 UserM Может пригодится, там похожий проект.
http://atlab... Apr 25 2008, 10:33 Flasher Возьмите 4 микросхемы LM317 и с помощью шима измен... Apr 25 2008, 11:00 sonycman Цитата(Flasher @ Apr 25 2008, 16:00) Возь... Apr 25 2008, 12:17  Flasher Цитата(sonycman @ Apr 25 2008, 15:17) Так... Apr 25 2008, 20:36 SINtheTHICK Прашу пардону, но я вот тута со своим уставом в Ва... Apr 25 2008, 13:49 sonycman Цитата(SINtheTHICK @ Apr 25 2008, 18:49) ... Apr 25 2008, 14:47          galjoen Цитата(sonycman @ Apr 26 2008, 18:29) 1. ... Apr 26 2008, 15:26           sonycman Цитата(galjoen @ Apr 26 2008, 20:26) 1. Т... Apr 26 2008, 16:15            MrYuran Цитата(sonycman @ Apr 26 2008, 19:15) Зам... Apr 26 2008, 16:27             invertor79 вот хорошая схема драйвера верхнего ключа, здесь к... Apr 26 2008, 16:37            galjoen Цитата(sonycman @ Apr 26 2008, 20:15) 1. ... Apr 26 2008, 17:03             sonycman Цитата(galjoen @ Apr 26 2008, 22:03) 5. Э... Apr 26 2008, 17:56              galjoen Цитата(sonycman @ Apr 26 2008, 21:56) По ... Apr 26 2008, 18:55               sonycman Цитата(galjoen @ Apr 26 2008, 23:55) Это ... Apr 26 2008, 19:23              invertor79 Цитата(sonycman @ Apr 26 2008, 21:56) А ч... May 1 2008, 06:32 ATLab Цитата(sonycman @ Apr 26 2008, 01:33) Ну ... Apr 26 2008, 02:44 Nick_Shl А что если сделать регулировку хитрей? ШИМ на тран... May 1 2008, 16:27 ATLab Цитата(Nick_Shl @ May 2 2008, 02:27) А чт... May 3 2008, 10:26  Nick_Shl Цитата(ATLab @ May 3 2008, 13:26) Цель та... May 8 2008, 09:44 sonycman Цитата(Nick_Shl @ May 1 2008, 21:27) А чт... May 8 2008, 11:26 GrayCat Во-первых, поддерживаю тему . Сам давно уже хочу ... May 2 2008, 20:16 domowoj Цитата(sonycman @ Apr 24 2008, 21:43) Зад... May 3 2008, 17:15 sonycman Цитата(invertor79 @ May 1 2008, 11:32) Во... May 7 2008, 13:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|