Часы на газоразрядных индикаторах
Re: Часы на газоразрядных индикаторах
[uquote="Dan Swano",url="/forum/viewtopic.php?p=3545223#p3545223"]...это поправимо?..[/uquote]Поставить на десятки часов и сделать программу в 12 часовом формате. Выбросить этот индикатор и вместо него поставить секундный разделитель.
- ALEXLAB
- Вымогатель припоя
- Сообщения: 615
- Зарегистрирован: Вт янв 11, 2011 18:52:49
- Откуда: город ветров - Новороссийск
- Контактная информация:
Re: Часы на газоразрядных индикаторах
[uquote="dizzel",url="/forum/viewtopic.php?p=3545266#p3545266"]Раз мое предположение верно то у меня возникают вопрос. Например у меня анодные ключи подключены к аналоговым пинам ADC3 ADC2 ADC1 (6 ламп, 3 ключа, за основу взят проект Sunnyclock). Как осуществить привязку к таймеру в этом случае?
Планирую использовать 328 мегу. У нее PWM это PD3,PD5,PD6,OC1A,OC1B,OC2 и три таймера. Для меня возникает путаница. Первый таймер рекомендуют не трогать он влияет на обработку delay и millis. Получается остается 2 таймера по 2 ноги на каждый. Но у меня 6 ламп. И что делать...? Не понятно.[/uquote]
Ну, во-первых, не мешало бы увидеть Вашу схему. Во-вторых - на чем пишете? (метки "delay и millis" намекают на СИ, а желание использовать 328 мегу - на платформу ардуино) - А я только в АСМе помочь могу. В третьих, в "Sunnyclock", если мне не изменяет память, динамическая индикация, а я, что в статической, что в динамической индикации - привык рулить катодами. В-четвертых, привязку к таймеру сделать лучше всего с помощью прерываний, или в куске кода, который выполняется много раз чаще, чем событие PWM. А вообще, лучше обратиться к автору - Alexey_Sh.
Планирую использовать 328 мегу. У нее PWM это PD3,PD5,PD6,OC1A,OC1B,OC2 и три таймера. Для меня возникает путаница. Первый таймер рекомендуют не трогать он влияет на обработку delay и millis. Получается остается 2 таймера по 2 ноги на каждый. Но у меня 6 ламп. И что делать...? Не понятно.[/uquote]
Ну, во-первых, не мешало бы увидеть Вашу схему. Во-вторых - на чем пишете? (метки "delay и millis" намекают на СИ, а желание использовать 328 мегу - на платформу ардуино) - А я только в АСМе помочь могу. В третьих, в "Sunnyclock", если мне не изменяет память, динамическая индикация, а я, что в статической, что в динамической индикации - привык рулить катодами. В-четвертых, привязку к таймеру сделать лучше всего с помощью прерываний, или в куске кода, который выполняется много раз чаще, чем событие PWM. А вообще, лучше обратиться к автору - Alexey_Sh.
Ученье - свет, а неученье - чуть свет, и на работу.
||||||||||||||||||||||||||||||| ЛК
-20 -10 -5 -3 -1 0 +1 +2 +3 +6 dB
||||||||||||||||||||||||||||||| ПК
||||||||||||||||||||||||||||||| ЛК
-20 -10 -5 -3 -1 0 +1 +2 +3 +6 dB
||||||||||||||||||||||||||||||| ПК
Re: Часы на газоразрядных индикаторах
Зачем использовать аппаратный ШИМ? У AVR обычно мало каналов.
Индикация с плавной сменой цифр и задержкой при переключении разрядов, а также, при желании, регулировкой яркости, прекрасно реализуется на одном таймере с прерываниями по переполнению и совпадению (в простом случае - два прерывания по совпадению, если немного подумать, можно обойтись одним, но перенастраиваемым).
Я использую такой способ:
1) Прерывание по переполнению - n++, вывод первой цифры разряда n, включение лампы n.
2) Прерывание по совпадению 1 - вывод второй цифры того же разряда n
3) Прерывание по совпадению 2 - гашение разряда n.
В зависимости от того, в какой момент наступит "Прерывание по совпадению 1", будет меняться соотношения яркостей двух цифр в одном разряде. "Прерывание по совпадению 2" определяет яркость (и задержку для подавления засветки).
Где-нибудь, например, в прерывании по переполнению, нужно проверять, на изменилась ли информация на индикаторах, если изменилась, начинать с некоторой скоростью изменять значение в регистре сравнения прерывания 1. Одна цифра заменится на другую плавно. После завершения смены сделать вторую цифру равной первой (новой).
Есть ещё такой:
Два чередующихся цикла индикации, отдельно для новых и старых цифр. Сначала выводим все новые, потом все старые. Ну, или наоборот. Яркость каждой из двух цифр в каждом разряде можно задавать отдельно. Если нужна одна цифра, оба раза выводим одно и то же.
1) Прерывание по переполнению - n++, вывод нужной цифры разряда n (новой или старой), включение лампы n.
2) Прерывание по совпадению - гашение разряда n.
Пример кода (CVAVR, без второго прерывания (задержки между разрядами), зато с эффектом смены с прокруткой (определяется переменной mode)):
По millis и вопросу про занятый таймер понял, что речь про Андурино. Совет: использовать это железо можно, а вот писать лучше на чистом Си, без применения андуриновких библиотек и функций. Тогда не будет вопросов про занятый неизвестно чем таймер, а также код влезет в куда менее "жирный" по памяти МК, чем 328-я Мега.
Индикация с плавной сменой цифр и задержкой при переключении разрядов, а также, при желании, регулировкой яркости, прекрасно реализуется на одном таймере с прерываниями по переполнению и совпадению (в простом случае - два прерывания по совпадению, если немного подумать, можно обойтись одним, но перенастраиваемым).
Я использую такой способ:
1) Прерывание по переполнению - n++, вывод первой цифры разряда n, включение лампы n.
2) Прерывание по совпадению 1 - вывод второй цифры того же разряда n
3) Прерывание по совпадению 2 - гашение разряда n.
В зависимости от того, в какой момент наступит "Прерывание по совпадению 1", будет меняться соотношения яркостей двух цифр в одном разряде. "Прерывание по совпадению 2" определяет яркость (и задержку для подавления засветки).
Где-нибудь, например, в прерывании по переполнению, нужно проверять, на изменилась ли информация на индикаторах, если изменилась, начинать с некоторой скоростью изменять значение в регистре сравнения прерывания 1. Одна цифра заменится на другую плавно. После завершения смены сделать вторую цифру равной первой (новой).
Есть ещё такой:
Два чередующихся цикла индикации, отдельно для новых и старых цифр. Сначала выводим все новые, потом все старые. Ну, или наоборот. Яркость каждой из двух цифр в каждом разряде можно задавать отдельно. Если нужна одна цифра, оба раза выводим одно и то же.
1) Прерывание по переполнению - n++, вывод нужной цифры разряда n (новой или старой), включение лампы n.
2) Прерывание по совпадению - гашение разряда n.
Пример кода (CVAVR, без второго прерывания (задержки между разрядами), зато с эффектом смены с прокруткой (определяется переменной mode)):
Спойлер
Код: Выделить всё
// Timer2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
if(counter<5) counter++;
else counter=0;
PORTD=PIND&0b11000000;
if((ind[counter]!=_ind[counter])&&mode){
if(change==0){
if(mode==1) {lum=-1; OCR2=16; TIMSK|=0x80;}
if(mode==2) rotate=0;
div=-1;
}
change|=(1<<counter);
}
if(change==0) _ind[counter]=ind[counter];
if((mode==2)&&(change&(1<<counter))) buffer=code[rotate];
else buffer=code[ind[counter]];
if(ind[6]&(1<<(5-counter))) buffer=buffer|0b10;
PORTC=(PINC&1)|buffer;
PORTD=PIND|razr[counter];
if(div<24) div++;
else{
div=0;
if(change&&(mode==1)){
if(lum<14) lum++;
else{
lum=0;
change=0;
TIMSK&=(~0x80);
_ind[0]=ind[0];
_ind[1]=ind[1];
_ind[2]=ind[2];
_ind[3]=ind[3];
_ind[4]=ind[4];
_ind[5]=ind[5];
}
OCR2=16+14*lum;
}
if(change&&(mode==2)){
if(rotate<9) rotate++;
else{
change=0;
_ind[0]=ind[0];
_ind[1]=ind[1];
_ind[2]=ind[2];
_ind[3]=ind[3];
_ind[4]=ind[4];
_ind[5]=ind[5];
}
}
}
}
// Timer2 output compare interrupt service routine
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
if(mode==1){
if(change&(1<<counter)){
buffer=code[_ind[counter]];
if(ind[6]&(1<<(5-counter))) buffer=buffer|0b10;
PORTC=(PINC&1)|buffer;
}
}
}По millis и вопросу про занятый таймер понял, что речь про Андурино. Совет: использовать это железо можно, а вот писать лучше на чистом Си, без применения андуриновких библиотек и функций. Тогда не будет вопросов про занятый неизвестно чем таймер, а также код влезет в куда менее "жирный" по памяти МК, чем 328-я Мега.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Re: Часы на газоразрядных индикаторах
Вопрос наверно не в тему, но тут есть знатоки.
Есть ли знаковые индикаторы (m V A Ω) по конструкции ИН-2 ?
Чтоб и знаки маленькие и торцевой конструкции не занимающие место на передней панели.
А то чтото я аналогов ИН2 по размеру вообще не припоминаю.
Есть ли знаковые индикаторы (m V A Ω) по конструкции ИН-2 ?
Чтоб и знаки маленькие и торцевой конструкции не занимающие место на передней панели.
А то чтото я аналогов ИН2 по размеру вообще не припоминаю.
Re: Часы на газоразрядных индикаторах
[uquote="74LS00",url="/forum/viewtopic.php?p=3546241#p3546241"]торцевой конструкции не занимающие место на передней панели.[/uquote]
http://www.jb-electronics.de/html/elekt ... mplett.htm
http://www.jb-electronics.de/html/elekt ... mplett.htm
PicKit3, USBasp
Радиаскан 701А
Пинцет DT-71
Осциллограф С1-116, генератор Г6-27
Радиаскан 701А
Пинцет DT-71
Осциллограф С1-116, генератор Г6-27
Re: Часы на газоразрядных индикаторах
[uquote="*Trigger*",url="/forum/viewtopic.php?p=3545614#p3545614"]По millis и вопросу про занятый таймер понял, что речь про Андурино. Совет: использовать это железо можно, а вот писать лучше на чистом Си, без применения андуриновких библиотек и функций. Тогда не будет вопросов про занятый неизвестно чем таймер, а также код влезет в куда менее "жирный" по памяти МК, чем 328-я Мега.[/uquote]
При всём моём уважении. "Чистый С" -- это ппц термин. Откуда такая хрень? Ардуина программируется на чистом С. Блин, хотите сказать: Не используйте ардуиновские библиотеки и среду ардуино, а программируйте контроллер напрямую используя компилятор avr? Так и говорите. А то чистый С, чистый С!

