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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

Пишу для себя ,что бы не хранить в голове и если надо быстро вспомнить ,а так же для всех, кто при приготовлении «салата» предпочитает не знать про «пестики» и «тычинки», а резать сразу «огурчики» и «помидорчики» (шутка)!
Мой станок с двумя моторами по 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.
Вот ,вроде старался не ошибаться ,на вопрос почему так ,ответ : не знаю!
После редактирования ни в коем случае не запускать степконфигвизард для этого конфига !!!
Про пробелы и запятые я в курсе ,но…..
Вложения
HAL пример.txt
(4.14 КБ) 282 скачивания
123.ini
(2.94 КБ) 262 скачивания
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Аватара пользователя
vala
Почётный участник
Почётный участник
Сообщения: 490
Зарегистрирован: 08 окт 2013, 21:01
Репутация: 258
Откуда: Latvia
Контактная информация:

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

Сообщение 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
обозначение осей пропишите как вам угодно.
Теперь пока не отхоумитесь, осьями по отдельности не пошевелите.
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

Спасибо ,попробую .Теперь у меня есть что можно и сломать безболезненно.
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Берём сперва укропу
Потом кошачью ж...
Двадцать пять картошек
Семнадцать ман....шек
Ведро воды
И х.. туды
Охапку дров
Конфиг готов!
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

vala писал(а): Теперь пока не отхоумитесь, осьями по отдельности не пошевелите.
Подскажите, как убрать обязательное хоумление осей при включении станка?
NO_FORCE_HOMING = 1 установлен
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

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

Сообщение steals_y2k »

раз установлен-команды должны выполняться.
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

При запуске каждый раз необходимо нажимать HOME_ALL и только после этого axis переходит в XYZ. Иначе работа идет в Joint и оси работают независимо друг от друга.
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

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

Сообщение steals_y2k »

наверное, в ини ещё есть НОМЕ= у разных осей.
а какая должна быть зависимость? согласование шага?
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

galexey писал(а): как убрать обязательное хоумление осей при включении станка?
Когда я тестил (тесть это тот кто тестил демоверсию жены :hehehe: ) ариск драйвер на предмет возврата в ноль вообще без концевиков то выбирал ось и нажимал кнопку HOME на клаве для каждой ,попробуй .
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

xenon-alien, опиши словами что мы там увидим ? Тогда будем смотреть :hehehe: При чём тут гантри ? 2.8 и так рулит двумя моторами на оси !
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

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

Сообщение steals_y2k »

да и без lcnc можно 2 мотора на одну ось собрать
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

steals_y2k писал(а): да и
в этой ветке не ищется другое решение
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

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

Сообщение xenon-alien »

гражданинъ писал(а): xenon-alien, опиши словами что мы там увидим ?
Где там?
гражданинъ писал(а): Тогда будем смотреть При чём тут гантри ? 2.8 и так рулит двумя моторами на оси !
Что смотреть?
Раз рулит, то в чём проблема?
Не интересно видео - не смотрите.
Я думал в тему... Если нет, попросите модератора удалить. ;)
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

гражданинъ писал(а): Когда я тестил (тесть это тот кто тестил демоверсию жены :hehehe: ) ариск драйвер на предмет возврата в ноль вообще без концевиков то выбирал ось и нажимал кнопку HOME на клаве для каждой
Сейчас и я так делаю. Как и на видео выше так же делают. Но вот хотелось бы избежать хоумления осей и сразу по включению станка начинать работать.
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

xenon-alien писал(а): Не интересно видео - не смотрите
А что не написать : вот тут решение на 2.15,например! Мне одноклассник так на ватсап накидывает ссылок без комментариев и я всё буду смотреть ? Масса видео ни о чём .
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

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

Сообщение xenon-alien »

гражданинъ писал(а): А что не написать : вот тут решение на 2.15,например!
Давно смотрел.
Вы цените свое время, как и я. Так что пересматривать ещё раз, что бы решить чужую проблему ткнуть носом во время не вижу смысла.
Было бы не давно, то сослался бы на время.
гражданинъ писал(а): Мне одноклассник так на ватсап накидывает ссылок без комментариев и я всё буду смотреть ? Масса видео ни о чём .
Я не ваш однокласник.
Поделился лишь тем (увидев название темы), что я нашел и себе сохранил.
Ничего сложного, потратить пол минуты и пролистать видео и найти то что вам интересно.
Раз не интересно и не в тему, то...
xenon-alien писал(а): попросите модератора удалить. ;)
Щелкнув на восклицательный знак.
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

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

Сообщение a321 »

гражданинъ писал(а): Пишу для себя ,

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

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

Внесите пожалуйста ясность.
Вложения
Снимок экрана от 2022-03-30 11-52-26.jpg (1578 просмотров) <a class='original' href='./download/file.php?id=202510&sid=bad0e78c87bde31ebafaac8cd2b98270&mode=view' target=_blank>Загрузить оригинал (84.48 КБ)</a>
гражданинъ
Мастер
Сообщения: 1234
Зарегистрирован: 07 фев 2020, 21:00
Репутация: 160
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение гражданинъ »

К сожалению я в этом не смыслю ровно ни чего ! Самому пришлось запускать станок с двумя моторами на оси и нарвался на зарубежный форум где человек объяснил понятным для меня языком . Попробовал-получилось и записал тут что бы не забыть . А все датчики на один пин то за чем ? Количество осей то не увеличивается ! И ещё
гражданинъ писал(а): После редактирования ни в коем случае не запускать степконфигвизард для этого конфига !!!
Вложения
Для отладки сделал такой стенд . На реальном станке опасно экспериментировать. (1540 просмотров) <a class='original' href='./download/file.php?id=202511&sid=bad0e78c87bde31ebafaac8cd2b98270&mode=view' target=_blank>Загрузить оригинал (4.17 МБ)</a>
Для отладки сделал такой стенд . На реальном станке опасно экспериментировать.
Гражданином Непала может быть любой гражданин,зачатый НЕпалкой и НЕпальцем.
Fomi12
Новичок
Сообщения: 2
Зарегистрирован: 07 апр 2022, 15:43
Репутация: 0
Настоящее имя: Ибрагим
Контактная информация:

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

Сообщение Fomi12 »

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

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