Страница 69 из 70

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

Добавлено: 10 сен 2022, 17:17
AndreyFly
MX_Master писал(а): 10 сен 2022, 06:47
Рекомендую снять корпус контроллера и сделать фотки платы со всех сторон.
Контроллер stm32f207.
Сразу попутный вопрос. Есть где нибудь обсуждение или инструкция, по привязке данного контроллера к LinuxCNC? Или ip адрес остается стандартным как в mach3, и просто настраиваем как обычный ethernet контроллер?
Контроллер планирую на токарный ставить.

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

Добавлено: 10 сен 2022, 19:29
MX_Master
AndreyFly писал(а): Сразу попутный вопрос. Есть где нибудь обсуждение или инструкция, по привязке данного контроллера к LinuxCNC? Или ip адрес остается стандартным как в mach3, и просто настраиваем как обычный ethernet контроллер?
В моём варианте IP адреса не нужны. Используется более низкий уровень связи, с адресацией по MAC адресу. Все инструкции внутри PDF файла в первом сообщении темы viewtopic.php?f=15&t=33810

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

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

22-35-30_27.01.2023.png (3983 просмотра) <a class='original' href='./download/file.php?id=206478&sid=731cdd4510cbfb85d0a016eb22497490&mode=view' target=_blank>Загрузить оригинал (265.79 КБ)</a>
22-36-06_27.01.2023.png (3983 просмотра) <a class='original' href='./download/file.php?id=206479&sid=731cdd4510cbfb85d0a016eb22497490&mode=view' target=_blank>Загрузить оригинал (267.09 КБ)</a>

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

Добавлено: 06 фев 2023, 00:38
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 мкс это время всего серво цикл или только отправка и получение ответа одной команды?

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

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

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

Добавлено: 21 мар 2023, 17:50
Dons
Здравствуйте. Не могу найти нигде путевый и не очень дорогой контроллер для 6 осей (gpio/stepdir/encoder) с управлением из под Windows/LinuxCNC. Ваше предложение актуально для сборки плат на основе ПЛИС?

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

Добавлено: 25 мар 2023, 20:31
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 счеьчиков. 😳

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

Добавлено: 31 мар 2023, 20:54
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.

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

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

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

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

ЗЫ При желании и поддержке можем запилить плагины контроллера к таким системам как Mach3 и Mach4

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

Добавлено: 18 июн 2023, 15:02
alex_sar
Интересно!
MX_Master писал(а): Контроллер общается с LinuxCNC обычным текстом по протоколу UDP
А какие тайминги получаются? Как часто успевает обмениваться? и по step/encoder какие получились ограничения?

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

Добавлено: 18 июн 2023, 15:28
MX_Master
Обмен ~ 2мс, сервоцикл лучше от 3мс ставить. Генераторы шагов и счётчики энкодеров - программные, всё можно назначать на любые пины. Частота в пределах 200 КГц укладывается.

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

Добавлено: 23 июн 2023, 09:27
web123456
Здравствуйте! Сколько стоит прошивка. Инструкция будет. QtPlasmaC будет работать Linuxcnc 2.9. какой комп подойдёт для этой платы ?

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

Добавлено: 23 июн 2023, 10:04
daiman444
Ну, вот так вот, как-то:
https://youtu.be/ORZRKNVpapo

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

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

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

ЗЫ_2 продажа прошивок, по сути, никому не нужна. Люди должны получить за свои деньги реальное решение своих задач, а не новую пачку проблем. Заказ запчастей с одного места, покупка софта в другом, паяние развязок в третьем - это, мягко говоря, для очень очень сильных энтузиастов :hehehe: я бы сам предпочёл купить всё в одном месте с доставкой за неделю и с настройкой за 5-10 минут. К этому и будем стремиться :beer_blow:

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

Добавлено: 23 июн 2023, 12:41
sima8520
Михаил, Вы выбрали правильного компаньона (помощника)
Желаю Вам удачи! Дима мега умный и способный человек, знаю не понаслышке
У вас всё получится
По поводу плаг энд плэй - вы всё верно решили. Это будет самое удачное и единственно верное решение.

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

Добавлено: 23 июн 2023, 16:45
MX_Master
Забыл сказать.. Если кому-то будет мало пинов, степгенов и энкодеров, к компу можно подключить одновременно несколько контроллеров через Ethernet свитч/хаб. Прямо сейчас драйвер позволяет до 8 штук. Каждому контроллеру надо задать свой IP адрес через конфигуратор.

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

Добавлено: 09 июл 2023, 06:28
romanetz
Верное решение, в litexcnc к тому же пришли, единственное, я счас daisy chain дописываю, чтобы пакеты "не себе" пересылались во второй порт. P. S. Время обработки пакета в плисе и пересылки туда-назад - в 10 микросекунд укладывается.

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

Добавлено: 09 июл 2023, 09:18
MX_Master
romanetz писал(а): Время обработки пакета в плисе и пересылки туда-назад - в 10 микросекунд укладывается.
И это прекрасно. Примерно такие же результаты, я получал, когда не использовал в микроконтроллере никаких сетевых библиотек. Мы к этому способу чуть позже подойдём, пока что используется китайская закрытая версия lwip

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

Добавлено: 13 июл 2023, 13:16
romanetz
Тут я сильно сомневаюсь, у вас 10 мбит же физика? а в плисе в 100 раз быстрее.

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

Добавлено: 13 июл 2023, 23:46
mmv
Минимальный фрейм 60 байт. 60 туда, 60 обратно итого 120 байт или 1200 бит будет передаваться по физике. На скорости 10Mb, только это занимает больше 100 микросекунд.