Страница 1 из 2

2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 28 июл 2020, 17:14
гражданинъ
Пишу для себя ,что бы не хранить в голове и если надо быстро вспомнить ,а так же для всех, кто при приготовлении «салата» предпочитает не знать про «пестики» и «тычинки», а резать сразу «огурчики» и «помидорчики» (шутка)!
Мой станок с двумя моторами по Y уже год работает на Linux CNC 2.7.14 + народная LPT плата ,в конфигураторе продублировал ось Y и всё. Но время идёт, ноут старенький ,не абгрейдится ваще, хочу поменять и обновить Linux соответственно ,да ещё MPG пульт свербит прикрутить. С появлением новых технологий с использованием микрокомпьютеров http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=16788 открываются новые возможности в этом направлении. Но есть «небольшой» упор в достижении цели ,это чтение доков и изучение Linux . На зарубежном форуме Linux CNC один не специалист в 2017м году доступным языком (google translate) объяснил как настроить HAL и INI файлы для работы 2х и более моторов на одной оси . Я и раньше читал эту ветку ,но мой мозг тогда ещё не был так повреждён линуксом и я ни черта не понял. Теперь попробовал и получилось !
Попробую пересказать (себе) как это делается пошагово (это мой случай -2 мотора на Y).
1.Степконфигвизарда для версии 2.8 специального похоже нет совсем . Пишут что 2.8 заточена для работы с двумя моторами на оси ,но признаков этого ни где я не увидел. Однако с его помощью легко делается заготовка конфига для редактирования. Настраиваем простой конфиг на 3 оси XYZ и получаем файлы HAL и INI. Основа для понимания это распечатать файлы на бумаге и положить перед собой!
2.Берём INI файл
Изменяем раздел
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ

Дальше копируем раздел [JOINT_1] и вставляем ниже через пустую строку
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -1080.0
MAX_LIMIT = 0.001
MAX_VELOCITY = 11.4182692308
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 1280.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 5.000000
HOME_SEARCH_VEL = 50.000000
HOME_LATCH_VEL = 0.390625
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2

Во вставленном изменяем 1 на 2
[JOINT_2]

Все остальные цифири будут ваши (мои) из конфига
[JOINT_2] для Z изменяем на [JOINT_3]

HOME_SEQUENCE = ? это очерёдность «хоумления» 0,1,2 .Для оси с двумя моторами номер должен быть одинаковым , если поставить знак минус перед номером должно синхронизировать моторы по двум датчикам лимита (не проверял )
INI готов!

3.Берём HAL ,в строке добавляем ещё «,0» для четвёртого мотора
loadrt stepgen step_type=0,0,0

Вот в этой группе строк
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
net ymstep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ymdir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
net xenable => parport.0.pin-14-out
net ysstep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net ysdir => parport.0.pin-09-out
net max-home-x <= parport.0.pin-12-in-not
net min-home-ym <= parport.0.pin-13-in-not
net min-home-ys <= parport.0.pin-11-in-not
net min-home-z <= parport.0.pin-15-in-not

Добавлены это
net ysstep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net ysdir => parport.0.pin-09-out
и это
net min-home-ys <= parport.0.pin-11-in-not (надеюсь видно куда?)
и изменены имена «y» на «ym» и «уs» типа мастер и славе ,но могут быть любые.
Что бы инвертировать сигнал –добавить или удалить «-not»

далее копируем это
setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 70000
setp stepgen.1.dirsetup 70000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ympos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ympos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ymstep <= stepgen.1.step
net ymdir <= stepgen.1.dir
net ymenable joint.1.amp-enable-out => stepgen.1.enable
net min-home-ym => joint.1.home-sw-in
net min-home-ym => joint.1.neg-lim-sw-in

