Как лучше подключать несколько модулей сегментных индикаторов с MAX7219?

Чечако
Offline
Зарегистрирован: 15.06.2018

К одной arduino подключается шесть модулей c MAX7219 по 8 разрядов. Модули такого плана:

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

Суть вопроса - а как лучше-то подключать? Задачи экономить ноги не стоит, с точки зрения программирования работает и так и так. Питание они берут не с ардуины, а с внешнего БП, который питает в том числе и ардуину.

С точки зрения стабильности, яркости, быстродействия - есть разница? Гугл мне на этот вопрос не смог ответить. :(

 

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Чечако
Offline
Зарегистрирован: 15.06.2018

Тут еще вопрос отказоустойчивости есть. Скажем, если первый MAX в цепочке уйдет в несознанку - будет ли он пропускать сигнал дальше, или встанет вся цепочка?

sadman41
Offline
Зарегистрирован: 19.10.2016

Мой не уходил, не могу ответить (надо в даташит лезть, но лень). А если провод кот грызть начнет, то тут цепочка проигрывает по естественным причинам.

Чечако
Offline
Зарегистрирован: 15.06.2018

sadman41 пишет:

Мой не уходил, не могу ответить (надо в даташит лезть, но лень). А если провод кот грызть начнет, то тут цепочка проигрывает по естественным причинам.

Даташит мне на этот вопрос не ответил. :( Я сталкивался с подвисанием MAX'а, в основном из-за проблем по питанию или при отрицательных температурах, (китайцы ставят исполнение C_G, а не E_G). Но во втором случае он обычно подвисал на моменте старта, когда все сегменты зажигались.  

sadman41
Offline
Зарегистрирован: 19.10.2016

Если равновероятно способны глючить все модули/микросхемы и они будут находится в эквивалентных условиях, то какая разница, как они повиснут - сидя на разных комплектах ног ардуины или на одном?

Чечако
Offline
Зарегистрирован: 15.06.2018

sadman41 пишет:

Если равновероятно способны глючить все модули/микросхемы и они будут находится в эквивалентных условиях, то какая разница, как они повиснут - сидя на разных комплектах ног ардуины или на одном?

Справедливо. Да я больше думал, может есть какие-то другие особенности. Скажем, ограничения по току/напряжению (скажутся на яркости), или по времени обновления. Почему и спросил.

sadman41
Offline
Зарегистрирован: 19.10.2016

Питание к каждому в цепочке подведете - не будете иметь проблем. Цепочку можно посадить на шину SPI, а не дрыгать любой дроугой ногой. Выйдет быстрее, но заметно это будет если временные допуски в скетче микросекундные.

SLKH
Offline
Зарегистрирован: 17.08.2015

Чечако пишет:

К одной arduino подключается шесть модулей c MAX7219 по 8 разрядов. Модули такого плана:

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

Суть вопроса - а как лучше-то подключать? Задачи экономить ноги не стоит, с точки зрения программирования работает и так и так. Питание они берут не с ардуины, а с внешнего БП, который питает в том числе и ардуину.

С точки зрения стабильности, яркости, быстродействия - есть разница? Гугл мне на этот вопрос не смог ответить. :(

 

разница только в быстродействии и числе задействованных пинов - пихать инфу прямо в шестой модуль или же через предыдущие 5. 

Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.

=============

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

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

"Всякий истинно верующий, да разбивает яйцо с того конца, с которого ему удобнее"

Чечако
Offline
Зарегистрирован: 15.06.2018

SLKH пишет:

Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.

Эмм...а зачем ее подпиливать? Я же штатно могу создать несколько объектов, каждому указав свои пины и количество устройств в каскадировании. Как минимум я такое видел в примерах, сам пока не проверял. Что-то типа такого:

 

/* Создаём первый объект класса LedControl для 8-ми устройств */

LedControl LC1 = LedControl(12, 11, 10, 8);

/* Создаём второй объект класса LedControl для 8-ми устройств */

LedControl LC2 = LedControl(9, 8, 7, 8);

SLKH
Offline
Зарегистрирован: 17.08.2015

Чечако пишет:

SLKH пишет:

Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.

Эмм...а зачем ее подпиливать? Я же штатно могу создать несколько объектов, каждому указав свои пины и количество устройств в каскадировании. Как минимум я такое видел в примерах, сам пока не проверял. Что-то типа такого:

 

/* Создаём первый объект класса LedControl для 8-ми устройств */

LedControl LC1 = LedControl(12, 11, 10, 8);

/* Создаём второй объект класса LedControl для 8-ми устройств */

LedControl LC2 = LedControl(9, 8, 7, 8);

С классами - известно к кому.

А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону). 

 

Чечако
Offline
Зарегистрирован: 15.06.2018

SLKH пишет:

А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону). 

На данный момент я пришел к тому, что в каскаде будут только три пина управления. А питание - на каждый индивидуально отдельной парой проводов от общего БП. Ибо идут потери, это хорошо видно при регулировке яркости.

Скажем, выставить яркость первого в 14, а второго в 7 - разница видна. Наоборот - ее практически нет.

Да и жрут они конечно несколько больше, чем я предполагал. В голове сидело, что один модуль на 8 знаков жрет максимум 160мА. Однако же модуль питания типа MB-102 для отладочной платы - 3 модуля уже не тянет. При том, что вроде как выдает 0.7A.

Хотя возможно, что он двумя ветками своими выдает максимум 0.7, тогда получается максимум 0.35 на сторону, и все логично. Пока запитал с двух таких модулей, с общей землей.

 

Сделаю вероятно две ветки по три модуля в каскаде. Не нашим, не вашим. ;)))

SLKH
Offline
Зарегистрирован: 17.08.2015

Чечако пишет:

SLKH пишет:

А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону). 

Скажем, выставить яркость первого в 14, а второго в 7 - разница видна. Наоборот - ее практически нет.

при цепочке "как задумано китайцами" первый модуль не всегда работает, а второй - совсем редко. посмотри на включение диода и восхитись.

Чечако
Offline
Зарегистрирован: 15.06.2018

SLKH пишет:

при цепочке "как задумано китайцами" первый модуль не всегда работает, а второй - совсем редко. посмотри на включение диода и восхитись.

На всех что у меня под рукой - стоит в цепи питания на плюс, даже везде в одинаковом направлении. :) Сразу после входа стоит. Понять, косяк это или нет - мне знаний не хватает, увы.

Программер я, электотехнику в институте прогуливал в пользу компьютерного класса. Кто ж знал... :( 

SLKH
Offline
Зарегистрирован: 17.08.2015

Чечако пишет:

SLKH пишет:

при цепочке "как задумано китайцами" первый модуль не всегда работает, а второй - совсем редко. посмотри на включение диода и восхитись.

На всех что у меня под рукой - стоит в цепи питания на плюс, даже везде в одинаковом направлении. :) Сразу после входа стоит. Понять, косяк это или нет - мне знаний не хватает, увы.

Это прикол.

Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом  отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*  

А дальше напряжение 4.3в подается на выход VCC и на вход VCC следующего модуля - а там свой диод ещё съедает свои 0.7в. 

=============

* при первом моем общении с этим модулем так и было: ардуина питалась от usb и с учетом ардуинского защитного диода  того, что доходило до 7219, не хватало ей для стабильной работы.

Чечако
Offline
Зарегистрирован: 15.06.2018

SLKH пишет:

Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом  отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*  

Понял, благодарю. Значит выкину его и закорочу. Ибо вчера после разговора померил просадку и задумался. А Вы как раз ответили на еще не заданный вопрос. :)

SLKH
Offline
Зарегистрирован: 17.08.2015

Чечако пишет:

SLKH пишет:

Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом  отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*  

Понял, благодарю. Значит выкину его и закорочу. Ибо вчера после разговора померил просадку и задумался. А Вы как раз ответили на еще не заданный вопрос. :)

мне лениииво диоды коротить. дешевле подать питание на правую (модуль индикаторами к себе, точками  внизу) дырку "VCC".