Часы на светодиодных матрицах с драйверами MAX7219

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

dt_andrew писал(а):почему плохая
Потому что при случайном входе в режим настройки времени мы из него в таком случае не выйдем, не затронув время.
dt_andrew писал(а):смотрите как сейчас, входим в режим редактирования нужно перейти к секндам и нажимать кнопки + и - для обнуления и в момент перехода через 0 нужно успеть нажать длинно на кн1
Всё работает не так. Когда надо обнулить - обнулили. А потом в любой момент спокойно вышли.
Последний раз редактировалось WiseLord Чт окт 01, 2015 15:22:58, всего редактировалось 1 раз.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

да так прокатывает, но потом надо еще кнопку выхода нажимать

хотите вы установить время например 12:00
на часах с которыми сверяетесь 11:59:30
вошли, а текущие время 11:59:50, вам сначала надо успеть добраться до параметра сек, обнулить их + или - (иначе если пропустите мин прибавятся) и ждать перехода 0

я же предлагал - установили время и дату и в момент перехода нажали длинно кн1
я согласен, что может это и излишние придирки и хотелки, но с точки зрения пользователя лишние нажатия никак не добавляют удобства настройки

попробуйте обьяснить это например пожилой женщине
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Попробуйте объяснить тогда этой женщине, почему с каждым выходом из настроек времени (как Вы предлагаете) часы случайным образом отстают на 1..59 секунд, хотя вроде ничего не редактировалось.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

хорошо убедили, оставляем как есть сейчас
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

Запустил модуль F3.75
однозначно требуется светофильтр, при зажигании светодиода видна вся структура кристалла
протокол HUB08 мало чем отличается от управления регистом 74хх595
требуется только определять еще строки записи A B C D (всего 16)
яркость придется регулировать ШИМ, прямого задания нет
на матрице присутсыуют микросхемы регисторов XCX6616S аналогичные 595 только на 16 разрядов
также масса ключей на полевиках 4923, также входной буфер для согласования уровней
честно восторга данная панель у меня не вызвала, требуется постоянно загрузка процессора и минимум 2 обработчика прерывания для отображения без морганий и регулировки яркости.
Kuzma511
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср апр 16, 2014 07:13:00

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение Kuzma511 »

dt_andrew здравствуйте. Прошивка подошла mod2 работает нормально. Один вопрос - уточните подключение кнопок. SET не работает вообще да и остальные как то не очень. Печатка стр 29. Спасибо
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

определение в pins.h согласно плате
D8 D7 D6 Ардуино, что соответствует PB0 PD7 PD6
я же не просто так выложил прошивку, я ее проверил на своей плате - все работает
попробуйте эти
Вложения
flash.rar
(19.44 КБ) 283 скачивания
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

dt_andrew писал(а):Запустил модуль F3.75
Тоже здесь заказывали?

Мне вчера пришёл этот модуль, но маркировка (бумажная наклейка) на нём была другая, F04-6DT-3714-560.

Утром сел, прозвонил входной разъём, разобрался что к чему идёт.

Изображение

Разъём у меня такой:

Код: Выделить всё

GND   LA
GND   LB
GND   LC
OE    LD
R1    G1
R2    G2
GND  LAT
GND  CLK

По результатам прозвонки и изучения даташитов, выходит так:

OE - лог. 1 выключает всё, лог. 0 включает
R1 - последовательные данные для строки (64 бит) красного цвета
R2 - похоже, никуда не подключен. Возможно, используется в матрицах 64x32
LA, LB, LC, LD - выбор одной из 16-ти строк
G1, G2 - аналогично R1/R2, только для зелёного цвета. Китайцы сэкономили, и часть "зелёных" элементов не распаяли. Да и матрицы, хоть и имеют "двухцветную" разводку, на самом деле одноцветные
LAT - защёлка. После забивания строки 64 битами данных (через R1) строб на LAT защёлкивает их и строка зажигается.
CLK - тактирование данных. 64 строба - и данные с R1 распределены по строке.

dt_andrew, у вас такая же система получилась? Если всё так же, то можно будет при желании объединить усилия по работе над этой светодиодной доской.

