Многие проекты индикаторов уровня были опубликованы на данном сайте. Меня особенно заинтересовала конструкция индикатора с памятью пиковых значений. К сожалению, он мог работать только в одном режиме и управлять только одноцветными светодиодами. Представленный в статье индикатор может работать в нескольких режимах, имеет память пиковых значений, двухцветные светодиоды и возможность работы в разных режимах.
Рисунок 1. Принципиальная схема индикатора
Схема индикатора представлена на рисунке 1. Напряжение питания и измеряемый сигнал подаются на разъем J1. Схема U1 действует как стабилизатор питания. Диод D31 защищает его от обратной полярности. Входной сигнал поступает на однополупериодный выпрямитель с операционным усилителем, поэтому проблем с сигналами напряжением ниже 0,6 В не возникает.
На практике выпрямитель можно было бы исключить, но он также позволяет регулировать чувствительность с помощью потенциометров R24 и R25. Резисторы R15, R23 и конденсатор С8 задают напряжение 2,5 В на входах операционных усилителей (искусственная земля). Резисторы R17 и R28 защищают вход микроконтроллера от повреждения, вызванного слишком высоким сигналом. Конденсаторы С15, С16 отсекают постоянную составляющую. Резисторы R30, R31 принудительно устанавливают напряжение 0 В на входах АЦП микроконтроллера при отсутствии входного сигнала.
Сигнал с АЦП после соответствующей обработки управляет 30 двухцветными светодиодами. Обычно для управления ими необходимо соединить по схеме 6х5, что означает, что потребуется 11 выводов. Если посмотреть на схему, то увидим, что 30 диодов управляется 9 выводами. Как это возможно? Поскольку выводы микроконтроллера могут принимать три состояния (низкий, высокий, вход без подтяжки), они ведут себя как выходы с тремя состояниями. Чтобы зажечь зеленый диод D1, необходимо подать высокий уровень на вывод 2 JP1, низкий уровень на вывод 4 JP1, а остальные выводы — в третье состояние. Чтобы загорелся красный D1, необходимо поменять полярность сигналов. Зеленый D2 загорится, когда 4 JP1 в высоком состоянии, 6 JP1 в низком состоянии, остальные в третьем состоянии. Зеленый D3, 2 высокий, 6 низкий и т.д. Такая система управления называется TELEPAREL.
Принцип управления, описанный ранее позволяет зажечь один светодиод. Для отображения линейки светодиодов(индикатор) необходимо применить режим мультиплексирования. Индикатор управляется процедурой прерывания от таймера 0, которая вызывается каждые 0,3 мс, что дает время свечения одного диода 9 мс (0,3 мс * 30 диодов). Индикатор обновляется более 100 раз в секунду, что исключает эффект мерцания.
Напряжение, обработанное аналого-цифровым преобразователем, преобразуется в процедуре skalowanie(). Она логарифмирует значение напряжения, так что динамический диапазон 40 дБ может быть представлен 15 диодами. Чтобы избежать трудоемких вычислений, преобразование выполняется следующим образом: выборка значений производится из таблицы.
Индикатор может работать в одном из пяти режимов:
• Режим 1 (ЛИНЕЙКА): зеленая линейка с красной точкой памяти.
• Режим 2 (ТОЧКА): зеленая точка с красной точкой памяти.
• Режим 3 (МНОГОЦВЕТНЫЙ): зелено/красная линейка с красной точкой памяти в области ускорения.
• Режим 4 (МНОГОЦВЕТНЫЙ G): зелено/красная линейка с зелено/красной точкой памяти.
• Режим 5 (МНОГОЦВЕТНЫЙ R): зелено/красная линейка с красной точкой памяти.
Выбор режима осуществляется с помощью перемычки J2. После замыкания перемычки J2 с землей не менее чем на 100 мс режимы переключаются в следующем порядке: ЛИНЕЙКА, ТОЧКА, МНОГОЦВЕТНЫЙ, МНОГОЦВЕТНЫЙ G, МНОГОЦВЕТНЫЙ R. На дисплее загорятся красные светодиоды на обоих каналах, информируя о выбранном режиме. Режим выбирается путем снятия перемычки, когда на индикаторе отображается нужный режим. Через 800 мс после снятия перемычки микроконтроллер переключается на работу в выбранном режиме и настройка запоминается в памяти EEPROM.
В программе есть несколько констант, которые можно изменять:
• CZASMAX // время отображения пикового значения в мс;
• CZASSRE // время измерения (частота обновления) среднего значения в мс;
• TIMOPADANIA // время "падения" максимального значения до нуля в мс.
Сборка и запуск
Рисунок 2. Макет печатной платы индикатора
Схема сборки индикатора представлена на рисунке 2. Сборка типовая и не требует подробного обсуждения. Запуск следует начинать с проверки напряжения питания (5 В). Если напряжение правильное и микроконтроллер запрограммирован, то после включения питания выполняется тест индикатора, после чего в течение 800 мс отображается выбранный режим работы. После этой операции индикатор возобновляет нормальную работу.
Рисунок 3. Настройка битов конфигурации
Микроконтроллер программируется через разъем J3. Настройка битов конфигурации показана на рисунке 3, но для программирования лучше использовать файл с расширением .ELF, который автоматически установит биты конфигурации. Потенциометры в цепи обратной связи операционных усилителей позволяют как усиливать, так и ослаблять входной сигнал. Возможно, что при подключении индикатора к выходу усилителя мощности потребуется использовать дополнительный аттенюатор. При его выборе следует помнить, что входное сопротивление индикатора зависит от установленного коэффициента усиления (демпфирования) и может изменяться в диапазоне 10...230 кОм. Индикатор должен быть отмасштабирован таким образом, чтобы уровень 0 дБ соответствовал максимально допустимой мощности усилителя. Если индикатор будет использоваться в качестве индикатора линейного уровня (VU-метра), его необходимо откалибровать другим способом. Подаем на вход индикатора синусоидальный сигнал частотой 1 кГц и уровнем 0 дБ, затем настраиваем потенциометр так, чтобы на индикаторе загорелся светодиод 0 дБ.
Фото 1. Фото готового устройства
| Файлы к статье "Индикатор уровня на двухцветных светодиодах" | |
| Описание:
Исходный код(Си), макет печатной платы. |
|
| Размер файла: 1.32 MB Количество загрузок: 44 | Скачать |






