Как лучше подключать несколько модулей сегментных индикаторов с MAX7219?
- Войдите на сайт для отправки комментариев
Пт, 29/06/2018 - 10:37
К одной arduino подключается шесть модулей c MAX7219 по 8 разрядов. Модули такого плана:
Соответственно, я их могу подключать в каскадировании, а могу по отдельности каждый, благо свободных пинов у меня вагон. Могу комбинировать - скажем, две цепочки по три в каскаде или три цепочки по два.
Суть вопроса - а как лучше-то подключать? Задачи экономить ноги не стоит, с точки зрения программирования работает и так и так. Питание они берут не с ардуины, а с внешнего БП, который питает в том числе и ардуину.
С точки зрения стабильности, яркости, быстродействия - есть разница? Гугл мне на этот вопрос не смог ответить. :(
С точки зрения быстродействия и длины цепочки (вроде бы, давно не возвращался к спецификации на эту МС) есть разница. Сможете ли вы глазом засечь разницу в скорости - вопрос, конечно, более интересный.
Тут еще вопрос отказоустойчивости есть. Скажем, если первый MAX в цепочке уйдет в несознанку - будет ли он пропускать сигнал дальше, или встанет вся цепочка?
Мой не уходил, не могу ответить (надо в даташит лезть, но лень). А если провод кот грызть начнет, то тут цепочка проигрывает по естественным причинам.
Мой не уходил, не могу ответить (надо в даташит лезть, но лень). А если провод кот грызть начнет, то тут цепочка проигрывает по естественным причинам.
Даташит мне на этот вопрос не ответил. :( Я сталкивался с подвисанием MAX'а, в основном из-за проблем по питанию или при отрицательных температурах, (китайцы ставят исполнение C_G, а не E_G). Но во втором случае он обычно подвисал на моменте старта, когда все сегменты зажигались.
Если равновероятно способны глючить все модули/микросхемы и они будут находится в эквивалентных условиях, то какая разница, как они повиснут - сидя на разных комплектах ног ардуины или на одном?
Если равновероятно способны глючить все модули/микросхемы и они будут находится в эквивалентных условиях, то какая разница, как они повиснут - сидя на разных комплектах ног ардуины или на одном?
Справедливо. Да я больше думал, может есть какие-то другие особенности. Скажем, ограничения по току/напряжению (скажутся на яркости), или по времени обновления. Почему и спросил.
Питание к каждому в цепочке подведете - не будете иметь проблем. Цепочку можно посадить на шину SPI, а не дрыгать любой дроугой ногой. Выйдет быстрее, но заметно это будет если временные допуски в скетче микросекундные.
К одной arduino подключается шесть модулей c MAX7219 по 8 разрядов. Модули такого плана:
Соответственно, я их могу подключать в каскадировании, а могу по отдельности каждый, благо свободных пинов у меня вагон. Могу комбинировать - скажем, две цепочки по три в каскаде или три цепочки по два.
Суть вопроса - а как лучше-то подключать? Задачи экономить ноги не стоит, с точки зрения программирования работает и так и так. Питание они берут не с ардуины, а с внешнего БП, который питает в том числе и ардуину.
С точки зрения стабильности, яркости, быстродействия - есть разница? Гугл мне на этот вопрос не смог ответить. :(
Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.
=============
если особой спешки нет - то со стороны прогаммирования цепочка, имхо, предпочительнее - вероятность заблудиться в трёх пинах меньше.
"Всякий истинно верующий, да разбивает яйцо с того конца, с которого ему удобнее"
Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.
Эмм...а зачем ее подпиливать? Я же штатно могу создать несколько объектов, каждому указав свои пины и количество устройств в каскадировании. Как минимум я такое видел в примерах, сам пока не проверял. Что-то типа такого:
/* Создаём первый объект класса LedControl для 8-ми устройств */
LedControl LC1 = LedControl(12, 11, 10, 8);
/* Создаём второй объект класса LedControl для 8-ми устройств */
LedControl LC2 = LedControl(9, 8, 7, 8);
Ну и библиотеку (если LedControl) для управления отдельными модулями надо будет подпилить.
Эмм...а зачем ее подпиливать? Я же штатно могу создать несколько объектов, каждому указав свои пины и количество устройств в каскадировании. Как минимум я такое видел в примерах, сам пока не проверял. Что-то типа такого:
/* Создаём первый объект класса LedControl для 8-ми устройств */
LedControl LC1 = LedControl(12, 11, 10, 8);
/* Создаём второй объект класса LedControl для 8-ми устройств */
LedControl LC2 = LedControl(9, 8, 7, 8);
С классами - известно к кому.
А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону).
А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону).
На данный момент я пришел к тому, что в каскаде будут только три пина управления. А питание - на каждый индивидуально отдельной парой проводов от общего БП. Ибо идут потери, это хорошо видно при регулировке яркости.
Скажем, выставить яркость первого в 14, а второго в 7 - разница видна. Наоборот - ее практически нет.
Да и жрут они конечно несколько больше, чем я предполагал. В голове сидело, что один модуль на 8 знаков жрет максимум 160мА. Однако же модуль питания типа MB-102 для отладочной платы - 3 модуля уже не тянет. При том, что вроде как выдает 0.7A.
Хотя возможно, что он двумя ветками своими выдает максимум 0.7, тогда получается максимум 0.35 на сторону, и все логично. Пока запитал с двух таких модулей, с общей землей.
Сделаю вероятно две ветки по три модуля в каскаде. Не нашим, не вашим. ;)))
А вообще модули удобные, только нужно учитывать особенности национальной китайской схемотехники: приколхозить электролит микрофарад эдак на 100 и питание подавать мимо диода (например, на правую сторону).
Скажем, выставить яркость первого в 14, а второго в 7 - разница видна. Наоборот - ее практически нет.
при цепочке "как задумано китайцами" первый модуль не всегда работает, а второй - совсем редко. посмотри на включение диода и восхитись.
На всех что у меня под рукой - стоит в цепи питания на плюс, даже везде в одинаковом направлении. :) Сразу после входа стоит. Понять, косяк это или нет - мне знаний не хватает, увы.
Программер я, электотехнику в институте прогуливал в пользу компьютерного класса. Кто ж знал... :(
при цепочке "как задумано китайцами" первый модуль не всегда работает, а второй - совсем редко. посмотри на включение диода и восхитись.
На всех что у меня под рукой - стоит в цепи питания на плюс, даже везде в одинаковом направлении. :) Сразу после входа стоит. Понять, косяк это или нет - мне знаний не хватает, увы.
Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*
А дальше напряжение 4.3в подается на выход VCC и на вход VCC следующего модуля - а там свой диод ещё съедает свои 0.7в.
=============
* при первом моем общении с этим модулем так и было: ардуина питалась от usb и с учетом ардуинского защитного диода того, что доходило до 7219, не хватало ей для стабильной работы.
Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*
Понял, благодарю. Значит выкину его и закорочу. Ибо вчера после разговора померил просадку и задумался. А Вы как раз ответили на еще не заданный вопрос. :)
Диод вроде бы защищает от переполюсовки по питанию - что сомнительно, т.к. в реальной схеме сигнальные входы всё равно остаются незащищенными. При этом он сажает питание на 0.7 вольта; при допустимом отклонении вниз от номинала 5в на входе модуля микросхема то ли работает, то ли начинает глючить.*
Понял, благодарю. Значит выкину его и закорочу. Ибо вчера после разговора померил просадку и задумался. А Вы как раз ответили на еще не заданный вопрос. :)