Широтно-импульсная модуляция, ШИМ, PWM, управление, регулирование, регулятор, модулятор. Что такое шим Постоянное напряжение из шим

Раньше для питания устройств использовали схему с понижающим (или повышающим, или многообмоточным) трансформатором, диодным мостом, фильтром для сглаживания пульсаций. Для стабилизации использовались линейные схемы на параметрических или интегральных стабилизаторах. Главным недостатком был низкий КПД и большой вес и габариты мощных блоков питания.

Во всех современных бытовых электроприборах используются импульсные блоки питания (ИБП, ИИП - одно и то же). В большинстве таких блоков питания в качестве основного управляющего элемента используют ШИМ-контроллер. В этой статье мы рассмотрим его устройство и назначение.

Определение и основные преимущества

ШИМ-контроллер - это устройство, которое содержит в себе ряд схемотехнических решений для управления силовыми ключами. При этом управление происходит на основании информации полученной по цепям обратной связи по току или напряжению - это нужно для стабилизации выходных параметров.

Иногда, ШИМ-контроллерами называются генераторы ШИМ-импульсов, но в них нет возможности подключить цепи обратной связи, и они подходят скорее для регуляторов напряжения, чем для обеспечения стабильного питания приборов. Однако в литературе и интернет-порталах часто можно встретить названия типа «ШИМ-контроллер, на NE555» или «… на ардуино» - это не совсем верно по вышеуказанным причинам, они могут использоваться только для регулирования выходных параметров, но не для их стабилизации.

Аббревиатура «ШИМ» расшифровывается, как широтно-импульсная модуляция - это один из методов модуляции сигнала не за счёт величины выходного напряжения, а именно за счёт изменения ширины импульсов. В результате формируется моделируемый сигнал за счёт интегрирования импульсов с помощью C- или LC-цепей, другими словами - за счёт сглаживания.

Вывод: ШИМ-контроллер - устройство, которое управляет ШИМ-сигналом.

Основные характеристики

Для ШИМ-сигнала можно выделить две основных характеристики:

1. Частота импульсов - от этого зависит рабочая частота преобразователя. Типовыми являются частоты выше 20 кГц, фактически 40-100 кГц.

2. Коэффициент заполнения и скважность. Это две смежных величины характеризующие одно и то же. Коэффициент заполнения может обозначаться буквой S, а скважность D.

где T - это период сигнала,

Часть времени от периода, когда на выходе контроллера формируется управляющий сигнал, всегда меньше 1. Скважность всегда больше 1. При частоте 100 кГц период сигнала равен 10 мкс, а ключ открыт в течении 2.5 мкс, то коэффициент заполнения - 0.25, в процентах - 25%, а скважность равна 4.

Также важно учитывать внутреннюю конструкцию и предназначение по количеству управляемых ключей.

Отличия от линейных схем потери

Как уже было сказано, преимуществом перед линейными схемами является высокий КПД (больше 80, а в настоящее время и 90%). Это обусловлено следующим:

Допустим сглаженное напряжение после диодного моста равно 15В, ток нагрузки 1А. Вам нужно получить стабилизированное питание напряжением 12В. Фактически линейный стабилизатор представляет собой сопротивление, которое изменяет свою величину в зависимости от величины входного напряжения для получения номинального выходного - с небольшими отклонениями (доли вольт) при изменениях входного (единицы и десятки вольт).

На резисторах, как известно, при протекании через них электрического тока выделяется тепловая энергия. На линейных стабилизаторах происходит такой же процесс. Выделенная мощность будет равна:

Pпотерь=(Uвх-Uвых)*I

Так как в рассмотренном примере ток нагрузки 1А, входное напряжение 15В, а выходное - 12В, то рассчитаем потери и КПД линейного стабилизатора (КРЕНка или типа L7812):

Pпотерь=(15В-12В)*1А = 3В*1А = 3Вт

Тогда КПД равен:

n=Pполезная/Pпотр

n=((12В*1А)/(15В*1А))*100%=(12Вт/15Вт)*100%=80%

Основной особенностью ШИМ является то, что силовой элемент, пусть это будет MOSFET, либо открыт полностью, либо полностью закрыт и ток через него не протекает. Поэтому потери КПД обусловлены только потерями проводимости

И потерями переключения. Это тема для отдельной статьи, поэтому не будем останавливаться на этом вопросе. Также потери блока питания возникают (входных и выходных, если блок питания сетевой), а также на проводниках, пассивных элементах фильтра и прочем.

Общая структура

Рассмотрим общую структуру абстрактного ШИМ-контроллер. Я употребил слово "абстрактного" потому что, в общем, все они похожи, но их функционал все же может отличаться в определенных пределах, соответственно будет отличаться структура и выводы.

Внутри ШИМ-контроллера, как и в любой другой ИМС находится полупроводниковый кристалл, на котором расположена сложная схема. В состав контроллера входят следующие функциональные узлы:

1. Генератор импульсов.

2. Источник опорного напряжения. (ИОН)

3. Цепи для обработки сигнала обратной связи (ОС): усилитель ошибки, компаратор.

4. Генератор импульсов управляет встроенными транзисторами , которые предназначены для управления силовым ключом или ключами.

Количество силовых ключей, которыми может управлять ШИМ-контроллер, зависит от его предназначения. Простейшие обратноходовые преобразователи в своей схеме содержат 1 силовой ключ, полумостовые схемы (push-pull) - 2 ключа, мостовые - 4.

От типа ключа также зависит выбор ШИМ-контроллера. Для управления биполярным транзистором основным требованием является, чтобы выходной ток управления ШИМ-контроллера не был ниже, чем ток транзистора деленный на H21э, чтобы его включать и отключать достаточно просто подавать импульсы на базу. В этом случае подойдет большинство контроллеров.

В случае управления есть определенные нюансы. Для быстрого отключения нужно разрядить емкость затвора. Для этого выходную цепь затвора выполняют из двух ключей - один из них соединен с источником питания с выводом ИМС и управляет затвором (включает транзистор), а второй установлен между выходом и землей, когда нужно отключить силовой транзистор - первый ключ закрывается, второй открывается, замыкая затвор на землю и разряжает его.

Интересно:

В некоторых ШИМ-контроллрах для маломощных блоков питания (до 50 Вт) силовые ключи встроенные и внешние не используются. Пример - 5l0830R

Если говорить обобщенно, то ШИМ-контроллер можно представить в виде компаратора, на один вход которого подан сигнал с цепи обратной связи (ОС), а на второй вход пилообразный изменяющийся сигнал. Когда пилообразный сигнал достигает и превышает по величине сигнал ОС, то на выходе компаратора возникает импульс.

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

