Схема для дублирования шим сигнала. Как из шима получить постоянное напряжение

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

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


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

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

где T = T ON + T OFF ; T ON - время высокого уровня; TOFF - время низкого уровня; T - период сигнала

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

Допустим у нас имеется ШИМ сигнал с заданным временным интервалом высокого и низкого уровня, смотри рисунок:

Подставив в формулу коэффициента заполнения ШИМ имеющиеся данные получим: 300/800=0,375. Для того чтобы узнать процентный коэффициент заполнения требуется результат умножить еще на 100%, т.е К ω% = 37,5% . Коэффициент заполнения это абстрактное значение.

Еще одним важнейшим параметром ШИМ считается также частота сигнала, которая определяется по известной формуле:

f=1/T=1/0,8=1,25 Гц

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

Для нахождения среднего значения напряжения ШИМ требуется коэффициент заполнения 37,5% и амплитуда 12 В:

U sr =К ω ×U 1 =0,375×12=4,5 Вольта

ШИМ позволяет понижать напряжение в интервале от U 1 и до 0. Это свойство часто используется в , или скорости вращения вала двигателя постоянного тока.

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

Сигнал ШИМ следует на базу транзистора через сопротивление R1, поэтому VT1 с изменением сигнала то открывается, то запирается. Если транзистор открыт, светодиод горит. А в момент времени, когда транзистор запирается, и светодиод тухнет. Если частота сигнала мала, то получим мигающий светодиод. При частоте от 50 Гц мигания уже не незаметны человеческим глазом, и мы видим эффект снижения яркости свечения. Чем ниже значение коэффициента заполнения, тем слабее будет гореть светодиод.

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

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

Ниже рассмотрим реальную рабочую схему на операционном усилителе

Регулируя величину напряжения на неинвертирующем входе ОУ можно задаватьтребуюмую величину выходного напряжения. Поэтому, эту схему можно использовать в роли регулятора тока или напряжения или в роли регулятора оборотов двигателя постоянного тока.

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

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

Что такое ШИМ?

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

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

Формирование ШИМ-сигналов

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

Стандартная схема контроллера ШИМ предполагает наличие следующих выходов:

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

Выходное управляющее напряжение (OUT)

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

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

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

Основные проблемы ШИМ-преобразователей

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

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

Диагностика неисправностей

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

Кроме того, существуют и другие неисправности, которые несколько сложнее обнаружить. Перед тем как проверить ШИМ-контроллер непосредственно, можно рассмотреть самые распространенные случаи поломок. К примеру:

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

В заключение

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

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

Как получить из шима постоянное напряжение, знает каждый начинающий электронщик. Всё просто, надо пропустить шим через фильтр низких частот(в простейшем случае RC цепочка) и на выходе фильтра получим постоянное напряжение, не так ли?

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

Как подобрать номиналы элементов фильтра?

Сгладиться ли шим полностью или останутся пульсации?

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

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

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

Единственная идея, которая напрашивается - это изменить номиналы RC фильтра, давайте на порядок увеличим значение резистора, тем самым увеличив постоянную RC цепи(теперь она будет равна периоду шима) или уменьшив частоту среза фильтра.


Ух ты, что-то начинает проясняться, у нас появилась постоянная составляющая. То есть в наши рассуждения закралась ошибка и заключается она в том, что конденсатор заряжается от 0 до 63% за время равное R*C(T ), а разряжается он от 63% до 5% за время больше чем 2T , ниже графики, поясняющие это.

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

Теперь, когда мы нашли ошибку в наших размышлениях давайте, проанализируем что происходило, в первом эксперименте. Известно, что полная зарядка или разрядка конденсатора происходит за время равное 5T , а зарядка до 95% и разрядка до 5% примерно за 3T . Так как постоянная времени RC цепочки(которую мы использовали как ФНЧ) была мала, то за один период шима конденсатор успевал, почти полностью зарядиться и разрядиться.

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

Итак вывод, постоянная времени RC цепочки должна быть равна или больше периода шима, тогда за один период не будет происходить полный заряд-разряд конденсатора. Если же ещё на порядок увеличить постоянную времени RC цепочки, то увеличится время переходного процесса и уменьшаться пульсации. Время переходного процесса - это промежуток времени, за которое напряжение на конденсаторе изменится от 0 до некоторой постоянной величины. Данный вывод приведен для общего понимания.

Теперь примерно, понимая как вообще получают из шима постоянное напряжение, давайте перейдём к реальной задаче.
Необходимо на одном из входов ОУ формировать опорное напряжение с помощью шима и ФНЧ, логическая единица у шима составляет 3 вольта, частота шима 10KHz, допустимый уровень пульсаций 30 милливольт. Считаем, что входы ОУ ток не потребляют, в качестве ФНЧ возьмём фильтр первого порядка, реализованный на RC цепочке.

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


Итак для расчёта по-честному, давайте посчитаем во сколько раз надо ослабить сигнал, 3000/30 = 100 и переведём в децибелы, получается -40дб.

