ЧПК „Випалювач“ (Частина друга)

В першій частині, ми виготовляли плату, в цій частині нам доведеться її оживити (Франкенштейн).

На моєму репозиторії GitHub, Ви знайдете 3 теки:

  • Arduino – зі скетчем для Arduino Nano;
  • Desktop – джерельний код графічної програми для комп’ютера, яка написана на мові програмування C++ з використанням фреймворку Qt;
  • Server – джерельний код програми для OrangePI, яка написана на мові програмування C++ з використанням фреймворку Qt;

Перед усім завантажуємо скетч для Arduino, та відкриваємо його за допомогою програми Arduino IDE (Можна завантажити на офіційному сайті Arduino).

Скетч для Arduino

В даному скетчі доведеться експериментально виставити конфігураційні значення:

//Мінімальний проміжок між кроками для двигунів
#define minspeed_X 3
#define minspeed_Y 2

В даних рядах вказана швидкість двигунів у часових проміжках між кроками, часові проміжки вказано у мілісекундах. Чим менше число, тим швидше крутиться двигун. Знаходив експериментально. При таких показниках, я отримав максимально можливу швидкість руху голівки без пропускання кроків. Якщо потрібно, можете поекспериментувати над цими показниками.

//BaudRate
#define BaudRate 57600

BaudRate вказує на швидкість передач даних до Arduino Nano, можливі значення: 9600, 19200, 57600, 115200. Чим більше це число, тим швидша передача даних. Але будьте уважні, у мене при швидкості 115200 передача даних була нестабільною.

//Макроси для чищення
#define minBack -304
#define slowBack -50
#define slowSpeed 30

Ці макроси зазначають налаштування чищення жала від нагару на лінійці, де:

  • minBack — зазначає максимальний відхід жала назад по X, для чищення жала по лінійці, а також його нагрівання (Число має бути кратне 32). Число вказане в кроках.
  • slowBack — частина чищення перед виходом на саме зображення, в цей період, жало деякий час рухається по фанері зі швидкістю slowSpeed, для набирання температури.
  • slowSpeed — швидкість вказана у мілісекундах на крок.

Тепер можна завантажити скетч до Arduino Nano.

Встановлення керуючої програми

Встановлення керуючої програми на комп'ютер з ОС Windows:

Програму встановлювач можна завантажити з мого Google drive. Встановлення проводиться як і звичайної програми „Далі-далі-готово“.

Встановлення керуючої програми на комп'ютер з ОС Linux:

Ця інструкція перевірена на Ubuntu 16.04.

  1. Завантажуємо проект Qt з мого GitHub репозиторія.
    $ git clone https://github.com/Wladymyr1996/Vypaluvach
  2. Переходимо в теку з проектом.
    $ cd Vypaluvach/Desktop/
  3. Встановлюємо необхідні пакунки для компіляції проекту. (qmake, g++, lrelease, make, QtLibraries)
    $ sudo apt install qt5-default qt5-qmake libqt5serialport5-dev qttools5-dev-tools
  4. Запускаємо скрипт встановлення.
    $ sudo sh install.sh

    Після цього, програма „Випалювач“ буде встановлена на Вашому комп’ютері, її можна запустити із меню програм, чи командою.

    $ vypaluvach
  5. Для видалення програми запустіть скрипт uninstall.sh.
    $ sudo sh uninstall.sh

Налаштування та встановлення керуючої програми на OrangePi Zero:

Для налаштування OrangePi Zero необхідна карта пам’яті обсягом не менше ніж 4 ГіБ. Я використовую карту пам’яті обсягом 4 ГіБ.

  1. Завантажити образ диску Ubuntu Server з офіційного сайту проекту Armbian.
  2. Завантажити програму для запису образів на SD-карту Etcher (Підтримує ОС Windows, Linux, MacOS).
  3. Запускаємо програму Etcher, обираємо щойно завантажений образ, обираємо карту пам’яті, та натискаємо кнопку „Flash“. Після цих дій піде завантаження образа до карти пам’яті. Терпляче дочекатися кінця запису образа до карти пам’яті.

    Завантаження образу до SD-карти пам’яті
  4. Вставити карту пам’яті до OrangePi Zero, під’єднати OrangePi Zero до маршрутизатора, або комп’ютера (Якщо напряму до комп’ютера, то на комп’ютері повинен бути запущений DHCP сервер, для забезпечення правильного мережевого налаштування).
  5. Визначити IP-адресу OrangePi Zero. Це можна зробити у веб-меню Вашого маршрутизатора, зазвичай її можна відкрити за адресою 192.168.0.1 або 192.168.1.1.

    Приклад таблиці IP-адрес у веб-меню
  6. Далі під’єднуємося до OrangePi Zero через SSH (На ОС Windows та Linux можна для цієї цілі використовувати графічну утиліту PuTTY). Для PuTTY обираємо канал SSH, вводимо IP-адресу OrangePi Zero, порт залишаємо 22-ий. Логін: root, пароль: 1234. Або в терміналі Linux:
    $ ssh root@192.168.0.103

    Де 192.168.0.63 – IP OrangePi Zero.
    Та вводимо пароль: 1234

  7. Далі OrangePi Zero Вам запропонує спочатку ввести старий пароль root, вводимо „1234“, а потім вводите новий пароль root-користувача. Головне пароль запам’ятати, бо доведеться наново перезаписувати карту пам’яті, і всі Ваші дані можуть бути втрачені.
  8. Далі OrangePi Zero запропонує створити нового користувача, вводимо ім’я нового користувача, а потім і пароль для нового користувача. Під цим користувачем ми й будемо входити до OrangePi Zero.
  9. Після застосування нових конфігурацій користувача, OrangePi Zero попросить Вас перезавантажити її, для завантаження з новими налаштуваннями. Перезавантажуємо, та під’єднуємось знову, але ім’я користувача і пароль вводимо вже нового користувача:
    # reboot

    Термінал OrangePi Zero
  10. Оновлюємо пакети до останніх, та перезавантажуємо систему:
    $ sudo apt update
    $ sudo apt upgrade -y
    $ sudo reboot
  11. Встановлюємо необхідні пакети Qt для компіляції:
    $ sudo apt install qt5-default qt5-qmake qttools5-dev-tools libqt5serialport5-dev usbmount -y
  12. Завантажуємо проект з GitHub:
    $ git clone https://github.com/Wladymyr1996/Vypaluvach
  13. Компілюємо проект, та перезавантажуємо:
    $ cd Vypaluvach/Server/
    $ sudo sh install.sh
    $ sudo reboot