Функциональная схема ШИМ-контроллера на примере TL494, мы рассмотрим его позже подробнее. Назначение выводов и отдельных узлов описано в следующем подзаголовке.

Назначение выводов

ШИМ-контроллеры выпускаются в различных корпусах. Выводов у них может быть от трех до 16 и более. Соответственно от количества выводов, а вернее их назначения зависит гибкость использования контроллера. Например, в популярной микросхеме - чаще всего 8 выводов, а в еще более культовой - TL494 - 16 или 24.

Поэтому рассмотрим типовые названия выводов и их назначение:

    GND - общий вывод соединяется с минусом схемы или с землей.

    Uc (Vc) - питание микросхемы.

    Ucc (Vss, Vcc) - Вывод для контроля питания. Если питание проседает, то возникает вероятность того, что силовые ключи не будут полностью открываться, а из-за этого начнут греться и сгорят. Вывод нужен чтобы отключить контроллер в подобной ситуации.

    OUT - как видно из название - это выход контроллера. Здесь выводятся управляющий ШИМ-сигнал для силовых ключей. Выше мы упомянули, что в преобразователях разных топологий имеют разное количество ключей. Название вывода может отличаться в зависимости от этого. Например, в контроллерах для полумостовых схем он может называться HO и LO для верхнего и нижнего ключа соответственно. При этом и выход может быть однотактный и двухтактный (с одним ключем и двумя) - для управления полевыми транзисторами (пояснение см. выше). Но и сам контроллер может быть для однотактной и двухтактной схемы - с одним и двумя выходными выводами соответственно. Это важно.

    Vref - опорное напряжения, обычно соединяется с землей через небольшой конденсатор (единицы микрофарад).

    ILIM - сигнал с датчика тока. Нужен для ограничения выходного тока. Соединяется с цепями обратной связи.

    ILIMREF - на ней устанавливается напряжение срабатывания ножки ILIM

    SS - формируется сигнал для мягкого старта контроллера. Предназначен для плавного выхода на номинальный режим. Между ней и общим проводом для обеспечения плавного пуска устанавливают конденсатор.

    RtCt - выводы для подключения времязадающей RC-цепи, которая определяет частоту ШИМ-сигнала.

    CLOCK - тактовые импульсы для синхронизации нескольких ШИМ-контроллеров между собой тогда RC-цепь подключается только к ведущему контроллеру, а RT ведомых с Vref, CT ведомых соединяюся с общим.

    RAMP - это ввод сравнения. На него подают пилообразное напряжение, например с вывода Ct, Когда оно превышает значение напряжение на выходе усиления ошибки, то на OUT появляется отключающий импульс - основа для ШИМ-регулирования.

    INV и NONINV - это инвертирующий и неинвертирующий входы компаратора, на котором построен усилитель ошибки. Простыми словами: чем больше напряжении на INV - тем длинее выходные импульсы и наоборот. К нему подключается сигнал с делителя напряжения в цепи обратной связи с выхода. Тогда неинвертирующий вход NONINV подключают к общему проводу - GND.

    EAOUT или Error Amplifier Output рус. Выход усилителя ошибки. Не смотря на то, что есть входы усилителя ошибки и с их помощью, в принципе можно регулировать выходные параметры, но контроллер довольно медленно на это реагирует. В результате медленной реакции может возникнуть возбуждение схемы, и она выйдет из строя. Поэтому с этого вывода через частотозависимые цепи подают сигналы на INV. Это еще называется частотной коррекцией усилителя ошибки.

Примеры реальных устройств

Для закрепления информации давайте рассмотрим несколько примеров типовых ШИМ-контроллеров и их схем включения. Мы будем делать это на примере двух микросхем:

    TL494 (её аналоги: KA7500B, КР1114ЕУ4, Sharp IR3M02, UA494, Fujitsu MB3759);

Они активно используются . Кстати, эти блоки питания обладают немалой мощностью (100 Вт и больше по 12В шине). Часто используются в качестве донора для переделки под лабораторный блок питания или универсальное мощное зарядное устройство, например для автомобильных аккумуляторов.

TL494 - обзор

Начнем с 494-й микросхемы. Её технические характеристики:

В этом конкретном примере можно видеть большинство описанных выше выводов:

1. Неинвертирующий вход первого компаратора ошибки

2. Инвертирующий вход первого компаратора ошибки

3. Вход обратной связи

4. Вход регулировки мертвого времени

5. Вывод для подключения внешнего времязадающего конденсатора

6. Вывод для подключения времязадающего резистора

7. Общий вывод микросхемы, минус питания

8. Вывод коллектора первого выходного транзистора

9. Вывод эмиттера первого выходного транзистора

10. Вывод эмиттера второго выходного транзистора

11. Вывод коллектора второго выходного транзистора

12. Вход подачи питающего напряжения

13. Вход выбора однотактного или же двухтактного режима работы микросхемы

14. Вывод встроенного источника опорного напряжения 5 вольт

15. Инвертирующий вход второго компаратора ошибки

16. Неинвертирующий вход второго компаратора ошибки

На рисунке ниже изображен пример компьютерного блока питания на этой микросхеме.

UC3843 - обзор

Другой популярной ШИМ является микросхема 3843 - на ней также строятся компьютерные и не только блоки питания. Её цоколевка расположена ниже, как вы можете наблюдать, у неё всего 8 выводов, но функции она выполняет те же, что и предыдущая ИМС.

Интересно:

Бывает UC3843 и в 14-ногом корпусе, но встречаются гораздо реже. Обратите внимание на маркировку - дополнительные выводы либо дублируются, либо незадействованы (NC).

Расшифруем назначением выводов:

1. Вход компаратора (усилителя ошибки).

2. Вход напряжения обратной связи. Это напряжение сравнивается с опорным внутри ИМС.

3. Датчик тока. Подключается к резистору стоящему в между силовым транзистором и общим проводом. Нужен для защиты от перегрузок.

4. Времязадающая RC-цепь. С её помощью задаётся рабочая частота ИМС.

6. Выход. Управляющее напряжение. Подключается к затвору транзистора, здесь двухтактный выходной каскад для управления однотактным преобразователем (одним транзистором), что можно наблюдать на рисунке ниже.

Понижающего (Buck), повышающего (Boost) и понижающее-повышающего (Buck-Boost) типов.

Пожалуй, одним из наиболее удачных примеров будет распространенная микросхема LM2596, на базе которого на рынке можно найти массу таких преобразователей, как изображен ниже.

