Автомат световых эффектов на основе цифрового генератора шума » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

Какие микроконтроллеры вы используете?


Atmel
MicroChip
STM
Motorola
Texas Instruments
Другие


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Световые эффекты » Автомат световых эффектов на основе цифрового генератора шума
    Автомат световых эффектов на основе цифрового генератора шума
    Автор публикации: alex Просмотров: 9298 Добавлен: 27-07-2012, 12:37 Комментарии: 0

         Принцип действия предлагаемых автоматов основан на применении так называемого цифрового генератора шума, который можно реализовать как аппаратно, на цифровых микросхемах малой степени интеграции, так и программно, на микроконтроллере.
         Отличие от известных автоматов световых эффектов на микроконтроллерах, принцип действия предлагаемых основан не на воспроизведении заранее записанной в память или "зашитой" в код программы последовательности управляющих сигналов, а на динамической генерации такой последовательности. Этот подход позволяет увеличить число реализуемых световых эффектов и одновременно упростить программу.
         Прежде чем обратиться к принципиальной схеме — немного теории. В [2] приведено описание цифрового генератора шума или генератора псевдослучайной последовательности прямоугольных импульсов. Он построен на основе сдвигового регистра, охваченного обратной связью. Для получения сигнала обратной связи применён сумматор по модулю 2 (логический элемент "ИСКЛЮЧАЮЩЕЕ ИЛИ"). Длительность импульсов и интервал между ними изменяются по псевдослучайному закону. Период повторения последовательности определяется разрядностью регистра и значительно превышает период следования тактовых импульсов.
    Автомат световых эффектов на основе цифрового генератора шума

         Для последовательности, содержащей все состояния регистра, кроме нулевого, период в секундах равен Tn=(2n-1 )/f, где n — разрядность регистра; f — тактовая частота, Гц. Если тактовую частоту сдвинуть в область инфранизких частот, а выходные разряды регистра использовать для управления источниками света, например гирляндами, можно получить световой автомат, довольно простой по схеме, но чрезвычайно насыщенный в плане реализации эффектов. Всего при восьмиразрядном регистре может быть до 255 комбинаций включённых и выключенных гирлянд.
         Схема автомата на цифровых микросхемах малой степени интеграции — восьмиразрядном регистре сдвига и микросхеме, содержащей четыре логических элемента "ИСКЛЮЧАЮЩЕЕ ИЛИ", показана на рис. 1. Генератор тактовых импульсов собран на элементах DD1.1 DD1.2 и транзисторе VT1 Частоту генерации можно изменять переменным резистором R5 в интервале 5...50 Гц. Импульсы поступают на вход С регистра DD2. Он охвачен петлёй обратной связи, реализованной на элементах DD1.3 и DD1.4. Элемент DD1.4 использован для установки регистра в начальное состояние, отличное от нулевого. При этом используется свойство элемента, заключающееся в том, что при низком уровне на одном из входов он является повторителем, а при высоком — инвертором сигнала на другом входе.
         При подаче напряжения питания транзистор VT2 открывается импульсом тока, протекающим через конденсатор С1, и на выходе элемента DD1.4 на время зарядки этого конденсатора устанавливается высокий уровень. В первые или во все разряды регистра (в зависимости от значения тактовой частоты) будет записана логическая 1. По завершении зарядки конденсатора и закрывания транзистора VT2 генератор цифровой последовательности работает в обычном режиме. К выходам разрядов регистра через токоограничивающие резисторы R7—R14 подключены тринисторные оптопары (U1— U8), с помощью которых можно управлять источниками света, например лампами накаливания, подключёнными к источнику переменного напряжения.
    Автомат световых эффектов на основе цифрового генератора шума

         Применение микроконтроллера позволяет существенно упростить устройство, уменьшить его габариты и энергопотребление, повысить удобство пользования и предоставить возможность дальнейшего усовершенствования. Причём задача в этом случае сводится к программной реализации цифрового генератора шума.
         Схема такого автомата показана на рис. 2. Его основа — микроконтроллер DD1, встроенный тактовый генератор которого сконфигурирован для работы с внешней частотозадающей RC-це-пью. Это сделано из следующих соображений: во-первых, обеспечиваемая кварцевым резонатором высокая стабильность тактовой частоты не требуется. отсутствие кварцевого резонатора делает устройство более дешёвым и доступным для повторения. Во-вторых, появляется возможность управлять частотой переключения гирлянд как за счёт изменения программы, так и прямой регулировкой частоты тактового генератора. Частоту тактового генератора задаёт цепь R4C2, подключенная ко входу OSC1. При этом сопротивление резистора должно быть в интервале 5... 100 кОм, а ёмкость конденсатора — не менее 20 пФ.
         К линиям порта В через токоограничивающие резисторы (R5—R12) и индикаторные светодиоды HL1— HL8 подключены излучающие диоды сими-сторных оптопар U1—U8, управляющих источниками света. Все каналы идентичны, поэтому показаны только два из них. Оптопары обеспечивают гальваническую развязку микроконтроллера от цепей питания источников света. При высоком уровне на соответствующей линии порта через излучающий диод оптопары протекает ток и её фотосими-стор открывается. Кнопки SB1 и SB2, подключённые к выводам порта С, предназначены для изменения частоты переключения гирлянд. Нажатие на кнопку SB1 приводит к увеличению, на кнопку SB2 — к её уменьшению.
    Автомат световых эффектов на основе цифрового генератора шума

         Вся управляющая программа содержит всего несколько строк и написана на языке С для компилятора HI-TECH С for PIC10/12/16 в среде MPLAB IDE. Конфигурирацию микроконтроллера задаёт строка _CONFIG(0x03F73)
         Отличие от стандартной состоит только в использовании RC-генератора взамен кварцевого. Далее задаются значения временной задержки для регулировки скорости переключения эффектов и шаг её установки. Внутри главной функции программы main() сначала происходит назначение портов МК: все линии порта В конфигурируются как выходы (TRISB=0), а линии порта С — как входы (TRISC=1). Также происходит установка портов в исходное состояние: в порт С записывается значение 0x06, т. е. на линиях порта RC1 и RC2 установлен уровень лог 1, а в порт В — значение 0xF0. Собственно, второе значение может быть любым, но не равным 0 — это условие нормальной работы алгоритма формирования так называемой М-последовательности (содержащей все возможные состояния сдвигового регистра, кроме нулевого).
         Внутри бесконечно повторяющегося цикла while(1) строки с условиями if() служат для опроса состояния кнопок и установки значений переменной задержки при выполнении программы, т. е. частоты переключения, а тело цикла for() — для реализации этой задержки. Собственно программным аналогом цифрового генератора шума являются
    Автомат световых эффектов на основе цифрового генератора шума

         всего следующие две строки, организующие сдвиговый регистр с обратной связью на восьми разрядах порта В микроконтроллера:
         RB0 = RB5^RB7
         PORTB = ((PORTB<<1) | (PORTB>>7))
         Первая из них записывает в младший разряд сдвигового регистра сумму по модулю 2 значений разрядов RB5 и RB7, т. е. служит для реализации петли обратной связи с выходов регистра на его вход Вторая строка обеспечивает циклический сдвиг содержимого регистра в сторону старших разрядов.
         В устройствах применены постоянные резисторы МЛТ, С2-23, переменный — СП4-1, СПО, оксидный конденсатор — К50-35 или импортный, остальные — К10-17. Светодиоды — серий АЛ307, АЛ336 с желаемым цветом свечения. Микроконтроллер PIC16F873-20I/SP можно заменить на PIC16F873A-I/SP, PIC16F876-20I/SP, PIC16F876A-I/SP (а также без индекса I) в корпусе PDIP28 или с соответствующим изменением печатной платы — на микроконтроллеры PIC16F874, PIC16F877 в корпусах DIP40. Загрузочные файлы различаются: для микроконтроллеров серий PIC16F873 и PIC874 следует применить файл pic16f873_874.hex, для PIC16F876, PIC877 — файл pic 16f876_877.hex.
    Автомат световых эффектов на основе цифрового генератора шума

         В качестве управляющих элементов, подающих питание на источники света, применены симисторные оптопары МОС3083. Они отличаются малым током излучающего диода оптопары, при котором открывается фотосимистор — 5...7 мА, высоким допустимым напряжением на фотосимисторе — 800 В и его пиковым током — до 1 А Их применение позволяет непосредственно управлять источниками света с потребляемым током до 300 мА (около 60 Вт при питании от сети 220 В), что вполне достаточно, например, для новогодних гирлянд. Можно применить оптопары МОСЗО63 (с допустимым напряжением 600 В) без каких-либо изменений в схеме, а также МОС3082, МОС3062, МОС3052 с уменьшением сопротивления резисторов R5—R12 до 200 Ом для увеличения тока излучающих диодов оптопар до 10 мА или МОС3081, МОС3061, М0С3051 — до 150 Ом и 15 мА соответственно.
         При расчёте сопротивления токоограничивающих резисторов R5—R12 для получения требуемого тока через излучающие диоды 1и необходимо учитывать падение напряжения на них (UVD) и светодиодах (UHL): R5(R12) = (Uпит-UHL- Uvd)/Iu. Так, для светодиодов красного цвета свечения это напряжение приблизительно равно 1,5...2 В, жёлтого — около 2,5 В, зелёного — 2,8 В при токе 10 мА. Падение напряжения на излучающем диоде оптопары — 1... 1,2 В. Поскольку максимальное значение тока светодиодов серий AJ1307, АЛ336 примерно 20 мА, а максимальный выходной ток одной линии порта микроконтроллера перечисленных типов 25 мА, его следует ограничить значением 15...20 мА. В этом случае суммарный выходной ток порта В микроконтроллера (при высоком уровне во всех разрядах) не превысит 160 мА, что меньше допустимого значения (200 мА). Питают устройства от сетевых стабилизированных блоков питания с выходным напряжением 5 В и током до 400 мА. Подойдёт, например, зарядное устройство для сотовых телефонов с выходным стабилизированным напряжением.
         Правильно собранные устройства налаживания не требуют. В первом устройстве интервал перестройки частоты тактового генератора можно изменить подборкой конденсатора С2, а во втором тактовую частоту изменяют подборкой резистора R4. Как отмечено выше, во втором автомате существует возможность регулировки частоты переключения гирлянд с помощью переменного резистора. Для этого следует исключить кнопки SB1 и SB2, а резистор R4 заменить последовательно соединёнными переменным резистором сопротивлением 51 кОм и постоянным 5,1 кОм.
         Все элементы можно смонтировать на макетной печатной плате с применением проводного монтажа. На рис. 3 показана такая плата микроконтрол-лерного автомата. Чертёж двусторонней печатной платы из фольгированного стеклотекстолита для этого устройства показан на рис. 4. Её размещают в пластмассовом корпусе подходящих размеров. На стенках устанавливают гнёзда для подачи питающего напряжения и подсоединения источников света, которые подключают в соответствии с рис. 5. Суммарное напряжение ламп должно соответствовать напряжению питания. Для правильного чередования световых эффектов отдельные источники света должны быть сгруппированы по порядковому номеру в гирлянде и размещены линейно или радиально последовательно друг за другом, например, сначала все первые лампы каналов 1—8, затем все вторые и т. д.
    Материал взят из: Журнала Радио 2011 №11

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

    avtomat.rar [2,63 Kb] (cкачиваний: 327)

    Комментарии