Известно, что крутизна спада у фильтра первого порядка составляет 20дб/декаду и ослабление сигнала на 40дб, соответствует увеличению частоты на две декады . (20дб/декаду - уменьшение амплитуды в 10 раз(20дб), при увеличении частоты в 10 раз(декада).


Зная, что частота среза фильтра должна быть на две декады(в 100 раз) меньше частоты шимы, можно её рассчитать 10KHz/100 = 100Hz .

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


Сопротивление возьмем равным 16K, а конденсатор 100nF.
Давайте проверим, что получится на практике, соберём схему, изображённую ниже и подключимся к точкам один и два.



И нарисуем ЛAЧХ нашей схемы.

У данного генератора импульсная система питания, которая сильно шумит, это можно видеть во втором канале, но если присмотреться, то видно, что амплитуда пульсаций на осциллограмме примерно 40 милливольт, то есть немного отличается от расчётной, но это нормально так, как шим содержит высшие гармоники, которые вносят свой вклад и спад не везде равен 20дб/декаду, это видно на ЛАЧХ. Несмотря на
некоторые допущения, мне этот расчёт показался очень простым и понятным, ведь мы с помощью простых логических размышлений и школьных формул, решили такую интересную задачу. При решении данной задачи важно понять именно физический смысл, что мы по сути на АЧХ абстрактного фильтра находим точку, которая соответствует нужному подавлению сигнала, вторая координата точки - это частота, она должна быть равна частоте шима. Таким образом мы находим одну из точек АЧХ фильтра, пользуясь этой точкой находим частоту среза, а зная её мы находим номиналы фильтра, вот и всё.

Mark Thoren and Chad Steward, Linear Technology

Design Note 538

Введение

Широтно-импульсная модуляция (ШИМ) является распространенным методом формирования аналоговых напряжений с помощью цифровых устройств, таких, например, как микроконтроллеры или ПЛИС. В большинстве микроконтроллеров имеются специализированные периферийные блоки, предназначенные для формирования ШИМ, а для генерации сигналов ШИМ средствами ПЛИС достаточно написать лишь несколько строк RTL-кода. Эта технология исключительно проста и практична в случаях, когда требования к параметрам аналоговых сигналов не слишком строги, поскольку для ее реализации требуется всего один выход микросхемы, а количество необходимых строк программного кода, несоизмеримо меньше того, что потребовалось бы в случае использования цифро-аналогового преобразователя (ЦАП) с интерфейсом SPI или I 2 C. На Рисунке 1 приведен типичный пример приложения с цифровым выводом, выходной сигнал которого превращается в аналоговое напряжение с помощью фильтра.

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

Этот преобразователь ШИМ-аналог лучше?

Рисунок 2 иллюстрирует попытку исправить эти недостатки. Благодаря выходному буферу появилась возможность использования в фильтре высокоомных резисторов при сохранении низкого импеданса аналогового выхода. За счет использования внешнего КМОП буфера, получающего питание от прецизионного опорного источника, повысилась точность коэффициента передачи, так как границами изменения сигнала ШИМ теперь стали земля и точное положительное напряжение. Эта схема, безусловно, работоспособна, однако требует большого количества компонентов, не позволяет сделать время установления лучше, чем 1.1 с, и не содержит никаких механизмов, с помощью которых было бы возможно «удерживать» аналоговое напряжение при отключенном сигнале ШИМ.

Усовершенствованный преобразователь ШИМ-аналог

Цифро-аналоговые преобразователи (ЦАП) Dual 10-bit PWM to VOUT DACs with 10ppm/ C Reference

  • Спасибо, очень интересная статья и очень хороший перевод. Не ввести ли у вас на сайте механизм поиска всех работ одного автора?
  • Это как? :) До такого даже библиотеки не додумались... Поиск по переводчику... Другое дело - стимул ему лично, пусть больше работает:) Статья интересная, тем более, что используется Linear Technology, от которой не было отказа в опытных образцах + периодический бумажный бесплатный журнал с доставкой на дом!!! :)
  • Нет ничего сложного. Вот такой запрос в google выдаст все материалы одного переводчика google.com.ua/search?.com.ua/search?.com.ua/search?.Рен тюк А вот поисковик РЛ немного неудобен, если не сказать неприменим при поиске по автору перевода http://www..html?adv=1 Таким же образом в google можно искать материалы конкретного автора на РЛ. Но результаты будут более "грязными", поскольку при поиске по одному лишь имени в результаты будут включены все найденные на сайте упоминания - статьи, ссылки с форума, временные страницы, некогда попавшие в поле зрения поисковой машины и т.п. Например, Einar Abell. Много лишнего. https://www.google.com.ua/search?q=s...ru+Einar+Abell В этом случае поисковик РЛ даёт гораздо лучшие результаты http://www..html?q=Einar+Abell К вопросу о библиотеках. Электронные каталоги, которые теперь есть почти во всех "выживших" библиотеках (университетских, городских, районных, областных и т.д.), а равно и в архивах, позволяют производить поиск по каталогам и картотекам с любым сочетанием слов в запросе. Не считая стандартного поиска по алфавитному и систематическому каталогам. Удивительно, сколько на самом деле содержится данных в каталожной карточке издания! Конечно же, если библиографическое описание и аннотация были составлены правильно и на совесть. Но есть и оборотная сторона электронных каталогов. Например, в трёх ближайших ко мне крупных библиотеках с количеством книг миллион+ в электронных каталогах до недавних пор содержалось лишь 10-20% библиотечного фонда. Чтобы занести в базу данных миллионы карточек нужна уйма времени. При этом, как правило, проводится сверка с фондами, что только затягивает процесс оцифровки каталогов. Но вся литература, полученная библиотеками после скажем 2000 года, попадает в электронный каталог в первую очередь.
  • Да всё это понятно, найти через поисковик можно всё, что угодно:) Но зачем искать по переводчику? Из любви к его творчеству? В первую очередь нужна инфа

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

