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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
AndreyFly
Новичок
Сообщения: 3
Зарегистрирован: 09 сен 2022, 19:00
Репутация: 0
Настоящее имя: Андрей Николаевич
Контактная информация:

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

Сообщение AndreyFly »

MX_Master писал(а): 10 сен 2022, 06:47
Рекомендую снять корпус контроллера и сделать фотки платы со всех сторон.
Контроллер stm32f207.
Сразу попутный вопрос. Есть где нибудь обсуждение или инструкция, по привязке данного контроллера к LinuxCNC? Или ip адрес остается стандартным как в mach3, и просто настраиваем как обычный ethernet контроллер?
Контроллер планирую на токарный ставить.
Вложения
20220910_200533.jpg (4077 просмотров) <a class='original' href='./download/file.php?id=204807&sid=99819f7409fad23365a9ef09a6885e7b&mode=view' target=_blank>Загрузить оригинал (2.26 МБ)</a>
20220910_200514.jpg (4077 просмотров) <a class='original' href='./download/file.php?id=204808&sid=99819f7409fad23365a9ef09a6885e7b&mode=view' target=_blank>Загрузить оригинал (2.08 МБ)</a>
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

AndreyFly писал(а): Сразу попутный вопрос. Есть где нибудь обсуждение или инструкция, по привязке данного контроллера к LinuxCNC? Или ip адрес остается стандартным как в mach3, и просто настраиваем как обычный ethernet контроллер?
В моём варианте IP адреса не нужны. Используется более низкий уровень связи, с адресацией по MAC адресу. Все инструкции внутри PDF файла в первом сообщении темы viewtopic.php?f=15&t=33810
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Отличные по цене и функционалу контроллеры CH32V307/CH579 успешно освоены. В чипы встроены аппаратные Ethernet трансиверы на 10 Мбит/с. И этого вполне достаточно, чтобы обеспечить пересылку и обработку команд в интервале до 500 мкс. В данный момент на базе CH32V307/CH579 выполнен внешний контроллер (gpio/stepdir/encoder) с управлением из под Windows. Управление под Linux сделать несложно. Если кому-то нужен очень бюджетный Ethernet контроллер для LinuxCNC, обращайтесь.

22-35-30_27.01.2023.png (3752 просмотра) <a class='original' href='./download/file.php?id=206478&sid=99819f7409fad23365a9ef09a6885e7b&mode=view' target=_blank>Загрузить оригинал (265.79 КБ)</a>
22-36-06_27.01.2023.png (3752 просмотра) <a class='original' href='./download/file.php?id=206479&sid=99819f7409fad23365a9ef09a6885e7b&mode=view' target=_blank>Загрузить оригинал (267.09 КБ)</a>
AndrewBu
Новичок
Сообщения: 1
Зарегистрирован: 06 фев 2023, 00:17
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

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

Сообщение AndrewBu »

MX_Master писал(а): 27 янв 2023, 21:22 Отличные по цене и функционалу контроллеры CH32V307/CH579 успешно освоены. В чипы встроены аппаратные Ethernet трансиверы на 10 Мбит/с. И этого вполне достаточно, чтобы обеспечить пересылку и обработку команд в интервале до 500 мкс. В данный момент на базе CH32V307/CH579 выполнен внешний контроллер (gpio/stepdir/encoder) с управлением из под Windows. Управление под Linux сделать несложно. Если кому-то нужен очень бюджетный Ethernet контроллер для LinuxCNC, обращайтесь.

22-35-30_27.01.2023.png
22-36-06_27.01.2023.png
Скажите пожалуйста.500 мкс это время всего серво цикл или только отправка и получение ответа одной команды?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

500мкс (на самом деле, 300-400мкс) - это время между пакетом с командой от ПК и пакетом с ответом от МК. Замерял с помощью Wireshark. На стороне контроллера обработка занимает где-то 10-20 мкс. На стороне ПК задержки чуть больше. Так что, всё вместе собирается в средние 500мкс. Сервоцикл, обычно, подлинее (1000мкс), поэтому времени у ПК для расчётов остаётся достаточно.
Dons
Новичок
Сообщения: 3
Зарегистрирован: 21 мар 2023, 15:01
Репутация: 0
Настоящее имя: Арт
Контактная информация:

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

Сообщение Dons »

Здравствуйте. Не могу найти нигде путевый и не очень дорогой контроллер для 6 осей (gpio/stepdir/encoder) с управлением из под Windows/LinuxCNC. Ваше предложение актуально для сборки плат на основе ПЛИС?
Dons
Новичок
Сообщения: 3
Зарегистрирован: 21 мар 2023, 15:01
Репутация: 0
Настоящее имя: Арт
Контактная информация:

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

Сообщение Dons »

MX_Master писал(а): 27 янв 2023, 21:22 Отличные по цене и функционалу контроллеры CH32V307/CH579 успешно освоены. В чипы встроены аппаратные Ethernet трансиверы на 10 Мбит/с. И этого вполне достаточно, чтобы обеспечить пересылку и обработку команд в интервале до 500 мкс. В данный момент на базе CH32V307/CH579 выполнен внешний контроллер (gpio/stepdir/encoder) с управлением из под Windows. Управление под Linux сделать несложно. Если кому-то нужен очень бюджетный Ethernet контроллер для LinuxCNC, обращайтесь.

22-35-30_27.01.2023.png
22-36-06_27.01.2023.png
Интересно сколько можно аппартных счётчиков рнализовать? Для подключения квадратурных энкодерв требуется две фазы, то есть два канала счетчиков на одну ось. Если на 6 осей, то 12 счеьчиков. 😳
Alex312
Новичок
Сообщения: 1
Зарегистрирован: 09 сен 2020, 19:08
Репутация: 0
Настоящее имя: Алексей
Контактная информация:

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

Сообщение Alex312 »

MX_Master писал(а): 27 янв 2023, 21:22 Отличные по цене и функционалу контроллеры CH32V307/CH579 успешно освоены. В чипы встроены аппаратные Ethernet трансиверы на 10 Мбит/с. И этого вполне достаточно, чтобы обеспечить пересылку и обработку команд в интервале до 500 мкс. В данный момент на базе CH32V307/CH579 выполнен внешний контроллер (gpio/stepdir/encoder) с управлением из под Windows. Управление под Linux сделать несложно. Если кому-то нужен очень бюджетный Ethernet контроллер для LinuxCNC, обращайтесь.
]

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

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

Сообщение MX_Master »

При поддержке одного из участников форума, (мои прямые, но долгие) руки, наконец-то, дошли до драйвера LinuxCNC к китайскому контроллеру CH32V307. ЧПУ софт контроллера был уже готов.

Контроллер можно купить буквально за пару копеек (7$), он доступен всем на АЛИ и ТАО. Дифицита ваще нет. До платы развязки у нас руки пока не дошли, но каждый может придумать то, что ему больше нравится. Фотка контроллера выше по теме.

Контроллер общается с LinuxCNC обычным текстом по протоколу UDP. Сетевые настройки (IP, порт и т.д) хранятся на SPI флэшке, распаянной на плате. Тестировать контроллер и менять его настройки можно ваще без LinuxCNC и на любой ОС, с помощью небольшого скрипта на питоне (3). Прошивается контроллер с помощью обычного USB Type C кабеля. В софте контроллера и в драйвере LinuxCNC доступны модули GPIO, STEPDIR и ENCODER. Конфиг для LinuxCNC уже на подходе, идёт тестирование.

ЗЫ При желании и поддержке можем запилить плагины контроллера к таким системам как Mach3 и Mach4
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

Интересно!
MX_Master писал(а): Контроллер общается с LinuxCNC обычным текстом по протоколу UDP
А какие тайминги получаются? Как часто успевает обмениваться? и по step/encoder какие получились ограничения?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Обмен ~ 2мс, сервоцикл лучше от 3мс ставить. Генераторы шагов и счётчики энкодеров - программные, всё можно назначать на любые пины. Частота в пределах 200 КГц укладывается.
web123456
Кандидат
Сообщения: 50
Зарегистрирован: 16 май 2017, 12:34
Репутация: 0
Откуда: Тимашевск
Контактная информация:

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

