Comments 110
потрачен почти весь год первого класса каждый вечер, чтобы раскидать полную консервную банку из-под джэма на 5 литровДа, мечта что бы после того как соскрёб под феном скребочком очередную бучную материнку с разбора, вот эту кучку smd робот сам разложил по ячейкам:) С резисторами и кондёрами это ещё хотя бы в теории реально, а вот всякие sot23-5 и другие муравьи… эх
Я просто купил несколько блоков спичек. Содержимое пересылал в кастрюльку. Вся семья несколько лет ими пользовалась прямо из кастрюльки. Никакого негатива не было.
Плюсом для меня было получить сразу нужное количество коробков одинакового размера и нужных расцветок.
В середине — конце 80-х
В школьном :) Когда ещё таким занимаются? :)
У каждого свой возраст прихода в электронику, поэтому и спрашиваю.
О да было такое. А ещё была с тразрюками мп40-42, кт315-316, диодами (д9 что ли стеклянными), стабилитронами и даже ку202(тиристор вроде). И с логикой 155 176
исходно фиксируется магнит к сердечнику.
Импульс нужной полярности на катушку выталкивает магнит.
для адресации можно i2c поделить и scl подавать по "строкам", а sda по "столбцам". причём через мультиплексоры 4067, тогда от МК надо log2(N) ног для адресации и одна шина на всех.
хотя вместо памяти и отдельного управления светодиодами какой-нибудь MSP430FR2100 (у них уникальный ID вроде есть), выйдет не дороже, зато можно всех повесить на одну шину без дополнительных чип-селектов вообще.
для адресации можно i2c поделить и scl подавать по «строкам», а sda по «столбцам».
Да уж, стоило изобретать цифровую шину с поддержкой адресации, чтобы потом мучиться с матрицами.
Это не вам или автору камень в огород, это я просто об абсурдности ситуации.
Ибо address = row * width + col, адрес гонится по i2c.
Ну или я реально не понял, в чем заключается проблема.
ну а что делать если обычно задать можно только 4/8 различных адресов i2c для конкретного устройства через подтяжку к земле/питанию пары ног, а посадить на одну шину надо таких 256 устройств? i2c "хабы" имхо ещё бОльшие костыли.
Или я чего-то не улавливаю, или почему задачу нельзя было решить установкой на задней стенке органайзера цепочки 'адресуемых' светодиодов (а-ля ws2812). Стоят копейки, коммутация элементарная (шлейф из трех проводов), масштабируемость прекрасная.
можно, но у ws2812 "адресуемость" заключается в "очерёдности" соединения, а не уникальный id привязанный именно к ячейке, вне зависимости от её положения.
Ну потому она и в кавычках.
Да, задачу "подсветить конкретную коробку внутри органайзера (неважно, в какое отделение засунутую)" на ws2812 не решить. Но задача "подсветить коробку, находящуюся на конкретном месте в органайзере" с ws2812
решается на порядок проще и дешевле.
И лично мне необходимость решения первой задачи представляется надуманной.
а вторую задачу "подсветить коробочку с конкретныму положением" и решать особо не надо, если кто-то будет следить что коробочки возвращаются на места — светодиоды не нужны
— "алиса, где к155ла3"
— "что такое к155ла3? в ячейке D7"
не даёт возможность нормально работать с непрозрачными лоткамиВсегда можно провести крохотный в 1мм световод из оптоволокна на переднюю панель, но на самом деле это не нужно, так как с адресными диодами их можно ставить хоть в сам контейнер впереди хоть над ним в обрешетку.
В случае такого решения, справится даже ATTINY85, и если принять ограничение в 1000 диодов на ленте, она даст 6x1000 = 6000 ячеек, ну или 5000, если не охота возиться с reset_disabled. Если охота, чтобы масштабировалось — отнимите еще одну ногу. Итого — 4000 ячеек в одной кассете… ну и 1000 кассет макимиум )))
Клеим на лоток пассивную метку, а на раму ставим считыватели. Получаем привязку коробки к координатам. И никакого колхоза с сопле-клеем и разъёмом-гребёнкой (это вообще жесть!). Правда, наверно дорого получится если нет доступа к оптовым ценам.
Т.е. основная идея — «ассоциативная» память — возможность определить что находится в ячейке в настоящий момент времени. Т.к. плата с электроникой в каждой ячейке уже была — добавление пары светодиодов на нее (с управлением напрямую с МК или матричным способом через промежуточные драйверы) показалось нормальным решением.
Идея с LED-лентами — хороша и тоже имеет право на жизнь.
P.S. Увидел ниже в комментариях, что идея с RFID рассматривалась.
На лотке замыканием нужных контактов формируем двоичный код с ID лотка.
Траблы:
1) разрастается количество проводников (по сути, на каждый разряд кода нужна своя матрица опроса).
2) могут быть проблемы с нестабильностью контакта (перекосы, вставка не до конца, износ). И чем больше разрядность кода, тем хуже.
Вариант: вместо разъемов — на раме набор микропереключателей, а на лотке — набор углублений (или выступов), формирующий код.
Можно подумать в сторону какого-то оптического считывания, но не сложным считывателем, а как-то чтоб простыми фотодиодами можно было.
Хотя нужное количество фотодиодов таки может оказаться дороже, чем одна камера и двумерные коды. Кстати, такие коды не обязательно квадратные и прямоугольные (QR, DM ), бывают системы с круглыми маркерами (пример — InterSense) или вообще неправильной формы (ReacTIVision).
Вот это интересный вариант. Но считывание возможно только при движении лотка, значит надо опрашивать диоды постоянно — сложно будет подключить неограниченное их количество к одному МК. Скорее получатся модули на 8-12 ячеек на одной атмеге например, которые уже надо будет как-то между собой связывать или подключать к центральному контроллеру.
А код Грея — это параллельный код, у которого между соседними позициями меняется только один разряд.
Тоже думал об автоматизации, но потом разбил адресацию по размерному ряду, поэтому искать просто. После прочтения статьи снова задумался об автоматизации, так-как в планах сделать подобную для полупроводников.
Если первое, то там масштабы такие, что не кассетницы нужны, а фидеры для pick-and-place-машин, отрезающие нужное количество деталей с катушки с лентой. А второе, то с их накрутками кто такую систему сможет себе позволить?
… Чип и Дип. А то мне искали недавно пару транзисторов минут 10О, да. Если что-то срочно нужно и едешь в магаз подбирать с кассы — это боль… Причём основное время не найти, а вот это вот «голосовое» набить/верифицировать список. Дело немного быстрее продвигается если прихать уже со списком артиклей, но всё равно медленно. Написал им с просьбой сделать заказы на сайте, что бы приехав продаван получал сразу верифицированный список уже на монитор, но видимо не сильно надо.
А как насчет RFID меток в ячейках и ридерах в посадочных местах для них? Или это слишком затратно выйдет?
RFID-метки сами по себе дешевле чем полупроводниковая память. Но для большого массива ячеек необходимо было бы делать механический привод со считывателем (который можно было бы объединить с толкателем) либо огромную печатную плату большим количеством антенн точно подобранного размера. Для демонстратора технологий усложнять механическую конструкцию не хотелось.
В середине 2000-x была такая штука — KDS disk organizer. Эта штука управлялась с компьютера и в программе можно было отмечать, в каком лотке какой диск хранится. Будучи школьником/студентом — мечтал, что дисков с софтом и видео у меня будет много и хранение их будет автоматизировано в таком боксе.
Скрупулёзно вести такой учёт, чтобы описание запасов соответствовало их реальному состоянию, довольно тяжело и безрадостно.Не тяжело и не безрадостно. У меня целый шкаф отведен под всю эту мелочевку. Коробочки и кассетницы промаркированы. Любая ячейка адресуется четырехзначным алфавитно-цифровым кодом, он же занесен в полноценную складскую программу. Поиск самого редко используемого компонента занимает не более минуты.
PLD/PBD
выглядит так себе решением для разъемного соединения.
Возьмите магнитные USB разъемы. Только не те что для зарядки, а полноценные. Никто же не заставляет вас по проводам USB гонять. 4 проводов вполне хватит для полноценного подключения по удобному вам интерфейсу. Это даст огромный ресурс подключения/отключения и смягчит проблему точного соприкоснования.
подсветит именно тот, который вы искали, даже если ранее вы поменяли его местами с соседним.
Я буду немножко старомоден, но что мешает просто на стенках каждой коробочке сделать в рандомно месте дырочку и вкрутить туда болт? Тогда чисто физически не будут коробки вставляться в чужие места.
перебор синонимов будет отнимать время
вот это сделаете:
заменять компенсатор на конденсатор, с помощью встраиваемого словаря сложных слов.
И проблема уйдет. Потому что синонимы будут равны нужному слову.
Собственно когда делал управление автоматизированным домом — именно так и сделал.
Вполне доволен.
kaldi иногда, например, слышит «что» вместо «сто». Но это не проблема, потому что в списке синонимов «что» записано как эквивалент «сто». Ну и в обратную сторону тоже самое. Проблем это никак не создает, потому что конечный автомат по контексту сам понимает «что» там или «сто».
При этом я использую полное распознавание, потому что словарь синонимов работает гораздо лучшем чем специализированное распознавание по словарю.
Специализированное распознавание допустимо, только если у нас есть отдельный активатор для старта распознаваний. Если же использовать его для непрерывного распознавания — он начинает сильно лажать, потому что слышит то, чего слышать не должен, что и логично для спецализированого распознавания.
Ну и, конечно, в современном мире надо быть работником Яндекса чтобы использовать для распознавания Алису. Благо vosk/kaldi на упрощенных данных сейчас малинка тянет без проблем в режиме непрерывного распознавания.
Почему не рассмотрели вариант с DS2405?
1-wire адресуемый ключ, на весь органайзер хватило бы параллельной шины из 3 проводов.
Но идея воткнуть полноценный МК с памятью, чтобы прямо в ячейке всё хранить все таки выглядит интересней.
а он стоит почти на порядок дороже самого мелкого МК на котором можно то же самое изобразить.
- завязка на вендора (их выпускает только Maxim, в то время как i2c микросхемы памяти много кто);
- отсутствие возможности жесткого задания адреса (что можно реализовать путем использования адресных выводов в i2c микросхемах).
В экономическом плане для решения задачи хранения, индикации, детекции извлечения ячейки и реализации простенького протокола для информационного обмена пока побеждают 8-битные микроконтроллеры.
Завязку на вендора я не проверял. Возможно есть аналоги?
Зачем "жестко задавать" адрес если он и так уникален для каждого ключа и прописан "жестче некуда"?
В экономическом плане возможно да, наверное развесить attiny13 на каждую ячейку с ID дешевле.
Мы видимо о разных вещах говорим.
Сейчас рассматривается не сферический лоток в вакууме, а конструкция автора.
В ней к органайзеру сзади привинчен backplate с электронной начинкой и диодной подсветкой ячейки.
И с точки зрения электроники без разницы как управлять включением светодиода: отправкой команды по адресу i2c шины или по 1wire ID.
В любом случае контроллер должен содержать в себе таблицу соответствия "название детали == адрес лотка", которую нужно изначально запрограммировать.
И этим адресам можно в соответствие задать удобное для человека цифро-буквенное обозначение (например, «A1»).
Если Вы возьмете лотки из ячеек «А1» и «А2» и поменяете их местами в актуальной реализации — адресация не поломается.
Если поменять два лотка с абстрактными уникальными ID — я вижу определенного рода проблемы (т.е. поиск по содержимому будет осуществляться нормально, но искать по идентификатору ячейки будет проблематично).
Либо мы действительно говорим о разном )
Я почти понял)
Мой вариант не предполагает установки активных компонент внутри лотка с деталями, поэтому перестановки запрещены.
Но в качестве ручной защиты от перестановки можно наклеить на передней панели лотка стикеры "А1, А2" итд для первого ряда, "В1, В2" итд для второго и итд.
Но одним из кейсов работы я рассматривал следующий:
1. Подбежать к большому-большому органайзеру, где есть все необходимые детали.
2. С предыханием произнести: «Красна девица Алиса, подсвети-ка мне все комплектующие, что на блок диковинный анженерной конструкции нужны».
3. Переставить лотки с деталями в маленький органайзер (в идеале карусельной конструкции, который и под ручную установку и под pick'n'place сгодятся) и бежать с ним на монтажный стол.
4. Спаять всё что необходимо.
5. Вернуть остатки в большой органайзер, расположив лотки в произвольном порядке в свободных ячейках.
Идея с бирками — норм., но надписи на них со временем стираются, а еще подписи усложняют произвольную перестановку лотков (а такая необходимость вполне может быть).
а совсем круто — автономные ячейки, связь по 433Mгц, с питанием придумать чегонибудь, типа аккум небольшой а зарядка в кассетнице.
тогда даже если ячейка на столе то будет подмигивать светодиодом что я тут.
Но стоимость ячейки выросла бы многократно.
Для себя при производстве в малых сериях разумной ценой электроники на ячейку я считал 1$, в большой серии — 0,2-0,3$.
Хайтек в бюджеты не вписывался :)
Крутая штука) прям чуть ли не полноценная mvp продукта на рынок, такого действительно мало сейчас.
На 1 курсе делал что то подобное, присобачил на заднюю стенку кассетицы с компонентами готовые направляющие от сканера с моторчиками, а третий моторчик ездил вместо сканирующей головки и просто выдавливал лоток с компонентами. Управлялось всё платкой с stm32, на дисплейчике выводилось, что сейчас в системе лежит, добавлять можно было клавиатурой от нокии. Кончилось всё тем, что однажды полный лоток с 0603 резисторами выдавило полностью, и они разлетелись по всей квартире, а моторчик кулачком разнёс задние стенки соседних лотков, сейчас на 5 курсе — до сих пор нахожу резисторы под диваном иногда)
Завидую белой завистью по поводу Яндекса, пытался подавать туда резюме электронщиком в команду беспилотника, даже не ответили — студентам, видимо, это не поощряется)
Время, которое тратится на произнесение голосовой команды Найти конденсатор 0603 на 4.7 микрофарад напряжение 50В диэлектрик X7R соизмеримо с набором той же фразы текстом.
А зачем так многабукаф?
Где 0603 4.7 микрофарад 50 вольт X7R? — куда короче, и при этом сохраняя всю информацию.
Так же, к примеру:
Где 0612 4.7 килоома четверть ватта? (резистор)
Где 0408 зелёный? (светодиод)
И так далее
Но в качестве первого подхода я парсил STT сообщение по текстовым маркерам ('напряжение', 'диэлектрик', 'на'), последовательно отсеивая детали, которые не проходят по запросу.
Голосовой интерфейс, несомненно, можно сильно усовершенствовать (например, относительно недавно в яндекс.диалогах стало можно хранить переменную состояния).
А еще можно попробовать реализовать комплексные запросы из серии «где резистор 0603 на 10, 330 и 500 Ом» — это может в ряде случаев сэкономить время.
Ик светодиоды и камера + шина питания на лотке или вообще беспроводная. Ну и сзади обычные светодиоды.
Было такое приложение WIZT, там похожая идея, но более универсальная. В целом — для любого склада или системы хранения подходит.
Также интересный случай, если пользователь переставит коробочки местами и не обновит базу данных. Предлагаю учесть новые данные при сканировании кода и выдать предупреждение и отправить человека искать пропавшую коробочку)) Я чувствую необходимо подсвечивание прошлого расположения текущей ячейки и так еще N раз, при необходимости. Интересно было бы это все протестировать в реальности. Налицо периодическое возникновение неконсистентности хранилища из-за человеческого фактора.
Минпромторг до скольки сегодня работает?
Вся проблема с радиокомпонентами что их часто слишком много. Например у меня, если верить базе, только резисторов 100 с чем-то позиций. И вот заводить на каждый коробочку… оверкилл. Ну реально к чему выделять целую коробку на те 5 резисторов 1.23к оставшихся от какого-то проекта.
Получается, надо группировать, а если группировать, то это значит опять искать.
Вообщем, для себя просто организовал все в 3-5 пластиковых контейнера с какой никакой логикой, ну а там уже искать не так страшно.
Да, книжки это круто (я тупо не нужные визитницы переиспользовал). Но у смд есть минус, их в макетку не вставишь. А держать в книжках выводные компоненты уже не совсем удобно.
Но у меня под те же резисторы коробка условно на 3 ячейки (0-1к, 1.1к-100к, 101к и далее), и сами номиналы отдельно по пакетам. Не так удобно, что вот сразу взял что надо, но и долго искать то же не нужно. Главное в базе не ленится приход/расход вести.
Как вижу, про VisualPlace уже знаете. Даже текущий вариант подружить с каруселью — +100500 к удобству даже на этапе подбора какие ящики тащить на монтажный стол.
А вообще, я бы вообще от проводов отказался. Какойнить мелкоконтроллер в ячейку и вариация на тему Qi — вот и питание контроллеру ячейки и какой-никакой, но канал связи. Можно от общей катушки передавать адрес, а дальше уже нужная яейка общается. Это чтобы коллизий не было и не городить 100500 катушек персонально для каждого ящика.
А собирать — поручить китайцам вроде jlc. Если оптимизировать BOM, по максимуму на одну сторону, в основном планарное — вполне подъемно получается. Особенно если в качестве контроллера ячейки взять какого нить мелкого китайца типа N76E003.
Я б сделал световоды от светодиодов бекплейна вдоль корпуса ячейки, и минимальный чип микроконтроллер типа attiny10 на коробке, чтоб он по 3-4-м проводам рапортовал свой ID. И пружинные контакты на бекплейне. Бекплейн опрашивает, матрично подавая питание к примеру...
Как я собрал «умный» органайзер для электронных компонентов