Абсолютные энкодеры в LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 622
Контактная информация:

Абсолютные энкодеры в LinuxCNC

Сообщение Darxton »

Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение aftaev »

Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение aftaev »

Darxton писал(а):Ну как я понял, это же для Мицубиси исключительно
Зато все готовое.

Абс. энкодеры разные есть, с разным передачи данных.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Dimka
Мастер
Сообщения: 1388
Зарегистрирован: 14 июл 2016, 23:40
Репутация: 344
Настоящее имя: Дима
Откуда: Санкт-Петербург
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Dimka »

Darxton, а абсолютные энкодеры необходимы или тупо есть моторы с абс. энкодерами и их надо использовать? В Яскаве абсолютный энкодер, вроде, в настройках на инкрементальный переключить можно..
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 622
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Darxton »

Dimka писал(а):Darxton, а абсолютные энкодеры необходимы
Ну как бы необходимы. Вся затея чтобы не занулять станок.
aftaev писал(а):Зато все готовое.
Зато с привязкой мало того, что к мицубиси, так еще и к этой плате. смысл в отсутствии привязки. если привязки не избежать, мы лучше стойку поставим комплектную....
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение MX_Master »

Протокол передачи данных у абсолютных энкодеров какой?
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 622
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Darxton »

MX_Master писал(а):Протокол передачи данных у абсолютных энкодеров какой?
а какой надо? )

Пока нет ни энкодеров, ни системы ЧПУ. Изучаем вообще возможность и наиболее простые пути.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение MX_Master »

ОК, давайте с другой стороны. Какое железо будете использовать для работы LinuxCNC?
Варианты:
  1. Материнская плата с LPT портом + любая плата развязки
  2. Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
  3. Материнская плата с PCI портом + какая-то из PCI плат Mesa
  4. Raspberry Pi 4 + какая-то из Ethernet плат Mesa
  5. Orange Pi + какая-то из Ethernet плат Mesa
  6. Orange Pi + любая плата развязки
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 622
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Darxton »

Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
Материнская плата с PCI портом + какая-то из PCI плат Mesa
Raspberry Pi 4 + какая-то из Ethernet плат Mesa
Orange Pi + какая-то из Ethernet плат Mesa
что-то из этого. Первые два скорее всего. Может не совсем меса, может попробуем платы от smd taxi. Только они кажись этого не позволят...
Последний раз редактировалось Darxton 18 мар 2020, 15:33, всего редактировалось 1 раз.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение xenon-alien »

MX_Master писал(а):Материнская плата с LPT портом + любая плата развязки
Неужели хватит входящих пинов для для трех энкодеров + обычная разводка на LPT порте?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Serg »

Darxton писал(а):Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
Недавно в какой-то теме тут писал.
Поддерживаются, но частично - к Mesa подключить можно (SSI), не знаю выложена-ли готовая прошивка, раньше её давали по запросу под твой набор плат.
В LinuxCNC пока без обнуления работать правильно не будет. Чтобы не обнуляться нужно править исходники, немного, но нужно. Пока, у тех, кто это может не было такой нужды/энкодеров.
Имеет смысл освежить эти сведения на форуме LinuxCNC, может есть подвижки.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение MX_Master »

Darxton писал(а):что-то из этого. Первые два скорее всего. Может не совсем меса, может попробуем платы от smd taxi. Только они кажись этого не позволят...
Насколько я понял из интернетов, популярный протокол передачи у абсолютных энкодеров - это SSI. А сигнал - дифференциальный (-5..+5V). На плате от smd taxi, только TTL входы (0..+5V). Но это ещё не всё, для работы с абсолютными энкодерами нужен ещё и спец драйвер. Не уверен, что такой есть для плат от smd taxi. А вот для плат Mesa такой драйвер был. Правда, прошивку для FPGA надо тоже смотреть. Как всё это дело работает лучше меня знает дядя Серёжа (UAVpilot).