Сообщение web123456 »

Здравствуйте! Сколько стоит прошивка. Инструкция будет. QtPlasmaC будет работать Linuxcnc 2.9. какой комп подойдёт для этой платы ?
daiman444
Мастер
Сообщения: 304
Зарегистрирован: 18 май 2019, 15:24
Репутация: 31
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение daiman444 »

Ну, вот так вот, как-то:
https://youtu.be/ORZRKNVpapo
Американский форум: задал вопрос — получил ответ.
Израильский форум: задал вопрос — получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты м*дак.
https://youtube.com/channel/UCv22xgeww0FIzS9n4VrT2TA
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

web123456 писал(а): 23 июн 2023, 09:27 Здравствуйте! Сколько стоит прошивка. Инструкция будет. QtPlasmaC будет работать Linuxcnc 2.9. какой комп подойдёт для этой платы ?
Мы с Дмитрием (daiman444) пока ещё в процессе планирования. Многим нужен готовый контроллер, хотя бы с минимальной платой развязки. Сидеть с паяльником в руках - не для всех. И визуальный конфигуратор тоже люди хотят, чтобы не сидеть с INI/HAL файлами. Ну и, было бы неплохо, из под винды тоже настраивать. И всё это, как ни странно, есть у нас в планах. По ходу работы над контроллером будем всё это показывать и подробно рассказывать ;) Возможно, даже в отдельную тему выделим.

ЗЫ_1 работать будет с любой версией LinuxCNC и с любым интерфейсом :)

ЗЫ_2 продажа прошивок, по сути, никому не нужна. Люди должны получить за свои деньги реальное решение своих задач, а не новую пачку проблем. Заказ запчастей с одного места, покупка софта в другом, паяние развязок в третьем - это, мягко говоря, для очень очень сильных энтузиастов :hehehe: я бы сам предпочёл купить всё в одном месте с доставкой за неделю и с настройкой за 5-10 минут. К этому и будем стремиться :beer_blow:
Аватара пользователя
sima8520
Почётный участник
Почётный участник
Сообщения: 4501
Зарегистрирован: 24 ноя 2016, 23:35
Репутация: 1615
Настоящее имя: Илья
Откуда: Беларусь, Гомель
Контактная информация:

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

Сообщение sima8520 »

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

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

Сообщение MX_Master »

Забыл сказать.. Если кому-то будет мало пинов, степгенов и энкодеров, к компу можно подключить одновременно несколько контроллеров через Ethernet свитч/хаб. Прямо сейчас драйвер позволяет до 8 штук. Каждому контроллеру надо задать свой IP адрес через конфигуратор.
romanetz
Кандидат
Сообщения: 90
Зарегистрирован: 10 окт 2021, 08:13
Репутация: 77
Контактная информация:

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

Сообщение romanetz »

Верное решение, в litexcnc к тому же пришли, единственное, я счас daisy chain дописываю, чтобы пакеты "не себе" пересылались во второй порт. P. S. Время обработки пакета в плисе и пересылки туда-назад - в 10 микросекунд укладывается.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

romanetz писал(а): Время обработки пакета в плисе и пересылки туда-назад - в 10 микросекунд укладывается.
И это прекрасно. Примерно такие же результаты, я получал, когда не использовал в микроконтроллере никаких сетевых библиотек. Мы к этому способу чуть позже подойдём, пока что используется китайская закрытая версия lwip
romanetz
Кандидат
Сообщения: 90
Зарегистрирован: 10 окт 2021, 08:13
Репутация: 77
Контактная информация:

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

Сообщение romanetz »

Тут я сильно сомневаюсь, у вас 10 мбит же физика? а в плисе в 100 раз быстрее.
mmv
Мастер
Сообщения: 609
Зарегистрирован: 24 май 2016, 21:58
Репутация: 33
Контактная информация:

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

Сообщение mmv »

Минимальный фрейм 60 байт. 60 туда, 60 обратно итого 120 байт или 1200 бит будет передаваться по физике. На скорости 10Mb, только это занимает больше 100 микросекунд.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Ответить

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