Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Мини-лифт

Компоненты и расходные материалы

Arduino Mega 2560
× 1

Необходимые инструменты и машины

Головоломка

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Это рабочий 5-этажный лифт. Это 3 фута в высоту. Мы много работали над этим.

Давайте перейдем к делу ... вот как это работает!

Быстрые ссылки:

  • Код
  • Схема подключения (скоро)

Вдохновение

Мы играем с Arduino и встроенной обработкой / IoT уже пару лет, но большинство проектов, которые мы реализовали (и большинство из них), довольно просты. Мы давно искали что-то «реальное».

Этим летом я был в отличном летнем лагере Project Ember. Он находится в районе залива Сан-Франциско, и это потрясающе! Дети проектируют и строят большие деревянные конструкции с помощью электроинструментов. Как только я понял, что могу это сделать, я захотел объединить физическое здание с Arduino, и вот результат!

Подход

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

К счастью, мы сделали нечто подобное в нашем более раннем проекте «Модный календарь». Там мы разобрались, как использовать шаговые двигатели и, что более интересно, сохранять их позиции в энергонезависимой памяти (EEPROM на Arduino). Так что здесь мы будем использовать тот же подход. Таким образом, нам совсем не нужны датчики положения, мы просто будем рассчитывать на нашу способность подсчитывать количество шагов, которые мы перемещаем нашим шаговым двигателем.

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

Материалы

Кнопки с отдельными лампочками (мы покупали на eBay, они должны выглядеть так:

  • Arduino Mega2560 - мы выбрали его, потому что у него было больше контактов GPIO для всех наворотов проекта. Купить Official - возможно, вы сможете получить имитацию / совместимую дешевле.
  • Светодиодная матрица 8 × 8 для отображения стрелок Купить (Amazon)
  • Семисегментный дисплей для отображения номеров этажей Buy (SparkFun)
  • Шаговый двигатель и плата водителя для передвижения автомобиля. Купите 5 штук (Elegoo) Примечание:вы используете только один, но вам может понадобиться больше. И вы можете повторно использовать коробку, в которой они входят. 🙂
  • Проточная плата Mega2560 для подключения наших проводов. Покупка (BangGood). Мы удалили верхний колонтитул, это необязательно.
  • Винтовые клеммы (10 × 2) Купить (frys.com) Вам понадобится 4
  • Катушка с ниткой

Вы можете найти все перечисленные ниже материалы в местном магазине Home Depot или другом магазине товаров для дома:

  • ДВП и лепнина 3/4 кв. для лифта и вагона.
  • Алюминиевый угловой кронштейн для крепления двигателя.
  • Винты в ассортименте
  • Шланг выполняет роль втулки внутри катушки.
  • Веревка (мы использовали прочную нейлоновую веревку для воздушного змея)

Сборка

Вал и тележку мы сделали из ДВП и лепнины, чтобы усилить углы.

Начали с шахты лифта. Мы отрезаем 3 куска ДВП размером 36 ″ x8 ″ для боковых сторон и задней части (передняя часть открыта). Затем, используя 4 куска квадратного профиля 3/4 ″, длиной 36 ″, мы скрутили ДВП вместе, чтобы получился вертикальный вал. Квадратные куски ДВП сверху и снизу удерживают все квадратное.

Рядом кабина лифта. В нем используется такая же конструкция со стенами, потолком и полом из ДВП и опорами из сосны. Он почти во всю ширину древка, но проходит между передней и задней частью сосны (так что он шире, чем глубина). Мы прикрепили проушину к верхней части машины, чтобы она висела на веревке.

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

Мотор находится наверху лифта. К валу на моторе прикрепили обычную деревянную шпульку (из швейной нитки). Это немного сложно. Вал двигателя имеет плоский край, но, конечно, отверстие в катушке круглое. Итак, мы просверлили и вырезали отверстие в катушке и приставили винт к плоскому краю вала двигателя. Кроме того, отверстие в катушке больше вала двигателя. В качестве втулки, занимающей пространство, мы использовали очень короткий кусок резинового шланга подходящего размера.

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

Мы использовали больше ДВП для изготовления пуговичных панелей. Слева мы использовали доску высотой с вал для кнопок вызова. Мы использовали чередующиеся красные и зеленые кнопки. Красный - вниз, зеленый - вверх. На верхнем этаже только красный цвет, а на нижнем - только зеленый. Наша панель «в лифте» находится справа. Вырезаем отверстия для светодиодной матрицы и семисегментного дисплея помимо 5 отверстий для кнопок.

Установили 4 винтовых ящика. Два на панели вызова и два сбоку от внутренней панели лифта.

Электропроводка

Проводка сложная, потому что ее очень много! Мы решили использовать щит для прототипирования Arduino Mega, отчасти потому, что он у нас уже был :-). Но реальная мотивация заключалась в том, что с таким количеством проводов мы были обеспокоены тем, что что-то неизбежно отключится, если мы просто будем использовать стандартные контакты Arduino. С помощью экрана для прототипирования мы могли припаять провода напрямую и избежать этого риска. Кроме того, это дало нам удобное место для размещения таких вещей, как резисторы, которые необходимы для нашего 7-сегментного дисплея.

