EP7i92 DevManual
Содержание
- 1 Установка операционной системы
- 2 Учётные данные для станков ООО «ЧПУ-Технологии»
- 3 Конфигурационные файлы EP7i92
- 4 Подключение к ПК
- 5 Утилита mesaflash
- 6 Прошивка контроллера
- 7 Настройка сети для передачи файлов
- 8 Возможные ошибки и методы исправления
- 9 Приложения
- 10 Компенсация неравномерности накатки винта
Установка операционной системы
Для работы с контроллером 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.
Имя хоста: 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 точек измерения.
Порядок необходимых действий:
- Выбираем шаг с которым будем проводить измерения (например 50 мм) и в файле компенсации прописываем координаты с выбранным шагом:
- 0 0 0
- 50 50 50
- 100 100 100
- …и так далее, на необходимую длину измерения.
- Отправляем проверяемую ось в домашнее положение.
- Устанавливаем линейный датчик на проверяемую ось. Например устанавливаем инкрементальную линейку на рабочий стол (перед этим установите линейку на жесткое основание, так как необходимо, чтобы корпус оставался неподвижным при измерениях).
- Выставляем линейку параллельно проверяемой оси (<0.01-0.02 мм).
- Крепим головку инкрементальной линейки к перпендикулярной оси (например: у нас портальный станок; проверяем ось Y; линейку закрепили и выставили параллельно выбранной оси; считывающую головку инкрементального датчика крепим, допустим у шпинделю, чтобы при перемещении портала, головка двигалась совместно с ним).
- На системе индикации (либо другом обрабатывающем устройстве) обнуляем значение.
- Через LinuxCNC перемещаем ось с выбранным шагом в положительном направлении и записываем значения, полученные с инкрементальной линейки.
- После достижения последней точки, записываем полученные значения во 2-й столбик файла компенсации и перезапускаем LinuxCNC. Должно получиться подобно:
- 0 0 0
- 50 50,015 50
- 100 100,023 100
- …и так далее.
- Перезапускаем LinuxCNC и повторяем п. 4-5 (!!!при отправке в домашнее положение убедитесь, что это не повредит измерительный датчик!!!).
- Перемещаем ось по некоторым точка и убеждаемся, что действительное положение (полученное с датчика) стало ближе к заданному.
- Перемещаем ось в конечное положение. Действительное положение должно почти совпасть с заданным (+-0,003 при использовании микронного датчика).
- Повторяем п.7 в отрицательном положении.
- После достижения последней точки, записываем полученные значения в 3-й столбик файла компенсации (ВАЖНО! первую строчку с нулевыми значениями не стоит менять) и перезапускаем LinuxCNC. Должно получиться подобно:
- 0 0 0
- 50 50,015 50,032
- 100 100,023 100,047
- …и так далее.
- Перезапускаем LinuxCNC и проверяем на сколько хорошо удалось скомпенсировать недостатки позиционирования.