Умный служебный лифт на Arduino Mega для 4 этажей
Компоненты и материалы
| Arduino Mega 2560 | × | 1 |
| Микро-концевик OpenBuilds | × | 4 |
О проекте
Проектирование и тестирование системы управления служебным лифтом для четырех этажей. Микроконтроллер (ATMega2560) определяет, какому контактору подать питание для активации двигателя лифта (вверх/вниз), проверяя текущий этаж. Система также отключает питание при достижении целевого этажа. Встроен меры безопасности: дверь лифта всегда закрывается перед движением. Система успешно определяет нужный контактор для движения к желаемому этажу и управляет двигателем двери: закрывает её перед движением и открывает при остановке.
Демо-видео
1.1 Проводка трехфазного двигателя
Используется трехфазный двигатель для тяжелых нагрузок. Питание идет через два основных контактора. При включении первого контактора и выключении второго — двигатель вращается вперед. При включении второго и выключении первого — назад (схема обмоток меняется).


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

Четыре концевика подключены к 5 В через подтягивающие резисторы к входам прерываний Arduino Mega 2560 (6 доступных пинов). При срабатывании концевика вызывается функция прерывания (ISR), которая проверяет, достиг ли лифт целевого этажа, и останавливает или продолжает движение. Это гарантирует, что этаж не будет пропущен.



1.3 Управление двигателем вверх/вниз
Два 12-вольтовых реле переключают питание контакторов двигателя. Схема разработана в Multisim.

Катушки реле запитаны от 12 В через PNP-транзисторы. Это обеспечивает подачу питания на реле только после закрытия двери (сигнал DoorSwitch прижимает затвор PNP к земле). NPN-транзисторы замыкают вторую обкладку катушки на землю по сигналам MotorUp/MotorDown от MCU. Преимущества транзисторов: коммутация 12 В с 5-вольтовой логики, минимальный ток от MCU, гальваническая развязка.
1.3.1 Диод обратного хода для защиты
Диод параллельно катушке реле отводит всплески напряжения при отключении, защищая MCU.

1.3.2 Управление пользовательским вводом
Четыре кнопки вызова этажей. Нажатие создает кратковременный HIGH-сигнал. MCU определяет нажатую кнопку и, сравнивая с текущим этажом, решает направление движения. Алгоритм хранит текущий этаж в переменной и сравнивает с вводом пользователя, исключая необходимость в дополнительных направляющих переключателях.



Пример: лифт на 2-м этаже (Pin 3), пользователь нажимает 4-й этаж. MCU сравнивает 4 > 2 → включает MotorUp. По мере движения переменная текущего этажа обновляется при срабатывании концевиков. На 4-м этаже MCU выдает LOW на MotorUp, останавливая двигатель.
1.3.3 Гальваническая развязка управления от входов
Проблема: переменные токи от металлического корпуса лифта проходили через концевики к MCU, вызывая ложные срабатывания. Решение: оптопары на каждом входе. Сигнал от концевика запитывает светодиод оптопары, фототранзистор передает чистый сигнал в MCU.

1.4 Прототип



Производственный процесс
- Simplesse®: белковый заменитель жира, трансформирующий низкокалорийные продукты
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Высокопроизводительный регистратор данных для метеозонда на Arduino