Оглавление:

Система хранения компонентов: 10 шагов (с изображениями)
Система хранения компонентов: 10 шагов (с изображениями)

Видео: Система хранения компонентов: 10 шагов (с изображениями)

Видео: Система хранения компонентов: 10 шагов (с изображениями)
Видео: Котика ударило током, 10 т. Вольт 2024, Ноябрь
Anonim
Система хранения компонентов
Система хранения компонентов

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

Запасы

Спасибо DFRobot за предоставленные ниже детали для этого проекта!

2 x 5 В при 3 А, USB-источник питания

Доступно здесь (партнерская ссылка):

1 х Raspberry Pi 4 Модель B

Доступно здесь (партнерская ссылка):

1 x 8,9-дюймовый сенсорный IPS-дисплей с разрешением 1920 x 1200

Доступно здесь (партнерская ссылка):

1 светодиодная лента WS2812b, 30 светодиодов / м

Доступно на Ebay

Все файлы для этого проекта можно найти на моем GitHub:

Шаг 1. Идея

Идея!
Идея!

Фон

У меня всегда были проблемы с организацией и хранением моих компонентов. Фотография выше показывает состояние моего текущего решения для хранения компонентов. Хотя наличие компонентов в нескольких коробках по всей мастерской могло работать для некоторых, это всегда было неэффективным в моем рабочем процессе. Итак, я придумал проект, чтобы решить эту проблему.

Идея

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

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

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

Требования

Идея была разбита на следующие требования, которым стремится удовлетворить этот проект:

Создайте простую систему хранения и извлечения компонентов малого и среднего размера

Создайте программный интерфейс для каталогизации и поиска по компонентам

Используйте светодиоды RGB, чтобы указать расположение и состояние каждого компонента

Шаг 2: Дизайн - Система хранения

Дизайн - Система хранения
Дизайн - Система хранения
Дизайн - Система хранения
Дизайн - Система хранения
Дизайн - Система хранения
Дизайн - Система хранения

Я начал с 3D-моделирования самой системы хранения.

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

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

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

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

Шаг 3: Дизайн - дисплейный рычаг

Дизайн - Дисплей Arm
Дизайн - Дисплей Arm
Дизайн - Дисплей
Дизайн - Дисплей
Дизайн - Дисплей Arm
Дизайн - Дисплей Arm

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

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

Части кронштейна дисплея были основаны на этом дизайне от Thingiverse.

Шаг 4: 3D-печать и живопись

3D-печать и живопись
3D-печать и живопись
3D-печать и живопись
3D-печать и живопись
3D-печать и живопись
3D-печать и живопись

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

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

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

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

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

Для справки, вся моя система хранения 35 × 12 с 310 ящиками требовала около 5 кг нити для печати.

Шаг 5: Электроника

Электроника
Электроника
Электроника
Электроника

Что касается электроники, то выбор оборудования был довольно простым.

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

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

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

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

Хорошей практикой проектирования было бы включение переключателя уровня в линию передачи данных для светодиодов, поскольку Raspberry Pi GPIO имеет только 3V3. У меня пока не было никаких проблем, но если они возникнут, я использую что-то вроде "74AHCT125 Quad Level-Shifter".

Руководство по использованию Neopixel с Python и Raspberry Pi существует здесь.

Шаг 6: Обзор программного обеспечения

Обзор программного обеспечения
Обзор программного обеспечения

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

Программное обеспечение написано на Python 3 и предназначено для работы в качестве консольного приложения на Raspberry Pi. Функциональность программного обеспечения можно разбить на следующие части:

  • Прочитать ввод пользователя
  • Чтение из файла / запись в файл
  • Вывод результатов на консоль и светодиоды.

Ниже я дам упрощенное описание каждого шага.

Прочитать ввод пользователя

Когда пользовательский ввод получен, для определения запроса пользователя используется серия выражений Regex. На выбор пользователю доступны следующие функции:

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

Чтение из файла / запись в файл

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

Вывод результатов

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

Шаг 7: структура данных

Структура данных
Структура данных

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

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

Обязательные параметры и их форматы:

  • ID (в формате IDX, где X - одна или несколько цифр)

    ID действует как уникальный идентификатор для каждого компонента. Используется при поиске и удалении компонентов

  • PI (в формате PIX: X, где X - одна или несколько цифр)

    PI описывает, какие светодиоды соответствуют какому компоненту

  • Количество (в формате Xpcs, где X - одна или несколько цифр)

    Количество используется для определения цвета светодиода для каждого компонента

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

Шаг 8: Сборка - Электроника

Сборка - Электроника
Сборка - Электроника
Сборка - Электроника
Сборка - Электроника

Сборку можно разделить на две части, первая часть - это дисплей и электроника.

Я собрал детали, напечатанные на 3D-принтере, используя необходимые болты и гайки. Затем я прикрепил напечатанный на 3D-принтере кронштейн к HDMI-дисплею с помощью 4-миллиметровых винтов. Raspberry Pi был прикреплен в удобном месте, а проводка была подключена в соответствии со схемой в «Шаге 5: Электроника».

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

Шаг 9: Сборка - система хранения

Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения
Сборка - Система хранения

Вторая часть сборки - это сама система хранения.

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

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

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

Я отсортировал все компоненты по их новому дому и добавил их в базу данных файлов.txt.

Шаг 10: Заключение

Заключение
Заключение
Заключение
Заключение
Заключение
Заключение

Теперь проект завершен, и я очень доволен тем, как он получился!

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

Надеюсь, вам понравился этот проект, и если у вас есть какие-либо мысли, комментарии или вопросы, оставьте их ниже.

Рекомендуемые: