Официальный сайт компании Arduino по адресу arduino.cc
Глюки с матрицами 8X8 MAX7219
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 29/07/2019 - 00:28
Привет. Столкнулся с непонятной проблемой. Сделал 3 бегущие строки на модулях 8х8 МАХ7219 размером 1х12 символов и 2х16 символов. Везде одна и та-же проблема, при подаче питания всегда работают как правило первые 4 модуля, которые конструктивно идут на одной плате. Начиная с 5 модуля ничего не работает. После нажатия на Reset гарантировано начинают работать все модули. Библиотека Adafrut+Max72xxPanel. Кто сталкивался?
Ройте разводку питания. ИМХО.
инициализацию сделайте с паузами и после инициализации паузу, должно помочь. хотябы 10мс
питание не при чем. задержки ставил не помогает. Делал программный сброс переходом на адресс 0, програмно-аппаратный сброс - тоже не помогает, всесьма странно. Кнопкой помогает, дерганием из программы ноги Reset - не помогает. Может кнопка как-то подругому сбрасывает?
Подымаю тему. Может кому пригодится. Дело действительно в питании, но проявляется вот так интерестно как описано в топе, или так "при включении ардуино, некоторые матрицы не запускаются, причем всегода разные, может 4 последние не включаться, может 5 и 8 не включиться".
Первое на что обратить внимание- какое напряжени на каждой из матриц. Должно быт близко к 5В, как на первой матрице, так и на последней. Если подать питание на первую матрицу, при 24 матрицах подключенных последовательно, на первой будет 5В а на последней 3,2в.
Связано это с тем, что дорожки на платах, на которых набраны матрицы тонкие. А матрицы потребляют достаточно большой ток. Как итог при подключени последовательно более 8 матриц можем наблюдать не включение определенных матриц из за просатки напряжения.
Я решил проблему так - кидал питание от первой матрицы отдельными проводами к 12матрице, и к 24 матрице. И то иногда не всегда зажигались все сегменты. Связано это скорее всего с тем, что при включении все 24матрицы зажигаются всеми пикселями, а после инициализации гаснут. В момент зажигания идет большая просадка по питанию и некоторым матрицам не хватает питания для инициализации. Поэтому совет:
- используйте блок питания 5В с запасом, проверяйте его под нагрузкой, чтобы он не давал просадку по питанию, исходя из количества подключенных матриц, включенных на полную яркость всеми пикселями;
-не пытайтесь запитывать матрицы от питания Ардуины, которое пришло по USB (например для ардуино Мега, Нано и т.д) если у вас более 12 матриц. Особенно это касается того случая, если вы запитываетесь от порта USB компьютера;
-не пытайтесь запитывать матрицы от встроенного стабилизатора Ардуины, если у вас более 12 матриц. Стабилизатор будет сильного греться, и может со временем выйти из строя;
- соединяйте блок питания и матрицы проводами достаточного сечения, чтобы исключить просадку напряжения. При выборе сечения проводов учитывайте их длину;
-подключайте матрицы напрямую к проводам от блока питания, и параллельно подключайте Ардуину, а не сначала Ардуину, а к ней матрицы;
- разбейте матрицы на условные группы, например по 8шт, и подавайте питание дополнительными проводниками в начало каждой группы.
-после того как все собрали, включите все матрицы на полную яркость, зажгите все пикселы. Проконтроллируйте, чтобы на каждую матрицу поступало напряжение 5В.
Надеюсь кому-то это поможет.
Вы где такие матрицы брали?
То есть я знаю, что их продают во всех радиомагазинах, но блин дорого! А я бы с удовольствием приобрел пару их много, но дешево...
Я тебе больше скажу, вот тут
-не пытайтесь запитывать матрицы от питания Ардуины, которое пришло по USB (например для ардуино Мега, Нано и т.д) если у вас более 12 матриц. Особенно это касается того случая, если вы запитываетесь от порта USB компьютера;
-не пытайтесь запитывать матрицы от встроенного стабилизатора Ардуины, если у вас более 12 матриц. Стабилизатор будет сильного греться, и может со временем выйти из строя;
надо 12 заменить на 1.
Я тебе больше скажу, вот тут
-не пытайтесь запитывать матрицы от питания Ардуины, которое пришло по USB (например для ардуино Мега, Нано и т.д) если у вас более 12 матриц. Особенно это касается того случая, если вы запитываетесь от порта USB компьютера;
-не пытайтесь запитывать матрицы от встроенного стабилизатора Ардуины, если у вас более 12 матриц. Стабилизатор будет сильного греться, и может со временем выйти из строя;
надо 12 заменить на 1.
ну 1 это совсем грубо. Например у ардуино Мега стабилизатор по даташиту выдерживает до 800мА. Если нагрузить его током 12х0,03А =360мА, то страшного ничего не произойдет. Будет греться, но для отладки пойдет. Для конечного проекта конечно надо все расчитывать.
Единственное для меня остается не выясненным то, что после нажатия кнопки Reset все проблемы с незагоревшимися матрицами уходят. Все отлично работает, даже с дикой просадкой напряжения.
Почему не помогает дергание Reset программно-аппаратным способом или просто програмный сброс?
заказывал на TaoBao. Вышло что-то около 3$ с доставкой за плату, на которой собрано 4 модуля.
у ардуино Мега стабилизатор по даташиту выдерживает до 800мА. Если нагрузить его током 12х0,03А =360мА,
Забавный расчет... потребление светодиодной матрицы 8х8 светодиодов явно больше 0.03А во включенно состоянии
0.03 А - это скорее всего номинальный ток одного светодиода, а в матрице их 64.....
у ардуино Мега стабилизатор по даташиту выдерживает до 800мА. Если нагрузить его током 12х0,03А =360мА,
Забавный расчет... потребление светодиодной матрицы 8х8 светодиодов явно больше 0.03А во включенно состоянии
0.03 А - это скорее всего номинальный ток одного светодиода, а в матрице их 64.....
допустимый ток до 40 ма на диод,общее потребление 1 сборки - до 330 ма.
TFM, страница 10:
Подымаю тему. Может кому пригодится. Дело действительно в питании, но проявляется вот так интерестно как описано в топе, или так "при включении ардуино, некоторые матрицы не запускаются, причем всегода разные, может 4 последние не включаться, может 5 и 8 не включиться".
Одновременно 8 горят, это если у вас там цифра "1". А если "8" или что то на букву "Ж" решите написать?
При 40 мА на диод, вся матрица (8*8=64 диода) при полной засветке сожрет 2,56 ампера. Ну и ардуинку до кучи.
Одновременно 8 горят, это если у вас там цифра "1". А если "8" или что то на букву "Ж" решите написать?
При 40 мА на диод, вся матрица (8*8=64 диода) при полной засветке сожрет 2,56 ампера. Ну и ардуинку до кучи.
Одновременно горит один столбец из 8-ми, там динамическая индикация.
Да согласен, даташит не посмотрел на матрицу, а взял инфу где-то на этом-же форуме. Могу дать инфу по факту: 24 матрицы подключены последовательно и собраны в 2 ряда по 12шт. Это дисплей для весов. Используется шрифт двойной величины. При полном заполнении цифрами всего табло, ток потребления около 1,5А.
Так-же по факту могу сказать что сейчас собрана бегущая строка на 8 матрицах, подключена к Меге. Все работает на максимальной яркости, только запускается после Reset, как я описывал.
И да, в даташитах указывается ток потребления одним модулем 330мА. Значит расчет блока питания и проводов надо брать исходя из этого значения.
а что вы не взяли матрицы 32х16
а что вы не взяли матрицы 32х16
Я могу ответить: они слишком высокие. Для некоторых проектов размер матриц 8*8 самое то. К сожалению, их практически сняли с производства и сейчас на алишках и таобаах распродают ардуинщикам остатки со складов. Остатков много, надо сказать... Может где то даже еще и производят мелкими партиями.
Но для меня в свое время большим ударом стало, что полностью исчезли панели из этих матриц под HUB12. Эти панели идеально подходили под информационные табло в помещениях - с шагом 3,75 или 4,75 мм они дают шикарное разрешение для текста. ДМД их потянул бы, кстати....
https://www.alibaba.com/product-detail/P3-75-dot-matrix-LED-display_62019432738.html?spm=a2700.7724838.2017115.13.3f8e1c32j39Mrm
Вот она, но я на 90% уверен, что продавец скажет: в наличии нет, изготовим под заказ большой партией и совсем не дешево. Два года назад я пытался купить в Китае партию таких матриц. Не смог уже тогда, а за моей спиной была не слабая такая организация.
Для b707:
сколько ни мучался, не смог найти готовых библиотек, позволяющих под ардуиной набирать матрицы в длину, для бегущей строки под подобные модули. А писать самому библитеку нет ни времени , ни желания.
Конечно библиотек не будет, потому что все ленивые жопы.
Для b707:
сколько ни мучался, не смог найти готовых библиотек, позволяющих под ардуиной набирать матрицы в длину, для бегущей строки под подобные модули. А писать самому библитеку нет ни времени , ни желания.
Если вы про матрицы DMD р10 как у меня на картинке - то готовые библиотеки есть - две основные, DMD и DMD2, работающие на Ардуино и ЕСП8266. Поддерживают набор матриц и в длину и в высоту. бегущие строки и прочее и прочее...
Есть еще несколько специальных библиотек, например для плат СТМ32... к одной из них я имею непосредственное касательство :) обращайтесь
а что вы не взяли матрицы 32х16
Я могу ответить: они слишком высокие. Для некоторых проектов размер матриц 8*8 самое то. К сожалению, их практически сняли с производства и сейчас на алишках и таобаах распродают ардуинщикам остатки со складов. Остатков много, надо сказать... Может где то даже еще и производят мелкими партиями.
Но для меня в свое время большим ударом стало, что полностью исчезли панели из этих матриц под HUB12. Эти панели идеально подходили под информационные табло в помещениях - с шагом 3,75 или 4,75 мм они дают шикарное разрешение для текста. ДМД их потянул бы, кстати....
https://www.alibaba.com/product-detail/P3-75-dot-matrix-LED-display_62019432738.html?spm=a2700.7724838.2017115.13.3f8e1c32j39Mrm
Вот она, но я на 90% уверен, что продавец скажет: в наличии нет, изготовим под заказ большой партией и совсем не дешево. Два года назад я пытался купить в Китае партию таких матриц. Не смог уже тогда, а за моей спиной была не слабая такая организация.
Те модули что я использую, и скорее всего и ваши, можно использовать только для статического изображения. При организации бегущей строки более чем на 16 последовательно подключенных модулях уже будет дергаться изображение. При меньшем количестве модулей более-менее плавно скроллит, но как-то размазано, нет четкости.
Пытался увеличить частоту SPI в ардуине, ничего не получилось.
RainMan я бы ни вашем месте начинал бы сразу с СТМ работать. Атмега не тянет больше 12 модулей, у ЕСП тоже есть свои проблемы. Насколько я знаю, СТМ сейчас самая удачная платформа на эту тему.
b707 давно хотел спросить, ка в вашей библиотеке с длиной экрана, есть ограничения по пикселям в длину?
b707 давно хотел спросить, ка в вашей библиотеке с длиной экрана, есть ограничения по пикселям в длину?
координаты описаны в типе uint16_t - то есть теоретически до 65К пикселей :)
Реальные размеры можно у lean74 спрашивать - он вроде 47 модулей матриц в длину подключал :)
Одновременно 8 горят, это если у вас там цифра "1". А если "8" или что то на букву "Ж" решите написать?
При 40 мА на диод, вся матрица (8*8=64 диода) при полной засветке сожрет 2,56 ампера. Ну и ардуинку до кучи.
RTFM.