Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

20iВашему вниманию предлагается двухканальный (стереофонический) индикатор уровня с детектором пиков от Ondřej Slovák. Этот индикатор разработан на микроконтроллере PIC16F88, его так же можно собрать и на микроконтроллере PIC16F1827 и на микроконтроллере PIC16F819. Прошивки индикатора пиков для всех этих типов микроконтроллеров находятся в прикреплении (в архиве). Схемы аналогичны, различаются только прошивки. Мы будем рассматривать схему с микроконтроллером PIC16F88.
Отображение уровней и пиков в индикаторе, происходит на двух светодиодных шкалах (линейках) по 16 светодиодов в каждой, 2 х16.
Режимы, в которых может работать индикатор, изображены ниже в таблице, они такие-же, как и в предыдущей схеме (индикаторе). Их можно комбинировать и объединять установкой или снятием перемычек (джамперов). Резистором R1 изменяется чувствительность индикатора, меняется напряжение на выводе 2 микроконтроллера, причём чем меньше напряжение на выводе 2, тем выше чувствительность индикатора. Оптимальное напряжение на выводе в пределах 200-250 мВ.

 

Таблица 1. Выбор режимов индикации.

 

Резистор
джампер

Отсутствует

Присутствует

R11

Бегающие линии

Бегающие точки

R12

Логарифмическая шкала

Линейная шкала

R13

С индикацией пиков

Без индикации пиков

R14

Пики падающие

Пики простые

 

Шкала индикатора работает в двух режимах отображения, это в линейной и логарифмической (ниже на рисунке). Линейная шкала зашита программно в коде программы, а вот значения логарифмической шкалы можно поменять по своему усмотрению, или даже сделать обратно-логарифмической. Эти данные "зашиты" в EEPROM и их можно менять.

 

TAB16 Рисунок 2.

 Как менять самому значения данных EEPROM, рассмотрим ниже.
На рисунке №3 приведён "снимок" кодов EEPROM программы ISPROG.

 tabl Рисунок 3.

 

В верхней части таблицы, строчки обведённые красным цветом - это значения (логарифмические) "зажигания" каждого светодиода (16 значений), которые соответствуют значению логарифмической шкалы, на рисунке №2. Это шестнадцатеричные значения вертикальной шкалы (от 2-х до 248). Можете построить свою шкалу, например обратно-логарифмическую, и внести свои значения в эти ячейки.
Далее ниже разберём по частям;
03 - Первое значение - это время свечения светодиодов, по умолчанию установлено 12 мс (1 = 4,096 мс, то есть 03 = (4,096*3)= 12,228 мс)
08 - Это время свечения последнего светодиода, по умолчанию 33 мс.
08 - Это темп спадания пиков, по умолчанию установлено 33 мс.
7А - Это время послесвечения пиков, по умолчанию установлено 500 мс.(7А = 122* 4,096)
64 - Это коррекция яркости свечения светодиодов. Для светодиодов с током свечения 2 ма - значение 64, для светодиодов с током свечения 20 ма - устанавливается 08.

Посмотрите демонстрационное видео, работы индикатора пиков. Здесь он работает в режиме индикации с пиками в падающем режиме, шкала логарифмическая (джамперы сняты).

Схема индикатора изображена ниже на рисунке №4. Светодиоды применены на ток 3 мА, если ставить светодиоды мощнее, на ток 20 мА, то резисторы R1-R8 необходимо заменить на резисторы по 22-33 Ом, можно ставить на плату резисторы smd. Для оперативного переключения режимов работы индикатора, на плате установлены коммутированные перемычки ("джамперы").
Конфигурация процессора PIC16F88 (установка предохранителей, "фузов").
CP:OFF, CCPMux:RB0, Debugger:OFF, WRT:Writable, CPD:OFF, LVP:OFF, BOREN:ON, MCLRE:I/O, PWRTE:Disabled, WDTE:ON, OSC:INTRC-I/O, IESO:OFF, FCMEN:OFF
Конфигурация процессора PIC16F1827 (установка предохранителей, "фузов").
FOSC:INTOSC, WDTE:ON, PWRTE:OFF, MCLRE:OFF, CP:OFF, CPD:OFF, BOREN:ON, CLKOUTEN:OFF, IESO:OFF, FCMEN:OFF, WRT:OFF, PLLEN:OFF, STVREN:OFF, BORV:HI, LVP:ON
В прикреплении в архиве, так же находятся и начальные части кодов asm для этих процессоров, в которых указаны конфигурации процессоров.
*При конструировании и налаживании своих разработок на микроконтроллерах, автор использует USB-программатор PRESTO и соответственно, прилагающее к нему программное обеспечение компании ASIX - программу ASIX UP. Конфигурации процессоров указаны для этой программы.
Я повторял эту конструкцию, использовав программатор ExtraPic и программу icprog. Конфигурации процессора не устанавливал и не контролировал. Сразу после прошивки схемы заработали (имеется в виду ещё и первая схема для 40 светодиодов), повторял несколько раз - всё начинало работать сразу после прошивки.

 

sch01
Рисунок 4.

 

Индикатор собран на печатной плате, размером 84 х 27 мм. Фото печатной платы ниже на рисунке №5. На плате резисторы R1-R8 smd.

 

VUM11 Рисунок 5.

 

Ниже на рисунке №6 показаны перемычки, распаянные на плате между линейками светодиодов.

 

VUM05 Рисунок 6.

 

Внешний вид собранного индикатора. На плате установлены плоские светодиоды, резисторы R1 - R8 типа smd, распаяны с обратной стороны платы, со стороны дорожек.

 

VUM12 Рисунок 7.

 

Печатная плата индикатора (в формате Sprint-Layout имеется в архиве) с расположением элементов изображена на рисунке №8. На плате не указаны перемычки между линейками светодиодов, так как они расположены одна над другой. Перемычки распаиваются на места, обозначенные цифрами 1 - 7, причём сначала устанавливается перемычка №1 на место 1-1, затем - 2 на место 2-2, и т.д.

 

VUMbrd01

 

Рисунок 8.

По материалам сайта http://vprl.ru