Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Эксперимент № 3. ШИМ. Управление яркостью светодиода

Эксперимент № 3. ШИМ. Управление яркостью светодиода

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

Выходное напряжение = (Время ВКЛ / время импульса) * максимальное напряжение.

Взгляните на рисунок ниже для лучшего понимания.

ШИМ имеет множество применений, например:

  • регулирование яркость свечения ламп,
  • скорости вращения мотора,
  • генерация звука и т.д.

ШИМ имеет 3 параметра:

  • Период
  • Скважность
  • Величина

У Ардуино 6 портов, поддерживающие ШИМ: это цифровые пины 3, 5, 6, 9, 10 и 11.

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

Часть 1. Управление яркостью светодиода

Необходимые компоненты

  • LED M5
  • 220R

Схема

Соберем вот эту схему:

Обратите внимание, что мы подключаем LED к цифровому пину 11, которые поддерживает ШИМ. Если подключить к пину 12, то желаемого результата мы не получим.

Скетч

Результат

Часть 2. Управление яркостью с помощью потенциометра

Необходимые компоненты

  • Дополнительно на понадобится потенциометр

Схема

Добавим на схему потенциометр:

Управление яркостью светодиода с помощью потенциометра

Управление яркостью светодиода с помощью потенциометра

Среднюю ногу потенциометра мы подключаем к аналоговому входу A0.

Скетч

Результат

Когда вы вращаете ручку потенциометра, вы видите в мониторе последовательно порта как меняется напряжение и яркость светодиода в соответствии с ним.

Объяснение

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

Обратите внимание, что максимальное значение для порта ШИМ – это 255, а аналогового порта – 1024. Поэтому считанное значение приходится делить на 4.

Заключение

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

2 Replies to “Эксперимент № 3. ШИМ. Управление яркостью светодиода”

  1. DorkoF 22.01.2021 at 14:12

Потенциометр какой номинал? На 10ком не работает

  • jarduino Автор записи 25.01.2021 at 10:10

Номинал — практически любой. Берите в пределах 1K и 1M.
Проверьте как подключили потенциометр. Всё обязано работать.

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

Сначала я знаю о существовании цифрового банка. «Проблема» в том, что вам нужна IC для достижения этой цели, а также вы хотите, чтобы цепи были полностью разделены (и просты). Также хочу использовать его с аудиопроектом Arduino без внешней микросхемы (уже есть MCU, который может выполнять работу «настроек»). Поэтому мне пришла в голову идея использовать светодиод и фоторезистор для разделения цепей и избежать фиксированных «цифровых» шагов, как обычный резистор, сохранить его гладким и естественным, но без проблем сбоев / старения аналоговых сигналов.

Сделал две (быстрые!) Черновики, одну с простым крепежом, как колесо непрозрачности, и одну с использованием Arduino: введите описание изображения здесь

Я понял, что основы этой идеи с использованием света для регулировки громкости не новы, нашел это: http://www.tortugaaudio.com/evolution-of-ldr-volume-control/ И пассивный аттенюатор Lightspeed: http: //diyaudioprojects.com/Solid/DIY-Lightspeed-Passive-Attenuator/

Попробуйте найти компонент, который они используют, светодиод с фоторезистором, но не смог его найти. Я начал экспериментировать с существующими компонентами, такими как этот (изготовил экспериментальную плату для старого принтера canon, плату с двумя оптическими датчиками, разрезал пополам и добавил к аудиоразъемам), чтобы выяснить, будет ли она работать в любом случае:

введите описание изображения здесь

Эксперимент удался очень хорошо, очень интересно видеть, что он действительно работает. Громкость уменьшается, когда вы помещаете объект между оптическими датчиками, или ограничение входного напряжения делает то же самое. За исключением . одна сторона амплитуды обрезается. Поскольку имеется только четыре контакта, приемник может быть опторезистором, однако кажется, что это диод? Просто послушайте этот саундтрек, что случилось:

Читать еще:  Регулировка холостого хода бензокосы хускварна

введите описание изображения здесь Волновой файл: https://drive.google.com/file/d/0B2l-eQoHefcVdXRlUkM1bXJYek0/view?usp=sharing

Вопрос