Такая микросхема содержит в себе все вышеописанные технические решения, а также вместо выходного каскада на маломощных ключах в ней встроен силовой ключ, способный выдержать ток до 3А. Ниже изображена внутренняя структура такого преобразователя.

Можно убедиться, что в сущности особых отличий от рассмотренных в ней нет.

А вот пример на подобном контроллере, как видите силового ключа нет, а только микросхема 5L0380R с четырьмя выводами. Отсюда следует, что в определенных задачах сложная схемотехника и гибкость TL494 просто не нужна. Это справедливо для маломощных блоков питания, где нет особых требований к шумам и помехам, а выходные пульсации можно погасить LC-фильтром. Это блок питания для светодиодных лент, ноутбуков, DVD-плееров и прочее.

Заключение

В начале статьи было сказано о том, что ШИМ-контроллер это устройство которое моделирует среднее значение напряжения за счет изменения ширина импульсов на основании сигнала с цепи обратной связи. Отмечу, что названия и классификация у каждого автора часто отличается, иногда ШИМ-контроллером называют простой ШИМ-регулятор напряжения, а описанное в этой статьей семейство электронных микросхем называют «Интегральная подсистема для импульсных стабилизированных преобразователей». От названия суть не меняется, но возникают споры и недопонимания.

Широтно-импульсная модуляция (ШИМ) – это метод преобразования сигнала, при котором изменяется длительность импульса (скважность), а частота остаётся константой. В английской терминологии обозначается как PWM (pulse-width modulation). В данной статье подробно разберемся, что такое ШИМ, где она применяется и как работает.

Область применения

С развитием микроконтроллерной техники перед ШИМ открылись новые возможности. Этот принцип стал основой для электронных устройств, требующих, как регулировки выходных параметров, так и поддержания их на заданном уровне. Метод широтно-импульсной модуляции применяется для изменения яркости света, скорости вращения двигателей, а также в управлении силовым транзистором блоков питания (БП) импульсного типа.

Широтно-импульсная (ШИ) модуляция активно используется в построении систем управления яркостью светодиодов. Благодаря низкой инерционности, светодиод успевает переключаться (вспыхивать и гаснуть) на частоте в несколько десятков кГц. Его работа в импульсном режиме воспринимается человеческим глазом как постоянное свечение. В свою очередь яркость зависит от длительности импульса (открытого состояния светодиода) в течение одного периода. Если время импульса равно времени паузы, то есть коэффициент заполнения – 50%, то яркость светодиода будет составлять половину от номинальной величины. С популяризацией светодиодных ламп на 220В стал вопрос о повышении надёжности их работы при нестабильном входном напряжении. Решение было найдено в виде универсальной микросхемы – драйвера питания, работающего по принципу широтно-импульсной или частотно-импульсной модуляции. Схема на базе одного из таких драйверов детально описана .

Подаваемое на вход микросхемы драйвера сетевое напряжение постоянно сравнивается с внутрисхемным опорным напряжением, формируя на выходе сигнал ШИМ (ЧИМ), параметры которого задаются внешними резисторами. Некоторые микросхемы имеют вывод для подачи аналогового или цифрового сигнала управления. Таким образом, работой импульсного драйвера можно управлять с помощью другого ШИ-преобразователя. Интересно, что на светодиод поступают не высокочастотные импульсы, а сглаженный дросселем ток, который является обязательным элементом подобных схем.

Масштабное применение ШИМ отражено во всех LCD панелях со светодиодной подсветкой. К сожалению, в LED мониторах большая часть ШИ-преобразователей работает на частоте в сотни Герц, что негативно отражается на зрении пользователей ПК.

Микроконтроллер Ардуино тоже может функционировать в режиме ШИМ контроллера. Для этого следует вызвать функцию AnalogWrite() с указанием в скобках значения от 0 до 255. Ноль соответствует 0В, а 255 – 5В. Промежуточные значения рассчитываются пропорционально.

Повсеместное распространение устройств, работающих по принципу ШИМ, позволило человечеству уйти от трансформаторных блоков питания линейного типа. Как результат – повышение КПД и снижение в несколько раз массы и размеров источников питания.

ШИМ-контроллер является неотъемлемой частью современного импульсного блока питания. Он управляет работой силового транзистора, расположенного в первичной цепи импульсного трансформатора. За счёт наличия цепи обратной связи напряжение на выходе БП всегда остаётся стабильным. Малейшее отклонение выходного напряжения через обратную связь фиксируется микросхемой, которая мгновенно корректирует скважность управляющих импульсов. Кроме этого современный ШИМ-контроллер решает ряд дополнительных задач, способствующих повышению надёжности источника питания:

  • обеспечивает режим плавного пуска преобразователя;
  • ограничивает амплитуду и скважность управляющих импульсов;
  • контролирует уровень входного напряжения;
  • защищает от короткого замыкания и превышения температуры силового ключа;
  • при необходимости переводит устройство в дежурный режим.

Принцип работы ШИМ контроллера

Задача ШИМ контроллера состоит в управлении силовым ключом за счёт изменения управляющих импульсов. Работая в ключевом режиме, транзистор находится в одном из двух состояний (полностью открыт, полностью закрыт). В закрытом состоянии ток через p-n-переход не превышает несколько мкА, а значит, мощность рассеивания стремится к нулю. В открытом состоянии, несмотря на большой ток, сопротивление p-n-перехода чрезмерно мало, что также приводит к незначительным тепловым потерям. Наибольшее количество тепла выделяется в момент перехода из одного состояния в другое. Но за счёт малого времени переходного процесса по сравнению с частотой модуляции, мощность потерь при переключении незначительна.

Широтно-импульсная модуляция разделяется на два вида: аналоговая и цифровая. Каждый из видов имеет свои преимущества и схемотехнически может реализовываться разными способами.

Аналоговая ШИМ

Принцип действия аналогового ШИ-модулятора основан на сравнении двух сигналов, частота которых отличается на несколько порядков. Элементом сравнения выступает операционный усилитель (компаратор). На один из его входов подают пилообразное напряжение высокой постоянной частоты, а на другой – низкочастотное модулирующее напряжение с переменной амплитудой. Компаратор сравнивает оба значения и на выходе формирует прямоугольные импульсы, длительность которых определяется текущим значением модулирующего сигнала. При этом частота ШИМ равна частоте сигнала пилообразной формы.

Цифровая ШИМ

Широтно-импульсная модуляция в цифровой интерпретации является одной из многочисленных функций микроконтроллера (МК). Оперируя исключительно цифровыми данными, МК может формировать на своих выходах либо высокий (100%), либо низкий (0%) уровень напряжения. Однако в большинстве случаев для эффективного управления нагрузкой напряжение на выходе МК необходимо изменять. Например, регулировка скорости вращения двигателя, изменение яркости светодиода. Что делать, чтобы получить на выходе микроконтроллера любое значение напряжения в диапазоне от 0 до 100%?

