Многофункциональный LED стробоскоп

12/07/2013 - 11:20 Павел Бобков

Введение

   Предлагаю любителям световых эффектов многофункциональный светодиодный стробоскоп на микроконтроллере фирмы Atmel - Attiny 13. Устройство может найти применение в автомобиле, мотоцикле или, на худой конец, велосипеде. Стробоскоп имеет достаточно простую схему, которую можно собрать за один вечер. 

Схема стробоскопа

 


   Транзисторы VT2, VT4, VT6 - биполярные n-p-n транзисторы общего назначения, например, BC547, BC847. Транзисторы VT1, VT3, VT5 - полевые транзисторы p-типа. Подбираются, исходя из вашей нагрузки.
   К контактным площадкам JP3, JP4 подключаются светодиодные лампы или светодиоды плюсовым выводом. Номиналы резисторов R3, R8 выбираются исходя из требуемого тока по формуле R = (12 - Uled)/Iled. Где Iled - требуемый ток в амперах, Uled - прямое падение напряжения на светодиоде в вольтах при заданном токе. Значение Uled и допустимые токи Iled приводятся в даташитах на светодиоды. Если используются светодиодные лампы с питанием 12 В, резисторы R3, R8 не нужны.  
   Сирена или бузер со встроенным генератором подключаются плюсовым выводом к площадке JP5.
   Минусовой вывод светодиодов и бузера - к JP2.
   Микроконтроллер Attiny13 тактируется от внутреннего тактового генератора на частоте 9.6 МГц. При программировании нужно будет отключить внутренний делитель тактовой частоты. Остальные фъюз биты менять не нужно. 

Описание работы

   Устройство работает в двух основных режима: "габарит" и "стробоскоп".

Режим "габарит"

   В этом режиме светодиоды выполняют функцию габаритов (то есть непрерывно светят). При нажатии кнопки S2 включается первый эффект стробоскопа на время удержания кнопки.
   Длительное нажатие на S1 переключает устройство из режима "габарит" в режим "стробоскоп" и запускается последний выбранный световой эффект.

Режим "стробоскоп"

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

Программа

  Проект сделан в Atmel Studio 6.1. Исходники приведены в конце статьи.  При наличии знаний по Си, эффекты стробоскопа можно изменить по своему желанию. Все они описаны в файле led.c в виде последовательностей байтов. Например так выглядит первый эффект стробоскопа. 

const uint8_t led_pr1[] PROGMEM =
{
   LED1_ON |LED2_OFF, 5,
   LED1_OFF|LED2_OFF , 5,
   LED1_OFF |LED2_ON, 5,
   LED1_OFF|LED2_OFF , 5,
   REPEAT
};

   Четные байты массива (0, 2, 4...) определяют состояние светодиодов, нечетные (1, 3, 5...) - временную задержку в десятках миллисекунд. Последовательность всегда должна заканчиваться константой REPEAT.

Видео работы стробоскопа

{youtube}6YY85OgZh_8{/youtube}

Исходник проекта и прошивка

 Strobo-Proj-AS61.rar
 Strobo-firmware.rar


Автор устройства - Юрий Гузиенко. Прошивку написал я. 

Comments   

# Дед Гиляй 2013-07-13 05:10
Устройство может быть весьма полезно, однако авторам необходимо было бы указать, что они в действительност и используют не светодиоды, как они пишут, а светодиодные лампы, судя по всему, автомобильного назначения. При подключении в эту схему того, что действительно называется светодиодами, они неминуемо будут уничтожены из-за протекания через них недопустимо большого тока по причине подключения между "землей" и +12 В через низкоомный канал транзистора. Для этого случая правильно было бы указать на схеме также токоограничиваю щий резистор и привести соотношение для расчета его величины в зависимости от напряжения питания, типа светодиода - его цвета и, соответственно, падения напряжения на нем, планируемого тока диода, а также количества соединяемых последовательно диодов.
# Юра 2013-07-13 07:20
Светодиодный, имеется ввиду, светодиодный тип излучателя. И нигде здесь не написано что изпользуются обычные светодиоды. И тот кто хоть чуть-чуть разбирается в электронике никогда б не подключил к выходам полевых транзисторов обычные светодиоды.
# 123LancerX 2013-08-28 12:42
Юра. Можно как то связаться с вами? Мне нужна помощь подключения реле поворота на авто.
# Pashgan 2013-07-13 07:26
Поправил текст и схему. Думаю теперь все более очевидно.
# Andriska 2013-08-25 19:19
Список деталей бы отдельно, и печатку в LAY А так все класс. +10
# tipp_sanyok 2014-01-06 21:44
Походу схема не та.
У вас стоит на j3 цеплять сирену а подписано Led.