Хотя я могу сделать компонент самостоятельно, заменив опторезистор на фотодатчик. Интересно, есть ли где-нибудь эти компоненты? Поскольку доступное пространство является проблемой, было бы удобно, если бы это был компактный компонент (с четырьмя ножками) размером, например, как оптопара. Любые идеи? Какие-нибудь номера?

Питер

glen_geek

Восхитительная попытка и хорошие усилия по отладке. Ваши оптопары Cannon — это животные, отличные от описанных в указанной вами ссылке. Они используют инфракрасный диод, чтобы обеспечить свет, но фоточувствительный элемент не резистивный, а кремниевый фототранзистор. Ток, который он обеспечивает, протекает только в одном направлении — отсюда и отсеченные сигналы, которые дают сильно искаженный звук.
Светочувствительный элемент в вашей ссылке — это фоторезистор на основе сульфида кадмия или селенида кадмия. Это резистор, который пропускает ток в обоих направлениях достаточно линейно. Могут помочь такие условия поиска, как оптрон фотоэлемента .
Некоторые доступные в настоящее время детали: NSL-33-007 от LUNA optoelectronics — это двухканальный оптрон с фотоэлементом.
NSL-32H-103 от оптоэлектроники LUNA — одноканальная версия.

Codebeat

Rich S

Codebeat

glen_geek

Codebeat

EM Fields

Google «Vactrol», затем щелкните левой кнопкой мыши «Дополнительные изображения для Vactrol», чтобы найти именно то, что вам нужно.

введите описание изображения здесь

Кроме того, проверьте Fairchild H11F1 для другого решения.

Codebeat

Codebeat

Codebeat

Через несколько месяцев: спасибо, отправляйтесь в EM Fields, которая указывает мне правильное направление. Вактролы не являются дешевыми компонентами и доступны только в некоторых магазинах. Поэтому я решил создать свои собственные vectrols, и это можно сделать дешево ;-), и это работает довольно хорошо!

Я заказал несколько разных LDR, некоторые светодиоды в Китае (около 3 евро за пару сумок с 50 LDR и 200 светодиодами) и начал эксперименты с ними. Есть люди, которые утверждают, что светодиодный цвет имеет значение при создании vectrols, лучше всего использовать белые, потому что они самые яркие из всех. Есть некоторые форумчане, которые утверждают, что не используют яркие светодиоды, ну, я не согласен из-за сопротивления, вам нужен очень яркий свет, чтобы получить низкое сопротивление. Вы не можете достичь этого со старыми модными светодиодами.

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

ЛДР медленно реагирует? Ну, я не согласен, они очень хорошо воспринимают импульсный сигнал ШИМ (звучит так, как в левом + правом комбинированном примере с большим количеством деталей), и вам нужно изменить частоту импульсного сигнала, иначе настройка бесполезна ( позже посмотрите это письмо, что я сделал, чтобы достичь этого).

Когда светодиод на полной яркости, я достиг (см. Настройку ниже для двухканального vectrol только с ОДНЫМ светодиодом) около 100-120 Ом, и это очень хорошо и полезно по сравнению с тем, что я измерял ранее со светодиодной лампой. Некоторое сопротивление не так уж и плохо при использовании его с усилителем (входным сопротивлением), как я.

Я изменил схему на это:

схема поворотного энкодера и vectrol arduino

Также создайте тестовое устройство, цифровое / аналоговое управление громкостью звука USB с использованием SparkFun DigiSpark (Arduino attiny85). Раньше создавал цифровой регулятор громкости, поэтому мне просто нужно немного изменить код. Смотрите также это поучительное: http://www.instructables.com/id/Digispark-Volume-Control/ . Версия кода, которую я использую, более продвинута, потому что я улучшил код и добавил некоторые дополнительные функции, такие как кнопки.

Это устройство, которое я сделал, крошечная ручка регулировки громкости с поворотным основанием USB-разъема, так что вы можете подключить его под любым углом без кабеля к ноутбуку или аккумулятору. Это установка только с одним светодиодом и двумя LDR.

Объем контроля-роторно-кодер-vactrol-USB-v1

Пользовательский светодиод

Светодиод, который я использую, не такой уж и нестандартный, я просто использовал дремель, чтобы модифицировать обычный 5-миллиметровый светодиод, сделать его под заказ! Чтобы срезать «накладные расходы», будьте осторожны, не слишком тонкие. Я использовал дремель с наждачной бумагой Проверьте его с помощью ячейки кнопки 3 В после резки, прежде чем устанавливать ее в конечную цепь.