На плате Arduino UNO их 14 (D0-D13). Они могут работать как входы, как выходы и как выходы с поддержкой ШИМ.

Конфигурация выводов как вход либо выход задается в void setup

pinMode (3, OUTPUT ); // Инициализируем цифровой pin 3 как вход pinMode (3, INPUT );

1) Цифровые выходы

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

// Устанавливает высокий уровень напряжения на 3 пине digitalWrite (3, HIGH ); // Устанавливает низкий уровень напряжения на 3 пине digitalWrite (3, LOW );

При высоком уровне выход работает как "источник питания" с напряжением 5 Вольт, при низком же уровне выход соединяется с землей МК. В двух этих режимах порт может выдать либо принять ток до 40мА. Это позволит подключать к плате Arduino маломощные нагрузки. При превышении тока в 40мА может выгореть либо отдельно порт, либо весь камень.

Пример на практике

В качестве первого примера выполним некий "Hello, World!" в тематике Arduino - помигаем светодиодом.

Плата Arduino уже имеет на своем борту встроенный светодиод подключенный к выводу D13. Можно использовать и его, но в качестве примера соберем первую схемку на макетной плате.

2) Цифровые выходы с поддержкой ШИМ

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

Не все цифровые выводы имеют поддержку ШИМ. У Arduino UNO их 6 (D3, D5, D6, D9, D10, D11). У других плат количество может отличаться. Смотрите в спецификации.

В программном коде скважность задается числом от 0(min) до 255(max)

// Устанавливает ШИМ сигнал на 3 пине со скважностью 150 analogWrite (3, 150);

Пример на практике

В качестве наглядного примера поупрявляем яркостью светодиода с помощью ШИМ модуляции.

Как уже говорилось, Arduino имеет на своем борту встроенный светодиод подключенный к выводу D13. Однако, этот вывод не имеет поддержки ШИМ. ШИМ поддержку имеет вывод D3. К нему, как и в предыдущем примере, мы подключим светодиод

Для эксперимента нам понадобятся:

Описание примера:

При установке высокого уровня (HIGH ), на выводе D3 появляется напряжение, которое протекая через светодиод (LED1) заставляет его светиться. При установке низкого уровня (LOW ), напряжение больше не подается и светодиод не горит. Резистор (R1) необходим для ограничения потребляемого светодиодом тока.

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

Принципиальная схема остается такой же как и в первом примере.

На реальной макетной плате всё будет выглядеть следующим образом:

Примечания по сборке:

Вывод D3 соединяется с анодом светодиода, а катод уходит на резистор. У резистора нет полярности и его можно устанавливать любой стороной.

Пример программного кода:

// Присваиваем имя цифровому выводу 3 int led = 3; void setup () { // Инициализируем цифровой pin 3 как выход pinMode (led, OUTPUT ); } void loop () { /* Задаем значение ШИМ равное 25 (10% от max) Иными словами (1/10 времени HIGH, 9/10 LOW) Такое мигание находится в диапазоне воспринимаемой человеком. Глаз видит мигание */ analogWrite (led, 25); delay (4000); // Ждем 4 секунды /* Задаем значение ШИМ равное 150 (60% от max) Иными словами (6/10 времени HIGH, 4/10 LOW) Частота смены картинки велика, выше воспринимаемой глазом человека, но не максимальна Глаз воспринимает как постоянно горящий светодиод с определенной яркостью */ analogWrite (led, 150); delay (4000); /* Задаем значение ШИМ равное 255 (100% от max) Иными словами (10/10 времени HIGH, 0/10 LOW) При максимальном значении ШИМ светодиод горит постоянно */ analogWrite (led, 255); delay (4000); // И для финального примера прогоним значения ШИМ от min до max for (int i = 0; i < 255; i++) { analogWrite (led, i); delay (50); } for (int i = 255; i > 0; i--) { analogWrite (led, i); delay (50); } }

3) Цифровые входы

Как уже говорилось, цифровые выводы могут использоваться как входы. Самым ярким примером использования данной возможности является подключение кнопки. Чтение производится функцией.

// Считываем значение с цифрового порта 4 digitalRead (4);

В ответ получаем значения HIGH или LOW .

Если к считываемому порту ничего не подключено, то функция digitalRead () может беспорядочно возвращать значения HIGH или LOW. Во избежание ложных срабатываний, входы необходимо подтягивать резистором 10-20кОм. При замыкании кнопки на землю - подтягивать к питанию, при замыкании на питание - к земле.