тут уже изменено «у» на «уm»
и вставляем ниже через пустую строку и изменяем так
setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 70000
setp stepgen.2.dirsetup 70000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net yspos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net yspos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net ysstep <= stepgen.2.step
net ysdir <= stepgen.2.dir
net ysenable joint.2.amp-enable-out => stepgen.2.enable
net min-home-ys => joint.2.home-sw-in
net min-home-ys => joint.2.neg-lim-sw-in

Следующий кусок изменяем так
setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 70000
setp stepgen.3.dirsetup 70000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net min-home-z => joint.3.home-sw-in
net min-home-z => joint.3.neg-lim-sw-in

Все двойки на тройки и усё HAL готов!

При попытке подвигать осями у меня получилась жуть! X -поехала нормально ,Y- поехал один мотор , Z -поехал второй мотор от Y! Этот случай описан на Линукс форуме ,нужно сначала отхоумиться и потом оси едут как надо ,но так можно и портал загнуть ! Есть возможность перевести оси на ручное управление ,но это отдельный бубен в 4 строки в INI.
Вот ,вроде старался не ошибаться ,на вопрос почему так ,ответ : не знаю!
После редактирования ни в коем случае не запускать степконфигвизард для этого конфига !!!
Про пробелы и запятые я в курсе ,но…..

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 28 июл 2020, 19:19
vala
гражданинъ писал(а): Пишут что 2.8 заточена для работы с двумя моторами на оси ,но признаков этого ни где я не увидел.
В INI

Код: Выделить всё

[EMC]
MACHINE = XXYZ_machine

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XXYZ kinstype=BOTH

[AXIS_X]

[JOINT_0]
HOME_SEQUENCE = -1

[JOINT_1]
HOME_SEQUENCE = -1
обозначение осей пропишите как вам угодно.
Теперь пока не отхоумитесь, осьями по отдельности не пошевелите.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 28 июл 2020, 19:39
гражданинъ
Спасибо ,попробую .Теперь у меня есть что можно и сломать безболезненно.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 28 июл 2020, 19:50
MX_Master
Берём сперва укропу
Потом кошачью ж...
Двадцать пять картошек
Семнадцать ман....шек
Ведро воды
И х.. туды
Охапку дров
Конфиг готов!

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 31 июл 2021, 12:59
galexey
vala писал(а): Теперь пока не отхоумитесь, осьями по отдельности не пошевелите.
Подскажите, как убрать обязательное хоумление осей при включении станка?
NO_FORCE_HOMING = 1 установлен

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 31 июл 2021, 13:37
steals_y2k
раз установлен-команды должны выполняться.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 31 июл 2021, 16:31
galexey
При запуске каждый раз необходимо нажимать HOME_ALL и только после этого axis переходит в XYZ. Иначе работа идет в Joint и оси работают независимо друг от друга.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 31 июл 2021, 18:17
steals_y2k
наверное, в ини ещё есть НОМЕ= у разных осей.
а какая должна быть зависимость? согласование шага?

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 31 июл 2021, 20:07
гражданинъ
galexey писал(а): как убрать обязательное хоумление осей при включении станка?
Когда я тестил (тесть это тот кто тестил демоверсию жены :hehehe: ) ариск драйвер на предмет возврата в ноль вообще без концевиков то выбирал ось и нажимал кнопку HOME на клаве для каждой ,попробуй .

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 01:52
xenon-alien

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 08:37
гражданинъ
xenon-alien, опиши словами что мы там увидим ? Тогда будем смотреть :hehehe: При чём тут гантри ? 2.8 и так рулит двумя моторами на оси !

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 09:34
steals_y2k
да и без lcnc можно 2 мотора на одну ось собрать

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 10:37
гражданинъ
steals_y2k писал(а): да и
в этой ветке не ищется другое решение

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 12:54
xenon-alien
гражданинъ писал(а): xenon-alien, опиши словами что мы там увидим ?
Где там?
гражданинъ писал(а): Тогда будем смотреть При чём тут гантри ? 2.8 и так рулит двумя моторами на оси !
Что смотреть?
Раз рулит, то в чём проблема?
Не интересно видео - не смотрите.
Я думал в тему... Если нет, попросите модератора удалить. ;)

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 16:52
galexey
гражданинъ писал(а): Когда я тестил (тесть это тот кто тестил демоверсию жены :hehehe: ) ариск драйвер на предмет возврата в ноль вообще без концевиков то выбирал ось и нажимал кнопку HOME на клаве для каждой
Сейчас и я так делаю. Как и на видео выше так же делают. Но вот хотелось бы избежать хоумления осей и сразу по включению станка начинать работать.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 18:11
гражданинъ
xenon-alien писал(а): Не интересно видео - не смотрите
А что не написать : вот тут решение на 2.15,например! Мне одноклассник так на ватсап накидывает ссылок без комментариев и я всё буду смотреть ? Масса видео ни о чём .

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 01 авг 2021, 18:28
xenon-alien
гражданинъ писал(а): А что не написать : вот тут решение на 2.15,например!
Давно смотрел.
Вы цените свое время, как и я. Так что пересматривать ещё раз, что бы решить чужую проблему ткнуть носом во время не вижу смысла.
Было бы не давно, то сослался бы на время.
гражданинъ писал(а): Мне одноклассник так на ватсап накидывает ссылок без комментариев и я всё буду смотреть ? Масса видео ни о чём .
Я не ваш однокласник.
Поделился лишь тем (увидев название темы), что я нашел и себе сохранил.
Ничего сложного, потратить пол минуты и пролистать видео и найти то что вам интересно.
Раз не интересно и не в тему, то...
xenon-alien писал(а): попросите модератора удалить. ;)
Щелкнув на восклицательный знак.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 30 мар 2022, 11:59
a321
гражданинъ писал(а): Пишу для себя ,

