Контроллер LinuxCNC на базе FPGA?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
raddd
Почётный участник
Почётный участник
Сообщения: 1564
Зарегистрирован: 10 фев 2015, 08:50
Репутация: 540
Настоящее имя: Alexey Rodionov
Откуда: Беларусь Минский р-н
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение raddd »

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

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение Serg »

Очень перегруженный интерфейс получается, например на экране много элементов, не нужных и не работающих в конкретных режимах.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение max73 »

UAVpilot писал(а):Очень перегруженный интерфейс получается, например на экране много элементов, не нужных и не работающих в конкретных режимах.
он вроде пальцетыкательным заявлен, может по этому? ну и женщина же :)
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение max73 »

raddd писал(а):Она всего лишь просит задонатить ей за .svg картинки.
Нарисовать то нарисовала.
А дальше?
да,я видел, но пока сам не глянул как в линуксснс делается интерфейс, ничего сказать не могу. Сегодня собираюсь водрузить его на тестовый комп.
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение max73 »

вот, нашел, у mycnc плата на которой стоит софт имеет такие параметры:

ARM 4 Core CPU 1500MHz
2G RAM
16G Flash
LAN
USB Wifi included;
4USB(3 available) connectors for external mouse, keyboard, USB flash disk, Wireless Pendant

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

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master »

max73 писал(а):вот, нашел, у mycnc плата на которой стоит софт имеет такие параметры
Это Odroid C2. На нём даже кто-то пытался запустить LinuxCNC некоторое время назад. Результатов не знаю.

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

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение Serg »

MX_Master писал(а):Это Odroid C2. На нём даже кто-то пытался запустить LinuxCNC некоторое время назад. Результатов не знаю.
Я запускал - работает, но с gmoccapy слегка притормаживает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
dvina
Новичок
Сообщения: 7
Зарегистрирован: 17 авг 2018, 06:32
Репутация: 0
Настоящее имя: Игорь
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение dvina »

А мне кажется идея интересная. Это могла бы быть замена PC + mesa в одной плате, а если еще и по цене как меса, то мне кажется был бы спрос. Надо только посмотреть какой-нибудь интерфейс к LCNC полегче или свой написать и собрать можно не на Debian, а на чем нибудь типа tyny linux
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master »

