Автоматизированная система хранения и учета электронных компонентов

Если вы радиолюбитель и имеет в наличии несколько десятков, а может и сотен различных электронных комплектующий, то ознакомьтесь с этим проектом. С помощью него можно упорядочить хранение деталей. Автоматизированная система хранения и учета электронных компонентов является уникальным решением для организации и хранения электронных компонентов. Специальное программное обеспечение позволяет каталогизировать компоненты со встроенной функцией поиска, чтобы получить быстрый доступ к конкретным компонентам. Светодиоды над каждым ящиком используются для индикации местоположения и состояния отдельных деталей или группы компонентов.
Впрочем, идея, заложенная в основу этого устройства может быть применена не только в радиолюбительстве, но и в системе учета и хранения других вещей или товаров.

Инструменты и материалы:
-Адаптер питания 5В 3А;
-Raspberry Pi 4 Модель B;
-Сенсорный IPS-дисплей совместимый с Raspberry Pi 4B / 3B;
-Светодиодная лента WS2812b, 30 светодиодов на метр;
-3D-принтер;
-Суперклей;
-Черная аэрозольная краска;
-Паяльные принадлежности;
-Крепеж;
-Компьютер с ПО;
-Фанера;
-Отвертка;

Шаг первый: идея

На фотографии выше, прежнее место хранение комплектующих у мастера. В принципе аккуратно и рассортировано, но на поиски нужной детали тратится много времени.

Для решения проблемы мастер решил все автоматизировать.
Идея заключается в том, чтобы хранить все компоненты в одной системе. Система хранения будет состоять из множества ящиков, и над каждым ящиком будет установлен светодиод.

Пользователь будет использовать специальное программное обеспечение для взаимодействия с системой хранения. Когда пользователь выполняет поиск компонентов, система отображает на экране первые результаты поиска. Одновременно с этим загораются светодиоды, соответствующие поиску, что указывает на местоположение компонента в системе хранения.

Помимо отображения местоположения, цвет светодиодов также будет указывать на состояние (то есть количество) каждого компонента.

Итак, для реализации проекта нужно:
Создать простую систему хранения и извлечения компонентов малого и среднего размера.
Создать программный интерфейс для каталогизации и поиска по компонентам.
Использовать светодиоды RGB, чтобы указать расположение и состояние каждого компонента.
Все файлы, печать, код и т.д. доступны здесь.

Шаг второй: дизайн
Работу мастер начал с 3D-моделирования самой системы хранения.
Он разработал систему хранения в виде блоков ящиков, разных размеров, напечатанных на 3D-принтере. Ящики расположены в сетке 35 × 12, всего 310 ящиков. Этого места достаточно, чтобы хранить все текущие компоненты и есть место для будущего расширения.

Расстояние между выдвижными ящиками в вертикальном направлении рассчитано на размещение светодиодной ленты шириной 10 мм над каждым рядом ящиков. Расстояние в горизонтальном направлении равно расстоянию между светодиодами на светодиодной ленте. Мастер решил, что использование светодиодной ленты 30 LED / метр обеспечит идеальное расстояние.

Все детали, ящики и держатели для ящиков, печатаются отдельно и собираются в желаемой конфигурации. Ящики доступны в разных размерах, и любая конфигурация ящиков будет работать с программным обеспечением после некоторых изменений кода.

Чтобы свести к минимуму расход нити и время печати, толщина стенок всех деталей, напечатанных на 3D-принтере, сведена к минимуму. После сборки общий блок для хранения становится достаточно прочным, чтобы вместить большинство легких и средних компонентов.

Поскольку для системы хранения данных требуется дисплей, мастер спроектировал регулируемый кронштейн для крепления дисплея и электроники.

Все части кронштейна дисплея были разработаны для 3D-печати и собраны с помощью болтов и гаек M8. Кронштейн дисплея предназначен для размещения дисплея HDMI, Raspberry Pi и всей проводки.

Кронштейн был разработан на основе проекта в Thingiverse.

Шаг третий: 3D-печать
После 3D-моделирования всех деталей нужно напечатать сотни деталей.
Мастер использовал 3D-принтер Prusa MK2S для всех 3D-печатных частей этого проекта. Он использовал нить PLA с толщиной слоя 0,2 мм и заполнением 0%.

Поддерживающий материал требовался только для держателя ящика среднего размера и держателя ящика большого размера. Идеальный допуск между ящиками и держателями ящиков составляет 0,2 мм.

После распечатки всех отдельных частей он использовал суперклей, чтобы собрать вместе все держатели ящиков в сетку 35 × 12.
Покраска связана с тем, что у мастера не хватило нити того же цвета. Детали, напечатанные нитью другого цвета он просто покрасил.
Для печати всех деталей потребовалось около 5 кг нити.