Кстати, как я уже писал, у меня наклейка на плате была с маркировкой F04-6DT-3714-560. И фотография у продавца несколько не соответствует полученной мною плате - чуть по-другому повёрнуты микросхемы, и прочие разные мелочи.

В общем, на моём варианте платы обнаружился забавный аппаратный баг. Два 3=>8 дешифратора 74HC138, отвечающие за выборку строки (LA..LD сигналы) имеют 3 входа выборки (E1 & E2 & nE3). Чтобы был выбран один из 8 выходов, на них нужно, соответственно, подать 0-0-1. Иначе все выходы будут в Z-состоянии.
В общем, входы E1 микросхемы 1 и nE3 микросхемы 2 объединены, за счёт чего получается типа дешифратор 4=>16. А входы E2 обеих 74HC138 объединены и по смыслу должны управляться той же ножкой OE, но в моём варианте платы они обе почему-то подключены к питанию (через странную цепочку из двух диодов с параллельным резистором) и больше ни к чему. В общем, у меня на E2 была всегда лог. 1, ничем не управляемая, и светодиоды не светились вообще.

Выпаял эти диоды и резистор, тянущие E2 в единицу, и припаял E2 (5 пин дешифратора) к управляемой по OE шине. Заработало.

Изображение

Вот мне и интересно, у Вас другая плата или такая же. Если такая же, Вы столкнулись с этим багом или это только мне повезло? Если другая - можете ли глянуть, у вас эти пины (E1 или E2, должны быть соединены у обеих микросхем) зависят от сигнала OE?

Проблема, конечно, плёвая, и найти её было несложно, но всё же интересно, только ли мне так "повезло".

По поводу качества матриц, тоже могу отметить, что купленные отдельно матрицы 32мм были лучше. Точки в них более "матовые" и светятся полностью и ярче. Тогда как у этих светится только "кристалл", практически точечно.

Кстати, подобное наблюдается также и у модуля J-MCU PRO на HT1632C.

P.S. Если у Вас по управлению всё аналогично, можете глянуть на мои исходники. Они под Arduino Leonardo (atmega32u4), но легко правятся под любую разводку через знакомые Вам по моим проектам pins.h и arduino.h. По всему выходит, что на тактовой частоте 16МГц требуется около 1мкс для обновления всего экрана, т.е. теоретический максимум частоты обновления - около 1000 Гц. Если ограничиться 250Гц и привязать обновление к аппаратному таймеру, получим, что на такую "аппаратную" развёртку понадобится около четверти ресурсов процессора. В принципе, терпимо - на всё прочее остаётся в эквиваленте 12МГц.

P.P.S. По энергопотреблению у меня вышло около 1,7А при всех зажжённых светодиодах, т.е. около 17мА на светодиод.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

WiseLord покупал я там же, где и вы

разьем 1 в 1, и наклейка белая такая же

с назначением контактов разобрался как только глянул даташит на регистры xcx6616s - теже 595 регистры

я проверял на скетче от какой то найденной библиотеки (архив прикрепляю)

в тесте у меня вся матрица работает без всякой перепайки
проверю еще ваши исходники - отпишусь

как и писал раньше готов всячески помогать, есть только одно - в понедельник я ложусь на операцию, думаю недели на полторы
а потом готов в бой

PS Да, с вашим кодом не все строки светятся полностью, то есть баг присутсвует
интиресно почему на моем тесте под ардуино все работает как надо может чего не так делаем
Вложения
F04.rar
(9.15 КБ) 287 скачиваний
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Разъём - ладно, он и должен быть одинаковым. Но расположение микросхем такое же как на моей картинке, или как у продавца в описании? Скажем, у него микросхемы некоторые на 90 градусов повёрнуты относительно моего варианта.

Можете сказать, какой из вариантов платы у Вас - как на моей картинке, или как у продавца?

И что у Вас, если плата такая же, на 5-й ножке (nE2) дешифраторов происходит? И вообще, есть ли на плате диоды, подобные тем, что я выпаял?

Не все строки светятся - можно фото? Я там зажигаю не всю матрицу, а по сути двоичный перебор вывожу (верхняя часть - номер столбца, нижняя - 255-номер).
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

Плата точь в точь как на вашей картинке, так же не распаяны несколько микросхем
узел с диодами так же присутствует

