Ethernet контроллер для LinuxCNC (STM32, FPGA)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

MX_Master писал(а): которая настроена и предназначена только для их контроллера - это ни разу не общедоступная система
Если присмотреться повнимательнее, то можно заметить, что коробочка с ответным LPT разъёмом лежит на коробочке побольше с такой знакомой синенькой наклеечкой... :)
Можно конечно доки почитать про состав комплекта, или хотя-бы местную тему про PathPilot, но это уже "высший пилотаж". :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Ну шо там читать про этот мини ПК с месой за 900 уёв..
Налетай, торопись, покупай, насладись..
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

Вот видишь, уже оказывается и ПК в комплекте, да и Mesa общедоступная... :) Так можно и про опыты с запуском с LPT найти... :)
Можно будет даже поправку на американские цены не учитывать. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Serg писал(а): Вот видишь, уже оказывается и ПК в комплекте, да и Mesa общедоступная...
и цена доступная :hehehe:
Serg писал(а): Так можно и про опыты с запуском с LPT найти...
Дядя Серёжа, я сам эти опыты проводил. Ты меня в той теме про PathPilot ни разу не видел? :hehehe:

Тормах продаёт настроенный комплект софта и железа. И из коробки оно работает только с ним. Если кто-то хочет руками поковырять и поэкспериментировать, это его личное желание. Точь такие же ковыряния доступны и в обычном LinuxCNC за куда меньшие деньги :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

Ждём настроенный комплект железа за $140 ($25 PathPilot + $100 Mesa + ~$15 плата развязки). Можно без компа. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Я опыты с PathPilot проводил, но бросил, ибо никто не гарантирует, что производитель не закроет эту лавочку халявы. Так-то для себя люди пользуются, но не кричат об этом. И довольны. Так что даже без меня народ может пользоваться уже сейчас.

Мой же основной посыл в ещё одном ЧПУ на основе LinuxCNC - в свободе выбора железа и простоте настройки на лету. Чтобы интерфейс сам умел настраивать всю внутрянку LinuxCNC. Какие-то мастера для токарки/фрезера можно будет добавить также как в PathPilot.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

С большим трудом доделал для контроллера NVEM аппаратный вывод шагов на 6 осей. Всё работает на одном аппаратном таймере. Вывод очень ровный без скачков скважности. Правда, есть одна печалька. Если юзать все 6 осей одновременно, то с каждой оси можно выдавить до 200 КГц. Если юзать, к примеру, 3 оси, то до 400 КГц.

Никогда ещё так не извращался с выводом импульсов на STM32. Но тут, из-за, неправильной разводки контроллера, пришлось. Внутри контроллера крутится свой сервопериод (1000мкс). После приказа с ПК о смене частот вывода для разных каналов, процессор вручную собирает массив из команд для GPIO порта PE. А в следующем сервопериоде DMA переносит этот массив в регистр GPIO->BSSR порта PE. Самая медленная часть (кто-то мог догадаться) это ручная сборка массива данных для последующей отправки в порт. Если одновременно махнуть частоту всех осей на 200 КГц, сборка массива занимает до 800 мкс. А сервопериод всего 1000 мкс. Вощем, еле еле успевает. Дальше собранный массив используется повторно, если частоты не меняются. Но в пике нагрузки получается вот так. Можно, канеш, всё это дальше оптимизировать и растянуть сервопериод до 2000 мкс (и в контроллере, и в LinuxCNC). Но это уже не так важно, ибо узкие места такого аппаратного вывода уже на лицо.

Есть и другие способы вывода. Только нужно иметь ввиду, что в наличии только 2 аппаратных таймера, которые через DMA имеют доступ к GPIO. К примеру, можно 2 оси сделать полностью с аппаратным выводом на мегагерцы, а все остальные оси будут на программном выводе до 200 КГц. Есть вариант распределить работу между двумя аппаратными таймерами. С помощью одного выводить частоты пониже, на другом частоты повыше. И т.д. и т.п... Вощем, тягомотина ещё та. Надо рассмотреть другие варианты контроллера..
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Аппаратные возможности STM32, конечно, хороши. Но такие простые задачи, как вывод импульсов с заданной частотой и их подсчёт, могут вынести прогеру мозг :hehehe: Всё-таки, придётся присмотреться и к плисинкам..

Неоднократно натыкался в китайских магазинах на мега бюджетные контроллеры для LED матриц. Цена плавает где-то до 20$. На таобао ещё дешевле. Что мы тут имеем - увесистая плисинка, ОЗУ, флэшка, 2 гигабитных Ethernet, жменька 3V3-5V конвертеров. Чем-то похоже на mesa 7i92. Инфа с https://github.com/q3k/chubby75. Софт, канеш, придётся самому запилить. Но вкупе с народными платами развязки (по 5$), комплект получится мега бюджетный.

cl-5a-75e-v71-back.jpg (958 просмотров) <a class='original' href='./download/file.php?id=192754&mode=view' target=_blank>Загрузить оригинал (1.41 МБ)</a>
cl-5a-75b-v70-back.jpg (958 просмотров) <a class='original' href='./download/file.php?id=192755&mode=view' target=_blank>Загрузить оригинал (1.21 МБ)</a>
front_annotated.jpg (958 просмотров) <a class='original' href='./download/file.php?id=192756&mode=view' target=_blank>Загрузить оригинал (795.59 КБ)</a>
cl-5a-75e-v71-front.jpg (958 просмотров) <a class='original' href='./download/file.php?id=192757&mode=view' target=_blank>Загрузить оригинал (1.47 МБ)</a>
cl-5a-75b-v61-front-annotated.jpg (958 просмотров) <a class='original' href='./download/file.php?id=192758&mode=view' target=_blank>Загрузить оригинал (1.53 МБ)</a>
Последний раз редактировалось MX_Master 27 фев 2021, 12:04, всего редактировалось 1 раз.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