При всём моём уважении. "Чистый С" -- это ппц термин. Откуда такая хрень? Ардуина программируется на чистом С. Блин, хотите сказать: Не используйте ардуиновские библиотеки и среду ардуино, а программируйте контроллер напрямую используя компилятор avr? Так и говорите. А то чистый С, чистый С!

Re: Часы на газоразрядных индикаторах
Тут я имел в виду, что присутствует некоторое количество библиотек и include'ов, которые подключены по умолчанию, и при этом в исходнике не видны. Для пользователя получается эдакий "чёрный ящик", из которого наружу торчат всякие сущности типа "digitalWrite", которые изначально в стандарте языка отсутствуют.
И ведь даже специально дальше пояснил.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Re: Часы на газоразрядных индикаторах
[uquote="*Trigger*",url="/forum/viewtopic.php?p=3546292#p3546292"]:)))
И ведь даже специально дальше пояснил.
[/uquote]
Да нет
Я видел пояснение и мне то оно теперь понятно.
Просто, чисто на С, я программирую с 1987 года и когда начал недавно программировать "чисто на С" под Ардуины, меня передёргивала фраза о "чистом С". Нет такого понятия. Есть язык программирования и есть набор базовых функций поддерживаемых компилятором и наборы библиотек которые, бывает, идут комплектом со средой разработки (Ардуина в частности). Да, в ардуине оверхед приличный, но компилятор грамотно достаточно оптимизирует размер кода, поэтому до сих пор предпочитаю именно Ардуину, а не базовый avr.
Я как и все програмисты (не контроллеров
) ленив и не люблю ломать голову и вместо конструкций:
if(ind[6]&(1<<(5-counter))) buffer=buffer|0b10;
предпочитаю писать
if (BitSet(ind[6], 5-counter)) SetBit(buffer, 1);
Так оно мне более понятно и не нужно лезть в калькуляторы
А так, да, мир, дружба, жувачка
И ведь даже специально дальше пояснил.
Да нет
Просто, чисто на С, я программирую с 1987 года и когда начал недавно программировать "чисто на С" под Ардуины, меня передёргивала фраза о "чистом С". Нет такого понятия. Есть язык программирования и есть набор базовых функций поддерживаемых компилятором и наборы библиотек которые, бывает, идут комплектом со средой разработки (Ардуина в частности). Да, в ардуине оверхед приличный, но компилятор грамотно достаточно оптимизирует размер кода, поэтому до сих пор предпочитаю именно Ардуину, а не базовый avr.
Я как и все програмисты (не контроллеров
if(ind[6]&(1<<(5-counter))) buffer=buffer|0b10;
предпочитаю писать
if (BitSet(ind[6], 5-counter)) SetBit(buffer, 1);
Так оно мне более понятно и не нужно лезть в калькуляторы
А так, да, мир, дружба, жувачка
- Волосатый
- Сверлит текстолит когтями
- Сообщения: 1288
- Зарегистрирован: Пн апр 14, 2008 12:54:35
- Откуда: Город ГЕРОЙ Ленинград
- Контактная информация:
Re: Часы на газоразрядных индикаторах
Пора похвастаться)

