Мигающие огни стробоскопа могут вызывать удивительные галлюцинации. Но точные повторяющиеся вспышки света также позволяют визуализировать движение, которое слишком быстрое, чтобы его можно было увидеть глазом или обычной камерой. Великолепное видео и инструкции GreatScott вдохновили меня на создание портативного стробоскопа с батарейным питанием и точной регулировкой частоты. Оказывается, Arduino вполне способна на это, и более того, установить настраиваемую продолжительность вспышек тоже было довольно просто.
Точные настройки частоты означают, что стробоскоп можно использовать для точных измерений частоты вращения двигателя или точных измерений скорости с помощью стробоскопической фотографии. Простого регулятора потенциометра недостаточно для достижения точности установки частоты до промилле. Вместо этого здесь частота мигания связана с тактовой частотой 16 МГц Arduino, а желаемая частота может быть указана с 4 десятичными знаками.
Повторяющиеся сигналы можно генерировать разными способами с помощью Arduino. Чрезвычайно точное управление частотой может быть достигнуто с помощью приращения фазы в быстром контуре, как для этого генератора сигналов. Однако в Arduino есть три встроенных таймера, и 16-битный TIMER1 вместе с его предварительными шкалами тактовых импульсов оказался достаточным для охвата интересующего меня диапазона частот 0,3-999,9 Гц. Использование таймера оставляет желать лучшего. CPU свободен для других задач, поэтому для отображения частоты можно использовать компактный 4-сегментный светодиодный дисплей. Более того, 4-сегментный дисплей можно припаять прямо к Arduino Nano (как это было сделано и для этого таймера), что дает очень компактную и простую установку, оставляя свободный вывод D10, который является B-выходом TIMER1.
Получить яркие вспышки с помощью устройства с батарейным питанием - непростая задача, и представленной здесь схемы явно недостаточно для освещения танцпола. Однако за счет грамотного использования конденсаторов и некоторой перегрузки светодиодов можно получить довольно яркие вспышки, при питании только от 2 батареек AA.
И последнее, но не менее важное: я должен выделить функцию установки продолжительности вспышки: сверхкороткие вспышки приводят к очень «статическим» изображениям, но средняя светоотдача низкая. Более длинные вспышки дают больше света, но менее способны «заморозить» изображение. Таким образом, я добавил возможность изменять длительность вспышки от 64 до 960 микросекунд, всегда оставаясь ниже рабочего цикла 10%. Эта дополнительная функция значительно увеличивает количество приложений, для которых можно использовать этот стробоскоп.
Видео выше иллюстрирует функциональность. Обратите внимание, что он был снят с частотой 30 кадров в секунду, поэтому, когда стробоскоп работает на этой частоте или кратной ей, кажется, что он вообще не мигает, поскольку каждый сделанный снимок получает вспышку.
Если вам понравился этот проект, пожалуйста, проголосуйте за него в конкурсе «Сделай это сияющим»!
Шаг 1: Код
Прилагаю скетч Arduino. Будьте осторожны, в зависимости от версии вашего дисплея (общий катод или общий анод) и того, как он подключен (UNO с макетной платой или припаян к Nano), вам нужно адаптировать некоторые настройки, комментируя и / или раскомментировав соответствующие строки.
Обратите внимание, что мигание стробоскопа полностью выполняется с помощью timer1, так что весь ЦП доступен для запуска 7-сегментного дисплея и проверки кнопок. Большинство непонятных настроек таймера скрыты в подпрограмме setfreq. Предварительное масштабирование выбирается таким образом, чтобы оно было наименьшим, совместимым с выбранной частотой, так что достигается наилучшее разрешение.
Шаг 2: Версия макета (версия с одним светодиодом 5 мм)
Я рекомендую сначала сделать макетную версию, чтобы протестировать компоненты и опробовать программное обеспечение. Здесь лучше всего вносить изменения в программное обеспечение или драйвер светодиода в соответствии с вашими целями. Были использованы следующие компоненты:
* Arduino UNO R3 с прототипом экрана для компактных подключений
* 4-значный 7-сегментный дисплей размером 0,56 дюйма с десятичными точками. Либо общий анод, либо общий катод.
* Белый 5-миллиметровый светодиод плюс токоограничивающий резистор 100 Ом
* Две кнопки
* Некоторые провода для подключения
7-сегментный дисплей имеет 6 контактов вверху и 6 внизу. Связи сегментов и цифр кажутся произвольными, но они одинаковы для всех дисплеев, которые я видел. С помощью программного обеспечения мы можем выбрать, когда запускать, поэтому нет необходимости связывать их каким-либо определенным образом. Здесь проводка выбирается в соответствии с проводкой, когда дисплей припаян непосредственно к Arduino Nano: A0-A5 и D4-D9.
Подключите светодиод с анодом (длинный вывод) к D10 и заземлите его с помощью токоограничивающего резистора 100 Ом. Падение напряжения на белом светодиоде составляет ~ 3 В, поэтому ток будет (5-3 В) / 100 Ом = 20 мА.
Подключите две кнопки между массой и D11, D12. Программное обеспечение активирует внутренние подтягивающие резисторы на D11 и D12, поэтому эта минимальная проводка будет работать нормально.
Теперь загрузите скетч Arduino (из шага «Код») через обычную IDE Arduino, и, если все в порядке, на дисплее отображается число 20,0, а светодиодный индикатор слабо мигает с частотой 20,0 Гц. Если на дисплее сегменты отображаются в произвольном порядке, возможно, у вас дисплей с общим анодом. Попробуйте прокомментировать и раскомментировать соответствующие строки кода. Если дисплей по-прежнему не работает, у вас может быть другая компоновка контактов, чем у меня, и вам, вероятно, следует проверить таблицу.
Чтобы поднять частоту, нажмите одну кнопку, чтобы понизить - нажмите другую. Одно нажатие будет изменяться с шагом 0,1 Гц, при более длительном нажатии изменения будут происходить постепенно быстрее. Минимальная частота - 0,3 Гц, максимальная - 999,9 Гц.
Длительность импульса можно изменить, нажав обе кнопки одновременно и удерживая их нажатыми, пока не отобразится желаемая длительность импульса. Он будет идти с шагом 64 микросекунды, пока не достигнет 960 микросекунд или наибольшего числа, которое соответствует рабочему циклу 10%.
Шаг 3: Увеличение светового потока
При настройке из предыдущего раздела будет мигать один светодиод, что отлично подходит для тестирования программного обеспечения, но не очень хорошо. Однако ток (20 мА) близок к максимальному, с которым может справиться один вывод Arduino (40 мА). Чтобы получить более сильный свет, нам понадобится драйвер, светодиоды питания и источник питания.
Полевые МОП-транзисторы - предпочтительные компоненты для коммутации больших токов, я использую их впервые, но они работают без проблем и могут выдерживать большие токи с небольшим падением напряжения. Я использую IRLZ44N. «L» имеет важное значение: это означает, что он может полностью переключаться с «логическими» уровнями: 5 В. По моему опыту, Arduino может напрямую управлять MOSFET без необходимости в драйвере MOSFET. Однако лучше связать затвор с землей с помощью резистора 10 кОм, чтобы убедиться, что полевой МОП-транзистор выключен, когда не включен явно.
MOSFET может легко работать с напряжениями до 50 В, что может потребоваться, если вы хотите переключить сверхмощные (> 10 Вт, даже 100 Вт) светодиодные чипы COB. Однако для устройства с батарейным питанием я решил использовать те же 5 В, что и у Arduino, и для светодиодов. Две батареи AA с модулем повышения, установленным на 5 В, могут обеспечивать непрерывный ток 200 мА на светодиоды и 50 мА на Arduino. 200 мА непрерывно при максимальном рабочем цикле 10% означает, что светодиоды могут быть выбраны для потребления мгновенного тока 2 А.
Я сделал это, используя 10 светодиодов по 0,5 Вт, 5730 для поверхностного монтажа, каждый из которых последовательно с резистором 10 Ом. Это должно дать мгновенный ток 200 мА на светодиод, который немного перегружен, но, поскольку они пульсируют максимум на 10%, это очень консервативно. Посмотрите здесь, как припаять эти светодиоды SMD.
Конденсаторы необходимы для обеспечения высокого мгновенного тока вспышки. Затем время между вспышками используется для зарядки конденсаторов. Заряженный Q, накопленный на конденсаторе, является произведением напряжения V и емкости C. Однако, как только конденсатор начинает разряжаться, его напряжение падает, поэтому только небольшая часть общего заряда доступна для создания вспышки. Конденсатор емкостью 1000 мкФ при 5 В не сможет сильно мигать светодиодами в течение 1 мс, поскольку он теряет 2 В, если он выдает 2 А в течение 1 мс. Таким образом, я использую два конденсатора по 1000 мкФ параллельно. Приведенная выше осциллограмма показывает, что напряжение на конденсаторах уменьшается всего на 0,5 В после разрядки в течение 1 мс.
Шаг 4: Окончательная портативная версия
Чтобы стробоскоп стал постоянным инструментом, его нужно поместить в прочную коробку. Мне удалось уместить его в стандартный корпус размером 100x60x25 мм. Питание обеспечивается двумя перезаряжаемыми никель-металлгидридными батареями AA с напряжением питания до 5 В. Включен / выключен переключатель, чтобы предотвратить разряд батарей. Хорошие кнопки, которые у меня были, были слишком большими, чтобы поместиться в коробке, поэтому я использовал кнопки 12х12 мм, которые действительно предназначены для печатных плат, но они очень компактны и действительно работают очень хорошо.
Сначала я нарисовал карандашом примерные места, чтобы вырезать 4 отверстия в корпусе. С помощью вращающегося инструмента я грубо вырезал их и с помощью ручного напильника прорезал отверстия с точностью. Лампа подключается снаружи, поэтому достаточно сделать 2 небольших выступающих отверстия на «крышке» корпуса.
Nano припаян к 7-сегментному дисплею, как показано на рисунке. Резистор 10 кОм удобно помещается на задней панели полевого МОП-транзистора для подключения затвора к истоку.
Модуль повышения, который я использовал, имеет фиксированный выход 5 В, они немного меньше, чем регулируемые модули, и нет опасности случайно поджарить Arduino. Провода, по которым передается сигнал (например, к кнопкам и от них), могут быть тонкими, но провода, идущие к светодиоду, должны иметь низкое сопротивление.
Обратите внимание, как на схеме 12 соединений от Arduino к 7-сегментному дисплею были опущены, чтобы избежать загромождения линий. Надеюсь, связи понятны по картинкам и описанию!
Шаг 5: Стробоскопический эффект
Наконец, видео, демонстрирующее, как с помощью стробоскопического эффекта можно измерить частоту быстро вращающегося объекта, в данном случае капучинатора. Во-первых, частота установлена на 157 Гц, и видно, что появляется колесо. совершенно неподвижен. Это означает, что частота вращения составляет 157 Гц или целое число, кратное этому. Чтобы убедиться, что реальная частота не 314 или 471 Гц, мы также пробуем удвоить и утроить исходную частоту. На частоте 314 Гц мы ясно видим, что колесо поворачивается на пол-оборота при каждой вспышке, а при 471 Гц - на треть оборота, поэтому подтверждено, что частота вращения составляет 157 оборотов в секунду или 9420 об / мин.