Приветствую Всех!
Хочу поделится своим опытом.
Выражаю огромное спасибо отличному специалисту @Peter-van-Tol за его прошивку
Litex-cnc!!!
В данный момент разработчик расширяет круг поддерживаемых плат.
Я использовал плату 5A-75E, она требует не сложной доработки. Для неё нужно гигабитное подключение, на 100мБ сетевой карте подключения не будет! Я докупал PCI сетевую, встроеную отключил в Bios.
Удалил микросхемы 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в
Плата выходов шагового двигателя
Плата выходов на реле и другие потребители до 150мА и 30в.
Плата входов PNP датчиков 24VDC (у меня были такие)
Плата входов NPN 24VDC энкодеров
Получилось вот так
Преобразователь интерфейса для прошивки FT232RL
На нем удалена перемычка выбора напряжения питания выходов, они питаются от контакта J33,34
Метод прошивки взят
сдесь.
Из описания к
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)
Debian 12 (Bookworm)
Под Debian 12 джитер в разы больше и это сильно заметно по работе двигателей особенно в режиме ClosedLoop
Извиняюсь за качество изложения информации, наверное получилось сумбурно.
Но скажу что в минимальном ценовом сегменте я получил весьма функциональную систему и я очень доволен. NVEM ушел в утиль. Плата 5A-75E с прошивкой Litex-CNC по умолчанию имеет выходы на ШД 400кГц, в настройках можно увеличить частоту, люди получали Гигагерцы (только к чему подключать я ХЗ).