В принципе, типовой для меня стиль. Из особенностей - каскадируемые платы
Пока попробовал на 6 лампах, в скором времени будут и 4х-ламповые.

Один преобразователь, само собой, не тянет 6 ламп, поставил 2 преобразователя, благо топология плат это предусматривает.
Платы заказывал у китайцев по акции 100*100мм 10шт за 2 бакса (с доставкой чето около 800р выходит). Резка в цену не входит, но т.к. есть ЧПУ - это не проблема.


В принципе, типовой для меня стиль. Из особенностей - каскадируемые платы
Один преобразователь, само собой, не тянет 6 ламп, поставил 2 преобразователя, благо топология плат это предусматривает.
Платы заказывал у китайцев по акции 100*100мм 10шт за 2 бакса (с доставкой чето около 800р выходит). Резка в цену не входит, но т.к. есть ЧПУ - это не проблема.
Опыт приходит сразу после того, как он был нужен...
Re: Часы на газоразрядных индикаторах
Круто получилось. Но топология уж больно сложная выходит. Но круто!
- Волосатый
- Сверлит текстолит когтями
- Сообщения: 1288
- Зарегистрирован: Пн апр 14, 2008 12:54:35
- Откуда: Город ГЕРОЙ Ленинград
- Контактная информация:
Re: Часы на газоразрядных индикаторах
В каком плане сложная? Разводки? Ну тут да, я недели две разводил сие чудо. И за счет статики разводить проще, ввиду меньшего количества сетей, проходящих через платы.
Опыт приходит сразу после того, как он был нужен...
Re: Часы на газоразрядных индикаторах
seg2007 Спасибо и на этом, такого индикатора и в самом деле нет, придётся подобрать побольше.
[uquote="Волосатый",url="/forum/viewtopic.php?p=3546920#p3546920"]Пора похвастаться)[/uquote]Название само очевидность, хоть на продажу. Можно было бы буквы в словах переставить.
Я не слежу за темой, но что там делает литий, разве обычные батарейки не долговечнее для поддержки RTC.
Складная плата ваще по приколу
[uquote="Волосатый",url="/forum/viewtopic.php?p=3546920#p3546920"]Пора похвастаться)[/uquote]Название само очевидность, хоть на продажу. Можно было бы буквы в словах переставить.
Я не слежу за темой, но что там делает литий, разве обычные батарейки не долговечнее для поддержки RTC.
Складная плата ваще по приколу
Re: Часы на газоразрядных индикаторах
[uquote="Волосатый",url="/forum/viewtopic.php?p=3546920#p3546920"]Пора похвастаться)
[/uquote]
А что за такие панельки хитрые у ИН-18?
А что за такие панельки хитрые у ИН-18?
Мои поделки часов https://www.youtube.com/channel/UC2qfoz ... subscriber
На Рутубе https://rutube.ru/channel/64515754/
Куплю корпус от калькулятора ЭКВМ 24-71 , он же Электроника 24-71 , или указанный калькулятор с целым корпусом.
На Рутубе https://rutube.ru/channel/64515754/
Куплю корпус от калькулятора ЭКВМ 24-71 , он же Электроника 24-71 , или указанный калькулятор с целым корпусом.
- Волосатый
- Сверлит текстолит когтями
- Сообщения: 1288
- Зарегистрирован: Пн апр 14, 2008 12:54:35
- Откуда: Город ГЕРОЙ Ленинград
- Контактная информация:
Re: Часы на газоразрядных индикаторах
Вырезанные из акрила обоймы, в них вставлены контакты от ГРПМ. Для ин-14/8 такие же делал.AirCat писал(а):А что за такие панельки хитрые у ИН-18?
Что бы будильник звонил, когда электричества нет. Ну и что бы батарейку менять не пришлось. Аккум заряжается не полностью, до 4,05-4,1В, что должно снизить его износ. К тому же, присутствует приличный гистерезис.74LS00 писал(а):но что там делает литий
Эти нет74LS00 писал(а):хоть на продажу
Опыт приходит сразу после того, как он был нужен...
Re: Часы на газоразрядных индикаторах
[uquote="Волосатый",url="/forum/viewtopic.php?p=3547127#p3547127"][/quote]Вырезанные из акрила обоймы, в них вставлены контакты от ГРПМ.[/uquote]
Сами делали? Лишних за умеренную плату не осталось?
Сами делали? Лишних за умеренную плату не осталось?
Мои поделки часов https://www.youtube.com/channel/UC2qfoz ... subscriber
На Рутубе https://rutube.ru/channel/64515754/
Куплю корпус от калькулятора ЭКВМ 24-71 , он же Электроника 24-71 , или указанный калькулятор с целым корпусом.
На Рутубе https://rutube.ru/channel/64515754/
Куплю корпус от калькулятора ЭКВМ 24-71 , он же Электроника 24-71 , или указанный калькулятор с целым корпусом.
- Волосатый
- Сверлит текстолит когтями
- Сообщения: 1288
- Зарегистрирован: Пн апр 14, 2008 12:54:35
- Откуда: Город ГЕРОЙ Ленинград
- Контактная информация:
Re: Часы на газоразрядных индикаторах
Могу еще нарезать, ЧПУ же есть
Контактами не могу поделиться, увы, мало их.
Контактами не могу поделиться, увы, мало их.
Опыт приходит сразу после того, как он был нужен...
-
DimoniyJ
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Ср сен 10, 2014 13:07:22
- Откуда: Свердловская область, Ивдель
Re: Часы на газоразрядных индикаторах
[uquote="Foks",url="/forum/viewtopic.php?p=1156980#p1156980"]Я склоняюсь к варианту, что это лампа. Верхняя часть цифры светит ярче, чем соседняя рабочая лампа. Вместе с увеличением напряжения горения, диагноз - разгерметизация баллона.[/uquote]
Пролечить лампочку.
Пролечить лампочку.
Лужу, паяю, самоделки собираю.
- RoboC
- Мудрый кот
- Сообщения: 1795
- Зарегистрирован: Ср апр 04, 2012 09:55:53
- Откуда: Северодонецк
- Контактная информация:
Re: Часы на газоразрядных индикаторах
Волосатый, камень какой?
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
-
Edward-rnd
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Чт авг 08, 2013 19:39:35
- Откуда: Ростов-на-Дону
Re: Часы на газоразрядных индикаторах
Купил у китайцев плату часов для газоразрядных индикаторов и прицепил к ней индикаторы ИЦ-1Б.
Пока показывает только нечетные числа, для четных нужно к каждому индикатору добавить дешифратор на 10 диодах.
Пока показывает только нечетные числа, для четных нужно к каждому индикатору добавить дешифратор на 10 диодах.
- Вложения
-
- IMG_2934.JPG
- (160.76 КБ) 686 скачиваний
- suslogon
- Друг Кота
- Сообщения: 10693
- Зарегистрирован: Пн июл 14, 2008 21:28:00
- Откуда: Москва
- Контактная информация:
Re: Часы на газоразрядных индикаторах
[uquote="Волосатый",url="/forum/viewtopic.php?p=3547178#p3547178"]Контактами не могу поделиться, увы, мало их.[/uquote]
У меня вроде было несколько ненужных таких разъемов...
Если что ув. AirCat, пишите мне в лс конкретнее...
У меня вроде было несколько ненужных таких разъемов...
Если что ув. AirCat, пишите мне в лс конкретнее...
Ищу тиратрон ТХИ1-2000/4, ГРИ ИН-23, ФЭУ-103; 134; 135, 138, 155, 157, лампу ИСШ-7.
Любые ГИС серий 203, 225, 233, 244, 250, 296, 801, 838 в любом состоянии. Компоненты и детали от миниатюрных твердотельных лазеров.
Любые ГИС серий 203, 225, 233, 244, 250, 296, 801, 838 в любом состоянии. Компоненты и детали от миниатюрных твердотельных лазеров.