<
  • Главная
Статьи

Регулятор оборотів вентилятора.

Уже в перших експериментах з колекторним моторчиком і батарейкою можна було помітити, що при частому поперемінному включенні і виключенні електромотора частота обертання його ротора змінюється Уже в перших експериментах з колекторним моторчиком і батарейкою можна було помітити, що при частому поперемінному включенні і виключенні електромотора частота обертання його ротора змінюється. Тобто відбувалася регулювання швидкості обертання шляхом періодичного включення і відключення струму через моторчик. Якщо змінювати при цьому час в підключеному стані і довжину паузи між підключеннями, можна регулювати швидкість обертання мотора.

Такий же ефект проявляється практично з будь-яким споживачем електричного струму, що має певну інерцію, тобто здатним запасати енергію.

Саме цей ефект покладено в основу принципу Широтно-імпульсної модуляції (ШІМ), також зустрічається англійське скорочення - PWM (Pulse-Width Modulation). Широтно-Імпульсна Модуляція - це спосіб кодування аналогового сігналa шляхом зміни ширини (тривалості) прямокутних імпульсів несучої частоти. На Рис. 1 синім кольором представлені типові графіки ШІМ сигналу. Так як при ШІМ частота імпульсів, а значить, і період (T), залишаються незмінними, то при зменшенні ширини імпульсу (t) збільшується пауза між імпульсами (епюра "Б" на Рис. 1.) і навпаки: при розширенні імпульсу пауза звужується (епюра "В" на Рис. 1.). Якщо сигнал ШІМ пропустити через фільтр низьких частот, то рівень постійної напруги на виході фільтра буде визначатися скважностью імпульсів ШІМ. Призначення фільтру - не пропускати несучу частоту ШІМ. Сам фільтр може складатися з найпростішої інтегруючої RC ланцюга, або ж може бути відсутнім зовсім, наприклад, якщо крайова навантаження має достатню інерцію. Таким чином, маючи в розташуванні лише два логічних рівня, "одиницю" і "нуль", можна отримати будь-який проміжне значення аналогового сигналу.

Рис.1. Залежність напруги від шпаруватості ШІМ.

За принципом вищевикладеного та був розроблений регулятор вентилятора. Необхідність в цьому пристрої з'явилася, коли у дитини згоріла материнська плата на комп'ютері і довелося поставити іншу. З іншим радіатором і кулером на процесор. Новий кулер був без регулятора обертів. Для забезпечення тиші роботи комп'ютера довелося зі свого компа зняти залмовскій регулятор і поставити дитині на комп'ютер, все найкраще дітям :). Тепер мій вентилятор почав шумно працювати, а так як моя материнка без корпусу і просто прибита цвяхом до стіни за монітором (Рис.2.), То створювався дискомфорт при роботі за комп'ютером. З цим треба було щось робити, щось просте і дешеве. В результаті чого і народилася ця схема.

В результаті чого і народилася ця схема

Рис.2. «Материнка» зовнішній вигляд не зіпсуєш.

Схема (Рис. 3.) складається з стабілізатора на 5В, ключа, на транзисторі ВС547 (при необхідності можна поставити більш потужний ключ), і самого процесора управління на PIC12F675 (Можна використовувати і PIC12F629, з мінімальними змінами в програмі). Управління оборотами проводиться кнопками S1 (зменшити) і S2 (додати). При знятті напруги регулятор запам'ятовує останні виставлені обертів. Підключається регулятор до гнізда вентилятора на материнській платі. Провід оборотів вентилятора наскрізний. Так як PIC12F675 має АЦП, то можна замість кнопок встановити змінний резистор, спочатку я так і робив.

Мал. 3. Схема регулятора.

Друковану плату я не став розробляти, а зібрав на макетної платі. Результат на Рис. 4. При доопрацюванні регулятора накреслені друковану плату і викладу на додаток до статті.

Тепер трохи про програму. ШІМ організований програмно, так як апаратного модуля ШИМ в даному контролері немає. Після ініціалізації контролера програма перевіряє в EEPROM значення оборотів, на основі якої виробляє обчислення ШІМ. Запис в EEPROM виробляється після натискання будь-якої з кнопок управління. Щоб не мучити пам'ять, запис в неї виробляється з затримкою 2-3 сек., Коли встановиться необхідне значення оборотів.

, Коли встановиться необхідне значення оборотів

Мал. 4. Зовнішній вигляд регулятора.

Як відомо контролер PIC12F675 не має інтегрованого отладочного модуля. В інтернеті ці модулі іноді помилково називають «переходниками». Для налагодження даного типу контролера необхідний модуль AC162050. Його звичайно в наявності немає, а поотлажівать дуже хочеться. Я в таких випадках збираю схему на отладочной платі, беру контролер (в даному випадку PIC16F877A), який підтримує внутрісхемний налагодження і пишу програму під обидва контролера одночасно. Вірніше спочатку під налагоджувати контролер (PIC16F877A), а потім зміни для основного (PIC12F675). Для того, щоб компілятор міг визначити під який контролер виробляти компіляцію є директиви IFDEF і ENDIF.

Нижче наведено приклад конфігурації для різних контролерів в одній програмі. Компілятор сам вибирає потрібний шматок, в залежності від того, який контролер вказано в MPLab (Configure -> Select Device). Не важко здогадатися під який контролер який шматок програми відноситься. Рядок ErrorLevel -302, -205, -207 є спільною, не залежно який контролер встановлений.

IFDEF __12F675

LIST p = 12f675 #Include __config 01FC4h ENDIF; **************************************** IFDEF __16F877A LIST p = 16f877A #Include __CONFIG 3731H TRISIO equ 0x06 GPIO equ 0x86 ENDIF; ******************************** ******** ErrorLevel -302, -205, -207

Наведу ще один приклад ініціалізації контролерів. Тут все, те ж саме. Що знаходиться між директив IFDEF і ENDIF, відноситься до певного контролеру, а все інше є загальним кодом для обох контролерів.

; **************************************** START movlw .7 movwf CMCON bsf STATUS, RP0; **************************************** IFDEF __12F675 call 3FFh movwf OSCCAL movlw b '00000110' movwf WPU clrf ANSEL clrf IOC ENDIF; *************************************** * IFDEF __16F877A movlw b'00001110 'movwf ADCON1 ENDIF; ************************************** ** movlw b'00000000 'movwf OPTION_REG movlw b'00000110' movwf TRISIO bcf STATUS, RP0 clrf GPIO clrf Flag call EERD; Читання значення швидкості з EEPROM.

У підсумку виходить одна програма під два види контролерів (можна і більше). Тільки не забуваємо вказати в MPLab (Configure -> Select Device), необхідний контролер, під який треба її скомпілювати.

Файли для скачування:

Посилання для скачування доступна тільки авторизованим користувачам сайту!

Посилання для скачування доступна тільки авторизованим користувачам сайту!

Посилання для скачування доступна тільки авторизованим користувачам сайту!

Список використаних ресурсів:

https://www.myrobot.ru



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью