Страница 1 из 2
Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 12:56
Darxton
Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 13:15
aftaev
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 13:33
Darxton
Ну как я понял, это же для Мицубиси исключительно
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 13:37
aftaev
Darxton писал(а):Ну как я понял, это же для Мицубиси исключительно
Зато все готовое.
Абс. энкодеры разные есть, с разным передачи данных.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 13:39
Dimka
Darxton, а абсолютные энкодеры необходимы или тупо есть моторы с абс. энкодерами и их надо использовать? В Яскаве абсолютный энкодер, вроде, в настройках на инкрементальный переключить можно..
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 13:44
Darxton
Dimka писал(а):Darxton, а абсолютные энкодеры необходимы
Ну как бы необходимы. Вся затея чтобы не занулять станок.
aftaev писал(а):Зато все готовое.
Зато с привязкой мало того, что к мицубиси, так еще и к этой плате. смысл в отсутствии привязки. если привязки не избежать, мы лучше стойку поставим комплектную....
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 14:05
MX_Master
Протокол передачи данных у абсолютных энкодеров какой?
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 14:26
Darxton
MX_Master писал(а):Протокол передачи данных у абсолютных энкодеров какой?
а какой надо? )
Пока нет ни энкодеров, ни системы ЧПУ. Изучаем вообще возможность и наиболее простые пути.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 15:24
MX_Master
ОК, давайте с другой стороны. Какое железо будете использовать для работы
LinuxCNC?
Варианты:
- Материнская плата с LPT портом + любая плата развязки
- Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
- Материнская плата с PCI портом + какая-то из PCI плат Mesa
- Raspberry Pi 4 + какая-то из Ethernet плат Mesa
- Orange Pi + какая-то из Ethernet плат Mesa
- Orange Pi + любая плата развязки
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 15:32
Darxton
Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
Материнская плата с PCI портом + какая-то из PCI плат Mesa
Raspberry Pi 4 + какая-то из Ethernet плат Mesa
Orange Pi + какая-то из Ethernet плат Mesa
что-то из этого. Первые два скорее всего. Может не совсем меса, может попробуем платы от smd taxi. Только они кажись этого не позволят...
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 15:32
xenon-alien
MX_Master писал(а):Материнская плата с LPT портом + любая плата развязки
Неужели хватит входящих пинов для для трех энкодеров + обычная разводка на LPT порте?
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 15:48
Serg
Darxton писал(а):Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
Недавно в какой-то теме тут писал.
Поддерживаются, но частично - к Mesa подключить можно (SSI), не знаю выложена-ли готовая прошивка, раньше её давали по запросу под твой набор плат.
В LinuxCNC пока без обнуления работать правильно не будет. Чтобы не обнуляться нужно править исходники, немного, но нужно. Пока, у тех, кто это может не было такой нужды/энкодеров.
Имеет смысл освежить эти сведения на форуме LinuxCNC, может есть подвижки.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 15:57
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 входы.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 18 мар 2020, 21:14
Impartial
В большинстве оптических абсолютных энкодерах первичный протокол SSI.
Посмотреть как это работает можно в описании AEAT-9000
https://www.broadcom.com/products/motio ... 9000-1gsh0
Обработать можно обычным SPI, применив в качестве драйверов чипы RS485.
В двигателях обычно стоят резольверы. Самый надежный вариант, но обработать сложнее.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 08:16
FLUKE
Darxton, EtherCat?
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
https://www.youtube.com/watch?v=JU2lFg1rwgg
Darxton писал(а):лучше стойку поставим комплектную....

, а то можно бесконечно
UAVpilot писал(а):править исходники
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 11:22
Darxton
Сыро, информации 0. Может через года 3 можно будет. А пока это авантюра чистой воды.
Тогда уж правда на сервы мицубиши завязаться.
FLUKE писал(а): Darxton писал(а):
лучше стойку поставим комплектную....

, а то можно бесконечно
Ды оно конечно хорошо, но хочется 4 оси, стол поворотный там поставить и т.п., а тут сразу цены уже саааавсем другие получаются.
В общем думаем пока.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 15:08
merkwurdigliebe
какой там протокол у энкодера на моторе совершенно не важно, с ним же сервоусилитель общается (ну, обычно)
при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
в усилках с pulse train управлением тоже есть возможность сделать поддержку абс позиции, но это довольно геморройно. и у каждого производителя по-своему. у мицубиси контроллер может прочитать позицию мотора используя несколько GPIO сигналов. но это надо делать аккуратно и вдумчиво (например, мотор может повернуться, пока контроллер читает позицию) при каждом включении усилка (контроллер должен это ловить).
ну еще вариант - управление усилками по скорости, абсолютные линейки и PID по позиции - в linuxcnc
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 17:05
DmitriiNT
Доброго Вам!
Только аналогичную тему хотел открыть.
Сейчас собираем робота манипулятора типа SCARA для покраски изделий. Тоже вопрос по энкодерам открыт. Пока остановился на магнитном абсолютном энкодере на базе AS5048 (A или B) разрешение 14 бит, интерфейс I2c или SPI соответственно, есть ШИМ - пока не выбрал что проще в LinuxCNC завести. А может компонент простенький написать, что бы каждый base-period измерял длительность импульса ШИМ-а и пересчитывал в угловые координаты.
Что посоветуете?
Обнуление в LinuxCNC можно отключить
NO_FORCE_HOMING = 1 - станок не будет проситься в дом.
Другой вариант, - всё, что связано с хомлением осей в INI файле (все скорости, офсеты, очередности и т.д. выставить в = ноль). Тогда при включении станок будет считать, что уже ездил в дом, а координаты считаются с энкодеров. - для асолютного энкодера самое то, что надо. Сугубо ИМХО.
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 17:29
DmitriiNT
merkwurdigliebe писал(а):при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
А можете пример из hal файла показать?
Re: Абсолютные энкодеры в LinuxCNC
Добавлено: 19 мар 2020, 17:52
merkwurdigliebe
DmitriiNT писал(а):А можете пример из hal файла показать?
https://github.com/yur7aev/linuxcnc/blo ... yx/nyx.hal