На цьому з встановленням все. Трохи про спосіб керування:

В меню керування здійснюється лише трьома кнопками:

  • 4 / 6 — вліво / вправо;
  • 5 — обрати;

При введенні числового значення, число водиться за допомогою цифр на клавіатурі (кнопки 0-9), також використовуються допоміжні кнопки:

  • A (Apply) — Застосувати;
  • B (Back) — Назад;
  • C (Cancel) — Відміна;
  • D (Delete) — Видалити останній символ;

В режимі ручного переміщення жала працюють кнопки для руху (2 — вгору, 8 — вниз, 4 — вліво, 6 — вправо), та допоміжні кнопки (0 — встановити поточне положення жала як нуль системи координат, B (Back) — повернутися назад).

Під час випалювання працює лише одна допоміжна кнопка: C (Cancel) — яка призупиняє випалювання. Випалювання можна продовжити навіть після коректного вимикання* системи.

*Під виразом „Коректне вимикання“ маю на увазі, вимикання через меню, а не просто відключення від живлення, або неочікуваного зникання світла.

Налаштування керуючої програми

ПК OrangePi Zero Опис
Максимальна кількість кроків по X Max steps/X Максимальна кількість кроків по вісі X. Можна визначити в режимі ручного переміщення жала, переносимо жало в правий край, виставляємо поточне положення як нуль. Відводимо жало вліво на minBack кроків. В цій точці, по горизонталі, буде починатися випалювання. Після цього ведемо жало в правий край стола, і Ви зможете побачити скільки саме кроків має Ваш стіл по вісі X.
Максимальна кількість кроків по Y Max steps/Y Теж саме що і „Максимальна кількість кроків по X“, тільки по вісі Y
Мінімум мілісекунд на крок по X Min ms/step X Мінімальний часовий проміжок для двигуна вісі X між кроками (чим менше, тим швидше рухається жало). Встановлюється експериментальним шляхом, таке значення при якому двигун не пропускає кроки.
Максимум мілісекунд на крок по X Max ms/step X Теж саме що і „Мінімум мілісекунд на крок по X“, тільки максимальне значення. Різниця між цими значеннями встановлює гаму відтінків сірого на картинці. Чим більша різниця, тим більша гама, але повільніший рух при темних кольорах. Також встановити експериментально.
Кількість пропущених кроків по Y на одну ЧПК лінію N skip step Y Кількість кроків для двигуна вісі Y між двома рядками зображення що випалюється. Основна функція – регулювання пропорційності зображення. Встановлюється експериментально
Пропущені лінії зображення на одну ЧПК лінію Skip img line Кількість пропущених піксельних рядків на зображенні, на один рядок, що випалюється.
Час до повного розігріву Wait time heat Час очкування до повного розігріву жала до початку випалювання(в секундах).
Кроковий режим Step mode Режим роботи двигуна вісі X. Особливе налаштування драйвера EasyDriver. Є 4 режими роботи:

  • Повнокроковий(Full step) – коли напруга є тільки на одній із котушок двигуна;
  • Напівкроковий(Half step) – коли напруга є на одній або на двох котушках двигуна одночасно;
  • Чвертькроковий(Quarter step) – напруга на котушках двигуна вже починає нагадувати синус;
  • Мікрокроковий(Microstep) – напруга на котушках найбільш схожа на синус.
BaudRate BaudRate Швидкість передачі даних між комп’ютером, та Arduino Nano.
Порт Порт до якого під’єднано Arduino.
Screen timeout Час вимикання підсвітки дисплею, в разі бездіяльності в секундах. (0 – підсвітка не вимикається)

Інструкція з користування

Під’єднуємо флеш-накопичувач. Відкриваємо зображення („Main menu → Select Image“ або „Файл → Відкрити зображення“) та обираємо файл зображення. Після цього можна почати випалювання („Main menu → Burn“ або „ЧПК → Почати випалювання“).

Якщо випалювання було призупинено, його можна відновити відкривши теж зображення (якщо потрібно), і починаємо відновлення („Main Menu → Restore Burn“ або „ЧПК → Відновити випалювання“). Після цього випалювання буде відновлено.

Відео:

 

З повагою до читачів.

Facebook Comments