Вощем, можно что-то из Ethernet плат Mesa (например 7i92) + доп. плата c RS485/RS422 входами. Я, кстати, не большой знаток плат Mesa. Возможно, есть цельная Ethernet плата с нужным набором выходов + RS485/RS422 входы.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Impartial »

В большинстве оптических абсолютных энкодерах первичный протокол SSI.
Посмотреть как это работает можно в описании AEAT-9000 https://www.broadcom.com/products/motio ... 9000-1gsh0
Обработать можно обычным SPI, применив в качестве драйверов чипы RS485.
В двигателях обычно стоят резольверы. Самый надежный вариант, но обработать сложнее.
Аватара пользователя
FLUKE
Мастер
Сообщения: 843
Зарегистрирован: 11 мар 2013, 21:18
Репутация: 187
Настоящее имя: Сергей
Откуда: Смоленск
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение FLUKE »

Darxton, EtherCat?
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
https://www.youtube.com/watch?v=JU2lFg1rwgg
Darxton писал(а):лучше стойку поставим комплектную....
:good: , а то можно бесконечно
UAVpilot писал(а):править исходники
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 622
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение Darxton »

FLUKE писал(а):Darxton, EtherCat?
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
Сыро, информации 0. Может через года 3 можно будет. А пока это авантюра чистой воды.
Тогда уж правда на сервы мицубиши завязаться.
FLUKE писал(а): Darxton писал(а):
лучше стойку поставим комплектную....
:good: , а то можно бесконечно
Ды оно конечно хорошо, но хочется 4 оси, стол поворотный там поставить и т.п., а тут сразу цены уже саааавсем другие получаются.
В общем думаем пока.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение merkwurdigliebe »

какой там протокол у энкодера на моторе совершенно не важно, с ним же сервоусилитель общается (ну, обычно)

при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.

в усилках с pulse train управлением тоже есть возможность сделать поддержку абс позиции, но это довольно геморройно. и у каждого производителя по-своему. у мицубиси контроллер может прочитать позицию мотора используя несколько GPIO сигналов. но это надо делать аккуратно и вдумчиво (например, мотор может повернуться, пока контроллер читает позицию) при каждом включении усилка (контроллер должен это ловить).

ну еще вариант - управление усилками по скорости, абсолютные линейки и PID по позиции - в linuxcnc
DmitriiNT
Кандидат
Сообщения: 56
Зарегистрирован: 11 дек 2019, 20:17
Репутация: 6
Настоящее имя: Дмитрий
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение DmitriiNT »

Доброго Вам!
Только аналогичную тему хотел открыть. :D
Сейчас собираем робота манипулятора типа SCARA для покраски изделий. Тоже вопрос по энкодерам открыт. Пока остановился на магнитном абсолютном энкодере на базе AS5048 (A или B) разрешение 14 бит, интерфейс I2c или SPI соответственно, есть ШИМ - пока не выбрал что проще в LinuxCNC завести. А может компонент простенький написать, что бы каждый base-period измерял длительность импульса ШИМ-а и пересчитывал в угловые координаты.
Что посоветуете?
Обнуление в LinuxCNC можно отключить
NO_FORCE_HOMING = 1 - станок не будет проситься в дом.
Другой вариант, - всё, что связано с хомлением осей в INI файле (все скорости, офсеты, очередности и т.д. выставить в = ноль). Тогда при включении станок будет считать, что уже ездил в дом, а координаты считаются с энкодеров. - для асолютного энкодера самое то, что надо. Сугубо ИМХО.
DmitriiNT
Кандидат
Сообщения: 56
Зарегистрирован: 11 дек 2019, 20:17
Репутация: 6
Настоящее имя: Дмитрий
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение DmitriiNT »

merkwurdigliebe писал(а):при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
А можете пример из hal файла показать?
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: Абсолютные энкодеры в LinuxCNC

Сообщение merkwurdigliebe »

DmitriiNT писал(а):А можете пример из hal файла показать?
https://github.com/yur7aev/linuxcnc/blo ... yx/nyx.hal
Ответить

Вернуться в «LinuxCNC»