Также не пойму почему минус светодиода цепляется на j5 а не просто на минус.
# Pashgan 2014-01-07 05:29
Схема правильная. В описании ошибка. Поправил.
# tipp_sanyok 2014-01-07 06:54
А у вас случайно печатки нет.

И можете обьяснить про подключение минуса?
# Pashgan 2014-01-08 13:56
У меня нет печатки. Я отлаживал программу на макете.

А что непонятно с подключением минуса?
# tipp_sanyok 2014-01-08 19:43
В старом описании что минус лед цеплять на j5.
А теперь ясно.
# kaban55 2014-01-07 15:56
Привет, собрал Вашу схему все работает, только вот в режиме габаритов при моргании нет звукового сигнала, это так и заложено в прошивке?, в режиме стробоскоп при переборе эффектов звуковой сигнал есть.Спасибо.
# Алексей Яничкин 2016-03-23 18:50
Доброго времени суток. Судя по вышеизложенному , вы смонтировали себе такую схемку. Просьба, если сможете смонтировать мне такую же?
# Юра 2014-01-08 06:11
Да, это так заложено в прошивке. На видео просто к кнопке S2 подключена и сирена.
# kaban55 2014-01-08 08:47
Спасибо! еще вопросик, можно вашу схему разместить на другом ресурсе с ссылкой на эту статью?
# Pashgan 2014-01-08 13:56
Можно
# kaban55 2014-01-09 19:12
Привет, еще раз вопросик, заметил такую вещь, при первом включении,адекв атно работают только режим габариты, при чем моргание в этом режиме работает правильно,при переходе в режим стробов, эффекты работают ,НО очень медленно, при чем при переборе эффектов они перебираются, но опять же сами эффекты очень медленные включение светодиода раз в 2-3 секунды, а то и еще большею при длительном включении схемы( минут 3-5) и переборе эффектов они по одному начинают работать нормально, сначала один быстро как и надо , а остальные медленно , потом два , потом 3, и т. д. , в конце концов все эффекты приходят в норму и уже в дальнейшем работают как надо, даже при вкл/откл питания, (то-есть это первое время после прошивки и включения только такой косяк), подскажите в чем дело, это так и должно быть, я так предполагаю что это как-то с памятью связано
# MACOH 2015-06-10 07:32
Доброго дня, очень понравился строб, а можно попросить Вас скинуть печатку? (а тов разводке я пока не селен)amart374@gmail.com
# kaban55 2015-06-10 07:44
Приветствую http://turbobit.net/ujmwi6x0rqup.html Тут все, печатка в DipTrace
# Алексей Яничкин 2016-03-23 18:53
Юрий, нашел данную тему в ютубе и вышел по ссылке сюда. Огромная просьба, сможешь мне смонтировать такую же в количестве двух штук??
# Юра 2016-03-23 20:22
можно, пиши мне на почту yura-gn@yandex.ru
# Юра 2014-01-09 19:37
>при прошивке микроконтроллер а нужно будет также прошить и EEPROM память, иначе при первом включении устройство может вести себя "неадекватно"
# kaban55 2014-01-09 20:10
Так в том то и дело что прошиваю память, для прошивки памяти тот-же HEX файл надо?
# kaban55 2014-01-09 20:23
все вопрос снят сам ступил
# tipp_sanyok 2014-01-09 20:25
ну давай колись в чом косяк.
кстати на драйве то-же с тобой общались.
# kaban55 2014-01-09 20:28
да на драйве тоже со мной, для прошивки EEprom надо файл с расширением .eep , а я два раза HEX загонял
# tipp_sanyok 2014-01-09 20:31
Ха -ха понятно.
# Дима 2014-01-16 15:21
Здравствуйте, что такое SV1 , не понимаю куда должен идти RES, это кнопка такая ?
# Юра 2014-01-16 16:04
SV1 это разьем для программировани я микроконтроллер а. RES никуда не должен идти.
# Дима 2014-01-16 16:14
тогда вопрос в чем может быть ошибка если светодиоды не реагируют на нажатие кнопок?
# Юра 2014-01-16 16:40
Правильно собранное и запрограммирова нное устройство начинает работать сразу. Ошибка или в не правильном подключении или в не правильно запрограммирова нных фьюзах.
# Andris 2014-01-16 19:51
Как сделать такую же на 24 volta
# Юра 2014-01-16 19:58
Так и делать, только чтобы стабилизатор и полевики были с запасом по входному напряжению.
# Юра 2014-01-16 20:30
Забыл что на вход полевика нельзя подавать больше 20V, так что наверное придется ставить еще и драйвер для управления полевиками.
А если нагрузка будет небольшая то проще будет поставить обычные транзисторы.
И резистор R13 нужно поставить на 1,5К
# Alyes 2014-01-22 03:50
если >20v, ставьте стабилитрон, между затвором полевика и корпусом... драйвер, как дороговато...
# Юра 2014-01-22 07:08
Если поставить стабилитрон то защита будет только в одну сторону, а в даташите написано ± 20V, то есть если общее питание будет 24V то на Gate будет идти уже + или -24V. Это я так понимаю, может быть это и не правильно- я не специалист.
# Alyes 2014-01-22 07:21
в этой схеме нужна именно по плюсу, т.к. минус общ. здесь нет питания от средней точки, т.е. плюс, общ и минус. Значит на затворе (Gate), только будет или +24 (если стабилитрон, допустим КС512, то +12в), или 0.
# Юра 2014-01-22 07:27
Я понял, спасибо за объяснение. Тогда можно и без стабилитрона обойтись - уменьшив напряжение резистивным делителем.
# Hooligan 2014-03-24 20:44
Здравствуйте. Такой вопрос. Собрал схему прошил всё работало. Оставил одну кнопку S2 (остановился на нужном варианте эффекта и включил постоянно габариты). Установил на а\м день всё работало. Заглушил оставил на ночь. с утра пришёл всё нормально габариты включаются но на S2 не реагирует. В чём беда не пойму. До этого на столе работало всё на ура.
# Юра 2014-03-24 21:11
Мог произойти сбой программы, например из за наводок от ксенона. Сам сейчас с этой проблемой борюсь.
# Hooligan 2014-03-25 18:37
Всё решилось так: достал блок и перемкнул S1 (с удержанием) потом также перевёл в режим габаритов. и S2 заработала. Не хочется конечно каждый раз лазить. но думаю если не часто то можно :) Спасибо за схему и прошивку!
# Pashgan 2014-03-26 17:26
Проблема аппаратная или программа где-то залипает?
# Hooligan 2014-03-26 17:54
Да вроде программное. Сбой правда был один раз. Если повторится отпишусь.
# Humoyun 2014-09-19 06:40
Можете указать примеры полевых транзисторах
# Юра 2014-09-19 06:52
IRFR5305PBF, IRF5305PBF
# Humoyun 2014-09-19 16:03
Большое спасибо!!!
# Andriska 2014-10-17 09:52
А печатку в ley не трудно кому прислать на andriska@list.ru зарание спасибо.
# Andriska 2014-11-04 18:33
http://s019.radikal.ru/i628/1411/ba/0af104ff2728.jpg