Вопрос решается применением метода широтно-импульсной модуляции и, используя явление передискретизации, когда заданная частота переключения в несколько раз превышает реакцию управляемого устройства. Изменяя скважность импульсов, меняется среднее значение выходного напряжения. Как правило, весь процесс происходит на частоте в десятки-сотни кГц, что позволяет добиться плавной регулировки. Технически это реализуется с помощью ШИМ-контроллера – специализированной микросхемы, которая является «сердцем» любой цифровой системы управления. Активное использование контроллеров на основе ШИМ обусловлено их неоспоримыми преимуществами:

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

Получить на выводах микроконтроллера ШИМ сигнал можно двумя способами: аппаратно и программно. В каждом МК имеется встроенный таймер, который способен генерировать ШИМ импульсы на определённых выводах. Так достигается аппаратная реализация. Получение ШИМ сигнала с помощью программных команд имеет больше возможностей в плане разрешающей способности и позволяет задействовать большее количество выводов. Однако программный способ ведёт к высокой загрузке МК и занимает много памяти.

Примечательно, что в цифровой ШИМ количество импульсов за период может быть различным, а сами импульсы могут быть расположены в любой части периода. Уровень выходного сигнала определяется суммарной длительностью всех импульсов за период. При этом следует понимать, что каждый дополнительный импульс – это переход силового транзистора из открытого состояния в закрытое, что ведёт к росту потерь во время переключений.

Пример использования ШИМ регулятора

Один из вариантов реализации ШИМ простого регулятора уже описывался ранее в . Он построен на базе микросхемы и имеет небольшую обвязку. Но, несмотря на простату схемы, регулятор имеет довольно широкую область применения: схемы управления яркости светодиодов, светодиодных лент, регулировка скорость вращения двигателей постоянного тока.

Читайте так же

ШИМ или PWM (англ. Pulse-Width Modulation) — широтно-импульсная модуляция — это метод предназначен для контроля величины напряжения и тока. Действие ШИМ заключается в изменении ширины импульса постоянной амплитуды и постоянной частотой.

Свойства ШИМ регулирования используются в импульсных преобразователях, в схемах управления двигателями постоянного тока или яркостью свечения светодиодов.

Принцип действия ШИМ

Принцип действия ШИМ, как указывает на это само название, заключается в изменении ширины импульса сигнала. При использовании метода широтно-импульсной модуляции, частота сигнала и амплитуда остаются постоянными. Самым важным параметром сигнала ШИМ является коэффициент заполнения, который можно определить по следующей формуле:

Также можно отметить, что сумма времени высокого и низкого сигнала определяет период сигнала:

  • Ton — время высокого уровня
  • Toff — время низкого уровня
  • T — период сигнала

Время высокого уровня и время низкого уровня сигнала показано на нижнем рисунке. Напряжение U1- это состояния высокого уровня сигнала, то есть его амплитуда.

На следующем рисунке представлен пример сигнала ШИМ с определенным временным интервалом высокого и низкого уровня.

Расчет коэффициента заполнения ШИМ

Расчет коэффициента заполнения ШИМ на примере:

Для расчета процентного коэффициента заполнения необходимо выполнить аналогичные вычисления, а результат умножить на 100%:

Как следует из расчета, на данном примере, сигнал (высокого уровня) характеризуется заполнением, равным 0,357 или иначе 37,5%. Коэффициент заполнения является абстрактным значением.

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

Значение T, в нашем примере, следует взять уже в секундах для того, чтобы совпали единицы в формуле. Поскольку, формула частоты имеет вид 1/сек, поэтому 800ms переведем в 0,8 сек.

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

Для вычисления среднего значения напряжения ШИМ необходимо знать коэффициент заполнения, поскольку среднее значение напряжения является произведением коэффициента заполнения и амплитуды напряжения сигнала.
Для примера, коэффициент заполнения был равен 37,5% (0,357) и амплитуда напряжения U1 = 12В даст среднее напряжение Uср:

В этом случае среднее напряжение сигнала ШИМ составляет 4,5 В.

ШИМ дает очень простую возможность понижать напряжение в диапазоне от напряжения питания U1 и до 0. Это можно использовать, например, для , или скорости вращения двигателя DC (постоянного тока), питающиеся от величины среднего напряжения.

Сигнал ШИМ может быть сформирован микроконтроллером или аналоговой схемой. Сигнал от таких схем характеризуется низким напряжением и очень малым выходным током. В случае необходимости регулирования мощных нагрузок, следует использовать систему управления, например, с помощью транзистора.

Это может быть биполярный или полевой транзистор. На следующих примерах будет использован .



Пример управления светодиодом при помощи ШИМ.

Сигнал ШИМ поступает на базу транзистора VT1 через резистор R1, иначе говоря, транзистор VT1 с изменением сигнала то включается, то выключается. Это подобно ситуации, при которой транзистор можно заменить обычным выключателем, как показано ниже:


Когда переключатель замкнут, светодиод питается через резистор R2 (ограничивающий ток) напряжением 12В. А когда переключатель разомкнут, цепь прерывается, и светодиод гаснет. Такие переключения с малой частотой в результате дадут .

Однако, если необходимо управлять интенсивностью свечения светодиодов необходимо увеличить частоту сигнала ШИМ, так, чтобы обмануть человеческий глаз. Теоретически переключения с частотой 50 Гц уже не незаметны для человеческого глаза, что в результате дает эффект уменьшения яркости свечения светодиода.

Чем меньше коэффициент заполнения, тем слабее будет светиться светодиод, поскольку во время одного периода светодиод будет гореть меньшее время.

Такой же принцип и подобную схему можно использовать и для . В случае двигателя необходимо, однако, применять более высокую частоту переключений (выше 15-20 кГц) по двум причинам.

Первая из них касается звука, какой может издавать двигатель (неприятный писк). Частота 15-20 кГц является теоретической границей слышимости человеческого уха, поэтому частоты выше этой границы будут неслышны.

Второй вопрос касается стабильности работы двигателя. При управлении двигателем низкочастотным сигналом с малым коэффициентом заполнения, обороты двигателя будут нестабильны или может привести к его полной остановке. Поэтому, чем выше частота сигнала ШИМ, тем выше стабильность среднего выходного напряжения. Также меньше пульсаций напряжения.