Шаг четвертый: электроника
Что касается электроники, то выбор оборудования был довольно простым.
В качестве пользовательского интерфейса он выбрал Raspberry Pi 4 Model B, подключенный к дисплею через HDMI. Также можно использовать Raspberry Pi без дисплея и управлять системой с другого устройства, через сетевой протокол SSH. Более старые версии Raspberry Pi также могут работать, если они могут запускать Python 3. Библиотека Neopixel, используемая в этом проекте, не поддерживается Python 2.

Для индикации он выбрал 30LED / m, WS2812b. Другие светодиодные ленты также будут работать, если они поддерживаются библиотекой Neopixel.

Что касается проводки, три кабеля USB-C используются для подачи питания на Raspberry Pi , дисплей и светодиоды. Кабель HDMI используется для подключения дисплея и Raspberry Pi.

Arduino Uno, присутствующие на фотографии, не являются обязательными. Можно передавать данные на Arduino через последовательный порт и использовать его в качестве контроллера светодиода, но для простоты мастер решил не использовать Arduino в этом проекте.

Поскольку Raspberry Pi GPIO имеет только 3V3 можно бы включить в линию передачи данных для светодиодов четырехуровневый переключатель типа 74AHCT125. Но пока у него проблем не возникало.

С руководством по использованию Neopixel с Python и Raspberry Pi можно ознакомится здесь.

Шаг пятый: обзор программного обеспечения
Пока все детали печатались на 3D-принтере, мастер приступил к разработке программного обеспечения управляющего всей системой.
Программное обеспечение написано на Python 3 и предназначено для работы в качестве консольного приложения Raspberry Pi. Функциональность программного обеспечения можно разделить на три части:
Ввод данных пользователем
Чтение из файла / запись в файл
Вывод результатов на консоль и светодиоды

Ввод данных пользователем
На выбор пользователю доступны следующие функции:
Функция Пример
Перечислите все компоненты: all
Искать компонент по ID: ID22
Искать компонент по параметрам: R, 22, SMD
Измените количество компонента: ID35 + 10
Добавьте новый компонент: PI89:PI90, 100pcs, C, 470u, SMD:add
Удалить существующий компонент: ID10: rm
Справка: help

Чтение из файла / запись в файл
Данные компонента хранятся в файле .txt. В зависимости от ввода, программное обеспечение либо ищет данные в файле, либо записывает новые данные в файл. Новые данные записываются при удалении, добавлении или изменении компонентов.

Вывод результатов
Программа выводит результаты операции на консоль. Если поиск был проведен, он также выводит данные на светодиоды.

Шаг шестой: структура данных
Данные компонентов в файле .txt имеют определенную структуру. Каждая строка файла содержит информацию об одном компоненте, который хранится в системе. Каждый компонент состоит из нескольких параметров, разделенных запятой.

Некоторые параметры являются обязательными и используются программным обеспечением для отслеживания расположения компонентов и цветов светодиодов. Поэтому они должны соответствовать определенному формату.

Обязательные параметры и их форматы:
ID (в формате IDX, где X — одна или несколько цифр)
Идентификатор действует как уникальный идентификатор для каждого компонента. Используется при поиске и удалении компонентов.
PI (в формате PIX: где X — одна или несколько цифр)
PI описывает, какие светодиоды соответствуют какому компоненту.
Quantity (в формате Xpcs, где X — одна или несколько цифр)
Quantity используется для определения цвета светодиода для каждого компонента.
Остальные параметры просто предназначены для пользователя. Программному обеспечению не нужно взаимодействовать с ними, поэтому их формат не является обязательным.

Шаг седьмой: сборка
Сборку можно разделить на две части, первая часть — это дисплей и электроника.
Мастер собрал кронштейн и закрепил на нем дисплей. Затем закрепил на нем дисплей и Рассбери. Произвел подключение.

Вторая часть — это сам органайзер. Органайзер крепится к листу фанеры через специально спроектированные крепежные отверстия.
Затем приклеиваются светодиодные ленты к каждому ряду и соединяются вместе. Конфигурация каждого ряда и направления светодиодной ленты не имеет значения, поскольку ее можно изменить программно.

Чтобы закончить сборку, мастер прикрепил кронштейн дисплея с электроникой сбоку от фанерной панели.
Затем отсортировал все компоненты по ячейкам и добавил их в базу данных файлов.

Все готово. По словам мастера, он очень доволен новым органайзером.

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

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Подборки: 3D принтер

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
KIA