2.5 Схема вывода аналогового управляющего сигнала
Для получения аналогового выходного сигнала в микроконтроллерных системах используются цифро-аналоговые преобразователи (ЦАП). Модули ЦАП в составе микроконтроллеров являются большой редкостью, поэтому для этих целей приходится применять специальные микросхемы ЦАП, что значительно усложняет и удорожает МКС. Однако для PIC-микроконтроллеров более простой альтернативой является выполнение цифро-аналогового преобразования с помощью ШИМ-сигналов, получаемых с помощью внутренних модулей МК, которые могут работать в режиме широтно-импульсного модулятора.
Способ преобразования цифровых значений в аналоговые напряжения отличается сравнительной простотой. Он заключается в изменении коэффициента заполнения импульсов прямоугольного напряжения пропорционально исходному цифровому значению. Временные диаграммы импульсов ШИМ были приведены на рисунке 1.6. Если обозначить Т - период ШИМ-сигнала, fШИМ = 1/Т - его частота, а tи - длительность импульса, то коэффициент заполнения г = tи/Т.
В англоязычной литературе вместо коэффициента заполнения используется термин DutyCycle (величина рабочего цикла).
Спектральный анализ ШИМ-сигнала на основе преобразования Фурье позволяет представить этот сигнал в виде суммы постоянной составляющей и отдельных гармоник с различными амплитудами и частотами:
u(t) = U0+U1msin?t+ U2msin?t+ U3msin?t+…,
где U0 - постоянная составляющая, U1m, U2m, U3m… - амплитуды гармоник.
Если ШИМ-сигнал пропустить через фильтр низкой частоты (ФНЧ) и отфильтровать составляющие переменного напряжения, то в идеальном случае остается составляющая постоянного напряжения. При этом выходной сигнал ФНЧ определяется как
u(t) = U0 = Umг,
где Um - амплитуда ШИМ-сигнала.
В PIC-микроконтроллерах ШИМ-сигнал снимается с выводов порта С, поэтому можно считать что Umравно напряжению питания микроконтроллера UDD, следовательно
u(t) = UDDг
Таким образом, исходное цифровое значение, представленное коэффициентом заполнения г, преобразуется в постоянный аналоговый сигнал U0. Причем преобразованное выполняется по линейному закону с известным коэффициентом пропорциональности.
На рисунке 2.6 приведена схема формирования аналогового напряжения посредством фильтрации ШИМ-сигнала, снимаемого с вывода RC1 порта С. Фильтр низкой частоты представляет собой простейший RC-фильтр 1-го порядка. Операционный усилитель включен по схеме повторителя. Он необходим для устранения влияния сопротивления нагрузки на работу RC-фильтра.
Рисунок 2.6 - Схема подключения фильтра к выходу канала PWM2
Частота среза RC-фильтра равна
fc = 1/2RC (2.1)
ПроизведениеRC называют постоянной времени фильтра.
Выбор параметров RC-фильтра определяется многими факторами, но можно воспользоваться некоторыми рекомендациями для первоначального выбора.
Для расчета постоянной времени фильтра можно применить следующую эмпирическую формулу:
, (2.2)
где UDD - напряжение питания МК; TШИМ - период ШИМ-сигнала; - допустимая величина пульсаций на выходе фильтра.
Формула (2.2) предполагает, что постоянная времени RCпо крайней мере в 10 раз больше, чем период ШИМ-сигнала.
Например, если UDD = 5 В, ТШИМ=0,2 мс (частота fШИМ = 5 кГц), допустимая пульсация на выходе фильтра = 0.05 В (1% от UDD), то из формулы (2.2) получим RC = 0.0074 с.
Если взять конденсатор C = 1 мкф, то сопротивление R = 7400 Ом. Выбираем ближайший номинал из стандартного ряда R = 7.5 кОм. Частота среза такого фильтра будет fc = 21.2 Гц.
- ВВЕДЕНИЕ
- 1. ОПИСАНИЕ АЛГОРИТМА РАБОТЫ И РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ МКС
- 1.1 Алгоритм работы МКС
- 1.2 Пульт управления
- 1.3 Структурная схема МКС
- 2. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ МКС
- 2.1 Схема подключения микроконтроллера
- 2.2 Схема ввода цифровых сигналов
- 2.3 Схема ввода аналоговых сигналов
- 2.4 Схемы вывода цифровых управляющих сигналов
- 2.5 Схема вывода аналогового управляющего сигнала
- 2.6 Схема подключения ЖК-дисплея
- 2.7 Схема подключения клавиатуры
- 2.8 Подключение аварийного датчика
- 2.9 Схемы подключения аварийной сигнализации
- 3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МКС
- 3.1 Разработка блок-схемы алгоритма главной программы работы МКС
- 3.2 Функция инициализации init( )
- 3.3 Функция interrupt( )
- 3.4 Функция digit( )
- 3.5 Функцияanalog( )
- 3.6 Функция display( )