Не следует, однако, слишком завышать частоту сигнала ШИМ, так как при больших частотах транзистор может не успеть полностью открыться или закрыться, и схема управления будет работать не правильно. Особенно это относится к полевым транзисторам, где время перезарядки может быть относительно большое, в зависимости от конструкции.

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

Управляя , следует помнить о применении диода для защиты транзистор VТ1 от индукционных всплесков, появляющимся в момент выключения транзистора. Благодаря использованию диода, индукционный импульс разряжается через него и внутреннее сопротивление двигателя, защищая тем самым транзистор.



Схема системы управления скоростью вращения двигателя постоянного тока с защитным диодом.

Для сглаживания всплесков питания между клеммами двигателя, можно подключить к ним параллельно конденсатор небольшой емкости (100nF), который будет стабилизировать напряжение между последовательными переключениями транзистора. Это также снизит помехи, создаваемые частыми переключениями транзистора VT1.


"Документация" - техническая информация по применению электронных компонентов , особенностях построения различных радиотехнических и электронных схем , а также документация по особенностям работы с инженерным программным обеспечением и нормативные документы (ГОСТ).

Фирма Microchip продолжает разработку и производство передовых продуктов, предоставляющих пользователю большую функциональность, гибкость и надежность. Микроконтроллеры PICmicro используются во многих приборах повседневного спроса - от стиральных машин и автомобильной техники до медицинских приборов. Модуль сравнения, захвата и ШИМ (ССР), который присутствует во многих микроконтроллерах Microchip, используется в основном для измерения и формирования импульсных сигналов. Расширенный модуль ССР (enhanced CCP - ECCP), имеющийся во многих новых микроконтроллерах, предоставляет дополнительные возможности для формирования широтно-импульсной модуляции (ШИМ). Модуль ЕССР обеспечивает поддержку управления мостовыми и полумостовыми схемами управления, программируемое время задержки переключения (для предотвращения протекания сквозных токов через внешние силовые ключи, связанного с их разным временем переключения) и возможность автоматического выключения ШИМ при аварийных ситуациях. Модули ССР и ЕССР имеют широкие области применения. Эта статья описывает основные принципы использования данных модулей в каждом режиме, а также "нестандартные" варианты использования в практических решениях.

Модуль захвата (capture)

В режиме захвата 16-битное значение таймера (Timer 1) захватывается в регистр CCPRxH:CCPRxL при каждом событии на входе CCPx. Событие для захвата задается в регистре CCPxCON:
  • каждый спад входного сигнала;
  • каждый фронт входного сигнала;
  • каждый 4-й фронт входного сигнала;
  • каждый 16-й фронт входного сигнала.

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

Пример 1. Измерение периода дискретного сигнала (рис. 1).

Рис. 1. Измерение периода

    • вычитаем сохраненное время (t1) из захваченного значения времени (t2) и сохраняем результат периода Т;
    • сохраняем захваченное время t2.

Пример 2. Измерение периода с усреднением результата (рис. 2).


Рис. 2. Измерение периода с усреднением результата

Усреднение результата измерений часто требуется при зашумленном входном сигнале. Модуль ССР в PIC-контроллерах Microchip позволяет выполнить усреднение с минимальными программными издержками.

  1. Конфигурируем управляющие биты CCPxM3:CCPxM0 (CCPxCON) на захват по каждому 16-му фронту входного сигнала.
  2. Конфигурируем предделитель Timer1 так, чтобы не происходило переполнение таймера за измеряемое время.
  3. Разрешаем прерывание от CCP (бит CCPxIE).
  4. При возникновении прерывания:
    • вычитаем сохраненное время (t1) из захваченного значения времени (t2) и сохраняем результат 16 периодов (168Т);
    • сохраняем захваченное время t2;
    • сдвигаем полученный результат на 4 шага вправо (деление на 16) - получаем усредненный результат за 16 периодов.

Пример 3. Измерение длительности импульса (рис. 3).


Рис. 3. Измерение длительности импульса

  1. Конфигурируем управляющие биты CCPxM3:CCPxM0 (CCPxCON) на захват по каждому фронту входного сигнала.
  2. Конфигурируем предделитель Timer1 так, чтобы не происходило переполнение таймера за время измеряемого импульса.
  3. Разрешаем прерывание от CCP (бит CCPxIE).
  4. При следующем прерывании вычитаем из t1 новое захваченное значение. Результат будет соответствовать длительности импульса.

Пример 4. Измерение скважности импульсов (рис. 4).


Рис. 4. Измерение скважности импульсов

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

  1. Конфигурируем управляющие биты CCPxM3:CCPxM0 (CCPxCON) на захват по каждому фронту входного сигнала.
  2. Конфигурируем предделитель таймера 1 так, чтобы не происходило переполнение таймера за время TMAX (максимально возможная длительность периода).
  3. Разрешаем прерывание от CCP (бит CCPxIE).
  4. При возникновении прерывания сохраняем захваченное значение таймера (t1) и переконфигурируем захват по спаду импульса.
  5. При следующем прерывании вычитаем из t1 новое захваченное значение t2. Этот результат будет соответствовать длительности импульса (W).
  6. Переконфигурируем модуль ССР на захват по следующему фронту импульса.
  7. При возникновении прерывания вычитаем из t1 новое захваченное значение t3. Этот результат будет соответствовать периоду (Т).
  8. Разделить значение T на W - получим значение скважности.
  9. Повторять пп. 4-8 для получения следующих значений скважности.

Пример 5. Измерение скорости вращения энкодера.


Рис. 5. Оптический энкодер

Скорость вращения энкодера может быть измерена разными способами. Два наиболее часто встречающихся типа датчиков в энкодерах - это оптический сенсор и датчики Холла. Оптические энкодеры используют инфракрасный светодиод и датчик, а также колесо с прорезями, модулирующими световой поток (рис. 5). Другой тип использует чувствительные к магнитному полю датчики Холла, с помощью которых можно определять положение магнитов в электромоторе или постоянных магнитов, закрепленных на вращающемся объекте (рис. 6).


Рис. 6. Энкодер с датчиками Холла

Такой датчик выдает один или несколько импульсов на один оборот объекта. На рис. 7 показаны временные диаграммы при разных скоростях вращения. При увеличении скорости вращения период импульсов и их длительность становятся меньше. Период и длительность импульса пропорциональны скорости вращения. Для получения большей разрешающей способности лучше использовать датчики с несколькими импульсами на 1 оборот. Описание измерения периода для определения скорости вращения энкодера см. в примере 1, а метод усреднения измерений периода - в примере 2.


Рис. 7. Выход энкодера при разных скоростях вращения

Пример 6. Измерение периода аналогового сигнала.


Рис. 8. Схема измерения периода аналогового сигнала

Микроконтроллер со встроенным аналоговым компаратором и модулем CCP или ЕССР может быть легко использован для измерения периода аналогового сигнала. На рис. 8 приведен пример схемы с использованием периферийных модулей контроллера PIC16F684. Резисторы R3 и R4 задают порог срабатывания компаратора. При пересечении входным сигналом уровня порога, выходной уровень напряжения компаратора переключается между 0 и 1. Резисторы R1 и R2 задают гистерезис для предотвращения "дребезга" при равенстве порогового и входного напряжений. Рис. 9 демонстрирует эффект гистерезиса.

Рис. 9. Диаграммы в контрольных точках

Модуль ССР конфигурируется в режим захвата для измерения периода на выходе компаратора.

Модуль сравнения (compare)

В режиме сравнения 16-разрядные значения регистра CCPRx сравниваются с состоянием таймера. При совпадении происходит прерывание и вывод контроллера CCPx:

  • устанавливается в 1;
  • устанавливается в 0;
  • состояние не меняется;
  • переключается конфигурация модуля.

Реакция вывода определяется битами управляющего регистра CCPxCON .

Триггер специальных событий

Таймер 1 обычно не сбрасывается в 0 при возникновении прерывания от модуля CCP в режиме сравнения, кроме случая конфигурации модуля в режим Триггера специального события. В этом режиме, когда значения таймера и регистра CCPRx равны, формируется прерывание, таймер 1 очищается и автоматически запускается преобразование АЦП (если это разрешено).

Работа модуля в режиме сравнения подобна функции таймера в обычном секундомере. В случае секундомера определенное время загружается в часы и производится отсчет в обратном порядке с установленного времени до достижения нуля. Отличие работы таймера в режиме сравнения заключается в том, что время отсчитывается от нуля до установленного значения. Этот способ полезен для того, чтобы произвести определенные действия в точные интервалы времени. Обычный режим работы таймера может использоваться для исполнения тех же самых функций, однако в этом случае таймер нужно будет перезагружать каждый раз. Режим сравнения также может автоматически изменять состояние вывода CCPx.

Пример 7. Формирование модулирующих импульсов для различных форматов передачи данных.


Рис. 10. Широтно-импульсная (ШИМ)

Модуль ССР в режиме сравнения может использоваться для формирования различных форматов модуляции. На рис. 10-12 приведены различные варианты представления 0 и 1 в различных форматах передачи данных. Передача данных похожа на асинхронную передачу данных, содержащую СТАРТ-бит, восемь информационных бит и СТОП-бит. Время ТЕ является базовым временным элементом в каждом формате модуляции и задает скорость передачи данных. Триггер специального события может использоваться для формирования времени ТЕ. При возникновении прерывания от CCP подпрограмма обработки прерывания формирует требуемый формат передачи данных.

Рис. 11. Манчестерская модуляция

Рис. 12. Модуляция положением импульса

Пример 8.

Обычно стандартные модули ШИМ имеют разрядность в 10 бит. Модуль ССР в режиме сравнения может использоваться для формирования ШИМ с 16-разрядной точностью. Для этого:

  1. Настраиваем модуль ССР на установку вывода ССРх в "0" в режиме сравнения.
  2. Разрешаем прерывание от Timer 1.
  3. Записываем значение периода в Timer1 и его предделитель.
  4. Устанавливаем длительность импульса в регистр сравнения CCPRxL и CCPRxH.
  5. Устанавливаем выход ССРх в "1" при возникновении прерывания от переполнения Timer1. Следует заметить, что маленькие значения длительности импульса не могут быть сформированы из-за конечного времени обработки прерывания от Timer1. Это не сказывается на периоде формируемого сигнала, так как время выполнения прерывания от периода к периоду будет одинаковым.

Рис. 13. Формирование 16-разрядной ШИМ

Таймер Timer1 имеет четыре значения предделителя: 1:1, 1:2, 1:4 и 1:8. Возможная формируемая частота рассчитывается по формуле:

F PWM = F OSC /(65536 x 4 x предделитель)

Для микроконтроллера, работающего на частоте FOSC = 20 МГц, значения частот FPWM будут составлять 76,3 Гц, 38,1 Гц, 19,1 Гц и 9,5 Гц.

Пример 9. Последовательное измерение с помощью АЦП.

Триггер специального события в режиме сравнения (при совпадении значения Timer1 и регистра сравнения CCPRxL и CCPRxH) может формировать периодические прерывания и дополнительно автоматически запускать измерения АЦП. Покажем на примере, как организовать последовательный опрос АЦП в четко определенные моменты времени.


Рис. 14. Последовательное измерение напряжений

Пример. Микроконтроллер PIC16F684 работает от внутреннего генератора, сконфигурированного на работу с частотой 8 МГц. Нужно последовательно опрашивать каналы АЦП и измерять входное напряжение на выводах RA0, RA1 и RA2 через каждые 30 мс.

Таймер 1 переполняется через время TOSC x 65536 x 4 x предделитель. Для предделителя 1:1 таймер переполнится через 32,8 мс.

Значение регистра CCPR1 рассчитывается по формуле:

CCPR1 = время/(TOSC x 4 x предделитель) = 30 мс/ (125 нс x 4 x 1) = 6000 = 0хЕА60 . CCPR1L = 0x60, CCPR1H = 0xEA .

Модуль ЕССР должен быть сконфигурирован в режим триггера специального события. Этот режим формирует прерывание при совпадении значения Timer1 и регистра сравнения CCPRxL и CCPRxH. Для этого режима CCP1CONТ = "b00001011". При возникновении прерывания таймер автоматически очистится и установит бит GO в регистре ADCON0 для запуска преобразования АЦП. Когда произойдет прерывание от модуля ECCP, нужно выбрать следующий вход АЦП с помощью регистра ADCON0.

Применение широтно-импульсной модуляции (ШИМ)

Широтно-импульсная модуляция, рассматриваемая в следующих примерах, используется в разных задачах - от формирования звукового сигнала и управления яркостью светодиодов до управления скоростью вращения электромотора. Все эти задачи основываются на базовом принципе ШИМ-сигнала - чем больше скважность импульсов, тем больше среднее значение напряжения (рис. 15). Зависимость среднего напряжения от величины скважности является линейной:

V СР = скважность х V макс

Рис. 15. Зависимость среднего значения напряжения от скважности ШИМ

Модуль ССР в микроконтроллерах Microchip может формировать ШИМ-сигнал с 10-разрядной точностью на выводе CCPx-микроконтроллера. Расширенный модуль ЕССР может формировать ШИМ на одном из 4 выводов Р1A...P1D в следующих режимах:

  • одиночный выход (только на выводе P1A);
  • управление полумостом (только на выводах P1A и P1B);
  • управление мостом (возможность реверсирования двигателя).