Не трудно кому проверить печатку ?
# pelya999 2014-11-05 12:26
А резистор R5 для чего собственно нужен
# Andriska 2014-11-10 23:01
78l05 вроде на оборот и 547 тоже. А вот IRF5305PBF не знаю, помогите.
# Andriska 2014-11-12 18:31
Есть пару ошибок, помог устранить Юра Гузиенко. За что ему огромное спасибо.
# Hooligan 2014-12-20 11:38
Quoting Andriska:
Есть пару ошибок, помог устранить Юра Гузиенко. За что ему огромное спасибо.

А что за ошибки? У меня по прежнему проявляются неисправности. то самопроизвольно начинает моргать, то наоборот не запускается при нажатии на S2.
# Andriska 2014-12-21 19:53
http://forum.bungle.lv/viewtopic.php?f=6&t=32
# Alex9245 2015-01-04 07:59
Прошу прощения не могли бы вы выложить скрин фьюзов или написать значения в HEX. В протезе все работает а вот на макетке бред какойто
# Andriska 2015-01-04 10:57
ckdiv8 убрать галку Pony prog
# Cooler 2015-01-05 20:56
Друзья, а кто какой программатор использует.
K150 прописать tiny13 не вышло.
# Andriska 2015-01-06 14:01
http://cxem.net/mc/images/mc96-17.jpg
# Cooler 2015-01-06 19:23
Quoting Andriska:
http://cxem.net/mc/images/mc96-17.jpg

