Авторизация


...

Кто на сайте?

Сейчас 107 гостей и 3 зарегистрированных пользователей на сайте

  • lfandresagea

Статистика

-Посетители : 25316
-Материалы : 210

Пользователь сайта продает...

   AV-S2G4B

Пользователь сайта покупает...

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

Автор: Sergey Roslik Просмотров: 11280

 

 

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

Именно этот эффект положен в основу принципа Широтно-Импульсной Модуляции (ШИМ), также встречается английское сокращение - 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), необходимый контроллер, под который надо её скомпилировать.

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

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

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

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

Список использованных ресурсов:

http://www.myrobot.ru                      

Случайные статьи....

Prev Next

Помехоустойчивое кодирование на примере кода Хэмминга

13-05-2011 Иван Шевченко (R1ZK)

Помехоустойчивое кодирование на примере кода Хэмминга

Исправлять ошибки труднее, чем их детектировать, или предотвращать. (Не моё - одна бабка сказала...) Код Хэмминга, о котором здесь идёт речь, представляет собой блочный код, который позволяет выявить и исправить один ошибочно переданный бит в пределах переданного блока.      

Порты ввода/вывода МК PIC18XXXX.

27-06-2011 Super User

В микроконтроллерах 18 серии в зависимости от типа может быть разное количество портов. Сами порты то же могут быть различной разрядности (линий вывода).   Некоторые  порты    ввода/вывода мультиплексированы с   периферийными  модулями микроконтроллера. При работе на выход управление   (изменение его...

Регулятор мощности для паяльника на PIC16F628A

29-04-2012 Alex

Регулятор мощности для паяльника на PIC16F628A

 Ниже представлена схема регулятора мощности для паяльника.   Основой схемы является микроконтроллер PIC16F628A. Схема, детали и их номиналы подбирались экспериментально и из того, что было под рукой.Блок питания на 5V я рисовать не стал, т.к. он у меня стандартный – трансформатор, диодный...

Промышленный терморегулятор. Часть 3.

30-09-2011 Sergey Roslik

Промышленный терморегулятор. Часть 3.

 1 Часть - основные технические характеристики, схема, печатная плата, прошивка.  2 Часть - подключение устройства к ОРС серверу, конфигурирование ОРС сервера.  3 Часть - выборка данных с ОРС сервера и отображение их на мнемосхеме.  У меня на предприятии используется программный комплекс «НЕВА» (http://energosoyuz.spb.ru),...


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru