Страница 1 из 2
Помогите настроить CNCLinux для работы с серводвигателями.
Добавлено: 18 апр 2016, 12:13
Argentum47
Во всех гайдах и самом степконфе описывается настройка шаговиков, но их параметры неприменимы к серводвигателям (шаги на оборот, деление микрошага), играться случайными значениями в поисках верного опасно, ибо у портала хватит дури выйти погулять через ворота бокса со станком или сделать с другой стороны ещё одни.
Трёхосевой фрезер, на портале два двигателя, передача зубчатая косозубая (шаг 5), колеса по 30 зубов. Двигатели M02430 750Вт 3000об/мин, разрешение энкодера 2500. У каждого свой сервоусилитель. Управляется по связке LPT<>PLC6X-G2, LPT порт - PCI плата. В маче можно было настроить это всё относительно легко, здесь я чёт потерялся и очкую.
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 14:57
Argentum47
Похоже не получается даже адрес порта правильный указать, со всеми адресами, которые выдаёт lspci тест в настройках осей ничего не двигает(в винде был c400), Enable на PLC плате включен принудительно
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 17:53
solo
Как найти адресс LPT в Linux? #1
вот здесь писали про ЛПТ
как по мне настройка LCNC через степ конфиг не сложнее чем мача
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 19:10
Argentum47
Там так и не получилось, а после четвёртой страницы все пошли слать друг друга по кругу, потому что всем казалось что ответ найден, но найти порт у Автаева получилось только в винде и заработал он только в маче.
Легче, если у тебя портал на одном шаговике, мало того что степконф не даёт явно указать шаги на мм как мач, так похоже ещё и зависимая ось в cnclinux через жёпу настраивается...
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 20:10
torvn77
Значит так, как я понял серва управляется по step/dir через LPT порт.
В LinuxCNCдля формирования сигналов степдир используется компонент stepgen, мануальник к которому можно найти здесь:
http://linuxcnc.org/docs/2.7/html/man/m ... gen.9.html
Начнём с самого очевидного, скорости работы step/dir у современных устройств больше, чем компьютер способен их генерировать:
По этому параметры задающие ширину и промежутки между импульсами ставятся в минимальные значения.
setp stepgen.N.steplen 1
setp stepgen.N.stepspace 0
sep stepgen.N.dirhold 0
setp stepgen.N.dirsetup 1
setp здесь это команда, название которой дано из выполняемой ей функции: set pin.
setp stepgen.N.maxaccel 400.0
setp stepgen.N.maxvel 133.0
Задают скорость и ускорение соответственно, указываются в миллиметрах в секунду,
при этом указанные для этого компонента значения должны быть больше тех, что указаны для планировщика движений.
setp stepgen.N.position-scale 80
Масштабный коэффициент, являющийся отношением числа импульсов step к фактически пройденному расстоянию.
На счёт поиска адреса LPT не скажу, но помниться мне что в выводе lspci он называется не тривиально, так, что с ходу не поймёшь что это именно он, или он вообще не выводится..
Ещё кто-то рассказывал как этот адрес найти не то в /proc, не то в /sys, но кроме этого я ничего не помню.
И ещё, помню что я читал, о том, что не всякая внешняя плата с LPT годится, вроде если LPT скомбинирован с чем нибудь, например COM портом,
то интерфейсы смешиваются и используемый в LinuxCNC драйвер с таким чипом работать не может, так как чип не является стандартным чипом для LPT порта.
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 20:46
Argentum47
torvn77 писал(а):
И ещё, помню что я читал, о том, что не всякая внешняя плата с LPT годится, вроде если LPT скомбинирован с чем нибудь, например COM портом,
то интерфейсы смешиваются и используемый в LinuxCNC драйвер с таким чипом работать не может, так как чип не является стандартным чипом для LPT порта.
Он как раз с двумя COM портами, попробую может драйвер какой поискать для него. В lspci -v или -vv выводятся четыре адреса с400, с800, с000 и ещё какой-то, их как правильно писать в степконф c400 или cx400?
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 21:02
torvn77
Argentum47 писал(а):cx400
Вообще в полном виде хексовое число должно записываться так: 0x12345
где 0х префикс, означающий что число шестнадцатиричное, а 12345 собственно число с цифрами [0-9abcdef]
Если надо показать то, что число содержит определённое количество цифр в принципе, то с лева пустые разряды указываются в виде нулей:
Вот например единица из четырёх символов
0x0001
а вот единица из шести символов:
0x000001
Далее, есть тема-мануальник по настройке
Конфигурация EMC2 LinuxCNC #1
В теме есть
скриншот, в скриншоте адрес LPT порта записан как 0х378,
значит в твоём случае число надо писать как 0xC400
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 18 апр 2016, 22:34
Argentum47
torvn77 писал(а):Argentum47 писал(а):cx400
Вообще в полном виде хексовое число должно записываться так: 0x12345
Или если речь идёт о числе определённой длинны, то как 0x000001 0x01
Так вот, есть тема мануальник по настройке
Конфигурация EMC2 LinuxCNC #1
В теме есть скриншот, в скриншоте число записано как 0х378 значит в твоём случае число надо писать как 0xC400
Спасибо, попробую
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 10:25
Argentum47
через pci так и не захотел, пришлось воткнуть его в забракованный ранее родной порт, под виндой его трясло нормально так. CNCL как-то по своему понимает оси, у меня от икса вообще ничего не едет, зато от выхода на Z едет X,а от открытия окна теста оси включается второе реле на плате PLC. Теперь надо как-то настроить зависимую ось, пока портал в узел не завязался. Есть где-нибудь мануал по параметрам файлов, где их искать? Степконф почти ничего не умеет настраивать, даже не знаю хватит ли его начинающим любителям.
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 11:17
solo
Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой станок. #1
вот тема и в начале лежит конфигурация станка с двумя ШД на ось можно посмотреть и по аналогии настроить свою конфигурацию
конфигурация станка лежит : переход / домашняя папка / linuxcnc/configs/имя станка
в этой папке есть два файла "имя станка".ini и "имя станка.hal эти два файла ты создал при помощи степконфига ,
если посмотреть конфигурацию что дана выше, в хел файле есть такая информация
setp parport.0.pin-04-out-invert 1
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net xstep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
setp parport.0.pin-06-out-invert 1
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-08-out-invert 1
net ystep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net ydir => parport.0.pin-09-out
setp parport.0.pin-16-out-invert 1
net ydir => parport.0.pin-16-out
setp parport.0.pin-17-out-invert 1
net xdir => parport.0.pin-17-out
показано как настроено работа 2 двигателе на одной оси
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 11:51
Argentum47
solo писал(а):Переход с МАЧ на Linux. Настройка ЕМС под 3-х осевой станок. #1
вот тема и в начале лежит конфигурация станка с двумя ШД на ось можно посмотреть и по аналогии настроить свою конфигурацию
конфигурация станка лежит : переход / домашняя папка / linuxcnc/configs/имя станка
в этой папке есть два файла "имя станка".ini и "имя станка.hal эти два файла ты создал при помощи степконфига ,
если посмотреть конфигурацию что дана выше, в хел файле есть такая информация
(для просмотра содержимого нажмите на ссылку)setp parport.0.pin-04-out-invert 1
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net xstep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
setp parport.0.pin-06-out-invert 1
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-08-out-invert 1
net ystep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net ydir => parport.0.pin-09-out
setp parport.0.pin-16-out-invert 1
net ydir => parport.0.pin-16-out
setp parport.0.pin-17-out-invert 1
net xdir => parport.0.pin-17-out
показано как настроено работа 2 двигателе на одной оси
Не очень понял, похоже на перенаправление импульсов с У на пины второго двигателя или что. Пока пробую прикрутить gantry kins
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 12:17
NightV
Argentum47 писал(а):играться случайными значениями в поисках верного опасно, ибо у портала хватит дури выйти погулять через ворота бокса со станком или сделать с другой стороны ещё одни.
для "безопасной игры", поснимай ремни с серв

Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 12:23
Argentum47
NightV писал(а):
для "безопасной игры", поснимай ремни с серв

Уже более менее подогнал SCALE под нужный, не точно, но хотя бы намного дальше заданного не уедет. Теперь надо настроить датчки для выравнивания балки, как это правильно делать и в CNCL есть что-нибудь вроде мачевской менюхи Diagnostics?
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 22:02
torvn77
Argentum47 писал(а):Теперь надо настроить датчки для выравнивания балки, как это правильно делать и в CNCL есть что-нибудь вроде мачевской менюхи Diagnostics?
Это достаточно просто делается руками, например в посте
#10 вам привели пример назначения сигналов на конкретные пины LPT порта.
LinuxCNC представляет из себя совокупность запущенных в хале независимых(!!! это очень важно понять!!!) модулей, параметры которых задаются командой setp,
а потоки(!!!) информации(сигналы) между которыми устанавливаются командой net
Вот например связывание двух модулей одним сигналом.
net z-home-sw <= parport.0.pin-12-in
net z-home-sw => axis.2.home-sw-in
Это же можно написать одной строкой:
net z-home-sw <= parport.0.pin-12-in => axis.2.home-sw-in
Значения знаков
<= => направление передачи сигнала, происходит от пина out типа к неопределённому количеству пинов in типа.
z-home-sw имя конкретной связки сигнала, может быть любым, например yuusha_yonin_ni-makikomareta
parport.0.pin-12-in пин одного модуля, в данном случае входной пин LPT порта номер 12,
axis.2.home-sw-in управляющегго осями мудуля, к которому должен подводиться сигнал с датчика home, и не какого попало, а оси Z.
-in в названии намекает что он выходной( в hal естественно), но так пины названы не во всех компонентах.
В общем вам надо сигналы с LPT подсоединить к сигналам компонента axis.
В принципе в конфиге они у вас уже соединены, но только не правильно, от чего и выходит "зато от выхода на Z едет X"
подробнее можно прочитать на этих двух страницах:
Про axis:
http://linuxcnc.org/docs/2.7/html/confi ... xis_joints
Про синтаксис hal:
http://linuxcnc.org/docs/2.7/html/hal/basic-hal.html
Про модуль работающий с LPT портом:
http://linuxcnc.org/docs/2.7/html/hal/p ... -port.html
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 19 апр 2016, 23:11
NightV
torvn77 писал(а):LinuxCNC представляет из себя совокупность запущенных в хале независимых(!!! это очень важно понять!!!)
рядовому пользователю это не обязательно знать! крепче спать будет!
torvn77, в твоих постах много инфы, которой новичкам лучше не знать, ты их пугаешь!

Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 20 апр 2016, 00:30
torvn77
NightV, это да, но пойди разберись что у него напутано, толи прикрутил провода не так,
то ли в мастере не так распиновку указал, толи ещё что.
Проще научить работать с отдельными блоками и потом пойти по цепочке.
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 20 апр 2016, 10:16
Argentum47
Да не, torvn77 вполне понятно излагает, с наглядными примерами, Пины выходов я уже переназначил, всё что надо инвертировал и gantry kins прикрутил, сейчас у меня при ручной подаче вылазят joint following error'ы по всем осям, ну и axis пишет что не понимает g-код, который я пытаюсь скормить ему (вроде этого
- 2.txt
- (578 байт) 973 скачивания
), причём с какой строки не запускай. Видимо у интерпретатора отличные от мача требования к коду.
Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 20 апр 2016, 10:25
torvn77
NightV писал(а):которой новичкам лучше не знать, ты их пугаешь!
Argentum47 писал(а):Да не, torvn77 вполне понятно излагает, с наглядными примерами, Пины выходов я уже переназначил,
Абсолютная победа

Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 20 апр 2016, 10:28
Сергей Саныч
torvn77 писал(а):Абсолютная победа

Абсолютная будет, когда у ТС всё заработает

Re: Помогите настроить CNCLinux для работы с серводвигателям
Добавлено: 20 апр 2016, 14:03
Argentum47
Та что делать с ошибками? Ferror = 100 на всех осях

Ещё вопрос как установить Base period maximum jitter без stepconf'a? он опять мне и gantrykins сотрёт и четвёртую ось поворотной сделает...