LinuxCNC / Настройка: различия между версиями
Neller (обсуждение | вклад) (→Настройка сети и подключение сетевой папки) |
Neller (обсуждение | вклад) (→Настройка сети и подключение сетевой папки) |
||
Строка 49: | Строка 49: | ||
Настройку общего доступа к папке будем производить на компьютере под управлением ОС Windows. А подключаться к ней будем уже с компьютера с ОС Debian (LinuxCNC-Craftex). | Настройку общего доступа к папке будем производить на компьютере под управлением ОС Windows. А подключаться к ней будем уже с компьютера с ОС Debian (LinuxCNC-Craftex). | ||
Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка": | Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка": | ||
− | [[Файл:Share files windows 1.png| | + | [[Файл:Share files windows 1.png|border|400px|]] |
Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить": | Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить": | ||
[[Файл:Share files windows 2.png|center|300px|]] | [[Файл:Share files windows 2.png|center|300px|]] |
Версия 11:15, 27 ноября 2019
Содержание
Введение
В LinuxCNC настройка системы под заданное оборудование, происходит отлично от стандартного графического интерфейса (Mach3 или NC-Studio). Большинство необходимых параметров задаются внесением изменений в текстовые конфигурационные файлы *hal и *ini.
Примечание: В составе LinuxCNC есть приложение с графическим интерфейсом пользователя для настройки конфигурации станка (Stepconf), однако, как показывает практика некоторые изменения приходится вносить в конфигурационные файлы вручную. Именно поэтому в данном руководстве вся настройка и внесение изменений происходят через *.hal и *.ini файлы.
Что же такое *.hal и *.ini файлы? Давайте обратимся к теории.
hal - Hardware Abstraction Layer (Слой аппаратных абстракций) - конфигурационный файл Linux, отвечающий за связь аппаратной и программной части станка.
К примеру в данном файле содержится информация: адрес устройства ввода-вывода (PCI-LPT или другой контроллер), назначение портов ввода\вывода функциям системы и др.
ini - файл конфигурации, содержащий настройки системы. К примеру в данном файле содержится информация: скорости, ускорения, количество импульсов на мм, скорость поиска домашнего положения, пределы перемещений и др.
Обратите внимание, что ниже указаны параметры и значение каждого из них. Для удобства работы мы постарались сделать раздел F.A.Q. в котором постараемся систематизировать информацию по темам (к примеру, как настроить датчики домашнего положения и др.). Ниже перечислены все, необходимые параметры для настройки вашего станка под управлением LPT (в руководстве используется контроллер LPT-DPTR 1.03)
В данном руководстве подразумевается, что вы установили скаченный образ Craftex т.к. некоторые аспекты по настройке уже сделаны. Также в данном руководстве не подразумевается использование утилит по автоматическому созданию или изменению файлов конфигурации.
Настройка
Изучение настройки LinuxCNC сложно разделить на *hal и *ini файлы отдельно, логичнее настраивать систему с точки зрения тем (к примеру, настройка шаговых двигателей, настройка датчиков и.т.д). Именно по такому принципу и построено настоящее руководство.
В начале определим местоположение наших файлов конфигурации. По умолчанию файлы конфигурации расположены по адресу home/notroot/linuxcnc/config/Cutter_ST/Cutter_ST.hal и home/notroot/linuxcnc/config/Cutter_ST/Cutter_ST.hal. Обратите внимание, в директории config лежат все созданные конфигурации. Конфигурация может отличаться в зависимости от названия станка к примеру, Cutter_GR и другое. В любом случае, название ярлыка для запуска на рабочем столе соответствует названию папки директории с конфигурацией.
Настройка адреса ввода\вывода LPT-PCI
Настройка системы LinuxCNC для работы с LPT-портом начинается с указания адреса ввода вывода LPT в вашем ПК. В случае использования материнской платы не имеющего на борту встроенного LPT порта, рекомендуется воспользоваться платой PCI-LPT c чипом CH351Q (ссылка на сайт CNC-Technology).
Для того, чтобы увидеть установленные в системный блок PCI устройства нужно открыть эмулятор терминала и набрать команду:
lspci –vv
В командной строке отобразятся все устройства, доступные операционной системе для работы. Среди них необходимо найти Paralell controller. Необходимый нам Region 0, адрес данного устройства, к примеру c000.
Данный адрес необходимо указать в *.hal файле конфигурации:
linuxcnc/configs/Cutter_ST/ST.hal
Обратите внимание, что название hal файла может отличаться. Однако практически всегда название ярлыка для запуска на рабочем столе соответствует названию конфигурационного файла.
В открытом файле Cutter_ST.hal изменить строку loadrt hal_parport cfg=”0x378 out” на loadrt hal_parport cfg=”0xс000 out”, где 0xс000 адрес п0орта pci-платы, который мы определили ранее. Теперь мы можем запустить linuxcnc ярлыком на рабочем столе и убедиться что станок перемещается.
Настройка работы шаговых двигателей
Необходимо убедиться, что в .hal (к примеру /home/notroot/linuxcnc/config/Cutter_ST/Cutter_ST.hal).файле верно назначены пины для (к примеру Cutter_ST.hal).
Настройка датчиков домашнего положения
Настройка работы шпинделя
Настройка сети и подключение сетевой папки
Настройку общего доступа к папке будем производить на компьютере под управлением ОС Windows. А подключаться к ней будем уже с компьютера с ОС Debian (LinuxCNC-Craftex). Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка": Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить":
Всё, мы расшарили папку в Windows и к ней можно подключаться. Как же все таки подключиться из Debian к нашей сетевой папке? Откроем файловый менеджер (Thunar). И выберем "Обзор сети".
Осталось найти сетевую папку в сети и ввести пароль и логин пользователя Windows. Как же подключиться без ввода пароля к Windows папке из Debian? Нужно в Windows открыть "Центр управления сетями и общим доступом", выбрать "Изменить дополнительные параметры общего доступа":
В пункте "Все сети" в самом низу будет пункт "Общий доступ с парольной защитой":
Надо отключить общий доступ с парольной защитой и "Сохранить изменения".
Настройка удаленного доступа
Справочник параметров *.ini файла
- .ini - файл конфигурации, в котором хранятся основные настройки конфигурации LinuxCNC под конкретное оборудование. Данный файл располагается в директории: home/user/linuxcnc/configs/ST.ini, где:
user - имя пользователя на вашем ПК
ST*.ini - название вашей конфигурации
Давайте разберем, из чего состоит *.ini файл.
Группа [DISPLAY]
DISPLAY
Имя интерфейса для использования при загрузки текущей конфигурации LinuxCNC.
Доступные интерфейсы: axis, touchy, gmoccapy, gscreen, keystick, mini, tklinuxcnc, xemc.
DISPLAY = gmoccapy
Выбран интерфейс GMOCCAPY.
DEFAULT_LINEAR_VELOCITY
Установленная по умолчанию скорость перемещений, установленная при первом запуске LinuxCNC.
DEFAULT_LINEAR_VELOCITY = 100.0
Скорость по умолчанию 100 мм/сек.
MAX_LINEAR_VELOCITY
Группа [EMCMOT]
EMCMOT
COMM_TIMEOUT
BASE_PERIOD
Параметр BASE_PERIOD
является одним из основных параметров, влияющих на максимальную скорость перемещения станка. Параметр BASE_PERIOD
определяется исходя из показателей Latency-Test.
SERVO_PERIOD
Группа [TRAJ]
Группа [AXIS_*]
TYPE
В LinuxCNC могут быть два типа оси: линейная и угловая.
TYPE = LINEAR
Линейная ось
TYPE = ANGULAT
Угловая (поворотная ось)
HOME
MAX_VELOCITY
Максимальная скорость перемещений данной оси (мм\сек).
MAX_VELOCITY = 100.0
Максимальная скорость перемещения 100.0 мм/сек.
MAX_ACCELERATION
Максимальное ускорение данной оси (мм\сек^2).
Пример: Максимальное ускорение 600 мм\сек^2 MAX_ACCELERATION = 600.0
STEPGEN_MAXACCEL
Данные значение должно быть на 1-10% больше по сравнению с параметром MAX_ACCELERATION. Если вы используете параметр BACKLASH (компенсацию люфта), то данный параметр необходимо увеличить в 1,5 - 2 раза по сравнению с параметром MAX_ACCELERATION.
SCALE
Параметр SCALE отвечает за количество импульсов на единицу перемещения. Другими словами, данный параметр отвечает за соответствие реального перемещения станка программному. Для того, чтобы посчитать количество импульсов на мм, необходимо воспользоваться формулой.
FERROR
Максимальное допустимое отклонение от перемещений станка (в мм). Если рассогласование между реальным и заданным положением превысит значение FERROR, то контроллер отключится. Максимально допустимое отклонение FERROR может достигаться при скорости [TRAJ] MAX_VELOCITY и при снижении скорости ошибка будет стремиться к MIN_FERROR.
MIN_FERROR
Минимальное допустимое отклонение от заданного перемещения (в мм). Если рассогласование между реальным и заданным положением превысит значение MIN_FERROR, то контроллер отключится. Минимально допустимое отклонение MIN_FERROR при низкой скорости. При росте скорости, пропорционально будет увеличиваться ошибка рассогласования и может достигать FERROR при скорости MAX_VELOCITY.
MIN_LIMIT
Минимальные машинные координаты для перемещения (мм).
MAX_LIMIT
Максимальные координаты станка для перемещения (мм).
HOME_OFFSET
Смещение рабочего поля станка относительно датчика домашнего положения для данной оси.
HOME_SEARCH_VEL
Скорость возврата в домашнее положение по датчикам (мм\сек).
Примечание: Для того, чтобы изменить направление поиска домашнего положения, необходимо поменять знак.
Пример: HOME_SEARCH_VEL = -150.00000
Примечание: При указании параметра HOME_SEARCH_VEL = 0.0, ось не будет возвращаться в домашнее положение (если в конструкции станка, не предусмотрен датчик домашнего положения).
HOME_LATCH_VEL
Скорость уточнения (точной калибровки) датчиков домашнего положения (мм\сек).
HOME_IGNORE_LIMITS
HOME_SEQUENCE
Приложения
Конфигурационные файлы LinuxCNC для оборудования компании CNC-Technology
Данные конфигурационные файлы созданы для работы с оборудованием CNC-Technology под управлением платы опто-развязки LPT-DPTR 1.03.
Модель станка | Конфигурационные файлы |
Cutter CH | Download |
Cutter GQ | Download |
Cutter GR | Download |
Cutter GT | Download |
Cutter GTL | Download |
Cutter H | Download |
Cutter HD | Download |
Cutter HM | Download |
Cutter KTM | Download |
Cutter ST | Download |
Cutter STL | Download |
Cutter VSK | Download |
Возможные ошибки и методы их устранения
Ошибка | Возможная причина | Метод устранения |
Joint * following error | Компьютер не отвечает техническим требованиям; Установленная скорость перемещений слишком велика для допустимого параметра BASE_PERIOD в *.hal файле;
|
Провести LATENCY-TEST и установить параметр BASE_PERIOD на 10% выше значение MaxJitter (обратите внимание на метод проведения LATENCY-TEST). |
Показатели Latency-Test на различных ПК
Max Interval (1.0 ms) | Max Jitter (1.0 ms) | Max Interval (25 ns) | Max Jitter (25 ns) | Материнская плата | Центральный процессор | Объем RAM | Видеокарта | HDD |
1032498 | 36782 | 54009 | 29009 | Asus A68HM-K | AMD A6-7400K | 4Gb | AMD A6-7400K Radeon R5 | HDD Western Digital WD800JD-22MSA1 |