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

Самодельный HID-пульт для ЧПУ на Arduino Leonardo: 23 кнопки, 6 функций каждая

Зачем это нужно

Готовый пульт для ЧПУ стоит ~100€ и имеет 2 кнопки + ручку. Свой пульт на Leonardo (чип ATmega32u4) эмулирует клавиатуру/мышь, даёт 23 кнопки × 6 функций (одинарный/двойной/тройной клик, удержание) = 138 действий. Деревянный корпус — эргономичен и тяжёл (не скользит при вращении ручки).

Компоненты

Принцип: Arduino как HID-клавиатура

Leonardo/Micro с 32u4 могут отправлять нажатия клавиш (Keyboard.press/release) и комбинации (Ctrl, Shift, Alt, GUI). Программа ЧПУ (EdingCNC, Mach3, LinuxCNC, UCCNC) настраивается на горячие клавиши. Библиотека ClickButton даёт дебаунс и детектирование múlticlick/hold.

Логика одной кнопки (пример: ось X)

if (button[13].clicks != 0) {
  switch (button[13].clicks) {
    case 1:  shortcut_HANDWHEEL_X(); break;      // Ручка -> X
    case 2:  shortcut_ZERO_X(); break;           // Обнулить X
    case 3:  break;                              // Triple click
    case -1: press_ESC(); goto_MAIN_MENU(); user_MACRO_18(); break; // Hold -> G0 X0
    case -2: break; case -3: break;
  }
}

Горячие клавиши EdingCNC (примеры)

ДействиеКомбинацияФункция скетча
RESET (F1)F1press_RESET()
ESCEscpress_ESC()
MAIN MENUAlt+F1goto_MAIN_MENU()
AUTO MENUAlt+F4goto_AUTO_MENU()
HOME ALLCtrl+Hshortcut_HOME_ALL()
ZERO X/Y/ZCtrl+1/2/3shortcut_ZERO_X/Y/Z()
HANDWHEEL X/Y/ZCtrl+Shift+X/Y/Zshortcut_HANDWHEEL_X/Y/Z()
HANDWHEEL x1/x10/x100Ctrl+N/O/Pshortcut_HANDWHEEL_X1/10/100()
TOGGLE AUX1 (вакуум)Ctrl+Mshortcut_TOGGLE_AUX1()
USER MACRO 1..20Alt+1..0, Shift+Alt+1..0user_MACRO_N()

Корпус и фрезеровка

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

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

  1. Подключить Leonardo к ПК (тот же USB, что и к ЧПУ).
  2. Загрузить скетч через Arduino IDE (библиотека ClickButton должна быть в libraries).
  3. При необходимости перепрограммировать — оставить подключенным к питанию ЧПУ, переключить USB на ноутбук.

Библиотека ClickButton

Критически важна: без неё придётся писать дебаунс и мультиклик самому. Файл clickbutton_hq5qeT4toX.zip в разделе CAD. Установить через Sketch → Include Library → Add .ZIP Library.

Схема (упрощённо)

См. раздел Schematics (фото ручного чертежа). Все кнопки к GND и пинам 0-13, A0-A5. LED — к 5V через 1кОм. Handwheel — отдельный разъём.

Итог

Мощный, дешёвый (<$30), полностью настраиваемый пульт. Код открыт, легко адаптировать под любое ПО ЧПУ, поддерживающее клавиатурные макросы.

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

  1. Пуговица: от древней застежки к современной инновации
  2. Управление яркостью LED с ШИМ через кнопку на Arduino Mega
  3. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  4. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  5. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  6. Создание пользовательских LED-часов с будильником — видно с 12 метров
  7. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  8. Создание настраиваемой «бьющейся» клавиши на Arduino: пошаговое руководство
  9. Osai USA OPENwiTP: беспроводной пульт обучения для эффективного управления ЧПУ
  10. Кнопка Reset на пульте оператора ЧПУ: Функция и применение