Как только попробуешь написать новый интерфейс с поддержкой OpenGLES, сразу поймёшь насколько хороша была идея в теории (:
FoX-R
Новичок
Сообщения: 18
Зарегистрирован: 22 фев 2017, 18:02
Репутация: 4
Настоящее имя: Роман
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение FoX-R »

Приветствую Всех!
Хочу поделится своим опытом.
Выражаю огромное спасибо отличному специалисту @Peter-van-Tol за его прошивку Litex-cnc!!!
В данный момент разработчик расширяет круг поддерживаемых плат.

Я использовал плату 5A-75E, она требует не сложной доработки. Для неё нужно гигабитное подключение, на 100мБ сетевой карте подключения не будет! Я докупал PCI сетевую, встроеную отключил в Bios.
5a-75e.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213668&mode=view' target=_blank>Загрузить оригинал (202.56 КБ)</a>
Удалил микросхемы U19, 20, 21, 22, 38, 39 которые имели выход на Pin 8-15 разъемов J9-16.Изменил напряжение питания буферных микросхем и их направление.
Изночально микросхемы входов я запитал с контакта J33. Но при обрыве связи во время прошивки по всей видимости входы FPGA начали работать как выход и закоротились с буферными микросхемами. FPGA сгорел.
Была изготовленна плата дополнительного питания 3.3в. которая подлючается в любой разъем J9-16 и подает питание на Pin 13,15 и на буферные микросхемы.Теперь для белопасности можно отключить входы при перепрошивке. К Pin 13,15 - 3.3в. и 4,16 - GND подключается входная опторазвязка.
Электронная часть станка питается от двух блоков питания 5VDC это плата 5A-75E и 24VDC (снижено до 20в.) датчики и энкодеры.

Плата питания 3.3в
3_3v.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213667&mode=view' target=_blank>Загрузить оригинал (69.72 КБ)</a>
Плата выходов шагового двигателя
Dr1.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213672&mode=view' target=_blank>Загрузить оригинал (36.6 КБ)</a>
Dr2.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213673&mode=view' target=_blank>Загрузить оригинал (39.91 КБ)</a>
Плата выходов на реле и другие потребители до 150мА и 30в.
Out2.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213680&mode=view' target=_blank>Загрузить оригинал (45.2 КБ)</a>
Out1.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213679&mode=view' target=_blank>Загрузить оригинал (47.91 КБ)</a>
Плата входов PNP датчиков 24VDC (у меня были такие)
In1.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213677&mode=view' target=_blank>Загрузить оригинал (49.71 КБ)</a>
In2.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213678&mode=view' target=_blank>Загрузить оригинал (43.46 КБ)</a>
Плата входов NPN 24VDC энкодеров
Enc1.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213674&mode=view' target=_blank>Загрузить оригинал (45.39 КБ)</a>
Enc2.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213675&mode=view' target=_blank>Загрузить оригинал (45.63 КБ)</a>
Получилось вот так
All.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213669&mode=view' target=_blank>Загрузить оригинал (69.32 КБ)</a>

Преобразователь интерфейса для прошивки FT232RL
На нем удалена перемычка выбора напряжения питания выходов, они питаются от контакта J33,34
FT232RL.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213676&mode=view' target=_blank>Загрузить оригинал (111.15 КБ)</a>
Метод прошивки взят сдесь.

Из описания к openFPGALoader команда прошивки имеет вид:
openFPGALoader [options] -cft23XXX --pins=TDI:TDO:TCK:TMS /path/to/bitstream.ext

Я использовал следующую распиновку:
value | ID | JTAG
--------------------------
TXD | 0 | J27 TCK
RXD | 1 | J32 TDI
RTS | 2 |
CTS | 3 | J31 TMS
DTR | 4 | J30 TDO
DSR | 5 |
DCD | 6 |
RI | 7 |
Vcc | | J33 (3.3в)
GND | | J34 (GND)

Получаем команду
openFPGALoader --unprotect-flash --cable ft232RL --pins=RXD:DTR:TXD:CTS -f 5a-75e_v8.2_v1.3/gateware/colorlight_5a_75e.bit

Для компиляции прошивки лучше использовать команду с параметром -a
litexcnc build_firmware 5a-75e_v8.2_v1.3.json --build -a
Мы дополнительно получим файл alias.hal который при использовании в LinuxCNC даст нам псевдонимы для элементов модулей и при изменении прошивки не нужно будет изменять файлы hal в LinuxCNC.
Для использования псевдонимов в ini файле вначале нужно указать hal файл с подключением драйвера litexcnc, потом alias.hal и затем hal файл с обработкой модулей. Только в этом случае все будет работать!!!
Прикладываю все файлы моего станка на 4 оси с возможностью работать в завизимоси от выбранного hal файла: только с шаговыми двигателями, двигателями и экодером и в режиме ClosedLoop. Управление шпинделем по RS485 частотным преобраователем. Дополнительно подключен пульт xhc-hb04.


Для интереса провел тест на разных дистрибутивах Debian, результат я знал за ранее.
Использовалось: LinuxCNC 2.9.4, LitexCNC 1.3.4
Использовался один и тотже фаил траиктории

Debian 10 (Buster)
Deb10.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213670&mode=view' target=_blank>Загрузить оригинал (41.29 КБ)</a>
Debian 12 (Bookworm)
Deb12.jpg (404 просмотра) <a class='original' href='./download/file.php?id=213671&mode=view' target=_blank>Загрузить оригинал (39.95 КБ)</a>
Под Debian 12 джитер в разы больше и это сильно заметно по работе двигателей особенно в режиме ClosedLoop

Извиняюсь за качество изложения информации, наверное получилось сумбурно.
Но скажу что в минимальном ценовом сегменте я получил весьма функциональную систему и я очень доволен. NVEM ушел в утиль. Плата 5A-75E с прошивкой Litex-CNC по умолчанию имеет выходы на ШД 400кГц, в настройках можно увеличить частоту, люди получали Гигагерцы (только к чему подключать я ХЗ).
Вложения
FoXCNC.7z
(3.56 МБ) 24 скачивания
Аватара пользователя
hmnijp
Мастер
Сообщения: 1754
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 542
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение hmnijp »

FoX-R писал(а): Под Debian 12 джитер в разы больше и это сильно заметно по работе двигателей особенно в режиме ClosedLoop
просто начиная с ядер linux 5+ требуется немного настроить систему...
запустите скрипт с форума
https://forum.linuxcnc.org/38-general-l ... ty?start=0

и будут нормальные числа там
Screenshot_2024-02-26_03-34-06 — копия.png (369 просмотров) <a class='original' href='./download/file.php?id=213699&mode=view' target=_blank>Загрузить оригинал (31.41 КБ)</a>
FoX-R
Новичок
Сообщения: 18
Зарегистрирован: 22 фев 2017, 18:02
Репутация: 4
Настоящее имя: Роман
Контактная информация:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение FoX-R »

hmnijp писал(а): 22 мар 2025, 02:38
FoX-R писал(а): Под Debian 12 джитер в разы больше и это сильно заметно по работе двигателей особенно в режиме ClosedLoop
просто начиная с ядер linux 5+ требуется немного настроить систему...
запустите скрипт с форума
https://forum.linuxcnc.org/38-general-l ... ty?start=0

и будут нормальные числа там
Спасибо за информацию!
Я при помощи isolcpus и настройки BIOS добился не плохих результатов
fox-19Feb2025-445.png (344 просмотра) <a class='original' href='./download/file.php?id=213705&mode=view' target=_blank>Загрузить оригинал (32.28 КБ)</a>
Но все равно Debian 12 более ресурсоемкий. И для меня пока LinuxCNC поддерживает Debian 10 буду на нем. Да и скорее всего когда доделаю станок я наврятли когда нибудь если не чего не навернется задумаюсь об обновлении. Честно говоря я этот станок делаю с 2017г, так и не доделал, а электроника пережила уже третью реинкарнацию :hehehe:
Ответить

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