Тем не менее, мы не хотели, чтобы все эти разные панели были соединены вместе, потому что, если бы мы допустили ошибку, ее было бы очень сложно исправить. Итак, у каждого провода есть какой-то съемный конец. Мы использовали винтовые блоки между панелями переключателей и Arduino, а для 7-сегментной и светодиодной матрицы один конец провода по-прежнему является быстроразъемными контактами.

Для кнопочных панелей мы изготовили собственные жгуты проводов, используя обжимные плоские разъемы с внутренней резьбой, которые идеально подходят к кнопочным клеммам. Поскольку для каждой кнопки требовалось два заземления (одно для кнопки и отдельное для света), было бы МНОГО проводов заземления, если бы мы протянули их все к Arduino. Поэтому вместо этого мы соединили их все гирляндой вместе с красивым нестандартным жгутом проводов. Сигнальные штифты (один для переключателя и один для лампочки на каждой кнопке) все отдельные и идут к блокам с винтами.

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

Программирование

У нас было много изменений кода, но вот текущая версия. Самая сложная часть программного обеспечения - это логика, позволяющая определить, куда должна идти кабина лифта. Если он на 2 этаже, кто-то внутри хочет перейти на 3, кто-то хочет спуститься с 4 и вверх с 1… куда вы пойдете в первую очередь?

Другая сложная часть заключается в том, что библиотека шаговых двигателей обычно работает так, что пока двигатель движется, ничто не вызывает функцию «loop ()» Arduino. Тем не менее, у кого-то должно сработать нажатие кнопки во время движения лифта. Таким образом, вы не можете пройти весь путь до места назначения за один шаг - вам нужно двигаться понемногу, проверяя по пути нажатия кнопок (и, возможно, изменения места назначения).

Вы можете скачать наш скетч Arduino здесь.

Чтобы загрузить код:

Вам нужно будет скачать эти библиотеки:

  • LEDControlMS
  • SevenSeg

Загрузите код:

  • Выберите подходящую доску:см. это изображение
  • Выберите порт:аналогично, но вы выберете «Порт». В MacOS это будет что-то вроде /dev/cu.usbmodem1411, а в Windows это будет что-то вроде COM2.
  • Загрузите свой код.

Если да, поздравляю! Переходим к тестированию. Если этого не произошло, вернитесь к шагу 5. Если это снова не помогло, дважды проверьте проводку. Если то не сработало, свяжитесь с нами по ссылке вверху.

  • Загрузите среду разработки Arduino. arduino.cc
  • Откройте код.
  • Чтобы установить библиотеки, см. это руководство.
  • Лифт должен пройти самотестирование. Все кнопки вызова должны загореться последовательно, затем пять кнопок в лифте, затем должен циклически переключаться семисегментный дисплей, затем на матрице должны появиться стрелки вверх и вниз. По завершении на 7-сегментном дисплее будет показан последний известный номер этажа кабины лифта.

Тестирование / калибровка

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

Для калибровки:

  • Нажмите и удерживайте верхнюю и нижнюю кнопки на правой панели. В матрице должна отображаться буква C (для калибровки).
  • Используйте эти верхнюю и нижнюю кнопки, чтобы вручную переместить автомобиль на пол, показанный на семи сегменте. Когда он окажется в нужном месте, нажмите среднюю кнопку.
  • Повторите шаг 2 для всех пяти этажей. Когда вы закончите, матрица должна выключиться.

Следующие шаги

Подобные проекты никогда не бывают реализованными! Мы хотели бы перестроить конструкцию лифта и шахты с помощью деталей, вырезанных лазером. Для этого мы использовали ручной лобзик, и поэтому наши разрезы на самом деле не такие уж прямые… отчасти это и является причиной нашей «проблемы трения». В то же время мы бы разработали более совершенное крепление для двигателя и получили бы лучший и более быстрый двигатель.

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

Любые мысли или предложения по этому проекту, пожалуйста, дайте нам знать в комментариях!

История версий

Примечание. Ссылка на Google Диск будет автоматически обновляться с каждой версией.

Версия 2:мы исправили ошибку, из-за которой вызов лифта снаружи на текущем этаже мог привести к зависанию программного обеспечения, требующему нажатия кнопки сброса.

Код

Библиотека светодиодных матриц Arduino
https://github.com/shaai/Arduino_LED_matrix_sketchhttps://github.com/shaai/Arduino_LED_matrix_sketch
Библиотека SevenSeg
https://github.com/sigvaldm/SevenSegh https://github.com/sigvaldm/SevenSeg
Эскиз Arduino

Производственный процесс

  1. Лифт
  2. Битва с мини-боссом
  3. Arduino Spybot
  4. FlickMote
  5. Самодельный телевизор B-Gone
  6. Основные часы
  7. Найди меня
  8. Arduino Power
  9. Tech-TicTacToe
  10. Четвероногий Arduino