Управление контроллером MK1 и MK2 (planet-cnc)

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Наконец дособирал купленный китайский станочек с полем 20х20, дальше понемногу разбираюсь с протоколом, но вот мысль не дает покоя, будет ли кому это нужно кроме меня?
А как думаете вы? :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение aftaev »

selenur писал(а):А как думаете вы?
как вижу такое
selenur писал(а): с полем 20х20
мысли отключаются :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

aftaev писал(а):
selenur писал(а):А как думаете вы?
как вижу такое
selenur писал(а): с полем 20х20
мысли отключаются :)
Это я в сантиметрах написал, ещё не привыкший к измерениям в милиметрах :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение michael-yurov »

Мне бы очень хотелось бы попробовать, если бы не наличие кучи других систем ЧПУ с которыми я уже связался.
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Moonglow »

selenur писал(а):будет ли кому это нужно кроме меня?
Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Moonglow писал(а):
selenur писал(а):будет ли кому это нужно кроме меня?
Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.
Вот тут, бы поподробнее про расчеты с применением mach....

В контроллер можно посылать 2 варианта выполнения движений по осям:
1) представляет собой координаты куда выполнить движение, тут все расчеты выполняет сам контроллер.
2) Передать в контроллер какие оси, направление, и с какой скоростью, выполнять, после чего начинается выполнение движения, и пока контроллеру не пошлем остановку, будет бесконечно выполняться движение.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Сергей Саныч »

Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Сергей Саныч писал(а):Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Ух-ты не знал о такой реализации, в linuxCNC, нужно будет попробовать разные скорости контроллеру послать, и посмотреть что получиться :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Moonglow »

selenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHO
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Moonglow писал(а):
selenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHO
Ну тогда наверное как добьюсь нормальных результатов работы с контроллером, можно будет подумать и о такой доработке.
Сейчас насобирал уже 18 разных пакетов данных, которые пересылаются между компьютером и контроллером, вот теперь пытаюсь расшифровать, хоть и не быстро но прогресс двигается... :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Добавил в программу ручное управление направлением движения, единственное пока не понял математику посылаемой скорости, а именно: В моей табличке:
JOG - это отображаемая скорость движения HEX - это 16-ричное значение которое посылается в контроллер
DEC - это-же значение в десятичном виде

Если нужно например выполнять движение при котором JOG = 300, я вычисляю следующим образом беру константу 1800 делю на JOG и умножаю на 1000, т.е. (1800/300)*1000 = 6000 (в 16-ти ричной 1770) что и посылаю в контроллер.
Всё конечно работает, но интересно для чего это всё??? кто что думает? или знает??? :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Moonglow »

Странная константа, для 100 и 300 все работает, а вот для 10 и 1000 нет. Видимо эти значение потом подгружается в счетчик, ведь если нужна частота меньше, то сравнивать надо счетчик с бОльшим числом, главное понять зависимость, может быть сделать таблицу с более мелким шагом ?

Программа Eureqa предлагает вот такой вариант :)

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

SPEED = 19983.7139871623 + 406634.572324227/JOG + 0.046850276160621*(JOG^2) - 65.1856247201075*JOG
зато в результат точно попадает :) :cheesy:
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

А при посылке команды движения по указаным координатам константа равна 3600 :thinking:
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
vit_rus
Опытный
Сообщения: 121
Зарегистрирован: 03 ноя 2013, 17:55
Репутация: 36
Откуда: Челябинск
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение vit_rus »

а константа 1800 не звисит от максимальной скорости в настройках:Настройка->Оси->Настройки->Настройки ускорения. Еще покажи параметры "Скорость подачи" "Скорость перемещения"

Т.к. есть ограничения на максимальную частоту генерации шагов в программе, то в зависимости от кол-ва шагов на мм ограничивается и макс скорость в программе.

Как вариант, в зависимости от требуемой скорости перенастраивается предделитель в таймере PICa.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

1) Настройки ускорения 2) Настройка скоростей А так-же значения отображаемые в JOG (в программе) и то что посылается в контроллер:

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

JOG | HEX - в посылке
1 fb1d
2 fb1d
5 ea60
10 ea60
20 afc8
30 ea60 <-- вот тут какое-то странное значение..... ломает весь порядок
40 afc8
50 8c9f
100 464f
150 2ee0
200 2327
300 1770
500 0e10
1000 0708
2000 0384
5000 0168
6000 012c
7000 0101
7500 00f0
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
vit_rus
Опытный
Сообщения: 121
Зарегистрирован: 03 ноя 2013, 17:55
Репутация: 36
Откуда: Челябинск
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение vit_rus »

selenur писал(а):А при посылке команды движения по указаным координатам константа равна 3600 :thinking:
скорость подачи - 250 константа 1800
скорость перемещения - 500 константа 3600 ?????

все правильно, только по формуле (1800*1000)/F чтобы не было округления
JOG HEX в посылке
31 D0E2
30 60EA
29 74F2

до скорости 30 похоже предделитель используется т.к. значение в 2 байта не лезет
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

vit_rus писал(а):скорость подачи - 250 константа 1800
скорость перемещения - 500 константа 3600 ?????
Это я заметил, но очень сомневался, оно или нет....:-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение popcorn »

хм, возможно, когда окончательно зареверсите протокол, стоит сделать подобную программу для linux? Хотя вы вроде как на .net пишете :(
Изображение
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Я c# с фреймворком использую прежде всего из-за возможности быстрой реализации пользовательского интерфейса. Когда разберусь нормально, можно будет подумать и о Linux, мне не особо напряжно программировать под линукс.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

В контроллере есть энергонезависимая память, в которой сохраняются координаты положения, и настройки самого контроллера, в результате чего, контроллер получается настроить из родной программы, а рулить из моей.
Какие из настроек по вашему мнению стоит прежде всего добавить в свою программу?
Пока я вижу такой список:
1) количество импульсов на 1мм для осей.
2) инвентирование направления движения ( вывод у mk1 который Dir)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Ответить

Вернуться в «Windows / Mach»