1. Вступ
LinuxCNC is capable of controlling a wide range of machinery using many different hardware interfaces.
StepConf — це програма, яка генерує конфігураційні файли для LinuxCNC для певного класу верстатів з ЧПК: тих, що керуються через «стандартний паралельний порт» і керуються сигналами типу «крок і напрямок».
StepConf встановлюється під час встановлення LinuxCNC і знаходиться в меню CNC.
StepConf розміщує файл у каталозі linuxcnc/config для зберігання вибору для кожної створеної вами конфігурації. Коли ви щось змінюєте, вам потрібно вибрати файл, який відповідає назві вашої конфігурації. Розширення файлу — .stepconf.
Майстер StepConf найкраще працює з роздільною здатністю екрана щонайменше 800 x 600.
2. Початкова сторінка
Перші три перемикачі не потребують пояснень:
-
«Створити нове» – створює нову конфігурацію.
-
«Змінити» — змінити існуючу конфігурацію. Після вибору цієї опції з’явиться вікно вибору файлу, де ви зможете вибрати файл .stepconf для зміни. Якщо ви внесли будь-які зміни до основного файлу HAL або INI, вони будуть втрачені. Зміни до файлів custom.hal та custom_postgui.hal не будуть змінені майстром StepConf. StepConf виділить останню версію lastconf, яка була створена.
-
«Імпорт» — імпортує файл конфігурації Mach і намагається перетворити його на файл конфігурації LinuxCNC. Після імпорту ви перейдете на сторінки StepConf, щоб підтвердити/змінити записи. Оригінальний файл XML Mach не буде змінений.
Ці наступні параметри будуть записані у файлі налаштувань для наступного запуску StepConf.
-
«Створити ярлик на робочому столі» – це розмістить посилання на файли на робочому столі.
-
«Створити панель запуску робочого столу» – це розмістить панель запуску на робочому столі для запуску вашої програми.
-
«Створити імітацію обладнання» – це дозволяє створити конфігурацію для тестування, навіть якщо у вас немає фактичного обладнання.
3. Основна інформація
-
«Створити імітацію обладнання» – це дозволяє створити конфігурацію для тестування, навіть якщо у вас немає фактичного обладнання.
-
Machine Name - Choose a name for your machine. Use only uppercase letters, lowercase letters, digits, - and _.
-
Axis Configuration - Choose XYZ (Mill), XYZA (4-axis mill) or XZ (Lathe).
-
Machine Units - Choose Inch or mm. All subsequent entries will be in the chosen units. Changing this also changes the default values in the Axes section. If you change this after selecting values in any of the axes sections, they will be over-written by the default values of the selected units.
-
Driver Type - If you have one of the stepper drivers listed in the pull down box, choose it. Otherwise, select Other and find the timing values in your driver’s data sheet and enter them as nano seconds in the Driver Timing Settings. If the data sheet gives a value in microseconds, multiply by 1000. For example, enter 4.5 µs as 4500 ns.
Список деяких популярних накопичувачів разом із їхніми значеннями синхронізації можна знайти на вікі-сторінці LinuxCNC.org за адресою Синхронізація крокового накопичувача.
Додаткова обробка або ізоляція сигналу, така як оптопари та RC-фільтри на роз’ємних платах, можуть накладати власні обмеження за часом, на додаток до обмежень драйвера. Можливо, вам доведеться додати деякий час до вимог приводу, щоб це врахувати.
У селекторі конфігурації LinuxCNC вже налаштовані конфігурації для Sherline.
-
«Час кроку» – тривалість крокового імпульсу в наносекундах. Якщо ви не впевнені щодо цього налаштування, значення 20 000 підійде для більшості накопичувачів.
-
«Інтервал кроків» – мінімальний час між імпульсами кроків у наносекундах. Якщо ви не впевнені щодо цього налаштування, значення 20 000 підійде для більшості накопичувачів.
-
«Утримання напрямку» – час утримання штифта напрямку після зміни напрямку в наносекундах. Якщо ви не впевнені щодо цього налаштування, значення 20 000 підійде для більшості накопичувачів.
-
«Налаштування напрямку» – час до зміни напрямку після останнього імпульсу кроку в наносекундах. Якщо ви не впевнені щодо цього налаштування, значення 20 000 підійде для більшості приводів.
-
«Один / Два паралельних порти» – виберіть, скільки паралельних портів потрібно налаштувати.
-
Base Period Maximum Jitter - Enter the result of the Latency Test here. To run a latency test press the Test Base Period Jitter button. See the Latency Test section for more details.
-
Max Step Rate - StepConf automatically calculates the Max Step Rate based on the driver characteristics entered and the latency test result.
-
Min Base Period - StepConf automatically determines the Min Base Period based on the driver characteristics entered and latency test result.
Важливим числом у результаті тесту затримки є «максимальне коливання». У наведеному вище прикладі 9075 наносекунд (нс) або 9,075 мікросекунд (мкс) – це найвище коливання. Введіть максимальне значення коливання в полі «Максимальне коливання базового періоду».
4. Налаштування паралельного порту
Ви можете вказати адресу у шістнадцятковому форматі (часто 0x378) або як номер порту Linux за замовчуванням (ймовірно, 0)
Для кожного виводу виберіть сигнал, який відповідає розпіновці вашого паралельного порту. Увімкніть прапорець «інвертувати», якщо сигнал інвертований (0 В для істини/активного, 5 В для хибності/неактивного).
-
«Попередні налаштування вихідних розпіновок» – автоматично встановлює контакти з 2 по 9 відповідно до стандарту Sherline (напрямок на контактах 2, 4, 6, 8) або стандарту Xylotex (напрямок на контактах 3, 5, 7, 9).
-
«Входи та виходи» – якщо вхід або вихід не використовується, встановіть для опції значення «Не використовується».
-
«Зовнішній аварійний зупин» – цей параметр можна вибрати зі спадного списку вхідних контактів. Типовий ланцюг аварійного зупину використовує всі нормально замкнуті контакти.
-
«Вимикачі відправлення та кінцеві вимикачі» – їх можна вибрати з випадаючого списку вхідних контактів для більшості конфігурацій.
-
«Зарядний насос» — якщо ваша плата драйвера вимагає сигналу зарядного насоса, виберіть «Зарядний насос» зі списку, що випадає, для виходу, який ви хочете підключити до входу зарядного насоса. Вихід зарядного насоса підключається до базової нитки за допомогою StepConf. Вихід зарядного насоса буде приблизно 1/2 від максимальної швидкості кроку, показаної на сторінці «Базова конфігурація машини».
-
«Напруга плазмової дуги» — якщо вам потрібно, щоб Mesa THCAD вводила напругу плазмової дуги, виберіть «Напруга плазмової дуги» зі списку вихідних контактів. Це дозволить активувати сторінку THCAD під час процедури налаштування для введення параметрів карти.
5. Налаштування паралельного порту 2
Другий паралельний порт (якщо вибрано) можна налаштувати, а його контакти призначити на цій сторінці. Не можна вибрати сигнали кроку та напрямку. Ви можете вибрати вхід або вихід, щоб максимізувати кількість доступних вхідних/вихідних контактів. Ви можете вказати адресу у шістнадцятковому форматі (зазвичай 0x378) або як номер порту за замовчуванням у Linux (ймовірно 1).
6. Конфігурація осі
-
Motor Steps Per Revolution - The number of full steps per motor revolution. If you know how many degrees per step the motor is (e.g., 1.8 degree), then divide 360 by the degrees per step to find the number of steps per motor revolution.
-
Driver Microstepping - The amount of microstepping performed by the driver. Enter 2 for half-stepping.
-
Pulley Ratio - If your machine has pulleys between the motor and leadscrew, enter the ratio here. If not, enter 1:1.
-
Leadscrew Pitch - Enter the pitch of the leadscrew here. If you chose Inch units, enter the number of threads per inch. If you chose mm units, enter the number of millimeters per revolution (e.g., enter 2 for 2mm/rev). If the machine travels in the wrong direction, enter a negative number here instead of a positive number, or invert the direction pin for the axis.
-
Maximum Velocity - Enter the maximum velocity for the axis in units per second.
-
Maximum Acceleration - The correct values for these items can only be determined through experimentation. See Finding Maximum Velocity to set the speed and Finding Maximum Acceleration to set the acceleration.
-
Home Location - The position the machine moves to after completing the homing procedure for this axis. For machines without home switches, this is the location the operator manually moves the machine to before pressing the Home button. If you combine the home and limit switches you must move off of the switch to the home position or you will get a joint limit error.
-
Table Travel - The range of travel for that axis based on the machine origin. The home location must be inside the Table Travel and not equal to one of the Table Travel values.
-
Home Switch Location - The location at which the home switch trips or releases relative to the machine origin. This item and the two below only appear when Home Switches were chosen in the Parallel Port Pinout. If you combine home and limit switches the home switch location can not be the same as the home position or you will get a joint limit error.
-
Home Search Velocity - The velocity to use when searching for the home switch. If the switch is near the end of travel, this velocity must be chosen so that the axis can decelerate to a stop before hitting the end of travel. If the switch is only closed for a short range of travel (instead of being closed from its trip point to one end of travel), this velocity must be chosen so that the axis can decelerate to a stop before the switch opens again, and homing must always be started from the same side of the switch. If the machine moves the wrong direction at the beginning of the homing procedure, negate the value of Home Search Velocity.
-
Home Latch Direction - Choose Same to have the axis back off the switch, then approach it again at a very low speed. The second time the switch closes, the home position is set. Choose Opposite to have the axis back off the switch and when the switch opens, the home position is set.
-
Time to accelerate to max speed - Time to reach maximum speed calculated from Max Acceleration and Max Velocity.
-
Distance to accelerate to max speed - Distance to reach maximum speed from a standstill.
-
Pulse rate at max speed - Information computed based on the values entered above. The greatest Pulse rate at max speed determines the BASE_PERIOD. Values above 20000Hz may lead to slow response time or even lockups (the fastest usable pulse rate varies from computer to computer)
-
«Axis SCALE» – число, яке буде використано в налаштуванні INI-файлу [SCALE]. Це кількість кроків на одиницю виміру користувача.
-
Test this axis - This will open a window to allow testing for each axis. This can be used after filling out all the information for this axis.
«Тестування цієї осі» – це базовий тестер, який виводить лише сигнали кроку та напрямку, щоб випробувати різні значення прискорення та швидкості.
|
Important
|
Щоб використовувати цю вісь для тестування, необхідно вручну ввімкнути її, якщо це потрібно. Якщо ваш драйвер має зарядний насос, його необхідно обійти. Ця вісь для тестування не реагує на сигнали кінцевих вимикачів. Використовуйте її з обережністю. |
6.1. Знаходження максимальної швидкості
Begin with a low Acceleration
(наприклад, 2 дюйма/с2 або 50 мм/с2) та швидкість, яку ви хочете досягти. За допомогою відповідних кнопок перемістіть вісь до центру ходу. Будьте обережні, оскільки при низькому значенні прискорення вісь може пройти несподівано велику відстань, перш ніж зупинитися.
Після вимірювання доступної відстані руху введіть безпечну відстань у полі «Тестова зона», маючи на увазі, що після зупинки двигун може почати рухатися в несподіваному напрямку. Потім натисніть «Запустити». Машина почне рухатися вперед і назад вздовж цієї осі. У цьому тесті важливо, щоб комбінація прискорення та тестової області дозволяла машині досягти вибраної швидкості та «круїзувати» принаймні на невелику відстань — чим більша відстань, тим кращий результат тесту. Формула d = 0,5 * v * v/a
дає мінімальну відстань, необхідну для досягнення заданої швидкості з заданим прискоренням. Якщо це зручно і безпечно, натисніть на стіл проти напрямку руху, щоб імітувати сили різання. Якщо машина зупинилася, зменшіть швидкість і почніть тест знову.
Якщо машина явно не зупинилася, натисніть кнопку «Запустити». Вісь повернеться у вихідне положення. Якщо положення неправильне, це означає, що вісь зупинилася або втратила кроки під час тесту. Зменште швидкість і повторіть тест.
Якщо машина не рухається, зупиняється або втрачає кроки, незалежно від того, наскільки низько ви зменшуєте швидкість, перевірте наступне:
-
Правильні таймінги ступінчастої форми хвилі
-
Правильна розпіновка, включаючи «Інвертувати» на ступінчастих контактах
-
Правильне, добре екрановане кабеля
-
Фізичні проблеми з двигуном, муфтою двигуна, ходовим гвинтом тощо.
Щойно ви знайдете швидкість, за якої вісь не зупиняється та не втрачає кроків під час цієї процедури тестування, зменште її на 10% та використовуйте це значення як «Максимальну швидкість» осі.
6.2. Знаходження максимального прискорення
With the Maximum Velocity you found in the previous step, enter the acceleration value to test. Using the same procedure as above, adjust the Acceleration value up or down as necessary. In this test, it is important that the combination of Acceleration and Test Area allow the machine to reach the selected Velocity. Once you have found a value at which the axis does not stall or lose steps during this testing procedure, reduce it by 10% and use that as the axis Maximum Acceleration.
7. Конфігурація шпинделя
Ця сторінка відображається лише тоді, коли на сторінці «Розподіл виводів паралельного порту» для одного з виходів вибрано «PWM шпинделя».
7.1. Контроль швидкості шпинделя
If Spindle PWM appears on the pinout, the following information should be entered:
-
«Частота PWM» — «несуча частота» сигналу ШІМ, що подається на шпиндель. Введіть «0» для режиму PDM, який корисний для генерації аналогової напруги керування. Відповідне значення див. у документації до контролера шпинделя.
-
«Швидкість 1 і 2, PWM 1 і 2» — у створеному файлі конфігурації використовується проста лінійна залежність для визначення значення PWM для заданого значення RPM. Якщо значення невідомі, їх можна визначити. Докладнішу інформацію див. у розділі «Визначення калібрування шпинделя».
7.2. Синхронізований зі шпинделем рух
When the appropriate signals from a spindle encoder are connected to LinuxCNC via HAL, LinuxCNC supports lathe threading. These signals are:
-
«Індекс шпинделя» – це імпульс, який виникає один раз за оберт шпинделя.
-
«Фаза шпинделя А» – це імпульс, який виникає в кількох рівномірно розташованих місцях під час обертання шпинделя.
-
«Фаза шпинделя B (опціонально)» — це другий імпульс, який виникає, але з відхиленням від фази шпинделя A. Перевагами використання як A, так і B є визначення напрямку, підвищена стійкість до перешкод та підвищена роздільна здатність.
Якщо на розпиновці відображаються «Фаза шпинделя A» та «Індекс шпинделя», слід ввести таку інформацію:
-
«Використовувати шпиндель на заданій швидкості» – за допомогою зворотного зв’язку від енкодера можна налаштувати LinuxCNC так, щоб він чекав, поки шпиндель досягне заданої швидкості, перш ніж розпочне подачу. Виберіть цю опцію та встановіть шкалу «достатньо близько».
-
«Коефіцієнт підсилення фільтра відображення швидкості» – налаштування для регулювання стабільності візуального відображення швидкості шпинделя.
-
«Циклів на оберт» – кількість циклів сигналу «Шпиндель А» протягом одного оберту шпинделя. Ця опція активується лише тоді, коли вхід встановлено на «Фаза шпинделя А»
-
«Максимальна швидкість у різьбі» – максимальна швидкість шпинделя, що використовується під час нарізання різьби. Для високих обертів шпинделя або енкодера шпинделя з високою роздільною здатністю потрібне низьке значення «BASE_PERIOD».
7.3. Визначення калібрування шпинделя
Enter the following values in the Spindle Configuration page:
Швидкість 1: |
0 |
PWM 1: |
0 |
|---|---|---|---|
Швидкість 2: |
1000 |
PWM 2: |
1 |
Завершіть решту кроків процесу конфігурації, а потім запустіть LinuxCNC із вашою конфігурацією. Увімкніть верстат і виберіть вкладку MDI. Запустіть обертання шпинделя, ввівши: «M3 S100». Змініть швидкість шпинделя, ввівши інше число S: «S800». Дійсні числа (на даний момент) знаходяться в діапазоні від 1 до 1000.
Для двох різних S-чисел виміряйте фактичну швидкість шпинделя в об/хв. Запишіть S-числа та фактичні швидкості шпинделя. Запустіть StepConf знову. У полі «Speed» (Швидкість) введіть виміряну швидкість, а в полі «PWM» (Широтно-імпульсна модуляція) введіть S-число, поділене на 1000.
Оскільки криві відгуку більшості шпиндельних драйверів дещо нелінійні, найкраще:
-
Переконайтеся, що дві калібрувальні швидкості не надто близькі одна до одної за кількістю обертів за хвилину.
-
Переконайтеся, що дві калібрувальні швидкості знаходяться в діапазоні швидкостей, які ви зазвичай використовуєте під час фрезерування.
Наприклад, якщо ваш шпиндель обертатиметься від 0 до 8000 об/хв, але ви зазвичай використовуєте швидкості від 400 об/хв (10%) до 4000 об/хв (100%), тоді знайдіть значення PWM, які дають 1600 об/хв (40%) та 2800 об/хв (70%).
8. Опції
-
«Включити Halui» – це додасть компонент інтерфейсу користувача Halui. Див. розділ HALUI для отримання додаткової інформації.
-
«Включити PyVCP» – ця опція додає базовий файл панелі PyVCP або файл-зразок для роботи. Див. розділ PyVCP для отримання додаткової інформації.
-
«Включити ПЛК ClassicLadder» – ця опція додасть ПЛК ClassicLadder (програмований логічний контролер). Див. розділ ClassicLadder для отримання додаткової інформації.
-
«На екрані з’являється запит на зміну інструменту» — якщо цей прапорець встановлено, LinuxCNC зупиниться і запропонує вам змінити інструмент, коли зустріне «M6». Ця функція зазвичай корисна тільки в тому випадку, якщо у вас є інструменти з попередньо встановленими параметрами.
9. Повна конфігурація машини
Click Apply to write the configuration files. Later, you can re-run this program and tweak the settings you entered before.
10. Axis Подорожі та будинки
Для кожної осі існує обмежений діапазон ходу. Фізичний кінець ходу називається «жорсткою зупинкою».
|
Warning
|
Якщо буде перевищено механічну жорстку зупинку, гвинт або рама машини будуть пошкоджені! |
Перед «жорсткою зупинкою» знаходиться «кінцевий вимикач». Якщо кінцевий вимикач спрацьовує під час нормальної роботи, LinuxCNC вимикає підсилювач двигуна. Відстань між «жорсткою зупинкою» і «кінцевим вимикачем» повинна бути достатньою, щоб двигун, що не живиться, міг зупинитися.
Перед «кінцевим вимикачем» є «м’який ліміт». Це ліміт, що застосовується в програмному забезпеченні після повернення в початкове положення. Якщо команда MDI або програма G-коду перевищує м’який ліміт, вона не виконується. Якщо імпульс перевищує м’який ліміт, він припиняється на рівні м’якого ліміту.
«Перемикач початкового положення» можна розмістити в будь-якому місці ходу (між жорсткими упорами). Якщо зовнішнє обладнання не вимикає підсилювачі двигуна при досягненні кінцевого вимикача, один з кінцевих вимикачів можна використовувати як перемикач початкового положення.
«Нульове положення» — це точка на осі, яка має значення 0 у системі координат верстата. Зазвичай «нульове положення» знаходиться в межах «м’яких обмежень». На токарних верстатах режим постійної швидкості поверхні вимагає, щоб «X=0» верстата відповідало центру обертання шпинделя, коли зміщення інструменту не діє.
«Початкове положення» — це місце в межах ходу, до якого вісь буде переміщена в кінці послідовності повернення в початкове положення. Це значення повинно бути в межах «м’яких обмежень». Зокрема, «початкове положення» ніколи не повинно бути рівним «м’якому обмеженню».
10.1. Робота без кінцевих вимикачів
Машина може працювати без кінцевих вимикачів. У цьому випадку лише м’які обмежувачі зупиняють машину від досягнення жорсткого упору. М’які обмежувачі працюють лише після того, як машина переведена в початкове положення.
10.2. Робота без домашніх перемикачів
A machine can be operated without home switches. If the machine has limit switches, but no home switches, it is best to use a limit switch as the home switch (e.g., choose Minimum Limit + Home X in the pinout). If the machine has no switches at all, or the limit switches cannot be used as home switches for another reason, then the machine must be homed by eye or by using match marks. Homing by eye is not as repeatable as homing to switches, but it still allows the soft limits to be useful.
10.3. Варіанти підключення домашнього та кінцевого вимикача
Ідеальним варіантом підключення зовнішніх перемикачів було б одне вхідне з’єднання на кожен перемикач. Однак паралельний порт ПК має лише 5 вхідних з’єднань, тоді як на 3-осьовій машині встановлено аж 9 перемикачів. Замість цього кілька перемикачів підключаються між собою різними способами, щоб зменшити кількість необхідних вхідних з’єднань.
На малюнках нижче показано загальну схему підключення декількох перемикачів до одного вхідного контакту. У кожному випадку, коли один перемикач спрацьовує, значення, яке відображається на INPUT, змінюється з логічного HIGH на LOW. Однак LinuxCNC очікує значення TRUE, коли перемикач закритий, тому на сторінці конфігурації роз’ємів необхідно встановити відповідний прапорець «Invert» (Інвертувати). Резистор підтягування, показаний на схемах, підтягує вхід до високого рівня, поки не буде встановлено з’єднання із землею, після чого вхід переходить у низький рівень. В іншому випадку вхід може коливатися між увімкненим і вимкненим станом, коли ланцюг розімкнутий. Зазвичай для паралельного порту можна використовувати 47 кОм.
У StepConf дозволені такі комбінації перемикачів:
-
Об’єднайте домашні перемикачі для всіх осей
-
Об’єднані кінцеві вимикачі для всіх осей
-
Об’єднайте обидва кінцеві вимикачі для однієї осі
-
Поєднайте обидва кінцеві вимикачі та вимикач дому для однієї осі
-
Поєднайте один кінцевий вимикач та вимикач дому для однієї осі
Останні дві комбінації також доречні, коли використовується тип contact
home.