Абсолютные энкодеры в LinuxCNC
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Абсолютные энкодеры в LinuxCNC
Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Это для серв с абс. энкодером Контроллер YSSC2P для серво Mitsubishi SSCNET-II (MR-J2S-B) #1
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Ну как я понял, это же для Мицубиси исключительноaftaev писал(а):Это для серв с абс. энкодером Контроллер YSSC2P для серво Mitsubishi SSCNET-II (MR-J2S-B) #1
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Зато все готовое.Darxton писал(а):Ну как я понял, это же для Мицубиси исключительно
Абс. энкодеры разные есть, с разным передачи данных.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Dimka
- Мастер
- Сообщения: 1389
- Зарегистрирован: 14 июл 2016, 23:40
- Репутация: 344
- Настоящее имя: Дима
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Darxton, а абсолютные энкодеры необходимы или тупо есть моторы с абс. энкодерами и их надо использовать? В Яскаве абсолютный энкодер, вроде, в настройках на инкрементальный переключить можно..
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Ну как бы необходимы. Вся затея чтобы не занулять станок.Dimka писал(а):Darxton, а абсолютные энкодеры необходимы
Зато с привязкой мало того, что к мицубиси, так еще и к этой плате. смысл в отсутствии привязки. если привязки не избежать, мы лучше стойку поставим комплектную....aftaev писал(а):Зато все готовое.
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Протокол передачи данных у абсолютных энкодеров какой?
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
а какой надо? )MX_Master писал(а):Протокол передачи данных у абсолютных энкодеров какой?
Пока нет ни энкодеров, ни системы ЧПУ. Изучаем вообще возможность и наиболее простые пути.
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
ОК, давайте с другой стороны. Какое железо будете использовать для работы LinuxCNC?
Варианты:
Варианты:
- Материнская плата с LPT портом + любая плата развязки
- Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
- Материнская плата с PCI портом + какая-то из PCI плат Mesa
- Raspberry Pi 4 + какая-то из Ethernet плат Mesa
- Orange Pi + какая-то из Ethernet плат Mesa
- Orange Pi + любая плата развязки
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
что-то из этого. Первые два скорее всего. Может не совсем меса, может попробуем платы от smd taxi. Только они кажись этого не позволят...Материнская плата с Ethernet портом + какая-то из Ethernet плат Mesa
Материнская плата с PCI портом + какая-то из PCI плат Mesa
Raspberry Pi 4 + какая-то из Ethernet плат Mesa
Orange Pi + какая-то из Ethernet плат Mesa
Последний раз редактировалось Darxton 18 мар 2020, 15:33, всего редактировалось 1 раз.
- xenon-alien
- Почётный участник
- Сообщения: 4510
- Зарегистрирован: 01 янв 2013, 13:13
- Репутация: 920
- Настоящее имя: Daniel
- Откуда: Закарпатская обл. Украина
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Неужели хватит входящих пинов для для трех энкодеров + обычная разводка на LPT порте?MX_Master писал(а):Материнская плата с LPT портом + любая плата развязки
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Недавно в какой-то теме тут писал.Darxton писал(а):Есть желание на один станок накрутить LCNC, и поставить на него же моторы с абсолютными энкодерами.
Поскольку LCNC мы никогда еще не ставили, то соот-но про него почти ничего не знаем. Оно это поддерживает вообще? Если да, то какие требования к платам на стороне LCNC, и какие - к энкодерам? И много ли потом его допиливать?
Поддерживаются, но частично - к Mesa подключить можно (SSI), не знаю выложена-ли готовая прошивка, раньше её давали по запросу под твой набор плат.
В LinuxCNC пока без обнуления работать правильно не будет. Чтобы не обнуляться нужно править исходники, немного, но нужно. Пока, у тех, кто это может не было такой нужды/энкодеров.
Имеет смысл освежить эти сведения на форуме LinuxCNC, может есть подвижки.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Насколько я понял из интернетов, популярный протокол передачи у абсолютных энкодеров - это SSI. А сигнал - дифференциальный (-5..+5V). На плате от smd taxi, только TTL входы (0..+5V). Но это ещё не всё, для работы с абсолютными энкодерами нужен ещё и спец драйвер. Не уверен, что такой есть для плат от smd taxi. А вот для плат Mesa такой драйвер был. Правда, прошивку для FPGA надо тоже смотреть. Как всё это дело работает лучше меня знает дядя Серёжа (UAVpilot).Darxton писал(а):что-то из этого. Первые два скорее всего. Может не совсем меса, может попробуем платы от smd taxi. Только они кажись этого не позволят...
Вощем, можно что-то из Ethernet плат Mesa (например 7i92) + доп. плата c RS485/RS422 входами. Я, кстати, не большой знаток плат Mesa. Возможно, есть цельная Ethernet плата с нужным набором выходов + RS485/RS422 входы.
-
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
В большинстве оптических абсолютных энкодерах первичный протокол SSI.
Посмотреть как это работает можно в описании AEAT-9000 https://www.broadcom.com/products/motio ... 9000-1gsh0
Обработать можно обычным SPI, применив в качестве драйверов чипы RS485.
В двигателях обычно стоят резольверы. Самый надежный вариант, но обработать сложнее.
Посмотреть как это работает можно в описании AEAT-9000 https://www.broadcom.com/products/motio ... 9000-1gsh0
Обработать можно обычным SPI, применив в качестве драйверов чипы RS485.
В двигателях обычно стоят резольверы. Самый надежный вариант, но обработать сложнее.
- FLUKE
- Мастер
- Сообщения: 843
- Зарегистрирован: 11 мар 2013, 21:18
- Репутация: 187
- Настоящее имя: Сергей
- Откуда: Смоленск
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Darxton, EtherCat?
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
https://www.youtube.com/watch?v=JU2lFg1rwgg
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
https://www.youtube.com/watch?v=JU2lFg1rwgg
, а то можно бесконечноDarxton писал(а):лучше стойку поставим комплектную....
UAVpilot писал(а):править исходники
-
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 622
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Сыро, информации 0. Может через года 3 можно будет. А пока это авантюра чистой воды.FLUKE писал(а):Darxton, EtherCat?
http://www.cnc-club.ru/forum/viewtopic. ... at#p538521
-No homing -
Тогда уж правда на сервы мицубиши завязаться.
Ды оно конечно хорошо, но хочется 4 оси, стол поворотный там поставить и т.п., а тут сразу цены уже саааавсем другие получаются.FLUKE писал(а): Darxton писал(а):
лучше стойку поставим комплектную....
, а то можно бесконечно
В общем думаем пока.
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
какой там протокол у энкодера на моторе совершенно не важно, с ним же сервоусилитель общается (ну, обычно)
при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
в усилках с pulse train управлением тоже есть возможность сделать поддержку абс позиции, но это довольно геморройно. и у каждого производителя по-своему. у мицубиси контроллер может прочитать позицию мотора используя несколько GPIO сигналов. но это надо делать аккуратно и вдумчиво (например, мотор может повернуться, пока контроллер читает позицию) при каждом включении усилка (контроллер должен это ловить).
ну еще вариант - управление усилками по скорости, абсолютные линейки и PID по позиции - в linuxcnc
при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
в усилках с pulse train управлением тоже есть возможность сделать поддержку абс позиции, но это довольно геморройно. и у каждого производителя по-своему. у мицубиси контроллер может прочитать позицию мотора используя несколько GPIO сигналов. но это надо делать аккуратно и вдумчиво (например, мотор может повернуться, пока контроллер читает позицию) при каждом включении усилка (контроллер должен это ловить).
ну еще вариант - управление усилками по скорости, абсолютные линейки и PID по позиции - в linuxcnc
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 11 дек 2019, 20:17
- Репутация: 6
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
Доброго Вам!
Только аналогичную тему хотел открыть.
Сейчас собираем робота манипулятора типа SCARA для покраски изделий. Тоже вопрос по энкодерам открыт. Пока остановился на магнитном абсолютном энкодере на базе AS5048 (A или B) разрешение 14 бит, интерфейс I2c или SPI соответственно, есть ШИМ - пока не выбрал что проще в LinuxCNC завести. А может компонент простенький написать, что бы каждый base-period измерял длительность импульса ШИМ-а и пересчитывал в угловые координаты.
Что посоветуете?
Обнуление в LinuxCNC можно отключить
NO_FORCE_HOMING = 1 - станок не будет проситься в дом.
Другой вариант, - всё, что связано с хомлением осей в INI файле (все скорости, офсеты, очередности и т.д. выставить в = ноль). Тогда при включении станок будет считать, что уже ездил в дом, а координаты считаются с энкодеров. - для асолютного энкодера самое то, что надо. Сугубо ИМХО.
Только аналогичную тему хотел открыть.
Сейчас собираем робота манипулятора типа SCARA для покраски изделий. Тоже вопрос по энкодерам открыт. Пока остановился на магнитном абсолютном энкодере на базе AS5048 (A или B) разрешение 14 бит, интерфейс I2c или SPI соответственно, есть ШИМ - пока не выбрал что проще в LinuxCNC завести. А может компонент простенький написать, что бы каждый base-period измерял длительность импульса ШИМ-а и пересчитывал в угловые координаты.
Что посоветуете?
Обнуление в LinuxCNC можно отключить
NO_FORCE_HOMING = 1 - станок не будет проситься в дом.
Другой вариант, - всё, что связано с хомлением осей в INI файле (все скорости, офсеты, очередности и т.д. выставить в = ноль). Тогда при включении станок будет считать, что уже ездил в дом, а координаты считаются с энкодеров. - для асолютного энкодера самое то, что надо. Сугубо ИМХО.
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 11 дек 2019, 20:17
- Репутация: 6
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
А можете пример из hal файла показать?merkwurdigliebe писал(а):при управлении сервоприводами по позиции по цифровой шине поддержка абсолютных энкодеров в linuxcnc получается просто и естественно т.к. задание и фидбэк на шине - уже позиция в виде 32-битного числа. единственное отличие при использовании моторов с абс. энкодерами - это число не обнуляется при выключении усилка (грубо говоря). я только добавил в linuxcnc пины, которые позволяют взвести флаг "homed" для joint'ов и сохранение смещения (machine_position - motor_position) вместо позиции в pos файл при выходе.
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Абсолютные энкодеры в LinuxCNC
https://github.com/yur7aev/linuxcnc/blo ... yx/nyx.halDmitriiNT писал(а):А можете пример из hal файла показать?