Читать еще:  Как отрегулировать батарею отопления в квартире без регулятора давления

Я понял, что на этих светодиодах есть мертвая зона. Это очень хорошо видно на приведенном выше примере изображения: LDR расположены слева от светодиодной стороны лампы, а не снизу (= мертвая зона). Поскольку LDR очень чувствительны, вы должны обойти эти мертвые точки, чтобы избежать получения максимальных результатов.

Проблема с частотой ШИМ

Несмотря на то, что он работает очень хорошо с первой попытки, звук звучит как mp3 со многими артефактами (низкий битрейт). Этого не произойдет, если вы используете батарею для питания светодиода. LDR реагирует на частоту ШИМ, поэтому в аудио есть промежутки, потому что сопротивление LDR колеблется очень быстро между высоким и низким (вкл / выкл) сопротивлением.

Сначала я нашел это: https://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/ , используйте фильтр верхних частот, чтобы избежать этих промежутков импульсов ШИМ.

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

Добавьте эту функцию в свой эскиз и вызовите эту функцию в процедуре настройки.

Пример выше предназначен только для attiny и не нуждается в библиотеке. Частота ШИМ теперь выше предела слуха (сверхзвуковая частота), и звук звучит великолепно! Я просто покажу вам, что vactrols великолепны, а концепция Arduino великолепна, но в целом возможности Attiny85 также превосходны (и сообщество людей, разделяющих такие темы, как вы и я).

Следующее, что нужно сделать, это проблема analogWrite , разрешение analogWrite . Потому что между ON и OFF есть очень большая разница, если вы делаете analogWrite( PB1, 1 ); вы обнаружите, что это состояние включения / выключения, а не плавное преобразование между 0 и> 1.

roboforum.ru

регулировка яркости подсветки фоторезистором.

регулировка яркости подсветки фоторезистором.

Myp » 08 дек 2013, 00:29

яркость подсветки приборки регулируется переменным резистором 1 кОм
чем меньше сопротивление тем ярче светит
вопрос, как прикрутить автоматическую регулировку яркости?

взял первый попавшийся фоторезистор, он меняет сопротивление от 10 кОм на свету до 100 кОм в темноте.
как-то не очень подходяще.

как можно скрестить обычный резистор с фоторезистором?

Re: регулирвока яркости подсветки фоторезистором.

Angel71 » 08 дек 2013, 00:49

Re: регулирвока яркости подсветки фоторезистором.

dccharacter » 08 дек 2013, 04:07

Re: регулирвока яркости подсветки фоторезистором.

Dmitry__ » 08 дек 2013, 04:47

Полевик N полярности, исток на землю, сток через нагрузку (подсветка) на + питания.
Затвор на фоторезистор, 2-й конец фоторезистора на + питания (лучше через какой-нибудь 7805 стаб.). И подтянуть затвор на землю резистором около 100 к. Подбирая этот резистор и резистор подкл. параллельно фоторезистору — добиться желаемого результата. Полевик, наверно, лучше брать не логик левел, а то будет слишком крутая характеристика регулирования.

Добавлено спустя 1 минуту 25 секунд:
А правильные пацаны ставят малоногий микроконтроллер, хоть тиньку avr, хоть pic12f675.

Re: регулирвока яркости подсветки фоторезистором.

elmot » 08 дек 2013, 09:52

Re: регулирвока яркости подсветки фоторезистором.

Myp » 08 дек 2013, 13:11

Re: регулирвока яркости подсветки фоторезистором.

Dmitry__ » 08 дек 2013, 17:03

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

Изображение
http://radio-house.ucoz.ru/index/prosto . osti/0-213
http://shemopedia.ru/knopochnyiy-regulyator.html

Re: регулирвока яркости подсветки фоторезистором.

elmot » 08 дек 2013, 17:10

Re: регулирвока яркости подсветки фоторезистором.

Dmitry__ » 08 дек 2013, 17:15

Re: регулирвока яркости подсветки фоторезистором.

Myp » 08 дек 2013, 19:31

Re: регулирвока яркости подсветки фоторезистором.

dccharacter » 08 дек 2013, 19:57

Re: регулирвока яркости подсветки фоторезистором.