Интересная плата.
На ней стоит попробовать и LinuxCNC запустить.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение mmv »

А есть документация на broadcom чипы ethernet?
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Доки можно, канеш, в тырнетах найти. Но автор реверс инжиниринга положил нужные доки в свою репку - https://github.com/q3k/chubby75/blob/ma ... 07-RDS.pdf
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение mmv »

Посмотрим
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Собсна, примеры цен:
https://www.aliexpress.com/item/4000899407566.html - 19$
https://www.aliexpress.com/item/4000899322921.html - 15$

Я, кстати, удивлён, что никто эти платы до сих пор не использует как ЧПУ контроллеры :hehehe: Цена, реально, 5 копеек в сравнении со всеми другими вариантами. И, по-моему, плисина LFE5U-25F-6BG256C будет побащще раза в 2-3 чем та, что на месах.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

MX_Master писал(а): И, по-моему, плисина LFE5U-25F-6BG256C будет побащще раза в 2-3 чем та, что на месах.
А как ты их сравнивал?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

[/b]
Serg писал(а): LFE5U-25F-6BG256C
Сравнивать можно по цифре 25. Это количество LUT * 1000.
В эту влезет 32 разрядный процессор с плавающей точкой и много разной периферии.
drykov
Кандидат
Сообщения: 58
Зарегистрирован: 03 мар 2019, 01:59
Репутация: 13
Настоящее имя: Дмитрий
Откуда: Тверь
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение drykov »

Ничего не понимаю в FPGA. Но вижу по фото что простейшая 7i92 сделана на XC6SLX9, а RV901T на XC6SLX16. Не будет ли проще собрать на ней опенсорсный hostmot2 чем писать на LFE5U прошивку с нуля? Чипы ethernet конечно разные, но наверно это решаемо.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Serg писал(а): А как ты их сравнивал?..
Я очень далёк от FPGA, поэтому сравнил по базовым параметрам
https://www.digikey.com/en/products/det ... 4C/2339919
https://www.digikey.com/en/products/det ... 6C/9553918
drykov писал(а): Ничего не понимаю в FPGA. Но вижу по фото что простейшая 7i92 сделана на XC6SLX9, а RV901T на XC6SLX16. Не будет ли проще собрать на ней опенсорсный hostmot2 чем писать на LFE5U прошивку с нуля? Чипы ethernet конечно разные, но наверно это решаемо.
В этом месте всегда возникает один и тот же вопрос, какой герой согласится сделать это всё за бесплатно :cry:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

MX_Master писал(а): Я очень далёк от FPGA, поэтому сравнил по базовым параметрам
Для FPGA/CPLD этот способ не работает, ибо каждый производитель считает то, что ему больше нравится, да ещё и назвает то, что считает как ему нравится. Например один считает некие логические блоки (здесь и далее названия условные), другой считает логические элементы, из которых состоят эти блоки, например некий логический блок может состоять из нескольких элементов типа and, or, not и триггера, а логические элементы могут состоять из вентелей. И простое масштабирование здесь не работает, ибо когда например ты синтезируешь сколько-то разрядный счётчик, то в блоках могут быть задействованы только триггеры, а простые лог. элементы задействованных блоков останутся "лежать мёртвым грузом". А когда производитель указывает количество лог. элементов, то это не означает, что каждый из них ты сможешь использовать по делу.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение Сергей Саныч »

MX_Master писал(а): Софт, канеш, придётся самому запилить. Но вкупе с народными платами развязки (по 5$), комплект получится мега бюджетный.
А потом китайцы выпустят чуток измененный вариант платы, и что с этим софтом делать?
...и пошли они, солнцем палимы... (c)
Impartial писал(а): На ней стоит попробовать и LinuxCNC запустить.
Разве что для самоудовлетворения саморазвития.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Serg писал(а): Для FPGA/CPLD этот способ не работает, ибо каждый производитель считает то, что ему больше нравится, да ещё и назвает то, что считает как ему нравится
Понятно :) Но если сравнивать грубо, то LFE5U-25F-6BG256C как минимум не хуже XC6SLX9. Это я не в защиту первого, а в целях показать, что и там, и там можно разместить хотя бы равноценный функционал.
Сергей Саныч писал(а): А потом китайцы выпустят чуток измененный вариант платы, и что с этим софтом делать?
...и пошли они, солнцем палимы... (c)
Во-первых, схемы, описания и сканы плат общедоступны. Если платы вдруг исчезнут, но будет желание заказать такие же платы с монтажом в другом месте, большого труда это не составит. По ценам надо будет смотреть по месту, но выйдет явно не дороже плат меса. Ну а, во-вторых, готовые платы с STM32 могут исчезнуть точь также. И придётся мастерить что-то своё, или заказывать клоны с монтажом в других местах. Иными словами, сценарий во всех случаях одинаковый.

Работ по софту, если что, достаточно много и на микроконтроллерах, и на плисинах. Но в пользу плисин идёт в зачёт более простая переброска функционала и выходов, от ситуации. С микроконтроллерами такие фокусы практически не работают. Что-то там добавить можно только на программном уровне, а IO аппаратных средств практически намертво привязаны к определенным ножкам. От чего, собсна, и мучаюсь на уже готовом контроллере.
Ответить

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