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

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

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

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

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

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

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

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

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

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

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

Add comment