В мостовом режиме управления доступны четыре варианта работы:

  • PA1A, P1C активный уровень "1"; P1B, P1D активный уровень "1";
  • PA1A, P1C активный уровень "1"; P1B, P1D активный уровень "0";
  • PA1A, P1C активный уровень "0"; P1B, P1D активный уровень "1";
  • PA1A, P1C активный уровень "0"; P1B, P1D активный уровень "0".

Пример 10. Выбор частоты ШИМ Частота ШИМ зависит от различных факторов. При увеличении частоты увеличиваются потери на переключение, емкость и индуктивность нагрузки влияет на изменение формы сигнала. Поэтому в микромощных устройствах следует выбирать минимально возможную частоту ШИМ, а в схемах с емкостной или индуктивной нагрузкой выбирать частоту исходя из анализа схемы.

Управление электродвигателями

ШИМ применяется для управления двигателями в импульсном режиме. По характеристикам двигателя необходимо подобрать значение частоты ШИМ, чтобы обеспечить оптимальные характеристики электропривода. При выборе задающей частоты важным критерием являются акустические шумы, создаваемые двигателем при работе. Коллекторные двигатели могут создавать звуковой шум на частотах от 20 Гц до 4 кГц. Для исключения этого нежелательного эффекта нужно выбирать частоту выше 4 кГц. На таких частотах акустического шума уже не будет, так как механические части имеют более низкие резонансные частоты.

Светодиоды и устройства освещения

ШИМ часто используется для изменения яркости световых приборов. Эффект мерцания может быть заметен на частотах ниже 50 Гц, поэтому на практике частота ШИМ выбирается около 100 Гц или выше.

Пример 11. Управление коллекторным двигателем постоянного тока с использованием модуля ССР

Скорость вращения двигателя пропорциональна скважности ШИМ на выводе контроллера CCP1 (рис. 16). Рассмотрим, как нужно сконфигурировать микроконтроллер PIC16F628 для формирования ШИМ с частотой 20 кГц и 50-процентной скважностью. Тактовая частота контроллера 20 МГц.


Рис. 16. Управление скоростью вращения коллекторного двигателя постоянного тока

    Выбираем величину предделителя Таймера 2: F PWM = F OSC /((PR2 x 1) x 4 х предделитель) = 19531 Гц , при PR2 = 255 и предделитель = 1.

    Полученная частота несколько ниже, чем 20 кГц, таким образом, величина предделителя подходит.

    Вычисляем величину регистра периода PR2: PR2 = F OSC /(F PWM x 4 x prescaler) - 1 = 249

    Вычисляем значение регистра скважности CCPR1L и CCPCON: CCPR1L:CCP1CON = = скважность G 0x3FF = 0x1FF CCPR1L = OxlFF " 2 = 0x7F, CCP1CON = 3

  1. Конфигурируем модуль ССР в режим ге нерации ШИМ: CCP1CON = "b001111000" .

Пример 12.


Рис. 17. Реверсивное управление коллекторным двигателем постоянного тока с использованием модуля ЕССР

Модуль ЕССР имеет опции для управления коллекторными двигателями постоянного тока. На рис. 17 приведена схема подключения мостовой схемы управления двигателем. Выводы модуля ЕССР P1A...P1D могут работать в режиме управления мостовой схемой и задавать скорость и направление вращения. Для примера, изображенного на рис. 17, модуль ЕССР конфигурируется так: P1A, P1C активный уровень "1"; P1B, P1D активный уровень "1" (CCP1CON). Это сделано для того, чтобы MOSFET-драйверы (ТС428) открывали выходные ключи. В таблице указана связь между режимами работы двигателя и выходами ШИМ.

Режим Р1А Р1В Р1С Р1D CCP1CON
вперед 1 X X ШИМ b01xx1100
назад X ШИМ 1 X b11xx1100
инерция X X X X не важно
торможение X 1 1 X не важно

Пример 13. Управление шаговым двигателем в режиме микрошага

Шаговые двигатели занимают уникальную нишу среди всего многообразия применений двигателей. Шаговые двигатели используются в системах измерения (в качестве индикаторов параметров) и в системах управления позиционированием исполнительных механизмов. Часто возникает необходимость управлять шаговым двигателем в режиме микрошага. Применение микроконтроллера дает много преимуществ: возможность управлять скоростью движения вала, то есть варьировать ускорением и торможением, точно позиционировать объект управления. Микроконтроллер PIC16F648 идеально подходит для большинства таких задач управления шаговым двигателем. Этот дешевый 14-вы-водной контроллер имеет 2К слов Flash-памяти программ, восемь каналов 10-разрядного АЦП, два аналоговых компаратора и модуль ECCP. Таким образом, используя только периферию контроллера, можно управлять шаговым двигателем с помощью специализированного модуля ШИМ - ECCP и реализовать защиту по току с помощью встроенного компаратора.

Подробное описание алгоритма управления шаговым двигателем и пример программы опубликованы на сайте Microchip в документе AN906 "Stepper Motor Control Using the PIC16F684".

Пример 14. Формирование аналогового сигнала


Рис. 18. Формирование аналогового сигнала с помощью ШИМ и ФНЧ

Выход ШИМ может применяться для цифро-аналогового преобразования с помощью нескольких внешних элементов. Преобразование ШИМ-сигнала в аналоговый осуществляется на основе фильтра ФНЧ (рис. 18). Для исключения появления в выходном сигнале нежелательных гармоник необходимо, чтобы частота модуляции (F PWM) была намного выше, чем частота выходного сигнала (F BW):

F PWM =К x F BW ,

причем, чем больше значение К, тем меньше гармоник.

Для расчета фильтра применяется следующая формула:

RC=1/(2πF BW)

Выбрав значение емкости С, вычисляют значение резистора R. Подавление частоты ШИМ в выходном сигнале определяется выражением:

-10 x log (дБ)

Если подавление недостаточное, то увеличивают коэффициент К, увеличивая тем самым частоту модуляции. Подробное описание примера реализации есть в документе AN538 "Using PWM to Generate Analog Output in PIC17C42" на сайте Microchip.

Пример 15. Повышающий преобразователь напряжения


Рис. 19. Повышающий преобразователь