А без LPT варианты есть? :roll:
# Hooligan 2015-08-04 13:08
Друзья. Что то моя схема на авто продолжает глючить (как это происходит писал выше). Помогите перелопатить прошивку, я в этом не силён.
Хочу чтобы остался один эффект 1й. Звуковое подтверждение не нужно. Функционал S2 остался тот же, а S2 переводит при длительном удержании в режим стробоскопов и габарита. И при сбросе питания всегда возвращался в режим габаритов. Буду очень благодарен за прошивку diagnostics@inbox.ru
# Hooligan 2015-08-04 13:10
*а S1 переводит при длительном удержании в режим стробоскопов и габарита.
# akrub 2015-10-25 14:12
подскажите, можно ли избавиться от биполярников при использовании IRLML6402 ?

нагрузка в каждом канале 6*1вт светодиодов
если не трудно скажите какие резисторы ставить в между контроллером и затвором и между завтором и +12в
# Юра 2015-10-25 14:27
При использовании р-канальных полевиков без биполярников нельзя, n-канальные можно.
# akrub 2015-10-26 02:20
можете объяснить из-за чего , нужна инверсия в прошивке?
# Юра 2015-10-26 09:23
инверсия само собой, нормально так работать не будет, ставь транзисторы и не парся.
# pelya999 2015-10-28 18:09
Автор прошивки, можете немного переделать прошивку, чтобы кнопка S1 работала по плюсу, а не по минусу?
# SANYAx1 2015-10-28 18:32
Шестую ногу на вход без внутренего резистора.
# pelya999 2015-10-28 19:33
я так полагаю это вы мне ответили, но я неособо понял, какую строчку в исходнике надо подправить
# SANYAx1 2015-10-29 02:12
Там где инициализация портов. Вам нужно загрузить атмел студию 6.1. Открыть проект.Нужен файл стробоскоп.с. Инициализация порта РВ1, выставить in, 0. Далее скомпилировать проект.
# pelya999 2015-10-29 06:21
менять надо в этой строчке?
Code:PORTB = (0<<LED1)|(0<<LED2)|(0<<BUZ_PIN)|(1<<BUT_NUM)|(0<<CONTR_PIN);
# SANYAx1 2015-10-29 06:27
Да.
# pelya999 2015-10-29 06:40
меняю в этой строчке с (1
# pelya999 2015-10-29 06:43
меняю в этой строчке с Code:(1<<BUT_NUM) на Code:(0<<BUT_NUM) , компилирую, моделирую в протеусе, но пр нажатии на кнопку S1, устройство реагирует неадекватно. Ножку PB1 вешаю на землю через резистор
# SANYAx1 2015-10-29 09:54
Не нужно эту ногу на землю. Просто вход на РВ1 через резистор 10к и кнопку которую запитай от +12В.
# pelya999 2015-10-29 09:59
Я правильно поменял значение в коде? потому что все равно не работает, даже после того как я убрал резистор. Вы сами проверяли?
# Юра 2015-10-29 10:23
Открой вкладку Stroboskop.с найди эту строку Code: PORTB = (0<<LED1)|(0<<LED2)|(0<<BUZ_PIN)|(1<<BUT_NUM)|(0<<CONTR_PIN); и поменяй значение BUT_NUM на 0.
Далее, открой вкладку button.c найди эту строку Code: if (!(BUT_PINX & (1<<BUT_NUM))){ и убери в ней дужку, знак восклицания и в конце еще одну дужку.
Скомпилирую проект.
К ножке подключи тоже самое что и на второй кнопке.
# pelya999 2015-10-29 10:41
Большое спасибо, вот теперь заработало
# Zvermashine 2015-10-29 13:16
Quoting pelya999:
Большое спасибо, вот теперь заработало

А мог бы ты откомпиленной прошивкой прошивкой поделиться - управлять +12 гораздо удобнее а скачать компилятор инет не позволяет
# pelya999 2015-10-29 13:20
да всегда пожалуйста https://drive.google.com/file/d/0B1l8qYptQTWWNThKRlVtRjRlWFU/view?usp=sharing
# Zvermashine 2015-10-30 13:09
Спасибо. Я очень часто путаюсь :) Размышлял над программой и схемой и вот какие мысли появились:
выбрал ключи помощнее
убрал пищалку
решил что управлять на землю кнопками удобнее
думаю было бы хорошо управлять вообще одной кнопкой - длинное нажатие переключение строб/габарит, короткое однократно строб/переключе ние режима моргания.

Если хочешь могу поделиться печаткой под все SMD
# SANYAx1 2015-10-30 13:57
А почему на землю удобнее? Печаткой поделитесь.
# Zvermashine 2015-10-31 03:57
Потому как в авто/мото применение и нужно протянуть только 2 провода (если мой товарищ переделает то 1) и замыкать на землю, а землю всюду найти можно.
Плюс между транзисторами irf9310 (они мощнее), биполярники bc847, LM-ка L7805CD2T корп D2pac.
https://yadi.sk/d/gJhU3hEYk8qQ9
Если сильны в программировани и может переделаете под одну кнопку? :)
*решил оставить биполярники - лень искать подходящие n-ключи
# SANYAx1 2015-10-31 04:29
Так по умолчанию и так кнопка на землю. В программировани и не силен как автор, но попробовать можно.
# Zvermashine 2015-10-31 04:54
Разве S2 не подтягивается на +12. Или я опять что то напутал?
# SANYAx1 2015-10-31 15:47
Quoting Zvermashine:
Разве S2 не подтягивается на +12. Или я опять что то напутал?

