EP7i92 DevManual

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

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

Для работы с контроллером Mesa EP7i92 мы рекомендуем использовать операционную систему Debian GNU/Linux. Для актуальной версии программного обеспечения LinuxCNC разработчики предоствляют ISO-сборку формата «всё включено», которую можно скачать по ссылке.

Учётные данные для станков ООО «ЧПУ-Технологии»

Имя пользователя: craftsman
Пароль: cnctech

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

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

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

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

Контроллер EP7i92 подключается к ПК с ОС Debian GNU/Linux по интерфейсу Ethernet. Для того, чтобы установить сетевое соединение с ПК, нужно определить 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 достаточно подключить его по сети в ОС Debian GNU/Linux.

Параметры mesaflash

Перед началом работы убедитесь, что в вашей ОС Debian GNU/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/craftsman для станков ООО «ЧПУ-Технологии»). К примеру EP7i92_LPT_DPTR103.bit. Откройте терминал и введите:

mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit

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

Для организации удобного рабочего пространства для ЧПУ-станка, мы рекомендуем использование сети для передачи файлов с ПК на ОС Windows на ПК с ОС Debian GNU/Linux. Это позволит отказаться от использования флеш-диска для передачи управляющих программ. Обратите внимание, сетевое подключение может быть организованно либо по сетевому кабелю (требуется установка доп. сетевого интерфейса в ПК), либо по сети Wi-Fi.

Для этого на ПК с ОС Windows необходимо установить ПО WinSCP, распространяемое бесплатно по ссылке.

На ПК с ОС Debian GNU/Linux необходимо установить openssh server. Для этого в терминале (при подключенном интернете) необходимо ввести

sudo apt install openssh-server

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

WinSCP.PNG

Имя хоста: IP-адрес компьютера с ОС Debian GNU/Linux. Для того, чтобы узнать какой IP-адрес ПК, на установленного возле станка необходимо в терминале ввести:

ip a

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

Ошибка: 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

Приложения

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

При работе на станках без обратной связи от внешнего линейного отсчетного устройства (например линейного инкрементального датчика) возникает ошибка позиционирования. Данное обстоятельство возникает из-за: люфтов в гайке ШВП, либо в других системах; неравномерной накатки винта, в случаи использования ШВП, либо некачественно выполненной рейки, при использовании реечной передачи и прочее; не точной обработки команд драйвером (имеется отклонение в делении шага, указанного в системе, от действительного. Для корректировки ошибки в LinuxCNC имеется функция компенсации действительного положения оси.

В процессе работы необходимо наличие прибора/устройства для определения действительного положения оси. В данном руководстве будет описано использование инкрементального линейного энкодера с системой индикации.

Первоначально, в ini-файле, в разделе необходимой оси [JOINT_...] прописываем следующие строй: COMP_FILE = xcrew.comp, где xcrew.comp - файл с необходимыми значениями координат оси; COMP_FILE_TYPE = 0, где
0 — в файле компенсации указываются действительные координаты (на подобие 200.023),
1 — в файле компенсации указываются указывается разница заданного значения и действительного (на подобие 0.012).

Далее создаем сам файл со значениями. Имя файла может быть любым, но расширении необходимо сделать .comp. Из себя он представляет список координат, разделенный на 3 колонки/столбца, в которых прописываются:

  • первый столбец — желаемая координата (координата прописываемая в G-коде)
  • второй столбец — действительная (полученная от внешнего линейного датчика) координата при передвижении в положительном направлении
  • третий столбец — действительная (полученная от внешнего линейного датчика) координата при передвижении в отрицательном направлении. Всего файл компенсации поддерживает 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. Перемещаем ось по некоторым точка и убеждаемся, что действительное положение (полученное с датчика) стало ближе к заданному.
  11. Перемещаем ось в конечное положение. Действительное положение должно почти совпасть с заданным (+-0,003 при использовании микронного датчика).
  12. Повторяем п.7 в отрицательном положении.
  13. После достижения последней точки, записываем полученные значения в 3-й столбик файла компенсации (ВАЖНО! первую строчку с нулевыми значениями не стоит менять) и перезапускаем LinuxCNC. Должно получиться подобно:
    • 0 0 0
    • 50 50,015 50,032
    • 100 100,023 100,047
    • …и так далее.
  14. Перезапускаем LinuxCNC и проверяем на сколько хорошо удалось скомпенсировать недостатки позиционирования.