Вопрос по настройке прошивки от Radon-lab для NIXIE CLOCK

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Здравствуйте, уважаемые форумчане.
Столкнулся с такой проблемой при настройке прошивки от Radon -lab (версия прошивки 2.2.7 релиз от 21.02.25 Универсальная прошивка для различных проектов часов на ГРИ под 4/6 ламп): при изменении параметра CATHODE_MASK порядок зажигания цифр на индикаторах не изменяется. При выборе типа платы #define BOARD_TYPE 1 порядок зажигания тоже неверный. Платка называется "mini V2022.2" (типа такой, но более старая версия: https://www.avito.ru/moskva/kollektsionirovanie/plata_nixie_clock_in-14h6_7872885948 ). И ещё - на лампы иногда немного "наводятся" цифры с соседних ламп (хотя плата достаточно тщательно отмыта). Подскажите пожалуйста, как решить данные проблемы? Возможно это стандартные распространённые случаи, не знаю - надеюсь, что удастся быстро решить.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
при изменении параметра CATHODE_MASK порядок зажигания цифр на индикаторах не изменяется
И не должен, за правильность отображения цифр отвечает DIGIT_MASK. CATHODE_MASK отвечает только за порядок перебора катодов в анимации смены минут и антиотравлении.
И ещё - на лампы иногда немного "наводится" цифры с соседних ламп
Попались некачественные оптопары. Решить можно заменой на оригинальные или переходом на транзисторы. Также можно попробовать увеличить мертвое время в config.h -> INDI_DEAD_TIME.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Спасибо, Sergo_ST, за оперативный ответ. А если не сложно - можете подсказать, какую последовательность нужно занести в DIGIT_MASK ? Лампы у меня - ИН-14.
 
Изменено:

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor,
В маске дешифратора нужно просто правильно указать соответствие выходов дешефратора(не номер ножки, а именно номер выхода) к подключенным катодам ламп.
Например если к выходу дешифратора "9" подключен катод цифры "0", то первым элементом массива маски будет ID(9), следующем будет указываться выход дешифратора к которому подключен катод цифры "1" и тд.
Либо, если хотите именно методом подбора найти маску, можете воспользоваться инструкцией от @MoonLight33 - тут.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
С индикацией разобрался - порядок катодов и анодов теперь правильный, также помогла настройка INDI_DEAD_TIME. Но выяснилось, что имеется также проблема с кнопками, они на этой платке похоже подключены по следующей схеме:
1770670350469.png
А в настройках прошивки указана другая (и другие номиналы резисторов), ещё и лишняя кнопка (у меня их всего 3):
//Настройки аналоговых кнопок
#define BTN_R_LOW 10 //сопротивление резистора нижнего плеча клавиш(кОм)
#define BTN_ADD_R_HIGH 30.1 //сопротивление резистора клавиши "ДОП"(полное сопротивление от кнопки до пина)(кОм)
#define BTN_SET_R_HIGH 10.1 //сопротивление резистора клавиши "ОК"(полное сопротивление от кнопки до пина)(кОм)
#define BTN_LEFT_R_HIGH 3.3 //сопротивление резистора "ЛЕВОЙ" клавиши(полное сопротивление от кнопки до пина)(кОм)
#define BTN_RIGHT_R_HIGH 0 //сопротивление резистора "ПРАВОЙ" клавиши(полное сопротивление от кнопки до пина)(кОм)
//Подключение аналоговых кнопок к порту МК (LOW_PULL)
// __/ __VCC __/ __VCC __/ __VCC __/ __VCC
// | | | |
// analog------|------|3.3K|------|------|6.8K|------|------|20K|------|
// |
// 10K
// |
// GND

Можете и с этим помочь? Забавно, что плата вроде довольно распространённая, а так много несоответствий прошивке...

Я так понимаю, для "KEY-1" - сопротивление = 0, для "KEY-2" - 4.7 кОм, для "KEY-3" - 8 кОм.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Нет, откуда 8кОм то взялось...
C++:
#define BTN_RIGHT_R_HIGH 0
#define BTN_SET_R_HIGH 4.7
#define BTN_LEFT_R_HIGH 37.7

#define BTN_TYPE 1
#define BTN_PULL 0
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Ошибся в расчётах - вместо 33 кОм взял 3.3 кОм (как на нижней схемке из символов). Спасибо за подсказку.

Всё настроил - работают часики. Спасибо за помощь! Всех благ!
 
