Я делаю проект, где требуется контролировать 10000 ввода-вывода.
Выход 5000 - для 5000 светодиодов, где только 1 светодиод будет гореть одновременно
Вход 5000 - для датчика 5000, где он будет ощущать присутствие объекта.
По сути, я делаю систему хранения (что-то похожее на отверстие для голубя), в которой небольшая коробка будет помещена в это отверстие для голубя. В настоящее время у меня есть около 5000 коробок, размещенных на 20 стойках. Каждая стойка имеет 250 отверстий (10 колонн х 25 рядов).
Каждое из этих отверстий будет иметь один светодиод и один датчик. поэтому мне нужно 5000 светодиодов и 5000 датчиков.
все датчики и светодиод будут подключены к системе. Когда мне нужно поместить коробку в отверстие для голубя, я отсканирую штрих-код коробки и зарегистрирую его в системе. Затем система будет искать пустые слоты в любых стойках и загорается светодиод. Я положу коробку в отверстие для голубя, и светодиод погаснет.
Если мне нужно получить какой-либо ящик, я бы затем ввел номер ящика, и светодиод точного местоположения загорелся бы.
Не совсем уверен, как начать. Хотелось бы узнать, какое оборудование имеет такое количество портов ввода / вывода.
источник
Ответы:
Наилучший подход - разместить ваши светодиоды в матрице 64х80 . Так как в любое время должен гореть только 1 светодиод, вы можете использовать демультиплексоры как для строк, так и для столбцов. Для строк вы хотите 1 строчку ниже, для столбцов 1 строчку.6 <80 <27 ). Вам понадобится дополнительная логика для получения управляющих входов для каждого 74HC138 по этому адресу. Для столбцов вам понадобится восемь 74HC238 с, что аналогично 74HC138, но с высоким активным выходом. Здесь нужно всего 6 адресных строк (64 = 26 ). Таким образом, у вас будет всего 13 адресных строк.
Одним из решений является использование десяти строк 74HC138 для строк, управляемых 7 адресными строками (2
Другой подход заключается в использовании CPLD . 13 адресных строк, 64 столбца + 80 строк. Это 157 входов / выходов. У Altera есть несколько устройств MAX3000, которые отвечают всем требованиям.
Если у вас нет компактной презентации для светодиодов, такой как синоптическая панель, вы можете использовать их с более высоким током для лучшей видимости. В этом случае вам понадобятся дополнительные транзисторы на выходах.
источник
Ух ты, мальчик ... Это не будет дешевый проект!
Я согласен с Раньери в отношении общей концепции разбиения проекта на повторяющиеся «плитки».
Учитывая, что у вас 20 стоек по 10 колонок по 25 рядов; Я подозреваю, что вам понадобится главный контроллер для каждой стойки (который также будет иметь дело с распределением мощности) в паре с «полочным блоком» для каждого ряда, ответственным за управление светодиодами для 10 столбцов и для определения поля. Главный контроллер также может управлять главным источником света в верхней части стойки, чтобы можно было легко обнаружить стойку назначения.
Что касается расстояний, я не думаю, что вы должны использовать USB для подключения к стойкам - USB не любит ездить на большие расстояния. Вместо этого лучше использовать изолированный интерфейс, такой как Ethernet или оптоизолированный аля MIDI. Однако встраивание в стойку может быть выполнено практически любым подходом.
источник
Устройства XMOS часто используются для управления очень большими массивами светодиодов. Светодиоды сгруппированы в «ячейки», причем каждая ячейка управляется микросхемой XMOS и соответствующими регистрами сдвига. Устройства XMOS могут быть подключены друг к другу через высокоскоростные линии XLink или Ethernet и могут взаимодействовать с хост-системой через Ethernet или USB. Устройства XMOS могут реализовывать высокоскоростной USB и Ethernet в программном обеспечении, просто требуя подходящих микросхем PHY.
5000 входов могут быть подключены аналогичным образом.
источник
Трудно придумать четкие рекомендации без более точного представления о том, что должна делать вся система, или как должны быть расположены светодиоды и датчики, но я попробую.
Вы не найдете ни одного компонента с 10000 цифровыми портами ввода-вывода, и даже если бы вы сделали схему управления / буферизации / смещения для светодиодов и датчиков, потребовалось бы огромное количество ресурсов на плате. Лучше всего разделить и победить - создайте несколько «плиток», которые обрабатывают определенную подзадачу, и соедините их вместе.
Например, если светодиоды и датчики должны быть совмещены, каждая ячейка может иметь, скажем, 100 светодиодов и 100 датчиков, (де) мультиплексоров и простой микроконтроллер. Затем вы собрали 50 таких плиток, в результате чего было получено до 5000 светодиодов и 5000 датчиков. Затем вы подключаете каждую из этих плиток к «материнской плате», которая может адресовать отдельные платы, разговаривать с ними на микропроцессоре и записывать / считывать светодиоды и значения датчиков.
Одним из главных конструктивных решений станет «мощность» материнской системы, а также схема межсоединения. Например, если вы хотите управлять устройством с ноутбука (или аналогичного устройства), вы можете использовать USB в качестве соединения. Затем вы можете запустить программный стек USB, такой как VUSB, на плитках, чтобы снизить стоимость. Другими вариантами могут быть CAN, I2C и даже Ethernet. Опять же, специфика вашей системы диктует, что использовать.
Для конкретных применений доступны значительные сочетания клавиш. Например, если светодиоды используются в качестве дисплея, вы, вероятно, можете управлять ими из одного микроконтроллера, используя установку матрицы и простой кадровый буфер.
источник
Есть альтернативы
и / или
В то же время я думаю, что вы можете играть с Rainbowduino и 8 * 8 RGB LED Matrix, который управляет 192 светодиодами (3 * 8 * 8).
источник
Поскольку вам необходимо передать штрих-код на центральную вычислительную станцию, вам необходимо настроить шину. В зависимости от размера ваших боксов, расстояние играет роль в выборе автобуса.
Аналоговые кабели со светодиодным мультиплексированием не подходят для установок большой площади, где светодиоды не находятся рядом друг с другом (усилие разводки, различное сопротивление разводки и т. Д.).
Предположим, вы хотите сохранить это дешево. Может быть, попробовать I2C, и сделать его иерархическим. Будут узлы маршрутизатора, которые общаются с главным компьютером и маршрутизируют сообщения на конечные узлы и с них, из которых по одному на каждый ящик.
Конечный узел может считывать штрих-код, зажигать светодиод и выполнять при необходимости различные другие функции, считывая или отправляя сообщения на свой узел маршрутизатора.
Эта установка, вероятно, находится в той же финансовой лиге, что и центральные кабели для светодиодов 5k, датчиков 5k, даже если они модульные. Самый дешевый AVR ATtiny4 с 4 GPIO стоит 0,6 евро в цифрах.
источник