EP7i92 DevManual: различия между версиями

Материал из Wiki CNC
Перейти к навигации Перейти к поиску
(Приложения)
(Прошивка контроллера)
 
(не показаны 4 промежуточные версии 3 участников)
Строка 1: Строка 1:
= Установка операционной системы =
+
== Установка операционной системы ==
Обратите внимание, что операционная система Linux имеет сборки в основе которых лежат ядра. Необходимо понимать отличие, потому как разные конфигурации LinuxCNC работают с разными ядрами. Рассмотрим подробнее: <br>
 
{| class="wikitable"
 
|-
 
! ОС  !! Ядро !! Применение !! Описание
 
|-
 
| Debian 7, Debian 9 || RTAI || LPT || При работе через LPT требует операционная система с хорошим откликом в реальном времени. Если вы планируете работать с контроллером на основе LPT то необходимо выбрать данную операционную систему.
 
|-
 
| Debain 10, Mint || PREEMPT-RT || Mesa || Т.к. контроллеры Mesa работают через Ethernet, PCI или PCI-E, то нет необходимости в системе реального времени, а потому используется ОС Linux с ядром PREEMPT-RT. Если вы решили работать через данный контроллер то остановитесь на этой операционной системе.
 
|}<br>
 
 
 
Для работы с контроллером Mesa EP7i92 мы рекомендуем использовать операционную системы Linux Mint 19 или Debian 10.<br>
 
  
Образ LinuxMint 19 доступен для скачивания по ссылке: [https://yadi.sk/d/h9mYnvSWK5hrng Скачать]. Установка данного образа происходит стандартно.<br>
+
Для работы с контроллером Mesa EP7i92 мы рекомендуем использовать операционную систему Debian GNU/Linux. Для актуальной версии программного обеспечения LinuxCNC разработчики предоствляют ISO-сборку формата «всё включено», которую можно скачать [https://www.linuxcnc.org/iso/LinuxCNC_2.9.2-amd64.hybrid.iso по ссылке].
Утилита для создания загрузочной флешки: [https://yadi.sk/d/7u_kWZgazJJaeQ WinSetupFromUSB]<br>
 
  
Архив с образом Craftex (Debian10) устанавливается не через загрузочный флеш-диск, а с помощью разворачивания образа через Acronis.
+
== Учётные данные для станков ООО «ЧПУ-Технологии» ==
Образ Craftex на основе Debian10 доступен для скачивания по ссылке [].
+
'''Имя пользователя:''' craftsman<br>
 +
'''Пароль:''' cnctech<br>
  
Предпочтительным является использование образа Debian 10 в виду большей стабильности. Обратите внимание, на черный и белый список материнских плат и процессоров для использования данной операционной системы для работы на ЧПУ.
+
== Конфигурационные файлы EP7i92 ==
 +
Доступна конфигурация для 1хLPT-DPTR 1.03: [https://yadi.sk/d/iFm31tPNfsZShA ссылка для скачивания].
  
=Конфигурационные файлы EP7i92=
+
Конфигурационные файлы необходимо поместить в каталог <code>linuxcnc/configs</code>.
Доступна конфигурация для 1хLPT-DPTR 1.03: [https://yadi.sk/d/iFm31tPNfsZShA Ссылка для скачивания]
 
  
Конфигурационные файлы необходимо поместить oem/linuxcnc/configs.
+
== Подключение к ПК ==
 +
Контроллер EP7i92 подключается к ПК с ОС Debian GNU/Linux по интерфейсу Ethernet. Для того, чтобы установить сетевое соединение с ПК, нужно определить IP-адрес контроллера. Устанавливается с помощью перемычек на плате W5, W6.
  
=Подключение к ПК=
+
''Примечание: положение DOWN соответствует правому положению перемычки (располагать по читаемости надписей на плате).''
Контроллер EP7i92 подключается к ПК с ОС Linux по интерфейсу Ethernet. <br>
 
Для того, чтобы установить сетевое соединение с ПК нужно произвести следующую настройку:
 
1. Определить IP-адрес контроллера. Устанавливается с помощью перемычек на плате W5,W6. <br>
 
  
''Примечание: Положение DOWN соответствует правому положению перемычки (располагать по читаемости надписей на плате).''
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! W5 !! W6 !! IP !! Примечание
+
! W5
 +
! W6
 +
! IP
 +
! Примечание
 
|-
 
|-
| DOWN || DOWN || 192.168.1.121||  
+
| DOWN
 +
| DOWN
 +
| 192.168.1.121
 +
|
 
|-
 
|-
| DOWN || UP || EEPROM (с завода 10.10.10.10) || Установлен по умолчанию, рекомендован к работе.
+
| DOWN
 +
| UP
 +
| EEPROM (с завода 10.10.10.10)
 +
| Установлен по умолчанию, рекомендован к работе.
 
|-
 
|-
| UP || DOWN || BOOTP ||  
+
| UP
 +
| DOWN
 +
| BOOTP
 +
|
 
|-
 
|-
| UP || UP || INVALID ||  
+
| UP
 +
| UP
 +
| INVALID
 +
|
 
|}
 
|}
  
При тестировании контроллера на заводе изготовителе перемычки устанавливаются как DOWN-UP, что соответствует IP-адресу контроллера 10.10.10.10.<br>
+
При тестировании контроллера на заводе изготовителе перемычки устанавливаются как DOWN-UP, что соответствует IP-адресу контроллера 10.10.10.10. Для того, чтобы контроллер определился в системе необходимо задать IP адрес ПК вручную.
Для того, чтобы контроллер определился в системе необходимо задать IP адрес ПК вручную. <br>
+
* '''IP Адрес:''' 10.10.10.2 (или другой отличный от 10.10.10.10)
'''IP Адрес: 10.10.10.2 (или другой отличный от 10.10.10.10)'''<br>
+
* '''Маска:''' 8
'''Маска: 8'''<br>
+
* '''Шлюз:''' 10.10.10.10
'''Шлюз: 10.10.10.10'''<br>
+
 
 +
Убедитесь, что соединение с контроллером правильное. Откройте терминал и введите команду:
 +
<pre>ping 10.10.10.10</pre>
 +
 
 +
Если вы получаете ответ формата <code>64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.136</code>, значит связь с контроллером присутствует.
 +
 
 +
== Утилита mesaflash ==
 +
 
 +
=== Описание ===
 +
mesaflash позволяет записать в EEPROM программу необходимую для работы с разными интерфейсными платами не прибегая к использованию программаторов или других вспомогательных устройств. Для того, чтобы перепрошить контроллер EP7i92 достаточно подключить его по сети в ОС Debian GNU/Linux.
 +
 
 +
=== Параметры mesaflash ===
 +
Перед началом работы убедитесь, что в вашей ОС Debian GNU/Linux установлена утилита mesaflash. Откройте терминал и введите <code>mesaflash</code>, ответом на запрос должна быть указана установленная версия (к примеру 3.3).
  
Убедитесь, что соединение с контроллером правильное. Откройте терминал и введите команду: <br>
+
Запрос строится из команды mesaflash и параметра (или нескольких параметров):
<code>ping 10.10.10.10</code><br>
 
Если вы получаете ответ формата <code>64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.136</code> значит связь с контроллером присутствует. <br>
 
  
=Утилита mesaflash=
 
==Описание==
 
mesaflash позволяет записать в EEPROM программу необходимую для работы с разными интерфейсными платами не прибегая к использованию программаторов или других вспомогательных устройств. Для того, чтобы перепрошить контроллер EP7i92 достаточно подключить его по сети в ОС Linux.
 
==Параметры mesaflash==
 
Перед началом работы убедитесь, что в вашей OC Linux установлена утилита mesaflash. Откройте терминал и введите <code> mesaflash </code>, ответом на запрос должна быть указана установленная версия (к примеру 3.3).<br>
 
Запрос строится из команды mesaflash и параметра (или нескольких параметров)
 
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Параметр
 +
! Описание
 
|-
 
|-
! Параметр !! Описание
+
| <code>mesaflash --help</code>
|-
+
| Отобразить все доступные параметры с описанием
| <code>mesaflash --help</code> || Отобразить все доступные параметры с описанием
 
|-
 
| <code>mesaflash --device</code>|| Указать устройство
 
 
|-
 
|-
| <code>mesaflash --addr</code> || Указать адрес устройства
+
| <code>mesaflash --device</code>
 +
| Указать устройство
 
|-
 
|-
| <code>mesaflash --reload</code> || Перезагрузить контроллер
+
| <code>mesaflash --addr</code>
 +
| Указать адрес устройства
 
|-
 
|-
| <code>mesaflash --readhmid</code> || Отобразить доступные пины
+
| <code>mesaflash --reload</code>
 +
| Перезагрузить контроллер
 
|-
 
|-
| <code>mesaflash --write</code> || Записать указанную прошивку в EEPROM
+
| <code>mesaflash --readhmid</code>
 +
| Отобразить доступные пины
 
|-
 
|-
 +
| <code>mesaflash --write</code>
 +
| Записать указанную прошивку в EEPROM
 
|}
 
|}
  
 
'''Примеры:'''<br>
 
'''Примеры:'''<br>
Проверить устройство 7i92, подключенного по Ethernet с IP-адресом 10.10.10.10:<br>
+
Проверить устройство 7i92, подключенного по Ethernet с IP-адресом 10.10.10.10:
Запрос: <code> mesaflash --device 7i92 --addr 10.10.10.10 </code> <br>
+
<pre>mesaflash --device 7i92 --addr 10.10.10.10</pre>
Ответ: ETH device 7i92 at ip=10.10.10.10<br>
+
Ответ: <code>ETH device 7i92 at ip=10.10.10.10</code>
  
Отобразить доступные пины на устройстве 7i92, подключенного по Ethernet c IP-адресом 10.10.10.10:<br>
+
Отобразить доступные пины на устройстве 7i92, подключенного по Ethernet c IP-адресом 10.10.10.10:
Запрос: <code> mesaflash --device 7i92 --addr 10.10.10.10 --readhmid </code> <br>
+
<pre>mesaflash --device 7i92 --addr 10.10.10.10 --readhmid</pre>
Ответом будет являться таблицы с описанием пинов. <br>
+
Ответом будет являться таблицы с описанием пинов.
  
 
==Прошивка контроллера==
 
==Прошивка контроллера==
В таблице собраны прошивки для разных интерфейсных плат с примечаниями. <br>
+
В таблице собраны прошивки для разных интерфейсных плат с примечаниями.
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Ссылка для скачивания
 +
! Название
 +
! Описание
 
|-
 
|-
! Ссылка для скачивания !! Название !! Описание
+
| [https://yadi.sk/d/xOScRmvRJfRNHA Ссылка]
|-
+
| EP7i92_LPT_DPTR103.bit
| [https://yadi.sk/d/xOScRmvRJfRNHA Ссылка] || EP7i92_LPT_DPTR103.bit|| Одна плата LPT-DPTR 1.03 на разъеме P2. Прошивка по умолчанию с завода.
+
| Одна плата LPT-DPTR 1.03 на разъеме P2. Прошивка по умолчанию с завода.
 
|-
 
|-
| [https://yadi.sk/d/ubMEcTAjn1VDnw Ссылка] || EP7i92_LPT_DPTRx2.bit || Две платы LPT-DPTR 1.03
+
| [https://yadi.sk/d/ubMEcTAjn1VDnw Ссылка]
 +
| EP7i92_LPT_DPTRx2.bit
 +
| Две платы LPT-DPTR 1.03
 
|}
 
|}
  
Для того, чтобы прошить контроллер, поместите необходимую прошивку в папку /home/oem (где oem - имя пользователя). К примеру EP7i92_LPT_DPTR103.bit. <br>
+
Для того, чтобы прошить контроллер, поместите необходимую прошивку в домашнуюю папку пользователя (например <code>/home/craftsman</code> для станков ООО «ЧПУ-Технологии»). К примеру EP7i92_LPT_DPTR103.bit. Откройте терминал и введите:
Откройте терминал и введите:<br>
+
<pre>mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit</pre>
<code> mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit</code><br>
+
 
 +
== Настройка сети для передачи файлов ==
 +
Для организации удобного рабочего пространства для ЧПУ-станка, мы рекомендуем использование сети для передачи файлов с ПК на ОС Windows на ПК с ОС Debian GNU/Linux. Это позволит отказаться от использования флеш-диска для передачи управляющих программ. Обратите внимание, сетевое подключение может быть организованно либо по сетевому кабелю (требуется установка доп. сетевого интерфейса в ПК), либо по сети Wi-Fi.
 +
 
 +
Для этого на ПК с ОС Windows необходимо установить ПО WinSCP, распространяемое бесплатно [https://winscp.net по ссылке].
  
==Настройка сети для передачи файлов==
+
На ПК с ОС Debian GNU/Linux необходимо установить openssh server. Для этого в терминале (при подключенном интернете) необходимо ввести <pre>sudo apt install openssh-server</pre>
Для организации удобного рабочего пространства для ЧПУ-станка, мы рекомендуем использование сети для передачи файлов с ПК на ОС Windows на ПК с ОС Linux Debian 10. Это позволит отказаться от использования флеш-диска для передачи управляющих программ. Обратите внимание, сетевое подключение может быть организованно либо по сетевому кабелю (требуется установка доп. сетевого интерфейса в ПК), либо по сети Wi-Fi.<br>
 
Для этого на ПК с Windows необходимо установить ПО WinSCP, распространяемое бесплатно по ссылке: [https://winscp.net/eng/index.php? Ссылка]<br>
 
На ПК с ОС Linux Mint необходимо установить openssh server. Для этого в терминале (при подключенном интернете) необходимо ввести:<br>
 
<code>sudo apt install openssh-server </code>
 
  
Далее необходимо настроить подключение в WinSCP. <br>
+
Далее необходимо настроить подключение в WinSCP.
  
[[Файл:WinSCP.PNG|600px]]<br>
+
[[Файл:WinSCP.PNG|600px]]
  
Имя хоста: IP-адрес компьютера с OC Linux Debian 10. Для того, чтобы узнать какой IP-адрес ПК, на установленного возле станка необходимо в терминале ввести <code>sudo ifconfig</code>.<br>
+
Имя хоста: IP-адрес компьютера с ОС Debian GNU/Linux. Для того, чтобы узнать какой IP-адрес ПК, на установленного возле станка необходимо в терминале ввести:
Имя пользователя: notroot <br>
+
<pre>ip a</pre>
Пароль:*******. <br>
 
''По умолчанию, пароль на ПК, подготовленных на заводе-изготовителе ООО "ЧПУ-Технологии" - "1"''<br>
 
  
 
==Возможные ошибки и методы исправления==
 
==Возможные ошибки и методы исправления==
===Ошибка: BootSector is invalid===
 
Если при попытке записи *.bit файла в EEPROM контроллера вы получаете ошибку BootSector is invalid, то укажите параметр <code>--fix-boot-block </code>.<br>
 
  
Пример: <code> mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit '''--fix-boot-block'''</code><br>
+
=== Ошибка: BootSector is invalid ===
 +
Если при попытке записи *.bit файла в EEPROM контроллера вы получаете ошибку BootSector is invalid, то укажите параметр <code>--fix-boot-block </code>, например:
 +
<pre>mesaflash --device 7i92 --addr 10.10.10.10 --write EP7i92_LPT_DPTR103.bit --fix-boot-block</pre>
 +
 
 +
== Приложения ==
 +
<!-- == Черный и белый список материнских плат == -->
 +
== Компенсация неравномерности накатки винта ==
 +
При работе на станках без обратной связи от внешнего линейного отсчетного устройства (например линейного инкрементального датчика) возникает ошибка позиционирования. Данное обстоятельство возникает из-за: люфтов в гайке ШВП, либо в других системах; неравномерной накатки винта, в случаи использования ШВП, либо некачественно выполненной рейки, при использовании реечной передачи и прочее; не точной обработки команд драйвером (имеется отклонение в делении шага, указанного в системе, от действительного. Для корректировки ошибки в LinuxCNC имеется функция компенсации действительного положения оси.
  
===Черный экран. Режим nomodeset===
+
В процессе работы необходимо наличие прибора/устройства для определения действительного положения оси. В данном руководстве будет описано использование инкрементального линейного энкодера с системой индикации.
Для некоторых видеокарт или графических ядер в составе процессора отсутствуют драйвера в Debian10. Для того, чтобы запустить ОС на ПК с такой проблемой необходимо перейти в режим nomodeset.<br>
 
  
После запуска необходимо отредактировать файл grub. Для этого необходимо открыть терминал и ввести следующие команды:<br>
+
Первоначально, в ini-файле, в разделе необходимой оси <code>[JOINT_...]</code> прописываем следующие строй: <code>COMP_FILE = xcrew.comp</code>, где xcrew.comp - файл с необходимыми значениями координат оси; <code>COMP_FILE_TYPE = 0</code>, где<br>
<code> sudo gedit /etc/default/grub</code><br>
+
0 — в файле компенсации указываются действительные координаты (на подобие 200.023),<br>
Открыть файл grub и привести строку <code>GRUB_CMDLINE_LINUX_DEFAULT="quiet isolpus=1 net.ifnames=0 biosdevname=0"</code> к виду <code>GRUB_CMDLINE_LINUX_DEFAULT="quiet '''nomodeset''' isolpus=1 net.ifnames=0 biosdevname=0"</code><br>
+
1 — в файле компенсации указываются указывается разница заданного значения и действительного (на подобие 0.012).
Сохранить и закрыть редактор gedit.<br>
 
Обновить загрузчик grub: <code> sudo update-grub </code><br>
 
  
= Приложения =
+
Далее создаем сам файл со значениями. Имя файла может быть любым, но расширении необходимо сделать ''.comp''. Из себя он представляет список координат, разделенный на 3 колонки/столбца, в которых прописываются:
==Переустановка Anydesk==
+
* '''первый''' столбец — желаемая координата (координата прописываемая в G-коде)
Приложение Anydesk служит для создания удаленного управления с стороннего ПК через интернет. Используется технической поддержкой для помощи в настройке, а также для удаленного управления пользователем.<br>
+
* '''второй''' столбец — действительная (полученная от внешнего линейного датчика) координата при передвижении в положительном направлении
Иногда могут возникнуть проблемы с подключением через Anydesk ввиду совпадения ID компьютера, в таком случае необходимо переустановить Anydesk, согласно следующему алгоритму:  
+
* '''третий''' столбец — действительная (полученная от внешнего линейного датчика) координата при передвижении в отрицательном направлении. Всего файл компенсации поддерживает 256 точек измерения.
# Скачать приложение Anydesk по ссылке: [https://yadi.sk/d/sTToy_Jv-Ugkkw Anydesk Download]
 
# Поместить скачанный в файл в каталог notroot
 
# Открыть терминал и ввести следующие команды: <br>
 
<code> sudo apt-get remove anydesk </code>
 
<code> sudo apt-get purge anydesk </code>
 
<code> sudo dpkg --install anydesk_6.1.1-1_amd64.deb </code>
 
  
==Черный и белый список материнских плат==
+
=== Порядок необходимых действий: ===
 +
# Выбираем шаг с которым будем проводить измерения (например 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 и проверяем на сколько хорошо удалось скомпенсировать недостатки позиционирования.

Текущая версия на 16:27, 12 января 2024

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

Для работы с контроллером 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 и проверяем на сколько хорошо удалось скомпенсировать недостатки позиционирования.