Изменено:

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Ещё одна проблема неожиданно всплыла: время от времени все индикаторы одновременно гаснут, и могут спустя несколько секунд снова зажечься, а могут и не зажигаться, пока не произведёшь цикл выключения-включения часов. С чем это может быть связано? Вообще непонятно, как такой глюк диагностировать, какой компонент может вызывать подобные сбои? Как я понимаю, с высокой долей вероятности это может быть микроконтроллер в ардуинке, и возможно - дешифратор К155ИД1 ? Кто-нибудь сталкивался с подобным поведением часов?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Режим сна может включен? Если нажать на любую кнопку индикация появляется?
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Нет, при нажатии на кнопки индикация не появляется - помогает только прердёргивание питания.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Мк с маркировкой P или PB? В первую очередь проверьте наличие ВВ напряжение на конденсаторе в момент когда часы погасли, в норме там должно быть +-170в. Так-же обратите внимание на работы других элементов часов, например продолжает ли работать подсветка, или есть ли звук кнопок(если стоит бузер)...
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Высокого точно нет - при тестировании методом ощупывания плата не "щиплется". Маркировка - "P". Бузер не ставил. Да, по логике, если есть отклик на нажатие кнопок - значит МК жив и исправно работает. Кстати, если нет выокого, значит нет ШИМа - значит похоже на то, что дело всё-таки в зависающей атмеге?
 
Изменено:

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
@Sergo_ST , так что лучше сделать - менять ардуинку, или дело в неверной конфигурации пршивки? Кстати, модуль часов реального времени у меня установлен без модернизации (без добавления проводка) - как я понял это для синхронизации по SQW (но у меня впрошивке она отключена, поэтому я считаю, что этот факт никак не должен влиять на работу часов). Или дело может быть в этом?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Вы так и не ответили же на вопрос про работу остальных узлов, кнопки, звук, подсветка, точка(если светодиодная) и тд. От ответа на этот вопрос будут зависть дальнейшие действия.
Если хотите на угад поискать проблему - попробуйте для начала сменить блок питания на заведомо исправный, добавьте конденсаторов по питанию мк и преобразователя часов. Так-же стоит убедиться что часы не запитаны от порта usb ардуины.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
@Sergo_ST, я же вроде однозначно диагностировал зависание - нет высокого, светодиодная индикация на дуине есть (видно сбоку). При нажатии на кнопки - никакой реакции. Бузер у меня не установлен. Запитаны от порта на "материнской" плате. Блоки питания пробовал разные - не влияет.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Нет, не индикация на плате ардуины, а подсветка ламп.
"Нет высокого" не означает что мк не продолжает работать, нужно проверить осцилом есть ли генерация шим на пине мк. Если нет осцила, можно косвенно судить о наличии шим сигнала с помощью мультиметра, на этом пине должно быть напряжение близкое к напряжению питания.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Подсветка тоже не установлена. Хорошо, осцил имеется - приду домой, вечером посмотрю неаличие ШИМа на пине. Кстати, на какой пин выводится ШИМ для преобразователя? Хотя конечно можно по схеме посмотреть или отследить.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Если не меняли, то по умолчанию D9. Посмотрите в connection.h -> CONV_PIN.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
ШИМ отсутствует. До сбоя (когда лампы светятся) - присутствует.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Флюс после пайки точно хорошо вымыт отовсюду? После того как лампы погасли и вы перезапустили часы, отображаются ли какие-то коды ошибок?
Попробуйте всё же ещё раз прошить контроллер.
Если не поможет, выкладывайте тогда сюда всю информацию что у вас есть, фото собранных плат со всех сторон в хорошем качестве, настроенную прошивку и тд.
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
Платы тщательно отмыты. Коды ошибок иногда возникают - 0009 и 0012 вроде (но не каждый раз при запуске - обычно после долгого периода простоя без питания). Хорошо, выложу всю информацию на днях.

Фото самих часов и плат:
IMG_20260220_145727_028.jpgIMG_20260220_145815_723.jpgIMG_20260220_145837_780.jpgIMG_20260220_145901_261.jpg

Проект с исходниками:
 

Вложения

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
@Sergo_ST, чаще всего возникает код ошибки 0002 (судя по описанию - проблемы с модулем RTC DS3231). Наверное стоит попробовать произвети замену модуля, и посмотреть, сохранится ли ошибка? И самое главное - не перестанут ли при этом гаснуть индикаторы? Или скорее всего пропадание ШИМа не может быть связано с этим?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Нет, ошибка 0002 говорит об разряде батарейки модуля 3231. Её необходимо заменить чтобы время не сбивалось после отключения питания.

Я вижу что у вас в userConfig включена обратная связь ВВ преобразователя, она у Вас распаяна по факту на плате?
 

Prokhor

✩✩✩✩✩✩✩
24 Авг 2025
24
0
@Sergo_ST, Хм, скорее всего нет. Я ведь просто купил данный кит-набор - не вникал подробно в схемотехнику. А прошивку тоже скачал, и оставил там умолчания в настройках, в которые сам не лез - видимо она рассчитана на схему с обратной связью. Мне кажется. что на подавляющем большинстве плат её нет. Или я не прав? Вы можете по фото плат определить её наличие?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,206
922
@Prokhor, Есть она на данной плате или нет - ответит только её разработчик. В вашей прошивке включена эта функция(по умолчанию нет), и на плате судя по фото вроде есть резисторы ОС, но неизвестно куда они ведут, правильно ли указан пин и есть ли сигнал на входе в мк вообще.
Я предлагаю пока что отключить эту функцию и проверить не будет ли пропадать высокое, если всё станет нормально - значит искать причину неисправности ОС(если она вам конечно нужна).
Выключить можно в userConfig -> GEN_FEEDBACK 0.