Модуль PWM МК – для новичков в радиоделе

April 30, 2014 by admin Комментировать »

Он предназначен для широтно-импульсной модуляции Где находит применение этот метод преобразования сигналов

В последнее время он всё чаще находит применение при создании усилителей низкой частоты Усилители низкой частоты большой мощности в этом режиме, которые называются усилителями класса D, имеют очень высокий КПД Отсюда небольшие габариты и небольшая рассеиваемая мощность Усилители меньшей мощности легко интегрируются в микросхемы, что обеспечивает им широкое применение

Особенностью такого решения является использование выходных транзисторов в ключевом режиме, то есть, транзистор либо включён, либо выключен В обоих случаях мощность, рассеиваемая на транзисторе минимальна

Очень часто  режим ШИМ (PWM) используют для регулировки скорости вращения двигателей постоянного тока Это можно использовать в любых моделях автомобилей или катеров для управления их движения

Модуль есть не во всех микроконтроллерах Но там, где его нет, можно организовать работу, правда, с меньшими удобствами, программно, используя один из выходов порта

Для микроконтроллера PIC16F628A, у которого есть модуль PWM, добавить его в программу можно, используя раздел основного меню Мехатроника К сожалению, использование макроса компонента PWM не столь очевидно, как других макросов А преимущество использования модуля перед программной реализацией в том, что вывод сигнала не прекращается при изменении настроек выходных импульсов

В программе, куда мы добавили две кнопки (задействовали опрос двух входов), будем управлять скважностью импульсов, первая кнопка будет увеличивать длительность включённого состояния выхода, а вторая уменьшать (для них созданы переменные more и less)

Как настроить макрос компонента PWM

Начнём с того, что разрешим работу модуля, добавив до входа в цикл блок инициализации, где будет первое обращение к макросу

Рис 2528 Разрешение работы модуля PWM

Параметр nldx(BYTE) относится к выбору канала, поскольку есть модели микроконтроллеров имеющие несколько каналов выхода для импульсов Номер канала имеет тип байт, то есть, его значение не может превышать 255

Теперь зададим период колебаний

Рис 2529 Задание периода колебаний

Два параметра, которые следует задать: nPeriodVal(BYTE) и nPrescalerVal(BYTE) Первый относится к периоду, второй задаёт коэффициент деления тактовой частоты, оба типа байт Если не задать

слово конфигурации и не выбрать частоту генератора, то возникнет явная ошибка в ожидаемом и реальном периоде колебаний (в микросекундах)

Затем создадим переменную pulse_h, для которой в блоке инициализации программы зададим значение равное 10

Последний макрос компонента в блоке инициализации задаёт начальное значение скважности

Рис 2530 Задание начального значения длительности импульса

Здесь  фигурирует  уже  знакомый  нам  параметр  –  номер  канала,  а  в  качестве  начальной длительности мы выберем переменную

Далее  мы  добавляем,  как  обычно,  бесконечный  цикл,  внутри  которого  опрашиваем  первую кнопку:

Если кнопка нажата (на входе ноль), то мы увеличим переменную, я увеличиваю её на 10 Затем новую переменную отправляем в модуль PWM, меняя длительность импульса вызовом макроса

Перед этими операциями стоит пауза в 2 секунды Столь длительная пауза удобна при отладке Но и после отладки паузу следует добавить, чтобы кнопка выполняла одно изменение за одно нажатие Можно и не добавлять паузу, но тогда следует предусмотреть блок программы, который позволит ей продолжаться только тогда, когда вы отпустите кнопку Мы так уже делали

Рис 2531 Начало основной программы

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

Запустив программу, вы можете убедиться, что импульсы на выходе (RВ3) есть, и  что, манипулируя кнопками, вы можете удлинить или укоротить импульс

Рис 2532 Управление длительностью импульса

Если вы ещё не приняли решение о  сборке генератора прямоугольных импульсов для своей лаборатории, то можете использовать этот механизм Если используете PIC16F628A, ATmega168 или аналогичный контроллер, у которого есть ШИМ

Источник: Гололобов ВН,- Самоучитель игры на паяльнике (Об электронике для школьников и не только), – Москва 2012

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты