EP7i92 DevManual

Материал из Wiki CNC
Перейти к навигации Перейти к поиску

Установка операционной системы

Обратите внимание, что операционная система Linux имеет сборки в основе которых лежат ядра. Необходимо понимать отличие, потому как разные конфигурации LinuxCNC работают с разными ядрами. Рассмотрим подробнее:

ОС Ядро Применение Описание
Debian 7, Debian 9 RTAI LPT При работе через LPT требует операционная система с хорошим откликом в реальном времени. Если вы планируете работать с контроллером на основе LPT то необходимо выбрать данную операционную систему.
Debain 10, Mint PREEMPT-RT Mesa Т.к. контроллеры Mesa работают через Ethernet, PCI или PCI-E, то нет необходимости в системе реального времени, а потому используется ОС Linux с ядром PREEMPT-RT. Если вы решили работать через данный контроллер то остановитесь на этой операционной системе.


Для работы с контроллером Mesa EP7i92 мы рекомендуем использовать операционную системы Linux Mint 19 или Debian 10.

Образ LinuxMint 19 доступен для скачивания по ссылке: Скачать. Установка данного образа происходит стандартно.
Утилита для создания загрузочной флешки: WinSetupFromUSB

Архив с образом Craftex (Debian10) устанавливается не через загрузочный флеш-диск, а с помощью разворачивания образа через Acronis. Образ Craftex на основе Debian10 доступен для скачивания по ссылке Debian10.

Предпочтительным является использование образа Debian 10 в виду большей стабильности. Обратите внимание, на черный и белый список материнских плат и процессоров для использования данной операционной системы для работы на ЧПУ.

Конфигурационные файлы EP7i92

Доступна конфигурация для 1хLPT-DPTR 1.03: Ссылка для скачивания

Конфигурационные файлы необходимо поместить oem/linuxcnc/configs.

Подключение к ПК

Контроллер EP7i92 подключается к ПК с ОС Linux по интерфейсу Ethernet.
Для того, чтобы установить сетевое соединение с ПК нужно произвести следующую настройку: 1. Определить IP-адрес контроллера. Устанавливается с помощью перемычек на плате W5,W6.

Примечание: Положение DOWN соответствует правому положению перемычки (располагать по читаемости надписей на плате).

W5 W6 IP Примечание
DOWN DOWN 192.168.1.121
DOWN UP EEPROM (с завода 10.10.10.10) Установлен по умолчанию, рекомендован к работе.
UP DOWN BOOTP
UP UP INVALID

При тестировании контроллера на заводе изготовителе перемычки устанавливаются как DOWN-UP, что соответствует IP-адресу контроллера 10.10.10.10.
Для того, чтобы контроллер определился в системе необходимо задать IP адрес ПК вручную.
IP Адрес: 10.10.10.2 (или другой отличный от 10.10.10.10)
Маска: 8
Шлюз: 10.10.10.10

Убедитесь, что соединение с контроллером правильное. Откройте терминал и введите команду:
ping 10.10.10.10
Если вы получаете ответ формата 64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.136 значит связь с контроллером присутствует.

Утилита mesaflash

Описание

mesaflash позволяет записать в EEPROM программу необходимую для работы с разными интерфейсными платами не прибегая к использованию программаторов или других вспомогательных устройств. Для того, чтобы перепрошить контроллер EP7i92 достаточно подключить его по сети в ОС Linux.

Параметры mesaflash

Перед началом работы убедитесь, что в вашей OC Linux установлена утилита mesaflash. Откройте терминал и введите mesaflash , ответом на запрос должна быть указана установленная версия (к примеру 3.3).
Запрос строится из команды mesaflash и параметра (или нескольких параметров)

Параметр Описание
mesaflash --help Отобразить все доступные параметры с описанием
mesaflash --device Указать устройство
mesaflash --addr Указать адрес устройства
mesaflash --reload Перезагрузить контроллер
mesaflash --readhmid Отобразить доступные пины
mesaflash --write Записать указанную прошивку в EEPROM

Примеры:
Проверить устройство 7i92, подключенного по Ethernet с IP-адресом 10.10.10.10:
Запрос: mesaflash --device 7i92 --addr 10.10.10.10
Ответ: ETH device 7i92 at ip=10.10.10.10

Отобразить доступные пины на устройстве 7i92, подключенного по Ethernet c IP-адресом 10.10.10.10:
Запрос: mesaflash --device 7i92 --addr 10.10.10.10 --readhmid
Ответом будет являться таблицы с описанием пинов.

Прошивка контроллера

В таблице собраны прошивки для разных интерфейсных плат с примечаниями.

Ссылка для скачивания Название Описание
Ссылка EP7i92_LPT_DPTR103.bit Одна плата LPT-DPTR 1.03 на разъеме P2. Прошивка по умолчанию с завода.
Ссылка EP7i92_LPT_DPTRx2.bit Две платы LPT-DPTR 1.03

Для того, чтобы прошить контроллер, поместите необходимую прошивку в папку /home/oem (где oem - имя пользователя). К примеру EP7i92_LPT_DPTR103.bit.
Откройте терминал и введите:
mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit

Настройка сети для передачи файлов

Для организации удобного рабочего пространства для ЧПУ-станка, мы рекомендуем использование сети для передачи файлов с ПК на ОС Windows на ПК с ОС Linux Debian 10. Это позволит отказаться от использования флеш-диска для передачи управляющих программ. Обратите внимание, сетевое подключение может быть организованно либо по сетевому кабелю (требуется установка доп. сетевого интерфейса в ПК), либо по сети Wi-Fi.
Для этого на ПК с Windows необходимо установить ПО WinSCP, распространяемое бесплатно по ссылке: Ссылка
На ПК с ОС Linux Debian 10 необходимо установить openssh server. Для этого в терминале (при подключенном интернете) необходимо ввести:
sudo apt install openssh-server Обратите внимание, в последних версиях Debian 10 + Craftex openshh server уже установлен.

Далее необходимо настроить подключение в WinSCP.

WinSCP.PNG

Имя хоста: IP-адрес компьютера с OC Linux Debian 10. Для того, чтобы узнать какой IP-адрес ПК, на установленного возле станка необходимо в терминале ввести sudo ifconfig.
Имя пользователя: notroot
Пароль:*******.
По умолчанию, пароль на ПК, подготовленных на заводе-изготовителе ООО "ЧПУ-Технологии" - "1"

Возможные ошибки и методы исправления

Ошибка: BootSector is invalid

Если при попытке записи *.bit файла в EEPROM контроллера вы получаете ошибку BootSector is invalid, то укажите параметр --fix-boot-block .

Пример: mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit --fix-boot-block

Черный экран. Режим nomodeset

Для некоторых видеокарт или графических ядер в составе процессора отсутствуют драйвера в Debian10. Для того, чтобы запустить ОС на ПК с такой проблемой необходимо перейти в режим nomodeset.

После запуска необходимо отредактировать файл grub. Для этого необходимо открыть терминал и ввести следующие команды:
sudo gedit /etc/default/grub
Открыть файл grub и привести строку GRUB_CMDLINE_LINUX_DEFAULT="quiet isolpus=1 net.ifnames=0 biosdevname=0" к виду GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset isolpus=1 net.ifnames=0 biosdevname=0"
Сохранить и закрыть редактор gedit.
Обновить загрузчик grub: sudo update-grub

Приложения

Переустановка Anydesk

Приложение Anydesk служит для создания удаленного управления с стороннего ПК через интернет. Используется технической поддержкой для помощи в настройке, а также для удаленного управления пользователем.
Иногда могут возникнуть проблемы с подключением через Anydesk ввиду совпадения ID компьютера, в таком случае необходимо переустановить Anydesk, согласно следующему алгоритму:

  1. Скачать приложение Anydesk по ссылке: Anydesk Download
  2. Поместить скачанный в файл в каталог notroot
  3. Открыть терминал и ввести следующие команды:
 sudo apt-get remove anydesk 
 sudo apt-get purge anydesk 
 sudo dpkg --install anydesk_6.1.1-1_amd64.deb 

Черный и белый список материнских плат

Компенсация неравномерности накатки винта

При работе на станках без обратной связи от внешнего линейного отсчетного устройства (например линейного инкрементального датчика) возникает ошибка позиционирования. Данное обстоятельство возникает из-за: люфтов в гайке ШВП, либо в других системах; неравномерной накатки винта, в случаи использования ШВП, либо некачественно выполненной рейки, при использовании реечной передачи и прочее; не точной обработки команд драйвером (имеется отклонение в делении шага, указанного в системе, от действительного. Для корректировки ошибки в LinuxCNC имеется функция компенсации действительного положения оси.
В процессе работы необходимо наличие прибора/устройства для определения действительного положения оси. В данном руководстве будет описано использование инкрементального линейного энкодера с системой индикации.
Первоначально в ini. файле в разделе необходимой оси [JOINT_...] прописываем следующие строй: COMP_FILE = xcrew.comp, где xcrew.comp - файл с необходимыми значениями координат оси; COMP_FILE_TYPE = 0, где 0 - в файле компенсации указываются действительные координаты (на подобие 200.023), 1 - в файле компенсации указываются указывается разница заданного значения и действительного (на подобие 0.012).
Далее создаем сам файл со значениями. Имя файла может быть любым, но расширении необходимо сделать .comp. Из себя он представляет список координат, разделенный на 3 колонки/столбца, в которых прописываются: 1 столбец - желаемая координата (координата прописываемая в G-коде), 2 столбец - действительная (полученная от внешнего линейного датчика) координата при передвижении в положительном направлении, 3 столбец - действительная (полученная от внешнего линейного датчика) координата при передвижении в отрицательном направлении. Всего файл компенсации поддерживает 256 точек измерения
Порядок необходимых действий:
1)Выбираем шаг с которым будем проводить измерения (например 50 мм) и в файле компенсации прописываем координаты с выбранным шагом:
0 0 0
50 50 50
100 100 100
и так далее, на необходимую длину измерения.
2)Отправляем проверяемую ось в домашнее положение
3)Устанавливаем линейный датчик на проверяемую ось. Например устанавливаем инкрементальную линейку на рабочий стол (перед этим установите линейку на жесткое основание, так как необходимо, чтобы корпус оставался неподвижным при измерениях)
4)Выставляем линейку параллельно проверяемой оси (<0.01-0.02 мм)
5)Крепим головку инкрементальной линейки к перпендикулярной оси (например: у нас портальный станок; проверяем ось Y; линейку закрепили и выставили параллельно выбранной оси; считывающую головку инкрементального датчика крепим, допустим у шпинделю, чтобы при перемещении портала, головка двигалась совместно с ним)
6)На системе индикации (либо другом обрабатывающем устройстве) обнуляем значение
7)Через LinuxCNC перемещаем ось с выбранным шагом в положительном направлении и записываем значения, полученные с инкрементальной линейки
8)После достижения последней точки, записываем полученные значения во 2-й столбик файла компенсации и перезапускаем LinuxCNC
Должно получиться подобно:
0 0 0
50 50,015 50
100 100,023 100
и так далее
9)Перезапускаем LinuxCNC и повторяем п. 4-5 (!!!при отправке в домашнее положение убедитесь, что это не повредит измерительный датчик!!!).
10)Перемещаем ось по некоторым точка и убеждаемся, что действительное положение (полученное с датчика) стало ближе к заданному.
12)Перемещаем ось в конечное положение. Действительное положение должно почти совпасть с заданным (+-0,003 при использовании микронного датчика).
12)Повторяем п.7 в отрицательном положении.
13)После достижения последней точки, записываем полученные значения в 3-й столбик файла компенсации (ВАЖНО! первую строчку с нулевыми значениями не стоит менять) и перезапускаем LinuxCNC
Должно получиться подобно:
0 0 0
50 50,015 50,032
100 100,023 100,047
и так далее
14)Перезапускаем LinuxCNC и проверяем на сколько хорошо удалось скомпенсировать недостатки позиционирования