Микроконтроллеры. Управление силовыми нагрузками с выхода. ШИМ (Широтно-импульсная модуляция). События - прерыванияКак управлять нагрузками с выхода микро-контроллеров? Встроенная ШИМ. Как обрабатывать внешние события? (10+) Микроконтроллеры - самоучитель - Выходы. Управление нагрузками Управление силовыми нагрузкамиЗдесь все просто. Можно непосредственно на выходную линию микроконтроллера 'прицепить' реле, если управляющий ток не выше 20мА и вы получите срабатывание реле, как только на линию вы подадите логическую '1' и наоборот. Стоит подать логический '0' - реле выключится. Есть более универсальное решение. Транзистор. Или же сборка Дарлингтона (например ULN2003A), поскольку обычно мы ставим сразу несколько реле. Вы управляете транзистором, а он уже может управлять нагрузкой до 500мА. Таким образом, вы можете уже управлять большим диапазоном моделей реле – от твердотельных до механических. Схему я также вам покажу в следующих статьях.
Я использовал и твердотельные и электромеханические реле. В качестве твердотельных я выбрал очень хорошие реле SHARP – S202S02F. Благо они последнее время стали продаваться за приемлемые деньги. Они прекрасно справляются с управлением нагрузкой переменного тока, имеют контроль перехода через 0, и весьма надежны. Одно но: внимательно смотрите на какой ножке должна быть нагрузка, опять же, по дейташиту. Это важно. На основе этого реле можно спокойно делать схемы управления устройствами с питанием ~220В. Например, освещение в доме, вентиляция, электромоторы. Есть твердотельные промышленные реле, которые весьма недороги. Габариты, правда, весьма внушительны, но и токи коммутации могут быть и 25, и 50А и выше. Это уже управление очень серьезной нагрузкой. Еще и еще раз напоминаю вам: Помните про технику безопасности при работе с высоким напряжением! Мне еще нужны были управляющие цепи типа 'сухие контакты'. Для этой цели пришлось устанавливать механические реле. На той же сборке транзисторов Дарлингтона. С помощью сборки Дарлингтона вы также прекрасно справитесь с коммутацией больших токов с помощью электромеханического реле + контактора на ДИН-рейку. Управление двигателями постоянного тока и активной нагрузкой переменного. ШИМ.Микроконтроллеры имеют встроенные каналы ШИМ (Широтно-импульсной модуляции). Таким образом, вы можете, используя управление силовым IGBT транзистором или твердотельными реле, управлять напряжением электропривода или мощностью нагревателя. Для двигателя - ускоряться, замедлять, останавливать. Управлять яркостью ламп и многое-многое другое, что можно придумать с применением ШИМ. Например, собрать собственный ПИД-регулятор для бойлера. Хотя с экономической точки зрения это нецелесообразно. Я проверял Реакция на внешние события. Внешние прерывания.Предположим, ваше устройство занято 'своими делами', но вдруг датчик уровня жидкости зафиксировал превышение и замкнул контакт, датчик движения сработал или возникло какое-то внешнее событие, требующее немедленной реакции МК. Для этого существуют внешние прерывания (бывают и внутренние). Внешние прерывания могут быть настроены по-разному. По фронту, спаду, уровню сигнала, его отсутствию, наличию. Выбор широк и зависит от установки флагов и регистров. Об этом прекрасно написано в документации. Моя задача пока лишь рассказать вам о том, что и как вы можете сделать. Так вот – как только возникает прерывание, МК тут же останавливает текущую задачу, выполняет запрограммированную вами функцию обработки прерывания, и возвращается обратно. Вы можете в программе запретить или разрешить все прерывания, чтобы не позволять МК в некоторых местах вашего кода отвлекаться на прерывания. Это может быть очень важно. ТаймерыВключить свет на 1 минуту? Выключить вентиляцию через 5 часов? Включить фильтрацию бассейна на 5 часов в 22-00? Не проблема! У нас есть таймеры! 8 и 16-разрядные. В различных моделях МК есть некоторое количество программируемых таймеров с различной логикой работы. Вам необходимо установить регистры таймера в соответствующие значения, настроить делитель, чтобы получить вызов прерывания таймера в нужный интервал или через нужный интервал времени. По совпадению или по переполнению. И дальше использовать с выгодой вызов этой функции. Например, уменьшая каждую секунду значение переменной на 1. Имейте в виду, что при использовании встроенного RC генератора частоты точность будет низкая. Если вы имеете внешний кварцевый генератор, то точность будет выше, но вы, к сожалению, не сможете добиться вызова таймера точно по времени. Потому как невозможно подобрать делитель для стандартных частот генератора, чтобы без погрешности отмерять интервалы времени. Для обычных нужд точности вполне хватает. Если нужно больше – используйте часовой кварц. Для удобства можно пользоваться встроенным мастером кода CodeWizardAVR. Если вы используете 16-разрядные таймеры, обязательно обратите внимание на порядок записи значения старшего и младшего байта. Это происходит за 2 машинных цикла и осуществляется в строго определенном порядке и никак иначе. К сожалению в статьях периодически встречаются ошибки, они исправляются, статьи дополняются, развиваются, готовятся новые. Подпишитесь, на новости, чтобы быть в курсе. Если что-то непонятно, обязательно спросите! Еще статьи Бесперебойник своими руками. ИБП, UPS сделать самому. Синус, синусоида... Понижающий импульсный источник питания. Обратная связь по напряжению. ... устройство для резервного, аварийного, запасного питания котла, циркул... Мостовой импульсный стабилизированный преобразователь напряжения, исто... Силовой мощный импульсный трансформатор, дроссель. Намотка. Изготовить... Плавная регулировка, изменение яркости свечения светодиодов. Регулятор... Полевой транзистор, КМОП микросхема, операционный усилитель. Монтаж, у... Транзисторы КТ502, 2Т502. Справочник, справочные данные, параметры, цо... Оглавление статьи Виды, типы микроконтроллеров. Особенности. Выбор. Преимущества схем на микроконтроллерах Дисплей. Система отображения, показа информации Управление силовыми нагрузками Управление двигателями постоянного тока и активной нагрузкой переменного. ШИМ. |