Страница 16 из 55
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 18, 2017 20:17:56
Grey1975
А, что касаемо объёма - нашёл кольца внутренним диаметром 23 мм (предположительно) и шириной 12 мм. В них я буду делать часики на ИВ-21. Там будет своя фича...
Добавлено after 2 minutes 1 second:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21
2 BlackAlex
У меня их как грязи. Могу отправить парочку.
Добавлено after 18 minutes 1 second:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21
базовую плату уменьшил
Базовая плата должна входить в кольцо практически в притык. Она центрует и удерживает плату лампы.
Как фиксируются другие платы - опишу позже. С фотоотчетом.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 18, 2017 21:06:47
BlackAlex
[uquote="Grey1975",url="/forum/viewtopic.php?p=3108836#p3108836"]У меня их как грязи. Могу отправить парочку.[/uquote]
Спасибо конечно, но не стоит, пересылка будет изрядно дороже лампы, да и почтой стекло слать... Я вон Триггеру слал ин18, в фанерной коробке - так и то побились.
Найду, главное начать, потом меня не остановить. ИН12 уже более 1200 накопилось
Кольца - я думаю заказать приятелю проточить на токарке, или чпу. Или напечатать на 3Дпринтере а сверху от труб одеть кожух. Вариантов много. Я лично дерево предпочитаю, у меня есть подходящие ветки от можжевельника, можно проточить.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 18, 2017 21:28:04
Grey1975
Вот исходники.
Изменений минимум: переписаны шрифты под конкретное подключение лампы и увеличено время ожидания нажатия кнопки "ОК" для калибровки сенсора освещенности.
Спасибо тов. *Trigger* за подсказки.
Добавлено after 11 minutes 32 seconds:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21
2 BlackAlex
Если ширина колец Вас особо не напрягает (будете делать сами), то можно извратиться и переделать плату MCU под DS3231SN, она таки поточнее будет, но и потолще. И переходные отверстия будут под ней, но с заводскими платами это не проблема.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 18, 2017 21:46:47
BlackAlex
Я пока оставлю как есть, буду под 1307 заказывать их есть у меня, и проверенных. 3231SN сейчас тоже кусается по цене. Может потом и перерисую платки. Соединительные "мамы" у меня есть, как то купил под ин12,4 - так тонкие оказались, лежит где то 0,5 кг

Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Пт май 19, 2017 11:56:06
Grey1975
Обещанные фото платы ПН:
Теперь осталось дождаться колечек и продолжать...
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Пт май 19, 2017 15:54:46
*Trigger*
Для переписывания шрифтов есть у меня такая программка:
Работать с ней так: создать в одной с ней папке файл <some_name>.txt (<some_name> - любое имя, какое хотите), в который скопировать массив symbol_code из программы часов, например, вот это:
Спойлер
Код: Выделить всё
//Segment order: A_GEBCFD ("_" - unused bit).
flash char symbol_code[]={0b10011111, //0
0b00001100, //1
0b10111001, //2
0b10101101, //3
0b00101110, //4
0b10100111, //5
0b10110111, //6
0b10001110, //7
0b10111111, //8
0b10101111, //9
0b00000000, //space 10
0b00000010, //digit 8 dot 11
0b00100000, //digit 8 minus 12
0b00010011, //L 13
0b00010101, //v 14
0b10011010, //M left 15
0b10110011, //E 16
0b00110011, //t 17
0b00000001, //low _ 18
0b10000000, //high ^ 19
0b00110111, //b 20
0b10111110, //A 21
0b00111101, //d 22
0b10010011, //C 23
0b00011111, //U 24
0b00110000, //r 25
0b00110100, //n 26
0b00000100, //i 27
0b10101110, //q 28
0b10110010, //F,f 29
0b10111010, //P 30
0b10101010, //degree_sign 31
0b00101111, //Y 32
0b00011101, //J 33
1<<SEG_B, //34
1<<SEG_E, //35
1<<SEG_F, //36
0b00110101, //o 37
(1<<SEG_B)|(1<<SEG_G), //38
(1<<SEG_C)|(1<<SEG_G), //39
(1<<SEG_F)|(1<<SEG_G), //40
0b00110110 //h 41
};
Дальше запустить программу, ввести имя файла, которое было задано (например, in.txt). Потом ввести старый порядок сегментов (например, A_GEBCFD) и новый порядок (например, B_GEACFD). Программа переставит биты и запишет всё в файл converted_<some_name>.txt. В приведённом примере поменяются местами сегменты A и B.
Теперь нужно вручную исправить #define над массивом символов:
Код: Выделить всё
//Segments bits numbers:
#define SEG_A 7
#define SEG_B 3
#define SEG_C 2
#define SEG_D 0
#define SEG_E 4
#define SEG_F 1
#define SEG_G 5
#define SEG_DP 6
Там написаны номера бит для каждого сегмента. Массив символов заменить тем, что выдала программа.
Вывод в порты МК здесь:
Код: Выделить всё
PORTB|=0b00111111;
PORTB&=0b11000000|(~tmp);
PORTD|=0b11000000;
PORTD&=0b00111111|(~tmp);
if((digit_counter==8)||(tmp!=0))
switch(digit_counter){
case 0: PORTD.5=0; break;
case 1: PORTB.7=0; break;
case 2: PORTB.6=0; break;
case 3: PORTD.4=0; break;
case 4: PORTD.3=0; break;
case 5: PORTD.2=0; break;
case 6: PORTC.5=0; break;
case 7: PORTD.0=0; break;
case 8: PORTD.1=0; break;
}
В первых четырёх строках выводится код символа, а в остальных - активируется текущий разряд. При изменении портов для индикатора нужно изменить битовые маски. Например, сейчас в PB3 выводится значение сегмента в 3-м бите, т.е. сегмента B. Первая и третья маски содержат единицы там, где подключены сегменты, а вторая и четвёртая инверсны им соответственно.
Также, при изменении подключения сегментов/сеток нужно изменить маски тут:
Код: Выделить всё
// Timer2 output compare interrupt service routine
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
PORTB|=0b11000000;
PORTC|=0b00100000;
PORTD|=0b00111111;
}
Здесь единицы стоят на тех местах, где подключены сеточные ключи.
И, наконец, нужно задать начальные значения 1 для всех сегментных/сеточных портов тут:
Код: Выделить всё
// Input/Output Ports initialization
// Port B initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
// State: Bit7=1 Bit6=1 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
PORTB=(1<<PORTB7) | (1<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit6=In Bit5=Out Bit4=Out Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<<DDC6) | (1<<DDC5) | (1<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit6=T Bit5=1 Bit4=0 Bit3=T Bit2=T Bit1=T Bit0=T
PORTC=(0<<PORTC6) | (1<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
// State: Bit7=0 Bit6=0 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTD=(0<<PORTD7) | (0<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (1<<PORTD3) | (1<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);
Если порты сегментов/сеток меняются между собой (сегмент-сегмент, сегмент-сетка, сетка-сетка), тут можно ничего не трогать.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Пт май 19, 2017 16:49:27
Grey1975
У меня все удачно получилось: только сегмент-сегмент и сетка-сетка...
Добавлено after 44 minutes 35 seconds:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21
Сейчас провел эксперимент: вместо КФ1211ЕУ1 и IRF7303 поставил
SN6501
Она даже не вспотела... Осталось только пересчитать транс на 400kHz. TI рулит...
А цена - сказка
https://www.chipdip.ru/catalog/ic-data- ... ?gq=sn6501
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вс май 21, 2017 16:18:47
Grey1975
2
*Trigger*
Подскажите пожалуйста, как исправить баг, который возник при увеличении времени ожидания кнопки "ОК" для калибровки PHR (на дисплее ничего нет секунду после включения питания)?
Это немного напрягает (целую секунду гадаешь - правильно собрал или нет

).
Спасибо.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вс май 21, 2017 16:25:13
*Trigger*
А что Вы хотите там видеть после включения?
Можно перенести туда отображение версии прошивки, т.е. перед задержкой поставить это:
Код: Выделить всё
disp(sp,v,sp,version,sp,sp,0b01010000,0,0);
После кода калибровки заменить
Код: Выделить всё
disp(sp,v,sp,version,sp,sp,0b01010000,0,0);
delay_ms(2000);
get_time();
menu_item=menu_NULL;
на
Код: Выделить всё
delay_ms(1000);
get_time();
menu_item=menu_NULL;
Теперь при включении будент отображаться версия, если кнопку ОК не нажимать, она отображается 2 секунды и часы входят в рабочий режим, а если нажать - версия отобрахится на 1 секунду, потом будет калибровка, а после её прохождения версия отобразится ещё на секунду.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вс май 21, 2017 16:26:19
Grey1975
Да, так будет очень хорошо!
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вс май 21, 2017 16:31:53
*Trigger*
Извините, то, что я написал, работать нормально не будет. После завершения калибровки версия снова не отобразится, а надпись "Saved" будет отображаться 2 секунды вместо одной. Решение - убрать задержку здесь:
Код: Выделить всё
disp(sp,S,A,v,E,d,sp,sp,0,0,0);
delay_ms(1000);
menu_item=about;
и здесь:
Код: Выделить всё
if(adc_data_lum<=min_ADC){
disp(b,A,d,sp,A,d,C,sp,0,0,0);
delay_ms(1000);
}
Теперь будет так: если на входить в режим калибровки, то версия отображается 1 секунду, после окончания калибровки 1 секунду отображается "Saved" и часы начинают показывать время, а если не входить, то версия отображается 2 секунды. как и раньше.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вс май 21, 2017 16:37:28
Grey1975
Хорошо. Поэксперементирую в ближайшее время.
Кольца уже прошли таможню, так что скоро дособеру второй экземпляр.
Возможно перейду на SN6501. Тогда, возможно, получится использовать CR2032, для версии на ИВ-18.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вт май 23, 2017 15:31:17
aivcon
Грей посмотри какие батарейки с DSишкой, могут подойти к прототипу на ИВ-21
https://ru.aliexpress.com/item/Free-shi ... 0.0.j62Iv6
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вт май 23, 2017 15:33:24
Grey1975
Спасибо. Это та же, что и у меня. CR1220.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вт май 23, 2017 16:23:14
aivcon

Разница в 3 мм примерно...
Места в ИВ-21 будет видимо не много. поэтому если интересно можно рассмотреть такую батарейку.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Вт май 23, 2017 16:34:35
Grey1975
Да, действительно...
Уважаемые Коты, прошу прощения

, нашел косяк на плате сенсоров. Перепутаны кнопки "ОК" и "-".
Скоро сделаю исправления.
Исправил:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Ср май 24, 2017 17:17:08
Grey1975
2
*Trigger*
Здравствуйте.
Столкнулся с такой проблемой: Компилю прошивку под DS3231 - точка в служебном разряде загорается, под 1307 - нет.
Под 1307 на порту служебной сетки всегда высокий лог уровень, т.е. сетка "закрыта".
В чем может быть проблема?
Всё. Проблема решена. Прошу прощения за беспокойство.
Немного изменил алгоритм отображения точки в служебном разряде:
Код: Выделить всё
if(settings&(1<<alarm_on)) _display_buffer[8]=d8_dot;
Теперь, если будильник включен, точка отображается во всех режимах.
Мне так удобнее, да и код капельку ужался

.
С 1307 часы сильно спешат... Кварц?
Добавлено after 3 hours 45 minutes 27 seconds:
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21
Добавил плату ПН на SN6501.
Работает отлично, и толщина уменьшилась.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 25, 2017 09:18:46
Grey1975
2
*Trigger*
Извините за назойливость...
А можно ли сделать программную коррекцию хода для DS1307?
Вместо эффектов, например?
Или под 168ю Мегу накрайняк...
Спешат. Победить не получается пока.
Или попробовать
M41T56
Да, и еще неплохо было бы сделать сброс секунд на 00 в подменю настройки времени по фронту длительного нажатия "ОК".
Так проще настроить точно время, я думаю.
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 25, 2017 11:43:20
RoboC
Поставьте конденсатор 12р-22р на землю.
Я так когда то делал
тут 
Re: Миниатюрные часы на вакуумно-люминисцентном индикаторе И
Добавлено: Чт май 25, 2017 12:39:38
Grey1975
У Вас там RTC другая. Но буду эксперементировать. Спасибо.