Myp » 08 дек 2013, 20:48

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

Re: регулирвока яркости подсветки фоторезистором.

dccharacter » 08 дек 2013, 21:04

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

Читать еще:  Как можно регулировать скорость интернет

Схема у тебя неправильная. Выкидываешь родной резистор, а в разрыв пихаешь полевик сток-исток.

Прикол будет, если родной резистор висит не на земле. Хотя если ты схему затвора питаешь от батарейки — пофиг. Только тогда земли не соединяй.

Arduino и светодиод

Сразу выложу ссылку на мой репозиторий GitHub, посвященный Arduino.

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

Теперь мигаем двумя диодами попеременно, используя ту же самую технологию.

Работающая схема выгладит так

ФОТОРЕЗИСТОР И ПОТЕНЦИОМЕТР

Далее проект с получением аналогового сигнала и реакцией на него зажиганием световода. Происходит получение сигнала от фоторезистора, об уровне освещенности. Чем выше уровень освещенность окружающей среды, в которую помещен фоторезистор, тем ниже его сопротивление. Поэтому мы конечно же, по факту, работаем лишь сравнивая цифры напряжения, полученные на выходе от этого компонента цепи. Далее в цепь включен потенциометр(резистор с управляемым сопротивлением), использован на 10 кОм с ручной регулировкой сопротивления. На выходе от него мы фиксируем полученный уровень напряжения. И сравниваем эти 2 цифры (соответственно 1- от фоторезистора, а вторая от потенциометра). От фоторезистора фиксируем на аналоговом пине А0. А от потенциометра на пине А1. Если напряжение от фоторезистора меньше чем от потенциометра, то подаем напряжение на светодиод от пина 13. Соответственно — чем выше освещенность, тем раньше загорается светодиод. Важный момент — наличие в цепи еще одного резистора на 1 кОм.

В работе использован потенциометр B10K.

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

Выведем данные с фоторезистора и потенциометра в монитор порта Arduino(Serial Monitor). При естественном освещении фиксируем такие цифры, при которых загорается светодиод. Здесь мы видим, что цифры есть не что иное, как результат интерпретации напряжения, полученного от фоторезистора и потенциометра, частью Arduino, которая называется аналого-цифровым преобразователем или АЦП, которая считывает это изменяющееся напряжение и преобразует его в число от 0 до 1023. Когда вал потенциометра повернут полностью в одном направлении, тогда есть 0 вольт, идущие к выходу, и значение которое мы увидим на экране будет 0. Когда вал полностью повернут в противоположном направлении, на контакте есть 5 вольт, а входное значение, полученное Arduino равно 1023. Аналоговый метод Read () возвращает число между 0 и 1023, которое зависит от напряжения, подаваемого на контакт.

Далее моделируем темноту, заслонив фоторезистор от света

И постепенно поворачиваем вал потенциометра до зажигания светодиода. Зажигание наступает на таких цифрах:

Теперь повышенная освещенность в состоянии покоя (до поворота потенциометра).

И фиксируем показания в момент зажигания светодиода при повышенной освещенности.

Код выгладит так:

РЕГУЛИРОВКА ЯРКОСТИ СВЕТОДИОДА ПОТЕНЦИОМЕТРОМ

Схема собирается в соответствии с рисунком

Принцип работы — считываем показания с потенциометра при повороте его вала на пин А0, и в соответствие с этими данными передаем необходимый уровень напряжения на светодиод, для этого делим полученное значение на 4, т.к. нам необходимо войти в допустимый для диода диапазон до 255.

Фиксируем показатели в таблице, постепенно поворачивая вал потенциометра.

Вид на встроенном в Arduino IDE плоттере:

УПРАВЛЕНИЕ ВКЛЮЧЕНИЕМ СВЕТОДИОДА В ЗАДАННОМ ДИАПАЗОНЕ

Схема подключения такая же как и выше.

Отрисовка на плоттере при вращении вала потенциометра будет соответствующая, каждый цикл соответствует степени вращения. Обозначения на графике имеем в соответствие с установленными нами границами от 300 до 900.

ВКЛЮЧЕНИЕ СВЕТОДИОДА ИЗ SERIAL MONITOR

В текстовом поле Serial Monitor вводим 1 или ноль, в зависимости от этого загорается светодиод.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector