Управление контроллером MK1 и MK2 (planet-cnc)
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Наконец дособирал купленный китайский станочек с полем 20х20, дальше понемногу разбираюсь с протоколом, но вот мысль не дает покоя, будет ли кому это нужно кроме меня?
А как думаете вы?
А как думаете вы?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
как вижу такоеselenur писал(а):А как думаете вы?
мысли отключаютсяselenur писал(а): с полем 20х20
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Это я в сантиметрах написал, ещё не привыкший к измерениям в милиметрахaftaev писал(а):как вижу такоеselenur писал(а):А как думаете вы?мысли отключаютсяselenur писал(а): с полем 20х20
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Мне бы очень хотелось бы попробовать, если бы не наличие кучи других систем ЧПУ с которыми я уже связался.
-
- Опытный
- Сообщения: 117
- Зарегистрирован: 16 окт 2013, 09:24
- Репутация: 108
- Откуда: Москва
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.selenur писал(а):будет ли кому это нужно кроме меня?
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Вот тут, бы поподробнее про расчеты с применением mach....Moonglow писал(а):Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.selenur писал(а):будет ли кому это нужно кроме меня?
В контроллер можно посылать 2 варианта выполнения движений по осям:
1) представляет собой координаты куда выполнить движение, тут все расчеты выполняет сам контроллер.
2) Передать в контроллер какие оси, направление, и с какой скоростью, выполнять, после чего начинается выполнение движения, и пока контроллеру не пошлем остановку, будет бесконечно выполняться движение.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Чудес не бывает. Бывают фокусы.
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Ух-ты не знал о такой реализации, в linuxCNC, нужно будет попробовать разные скорости контроллеру послать, и посмотреть что получитьсяСергей Саныч писал(а):Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Опытный
- Сообщения: 117
- Зарегистрирован: 16 окт 2013, 09:24
- Репутация: 108
- Откуда: Москва
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHOselenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Ну тогда наверное как добьюсь нормальных результатов работы с контроллером, можно будет подумать и о такой доработке.Moonglow писал(а):В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHOselenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
Сейчас насобирал уже 18 разных пакетов данных, которые пересылаются между компьютером и контроллером, вот теперь пытаюсь расшифровать, хоть и не быстро но прогресс двигается...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Добавил в программу ручное управление направлением движения, единственное пока не понял математику посылаемой скорости, а именно:
В моей табличке:
JOG - это отображаемая скорость движения HEX - это 16-ричное значение которое посылается в контроллер
DEC - это-же значение в десятичном виде
Если нужно например выполнять движение при котором JOG = 300, я вычисляю следующим образом беру константу 1800 делю на JOG и умножаю на 1000, т.е. (1800/300)*1000 = 6000 (в 16-ти ричной 1770) что и посылаю в контроллер.
Всё конечно работает, но интересно для чего это всё??? кто что думает? или знает???
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/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Опытный
- Сообщения: 117
- Зарегистрирован: 16 окт 2013, 09:24
- Репутация: 108
- Откуда: Москва
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Странная константа, для 100 и 300 все работает, а вот для 10 и 1000 нет. Видимо эти значение потом подгружается в счетчик, ведь если нужна частота меньше, то сравнивать надо счетчик с бОльшим числом, главное понять зависимость, может быть сделать таблицу с более мелким шагом ?
Программа Eureqa предлагает вот такой вариант
зато в результат точно попадает
Программа Eureqa предлагает вот такой вариант
Код: Выделить всё
SPEED = 19983.7139871623 + 406634.572324227/JOG + 0.046850276160621*(JOG^2) - 65.1856247201075*JOG
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
А при посылке команды движения по указаным координатам константа равна 3600
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Опытный
- Сообщения: 121
- Зарегистрирован: 03 ноя 2013, 17:55
- Репутация: 36
- Откуда: Челябинск
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
а константа 1800 не звисит от максимальной скорости в настройках:Настройка->Оси->Настройки->Настройки ускорения. Еще покажи параметры "Скорость подачи" "Скорость перемещения"
Т.к. есть ограничения на максимальную частоту генерации шагов в программе, то в зависимости от кол-ва шагов на мм ограничивается и макс скорость в программе.
Как вариант, в зависимости от требуемой скорости перенастраивается предделитель в таймере PICa.
Т.к. есть ограничения на максимальную частоту генерации шагов в программе, то в зависимости от кол-ва шагов на мм ограничивается и макс скорость в программе.
Как вариант, в зависимости от требуемой скорости перенастраивается предделитель в таймере PICa.
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
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/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Опытный
- Сообщения: 121
- Зарегистрирован: 03 ноя 2013, 17:55
- Репутация: 36
- Откуда: Челябинск
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
скорость подачи - 250 константа 1800selenur писал(а):А при посылке команды движения по указаным координатам константа равна 3600
скорость перемещения - 500 константа 3600 ?????
все правильно, только по формуле (1800*1000)/F чтобы не было округления
JOG HEX в посылке
31 D0E2
30 60EA
29 74F2
до скорости 30 похоже предделитель используется т.к. значение в 2 байта не лезет
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Это я заметил, но очень сомневался, оно или нет....vit_rus писал(а):скорость подачи - 250 константа 1800
скорость перемещения - 500 константа 3600 ?????
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Мастер
- Сообщения: 252
- Зарегистрирован: 21 янв 2015, 00:20
- Репутация: 18
- Откуда: Янтарный край
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
хм, возможно, когда окончательно зареверсите протокол, стоит сделать подобную программу для linux? Хотя вы вроде как на .net пишете
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
Я c# с фреймворком использую прежде всего из-за возможности быстрой реализации пользовательского интерфейса. Когда разберусь нормально, можно будет подумать и о Linux, мне не особо напряжно программировать под линукс.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером mk1 (planet-cnc)
В контроллере есть энергонезависимая память, в которой сохраняются координаты положения, и настройки самого контроллера, в результате чего, контроллер получается настроить из родной программы, а рулить из моей.
Какие из настроек по вашему мнению стоит прежде всего добавить в свою программу?
Пока я вижу такой список:
1) количество импульсов на 1мм для осей.
2) инвентирование направления движения ( вывод у mk1 который Dir)
Какие из настроек по вашему мнению стоит прежде всего добавить в свою программу?
Пока я вижу такой список:
1) количество импульсов на 1мм для осей.
2) инвентирование направления движения ( вывод у mk1 который Dir)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/