картинка работы матрицы по вашим исходникам, запускал на обычной Ардуино УНО
Изображение

глянуть что творится на Е2 не могу, осцил на работе
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

ОК, картинка правильная. Только на 180 градусов плату развернуть.

Попробую, как будет время, тоже залить этот скетч для Arduino. Всё же интересно - это я что-то недосмотрел, или на моей плате какой-то непропай,

Кстати, выпаянный мною резистор не прозванивался - был как "на разрыв", хотя судя по маркировке " 200", должен был быть был быть вроде 20 Ом. У Вас там как с этим?
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

у меня резистор имеет странную маркировку 30D и звониться как 210К
в скече моем выбор строки производиться такими операторами, а потом следует строб

Код: Выделить всё

digitalWrite(oe, HIGH);              // disable display

    // select row
    digitalWrite(a, (row & 0x01));
    digitalWrite(b, (row & 0x02));
    digitalWrite(c, (row & 0x04));
    digitalWrite(d, (row & 0x08));

    // latch data
    digitalWrite(stb, LOW);
    digitalWrite(stb, HIGH);
    digitalWrite(stb, LOW);

    digitalWrite(oe, LOW);              // enable display

    row = (row + 1) & 0x0F;


и вся матрица с картинкой нормально прорисовывается
заметил также что в моем скетче в процедуре сканирования матрицы есть только один строб на защелку, а в вашем коде 2
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

начал пробовать заполнять буфер в вашем коде разными патернами

Код: Выделить всё

   for (i = 0; i < HUB08_WIDTH; i++) {
      row0[i] = 255 - i;
      row1[i] = 255 - i;
   }

и понял что все работает без перепайки - все строки работают
повернул матрицу, чтоб было как у вас (входной разьем справа)
0 байт в буфере row0 row1 - это вертикальный левый столбец верхнего блока матриц и нижнего соответсвенно
1 байт это следующий столбец вправо и т.д.

при патерне 0хFF - вся матрица светиться, так что все в коде у вас правильно
bim1405
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Сб мар 01, 2014 17:11:45
Откуда: Москва

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение bim1405 »

dt_andrew Желаю тебе удачи,и операция прошла на отлично!
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

Спасибо, все будет нормально

С помощью LED Matrix studio рисую разные картинки все соответсвует загруженному буферу

Изображение
Аватара пользователя
shura2000
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Пн фев 23, 2015 21:17:29
Откуда: г. Протвино, МО

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение shura2000 »

По фото матрицы кривовато напаяны?
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

нет, все давольно ровно
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Андрей, а у вас на ардуиновских скетчах тоже всё мерцает и давит на глаза из-за низкой частоты обновления?

P.S. Вернул на место диоды с резистором (кстати, 30D вроде как 200кОм по маркировке, как ни странно). Собрал в Arduino эти три скетча, вгрузил - тоже без аппаратного фикса платы ничего не выводится. Как я уже и говорил, E2 (5 вывод) ножки дешифраторов всё время в логической единице, прозвон показывает, что они не подключены больше ни к чему - только соединены между собой и через резисторы-диоды подтянуты к питанию и ничем не управляются, хотя по смыслу должны быть подключены к OE (через ключи на 74HC245). В итоге все ключи на полевиках закрыты, ни одна из 16-ти строк не выбрана.

Возможно, с платой всё в порядке, но где-то (под матрицами - там-то не видно) непропай или дорожка повреждена. В общем, вернул перемычку на место, да и детали ранее выпаянные оставил на их местах. Похоже, мне так "повезло" с конкретно этим экземпляром платы.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

у меня мерцаний нет, ни на ардуиновских скетчах на на вашем коде
при чем в библиотеке ultrathin-16x32-red-led-matrix-panel для ардуино, есть 3 примера, один из них сканирует просто в цикле - вот там мерцания есть
в скетче который я дал используется сканирование по таймеру - мерцаний нет

на вашем коде тоже никаких мерцаний
при заполнении буфера row0 row1 патерном 0хFF вся матрица светиться и моргает с частотой 1 сек (ну так и задумано у вас по коду)
из больнички выйду притащу осцил и разберемся что там должно быть на Е2

походу точно где то непропай в переходах
Ответить

Вернуться в «Статьи»