|
|
  |
PWM для кулера, совсем кривая схема или сойдет? |
|
|
|
Apr 29 2010, 19:21
|
Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017

|
Цитата Опять пару? ))) Вот и я о том же.. Я уж думал, что есть простое решение на одном транзисторе. (А с парой - это мы умеем  ) Про пару резисторов тоже интересно. Как? Я не язвлю, просто интересно.
|
|
|
|
|
Apr 29 2010, 22:55
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(sigmaN @ Apr 30 2010, 04:41)  Не доглядел, что там резисторы. Ну вот я так планировал... А выходы 5-вольтового устройства (МК ?) толерантны к 12В ? В схеме с одним PNP при выключенном вентиляторе на выход 5-вольтового устройства течёт втекающий ток 6мА от +12В, надо добавлять второй NPN транзистор, получим туже схему, что в начале. Первая схема на полевиках - вполне годный вариант.
|
|
|
|
|
Apr 30 2010, 05:00
|
Местный
  
Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006

|
Цитата(ae_ @ Apr 30 2010, 01:55)  А выходы 5-вольтового устройства (МК ?) толерантны к 12В ? Вместо второго транзистора можно стабилитрон использовать. Тут смотреть надо, что удобнее.
|
|
|
|
|
Apr 30 2010, 06:20
|

I WANT TO BELIEVE
     
Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751

|
Странно, но ШИМ не работает как ожидал того я. Проделал следующее: Собрал схему на двух полевиках с которой началась эта тема. Резистор R1 стоит 5K. Полевики: P-Channel, N-ChannelНа выходе индуктивность(правда поболее рекомендованной, но это же не проблема, так ведь?) и кондер 100мкф. Далее, для надежного закрывания N-Channel я поставил ещё один резистор 5К с затвора N-канального на землю. Далее этот затвор подключен к меге8, в которой на таймере 2 в режиме фаст PWM крутится ШИМ. Скважность выставляю соответственно повороту движка переменного резистора, подключенного на вход ADC. Т.е. регулирую скважность от 0 до 100% Код void timer2_set_PWMduty(uint8_t new_duty) { OCR2 = new_duty; }
void adc_start_conversion(void) { //set ADSC bit ADCSRA |= (1 << ADSC); }
ISR(ADC_vect) { timer2_set_PWMduty( ADC / 4 ); adc_start_conversion(); } Вращение резистора не приводит ни к каким результатам. При этом, если к выходу PWM через резистор подключить светодиод - всё прекрасно регулируется. Я пошел дальше и определил, что если я последовательно поставлю резистор 10к - появляется хоть какая-то реакция на вращение резистора. Но она тоже какая-то странная. В крайнем положении(скважность=0) кулер останавливается. Далее движок работает буквально на первых 10%. Остальные 90 кулер просто вращается на максимальных оборотах. Что я делаю не так? Если надо, код выложу. Но то, что светодиод ведет себя вполне адекватно, наводит на мысль о кривой схемотехнике, а не о программировании.
--------------------
The truth is out there...
|
|
|
|
|
Apr 30 2010, 06:31
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(sigmaN @ Apr 30 2010, 09:20)  Странно, но ШИМ не работает как ожидал того я. ... Но она тоже какая-то странная. В крайнем положении(скважность=0) кулер останавливается. ... Похоже, что Вы действительно верите, что мир должен прогнуться под Вас  Вы всерьез ожидали регулировку скорости от нуля? На кулер нормируется минимальное напряжение и обычно оно равно половине от номинального. Соответственно скважность не может быть больше двух. Вот Вы открыли "проект" - "регулировка скорости вращения кулера". Ну так огласите техническим языком, чего Вы хотите добиться, и люди подскажут, насколько Ваши фантазии реализуемы. Успехов
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Apr 30 2010, 07:01
|

I WANT TO BELIEVE
     
Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751

|
Да проект то тривиальный. Кремниевый транзистор питается от источника тока и используется в качестве датчика температуры. Данные поступают на микроконтроллер. Основная задача - минимизировать кол-во оборотов кулера и шум, который он издаёт. При этом контроллер обеспечивает слежение за тем, чтобы кулер действительно вращался, когда он должен. Первый уровень алярм сигнализация, второй - отключение питания.
Мои эксперименты показывают, что кулеру нужен пинок под зад, чтобы он начал вращаться, а потом можно регулировать практически почти до нуля, выходя на режим, когда он буквально еле шевелится. Именно такой алгоритм я планирую реализовать. И видимо тут дело придётся иметь с обратной связью(сигнал с тахометра).
Это всё я себе более-менее хорошо представляю. У меня вопрос: почему без резистора 10К, с выхода ШИМ на затвор N-канала у меня вообще ничего не регулируется? Как такое может быть? Жалко осциллографа нет.
--------------------
The truth is out there...
|
|
|
|
|
Apr 30 2010, 07:11
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(sigmaN @ Apr 30 2010, 10:01)  Да проект то тривиальный. У меня двойной негативный опыт с таким управлением. Работал на ноутбуке, вентилятору которого периодически "давали в зад". Лучше бы он выл постоянно. И сам разрабатывал прибор со стабилизацией температуры, с управлением скоростью вентилятора. Заказчик попросил очень значительно увеличить период обновления частоты, чтобы изменение скорости не действовало на нервы. Может, малошумящий вентилятор поставить?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Apr 30 2010, 07:54
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(ukpyr @ Apr 30 2010, 10:36)  для этого нужно делать стабилизацию температуры по ПИД закону... Не могу согласиться полностью. Автор темы совершенно справедливо пишет про "дать в зад" как старт ранее остановленного вентилятора. sigmaN, Я посмотрел свою схемотехнику - все аналогично, только IRF7343, для затвора верхнего транзистора делитель, ибо 12 В превышает максимально допустимое напряжение(хотя на такие мелочи Вы не обращаете внимание), ну и защитный диод на выходе, а также дроссель и конденсатор.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|