Ранее в http://rcl-radio.ru/?p=131261 был описан проект индикатора уровня на ИЛТ4-30М, на этой странице аналогичный проект, но с использованием индикатора ИЛТ1-15М.
ИЛТ1-15М — шкальный вакуумный люминесцентный индикатор, опытный прототип. Информационное поле состоит из 60 светящихся элементов размера 2,5х1 мм, расположенных в 2 ряда (30х2).
По сути индикаторы ИЛТ1-15М и ИЛТ4-30М очень похожы, у них примерно одинаковые параметры, аналогичное кол-во сегментов индикатора шкалы. Есть различие в нумерации выводов анодов и сеток.
К сожалению я не нашел подробного описания индикатора ИЛТ1-15М, но я думаю что они очень близки к параметрам индикатора ИЛТ4-30М.
Нумерация выводов:
- 1 — K1 — катод, вывод 1 накала
- 2 — СВ — сетка верхняя
- 3 — A1 — анод 2 сегмента шкалы индикатора уровня
- 4 — A2 — анод 3 сегмента шкалы индикатора уровня
- 5 — СН — сетка нижняя
- 6 — A3 — анод 4 сегмента шкалы индикатора уровня
- 7 — A4 — анод 5 сегмента шкалы индикатора уровня
- 8 — A5 — анод 6 сегмента шкалы индикатора уровня
- 9 — A6 — анод 7 сегмента шкалы индикатора уровня
- 10 — A7 — анод 8 сегмента шкалы индикатора уровня
- 11 — A8 — анод 9 сегмента шкалы индикатора уровня
- 12 — A9 — анод 10 сегмента шкалы индикатора уровня
- 13 — A10 — анод 11 сегмента шкалы индикатора уровня
- 14 — A11 — анод 12 сегмента шкалы индикатора уровня
- 15 — A12 — анод 13 сегмента шкалы индикатора уровня
- 16 — A0 — анод 1 сегмента шкалы индикатора уровня, а так же шкалы дБ, букв Л и П
- 17 — A13 — анод 14 сегмента шкалы индикатора уровня
- 18 — A14 — анод 15 сегмента шкалы индикатора уровня
- 19 — А= — анод красная шкала дБ
- 20 — K2 — катод, вывод 2 накала
Схема индикатора уровня
Индикатор ИЛТ1-15М имеет две сетки, одна для верхней части индикатора, вторая для нижней, они запитываются от транзисторных ключей. Так же следует учитывать, что что элементы «Л», «П», шкала dB и первый сегмент индикатора уровня имеют один общий анод (поэтому горят постоянно и не участвуют в динамической индикации), который так же не имеет управления и напряжение +30 В подается на нее через резистор, аналогично и красный сегмент в шкале дБ так же не имеет управления и напряжение +30 В подается на него через резистор. Все остальные сегменты индикатора имеют управление в виде транзисторных ключей.
Итого используется 16 транзисторных ключей, 14 из которых для управления сегментами индикатора уровня, а два управляют сетками.
Для управления ключами используется плата разработчика LGT8F328P-LQFP32 MiniEVB, которая основана на китайском микроконтроллер LGT8F328p и является клоном популярной AVR ATmega328p (Arduino NANO). Микроконтроллер LGT8F328p практически полностью совместим с микроконтроллером ATmega328p и обладает рядом дополнительных функций и возможностей превышающих ATmega328p.
При сборке обратите внимание на номиналы резисторов подключенных к коллекторам транзисторов, в для сеток это 47 кОм, для анода с элементами «Л», «П», шкала dB и первый сегмент индикатора 10 кОм, для анода красного сегмента шкалы дБ, так же используется резистор номиналом 10 кОм, для сегментов зеленого свечения 100 кОм, для красного свечения 10 кОм.
В схеме используются транзисторы с Uкэ_max не менее 100 В, в данном проекте используются транзисторы KSP44 c Uкэ_max = 400 В.
Основное питание схемы 9 В, оно подается на преобразователь напряжения и на вход VIN платы контроллера.
Преобразователь имеет трансформатор выполненный из ферритового сердечника (гантельный сердечник) на который намотано 3 обмотки проводом диаметром 0,2…0,3 мм.
Первая обмотка содержит 20 витков, вторая 10 витков с отводом от середины, третья содержит 120 витков. Транзистор IRF3205 необходимо установить на небольшой радиатор.
При правильной сборке ток потребления схемы должен находится в пределах 0,35 А.
Скетч практически аналогичен скетчу в статье http://rcl-radio.ru/?p=131261, за исключением регистра OCR1A, который имеет немного другое значение.
// LGT8F328 // сетки #define SETKA_0 2 #define SETKA_1 3 // аноды #define P1 4 #define P2 5 #define P3 6 #define P4 7 #define P5 8 #define P6 10 #define P7 11 #define P8 12 #define P9 13 #define P10 A0 #define P11 A1 #define P12 A2 #define P13 A3 #define P14 A4 // входы аудио #define AN_R A6 #define AN_L A7 #define LOW_IN 2 #define HIGH_IN 50 byte h; int r_in,l_in,r,l; int ur_l,urr_l,ur_r,urr_r; void setup(){ Serial.begin(9600); noInterrupts(); TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; TCCR1A = (1 << COM1A1)|(1 << WGM11); TCCR1B = (1 << WGM13)|(1 << WGM12)|(1 << CS10); DDRB = 1 << DDB1; // OUTPUT PWM (OCR1A) OCR1A = 12; ICR1 = 40; ///// TCCR2A = 0; TCCR2B = 0; TCNT2 = 0; OCR2A = 77; TCCR2A |= (1 << WGM21); TCCR2B |= (1 << CS22) | (1 << CS21) | (1 << CS20); TIMSK2 |= (1 << OCIE2A); interrupts(); pinMode(2,OUTPUT);pinMode(3,OUTPUT);pinMode(P1,OUTPUT);pinMode(P1,OUTPUT);pinMode(P3,OUTPUT);pinMode(P4,OUTPUT);pinMode(P5,OUTPUT);pinMode(P6,OUTPUT);pinMode(P7,OUTPUT); pinMode(P8,OUTPUT);pinMode(P9,OUTPUT);pinMode(P10,OUTPUT);pinMode(P11,OUTPUT);pinMode(P12,OUTPUT);pinMode(P13,OUTPUT);pinMode(P14,OUTPUT); pinMode(AN_R,INPUT); pinMode(AN_L,INPUT); analogReadResolution(8); analogReference(INTERNAL1V024); } void loop(){ r_in = map(analogRead(AN_R), LOW_IN,HIGH_IN, 0, 14); l_in = map(analogRead(AN_L), LOW_IN,HIGH_IN, 0, 14); r = constrain(r_in, 0, 14); l = constrain(l_in, 0, 14); urr_l = l; urr_r = r; if(urr_l<ur_l){ur_l=ur_l-1;}else{ur_l = l;} if(urr_r<ur_r){ur_r=ur_r-1;}else{ur_r = r;} delay(50); } ISR(TIMER2_COMPA_vect){ switch(h){ case 0: ch(SETKA_1,1);segm(ur_l);ch(SETKA_0,0);break; case 1: ch(SETKA_0,1);segm(ur_r);ch(SETKA_1,0);break; } h++;if(h>1){h=0;} } void segm(int a){ switch(a){ case 0: ch(P1,1);ch(P2,1);ch(P3,1);ch(P4,1);ch(P5,1);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 1: ch(P1,0);ch(P2,1);ch(P3,1);ch(P4,1);ch(P5,1);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 2: ch(P1,0);ch(P2,0);ch(P3,1);ch(P4,1);ch(P5,1);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 3: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,1);ch(P5,1);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 4: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,1);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 5: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,1);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 6: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,1);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 7: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,1);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 8: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,1);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 9: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,1);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 10: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,0);ch(P11,1);ch(P12,1);ch(P13,1);ch(P14,1);break; case 11: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,0);ch(P11,0);ch(P12,1);ch(P13,1);ch(P14,1);break; case 12: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,0);ch(P11,0);ch(P12,0);ch(P13,1);ch(P14,1);break; case 13: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,0);ch(P11,0);ch(P12,0);ch(P13,0);ch(P14,1);break; case 14: ch(P1,0);ch(P2,0);ch(P3,0);ch(P4,0);ch(P5,0);ch(P6,0);ch(P7,0);ch(P8,0);ch(P9,0);ch(P10,0);ch(P11,0);ch(P12,0);ch(P13,0);ch(P14,0);break; } } void ch(int pin, int logic){digitalWrite(pin, logic);}
Настройка индикатора уровня:
После сборки подайте напряжение 9 В на индикатор уровня, измерьте переменное напряжение подаваемое на накал, оно должно находится в пределах 3,5±0,2 В, при необходимости измените номиналы токоограничивающих резисторов (4,7 Ом).
Напряжение анодов-сегментов должно быть в пределах 30…35 В, для регулировки этого напряжения можно изменить скважность ШИМ путем изменения содержимого регистра OCR1A. При OCR1A = 20 скважность ШИМ равна 50 %, постарайтесь не увеличивать скважность больше 50 %, увеличение скважности больше 50 % заметно увеличит ток потребления индикатора уровня и вызовет сильный нагрев транзистора IRF3205.
OCR1A = 12;
Следующие два параметра устанавливают уровень тишины и ограничивают максимальный уровень сигнала. Если при замкнутом входе уровень индикатора превышает 1 деление шкалы , то увеличьте параметр LOW_IN.
Если при подачи на вход звукового сигнала индикатор постоянно находится в красной зоне, то увеличьте параметр HIGH_IN.
#define LOW_IN 2
#define HIGH_IN 50
При загрузке скетча отключайте питание 9 В.
Настройки платы контроллера:
Форум — http://forum.rcl-radio.ru/viewtopic.php?pid=8979#p8979
российская операционная система