Широтно-импульсная модуляция используется в преобразователях напряжения, например в повышающих схемах (рис. 19). Работу схемы можно разделить на две фазы. В первой фазе, когда на выходе ШИМ активный единичный уровень, происходит накопление энергии в катушке L1 путем подключения ее вывода на "землю" транзистором Т1. Во второй фазе на выходе ШИМ нулевой уровень, который запирает транзистор. Ток из катушки течет через диод D1 на конденсатор накопления С2 и на нагрузку. При этом напряжение на нагрузке получается выше напряжения питания. Расчет необходимых характеристик схемы производится по формулам:

U вых /U вх =1/(1-D) ,

где D - скважность импульсов ШИМ.

Выбор значения индуктивности производится на основе максимального выходного тока:

L = U вх (1-D)DT/2I вых ,

где Т - период ШИМ.

При расчете максимальная скважность D принимается не более 75%, а частота ШИМ - 10...100 кГц. Также необходимо рассчитать пульсации тока:

I пульс = U вх DT

Если ток пульсаций превышает значение тока насыщения индуктивности, то необходимо выбрать более высокое значение индуктивности.

кважность ШИМ вычисляется контроллером по закону ПИД, что позволяет поддерживать выходное напряжение при изменении нагрузки. Более подробно данный метод описан в примере AN258 "Low Cost USB Microcontroller Programmer" на сайте Microchip.

Пример 16. Управление яркостью светодиодов

Для изменения яркости светодиодов можно использовать ШИМ. Для этого на выход ССР подключается светодиод через резистор, ограничивающий максимальный ток. Изменяя скважность импульсов с помощью регистра CCPRxL в широких пределах (00...FF), можно менять яркость свечения. Необходимо отметить, что частота ШИМ должна быть не менее 100 Гц для устранения мерцания.

Пример 17. Протокол передачи данных Х-10. Синтез несущей частоты

Для передачи информации по электросетям, например, передачи данных внутри квартиры по силовой проводке 220 В, часто используется протокол Х-10. На основную частоту (50/60 Гц) накладывается модулированный сигнал более высокой частоты (120 кГц). Для получения такой частоты в контроллере можно применять модуль ССР в режиме ШИМ. На рис. 6 показана реализация передатчика.

В соответствии со спецификацией Х-10 частота 120 кГц должна иметь отклонения не более 2 кГц. Получение точного значения частоты в модуле ССР обусловлено примением системного кварца частотой 7,68 МГц. Подключение несущей частоты осуществляется в момент перехода сетевого напряжения через ноль.

В примере AN236 "X-10 Home Automation Using the PIC16F877A" можно найти более детальное описание протокола и исходные коды программ.

Рис. 20. Схема передачи сообщений по силовой сети 220 В по протоколу Х-10

Совместное использование модулей захвата, сравнения, ШИМ

Модуль ССР (ЕССР) в контроллерах Microchip может программироваться "на лету", за счет чего эти модули могут выполнять различные функции в одном и том же устройстве в зависимости от алгоритма работы. Рассмотрим возможности гибкого изменения функций на конкретных примерах.

Пример 18. Автоопределение скорости передачи RS-232

Интерфейс связи RS-232 имеет различные скорости передачи. Возможность устройства определять скорость связи и автоматически настраивать приемник и передатчик требует наличие в программе устройства соответствующих процедур.

Во многих новых контроллерах Microchip существует аппаратный модуль EUSART с возможностью автоматического определения скорости приема данных и подстройки скорости передачи, возможностью работы в режиме SLEEP и другими функциями, необходимыми для реализации таких протоколов, как LIN.


Рис. 21. Калибровочный символ для автоопределения скорости передачи RS-232

В тех контроллерах, где нет аппаратного модуля USART, модуль ССР можно использовать в режиме захвата для автоматического определения скорости связи и затем перенастроить в режим сравнения для формирования или приема данных через RS-232. Для работы алгоритма автоопределения скорости необходим калибровочный байт, с которого начинается передача данных от одного устройства к другому. Один из возможных калибровочных символов изображен на рис. 21. Известные временные параметры калибровочного символа позволяют принимающему устройству определить и настроить скорость передачи интерфейса RS-232.

Алгоритм определения скорости передачи по калибровочному символу:

  1. Настраиваем модуль ССР на захват по спаду (определение стартового бита).
  2. Когда стартовый бит определен, сохраняем значение регистра CCPR1.
  3. Настраиваем модуль ССР на захват по фронту (определение стопового бита).
  4. Когда стоповый бит определен, сохраняем значение регистра CCPR1.
  5. Определяем разность между значениями CCPR1, полученными в п. 4 и в п. 2. Это время 8 битовых интервалов.
  6. Разность сдвигаем на три бита вправо для деления на 8. Полученное значение - время битового интервала.
  7. Сдвигаем еще на один бит вправо. Получаем время половины битового интервала.

Примеры программ для организации приема и передачи информации по последовательному каналу, а также процедуры автоопределения скорости передачи есть в AN712 "RS-232 Autobaud for the PIC16C5X Devices".

Пример 19. АЦП двойного интегрирования

Модуль ССР позволяет построить АЦП двойного интегрирования на основе внешнего интегратора. На рис. 8 представлена схема такого устройства. Интегрирование входного сигнала U вх осуществляется за фиксированный промежуток времени Т1. Затем на вход интегратора подается U оп и измеряется время, за которое на выходе интегратора появится нулевой уровень. По временам Т1 и Т2, а также по U оп можно вычислить U вх.


Рис. 22. АЦП двойного интегрирования с применением модуля ССР

Для задания времени Т1 нужно использовать режим сравнения модуля ССР, а для определения Т2 - режим захвата. Кратко алгоритм можно представить так:

  • Настраиваем ССР на режим сравнения, используем триггер специального события.
  • Подключаем Uвх на вход интегратора.
  • Отсчитываем Т1. Это время определяется параметрами интегратора.
  • По прерыванию от ССР подключаем на вход интегратора Uоп и задаем режим захвата модуля ССР по спаду.
  • По прерыванию от ССР фиксируем время Т2.
  • Вычисляем величину Uвх.
U вх = U оп T2/T1

Благодаря большому разнообразию контроллеров Microchip и их программной и аппаратной совместимости все описанные примеры могут быть легко перенесены на тот или иной контроллер в зависимости от требований разрабатываемой системы. Компания Microchip постоянно расширяет номенклатуру контроллеров как в сторону уменьшения числа выводов и увеличения периферийных устройств, так и в сторону мощных контроллеров с большим объемом памяти и с максимально возможной периферией.


Дата публикации: 01.09.2004

Мнения читателей
  • Олег / 03.03.2015 - 13:52
    Отличная статья. Спасибо!
  • Катя. / 24.12.2009 - 09:08
    я прошу вас надати мені інформація.

Похожие статьи