Если возможно, добавьте пожалуйста подробностей (и пояснений) в контексте "пины лпт и модицкация конфига". В стеконфе есть опция "на один пин все датчики пределов и хоум", это тоже, видимо, актуально?

Моя конкретная задача - схема XXYYZ , "плата управления 5 осями + все 5 осей (моторов) + lncnc2.8".

Внесите пожалуйста ясность.

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 30 мар 2022, 16:09
гражданинъ
К сожалению я в этом не смыслю ровно ни чего ! Самому пришлось запускать станок с двумя моторами на оси и нарвался на зарубежный форум где человек объяснил понятным для меня языком . Попробовал-получилось и записал тут что бы не забыть . А все датчики на один пин то за чем ? Количество осей то не увеличивается ! И ещё
гражданинъ писал(а): После редактирования ни в коем случае не запускать степконфигвизард для этого конфига !!!

Re: 2 мотора на одной оси LinuxCNC 2.8 HAL и INI от чайника

Добавлено: 07 апр 2022, 18:17
Fomi12
гражданинъ писал(а): 28 июл 2020, 17:14
При попытке подвигать осями у меня получилась жуть! X -поехала нормально ,Y- поехал один мотор , Z -поехал второй мотор от Y! Этот случай описан на Линукс форуме ,нужно сначала отхоумиться и потом оси едут как надо ,но так можно и портал загнуть ! Есть возможность перевести оси на ручное управление ,но это отдельный бубен в 4 строки в INI.
Вот ,вроде старался не ошибаться ,на вопрос почему так ,ответ : не знаю!
После редактирования ни в коем случае не запускать степконфигвизард для этого конфига !!!
Про пробелы и запятые я в курсе ,но…..
Здравствуйте, решил перевести станок с Мач3 на ЛЦНЦ.
На основе этих статей, и методом тыка, все вроде бы получилось, на Y два двигателя, все оси хоумятся, по Y синхронно отправляются домой, доходят до концевиков.
Но проблема лишь в управлении с кнопок, по Y на кнопки реагирует лишь один движок. Даже после хоуминга. Пока не нашел как это решить, может кто знает?
Файлы конфигурации прикрепил.