Подтягивается. Но можно в насторках МК выставить так же как на S1, меньше компонентов будет задействовано. Я на S2 не смотрел)))
# Zvermashine 2015-11-01 03:25
Можно конечно, только вот я не совсем понял что, а во вторых мне и объяснять не стоит - у меня нет компилятора и инет не очень.
Все думаю как упростить программу и понял что все эти эффекты в программах излишнее усложнение - можно объединить их в одну программу моргания. И просто менять режим строб/габарит одной кнопкой
# Zvermashine 2015-10-29 06:07
А я вот вообще не пойму зачем было усложнять? Можно без биполярников обойтись перейдя на N-канал, убрать одну лишнюю кнопку и на оставшуюся назначить длинное и короткое нажатие.
# akrub 2015-11-09 02:49
а возможно ли переделать программу чтобы
1. при подаче питания с нажатой S2 сразу шел стробоскоп без двойного моргания, но если не нажата то все как обычно
2. чтобы контроллер на пищалку сразу выдавал частоту ~2кгц
# Nikolay 2016-06-03 03:01
Здравствуйте. Такой вопрос. А есть ли схема стробоскопа и дхо с четырьмя выходами и что бы они моргали хаотично
# Alex13 2016-08-23 06:57
Добрый день! Надеюсь тема не заглохла и автор не забросил сей замечательный проект!
Возможно ли модернизировать прошивку, добавив в неё задержку на включение ДХО?
После двух морганий задержка 3-5 секунд и ДХО включаются! Желательно, чтоб они разгорались плавно!
# Z 2017-12-07 15:34
Автор , или кто собрал?,
Свяжитесь со мной по братский
w666v@bk.ru

У вас недостаточно прав для комментирования.