![]() |
![]() |
||||||||||||
Вариации на тему автоматов световых эффектов
Автор: bob51 Вниманию сообщества предлагается материал по автоматам световых эффектов. Ничего особенного – просто автоматы… может только несколько усложненные. Базовые схемки построены на основе типовых МК – ATtiny13/13A, ATtiny2313/2313A, AT89C2051/4051 или на чем-нибудь подобном (при соответствующей адаптации программ). Основу устройств составляет програмный ШИМ на 4-6-8 каналов с возможностью дополнительного мультиплексирования выходного сигнала (1 из 8, 2 из 8 = 1 из 4х, 2 из 6) для экономии на источнике питания. Второй частью «изюминки» является собственно прикладная программа рисунка, позволяющая составить отдельный световой рисунок по каждому из каналов. А для более плотной упаковки в ПЗУ каждая из программ канала может использовать «общие фрагменты». Получилась какая-то пародия на язык описания световых эффектов. Зато теперь можно только сам прикладной участок менять, оставляя ядро управления без изменений. Стандартный диапазон изменения яркости для АВРок – 0-256 градаций, шаг на один фрагмент вывода (кадр) 0,016 секунды ( при частоте регенерации 62Гц ). На сегодня основное ядро обрабатывает только данные из ПЗУ при двух алгоритмах вывода – на основе стандартного программного ШИМ и на основе BAM ( модули shim_tm1l.txt и bamsh_tm1.txt соответственно). Дальнейшее расширение возможно в сторону подключения дополнительных блоков обработки по внешним событиям и ввод данных с внешнего ПЗУ ( тогда пойдут «в работу» и PICи ). Вот собственно вариант схемки для 8-канального контроллера на основе ATtiny 2313 и ULN2803: ("схемка" в приложении)
с активным уровнем равным логической единице. А вот так макетная платка выглядит: ("макетка" в приложении)
В качестве выходной нагрузки можно цеплять все, чего найдется - от простеньких цепочек из шести 3-х вольтовых (белый/синий) светиков + LM317 с токозадающим резистором при питании от 24-26 вольт переменного напряжения и светиковых лент (но там потребуется стабилизированное 12 вольт) до прочего «под руку попавшего» с соответствующим изменением питания. Как крайний случай – просто светик с токоограничивающим резистором на лапку МК – но тогда надо будет соответствующие места в программе подредактировать (перевод на активный уровень равный логическому нулю) и питание по +5 вольтам соответственно умощнить, желательно на основе MC43063A или чего подобного. В приложении выложен проект под avr studio 4.19 для ATtiny2313 с исходниками. Возможно с не совсем понятными и красивыми комментариями – но… пишем как умеем. Это максимальный по объему текст – для других МК нужно просто сделать соответствующие их структуре изменения. Собственно исходник состоит из набора файлов – *.asm – заголовочный файл-шапка проэкта; *.inc – то, что поставляет разработчик (или вариации на ту же тему, но самописные); *.txt – собственно модули самой программы, включая разделы объявленных имен , макросы, библиотечки сопровождения «железа», инициализации аппаратной части, сканер дисплея, обработчик данных и собственно текст рисунка для светиков. Проект с обычным программным ШИМ называется nv8_avr (файл заголовка nv8_avr.asm). Проект с BAM – nv8b_avr (файл заголовка nv8b_avr.asm). Существуют также проект на AT89C2051 (без значительных затруднений пересаживаемый на любую mcs51), но … там достаточно низкая скорость выполнения программ, удобно только для сканера с BAM + могут быть затруднения с программаторами и компиляторами – я пишу на ассемблере под атмеловский c51asm…Если кого заинтересует – добавлю или вышлю на e-mail. Ежли кому интересно будет – пишите, попробую ответить, насколько сумею.
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |
![](/templates/radiokot_classic_neew/images/datasheet.png)
![](/templates/radiokot_classic_neew/images/dorogi.png)
![]() |
![]() |
|||
|
||||
![]() |
![]() |