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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

MiSHUTkA писал(а):Понятно что в широкий интернет выкладывать не хорошо, но между форумчанами можно и поделиться.
Тут нельзя - варез вне закона.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

selenur писал(а): У автора не оптимально реализована работа с драйвером, с самим USB интерфейсом, всё нормально. И реалтайм, с синхронным обменом тут не причем.
Замена драйвера или библиотеки какойнить может помочь ?
UAVpilot писал(а):Тут нельзя - варез вне закона.
На форуме понятно дело нельзя. Но есть личка, емейл.
Чиркните плиз в личку если у кого есть.

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

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

Сообщение selenur »

MiSHUTkA писал(а):Замена драйвера или библиотеки какойнить может помочь ?
Принцип работы его программы с контроллером такой:
CNCUSBController.exe <-1-> CNCUSBControllerLib.dll <-2-> драйвер libusb <-3-> ОС windows <-4-> контроллер
Автор позволяет разрабатывать свой софт, используя его специальную компоненту, тогда порядок такой:
Иная программа управления <-1-> CNCUSBControllerAPI.dll <-2-> CNCUSBControllerLib.dll <-3-> драйвер libusb <-4-> ОС windows <-5-> контроллер

Из того что можно установить/переустановить это драйвер libusb, но это не даст толку.
Проблема в программе: CNCUSBController.exe, либо в CNCUSBControllerLib.dll, в связи с чем, найти проблему можно только при участии автора программы.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
segarsio
Новичок
Сообщения: 32
Зарегистрирован: 27 окт 2014, 13:59
Репутация: 0
Контактная информация:

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

Сообщение segarsio »

Никто не натыкался на самодельную плату Output Board для Planet CNC?

И ещё, кто-нибудь пользует замену MPG Pendant и адаптера для Mk3\4?
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

segarsio писал(а):Никто не натыкался на самодельную плату Output Board для Planet CNC?
Делов то. Прицепил к выходам контроллера оптопары. А к ним релюхи. Или симисторы по вкусу.
segarsio писал(а):И ещё, кто-нибудь пользует замену MPG Pendant и адаптера для Mk3\4?
Ога из жлобстега кетайскова за 200р. Фото на предидущей странице.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

Всем привет!
В программу на Qt добавил алгоритм оптимизации хода G0 в готовом файле g-code, сортируются участки обработки. Сейчас тестирую, вечером проактуализирую исходники.
Для сравнения две картинки.
Кусок алгоритма с описанием забрал здесь, https://hackaday.io/project/4955-g-code-optimization
Исходников всего проекта там, к сожалению, нет, только бинарники. Поэтому пришлось немного допиливать.
Оптимизацию можно отключать в установках.
Вложения
оригинальный файл (2496 просмотров) <a class='original' href='./download/file.php?id=105817&mode=view' target=_blank>Загрузить оригинал (150.68 КБ)</a>
оригинальный файл
отсортированный файл (2496 просмотров) <a class='original' href='./download/file.php?id=105818&mode=view' target=_blank>Загрузить оригинал (148.57 КБ)</a>
отсортированный файл
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Круто!!! получилось! :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

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

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

Сообщение selenur »

Karbofos писал(а):
selenur писал(а):Круто!!! получилось! :-)
Там ещё надо добавить максимальную глубину поиска оптимального пути, т.к. рекурсия. Ну и этот алгоритм можно было бы добавить в gcodetools.
Да пока текущей оптимизации траектории хватает за глаза :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

Вкратце, весь код разбит на куски, изобр. на рисунке, затем проводится оптимизация между точками A-B...
То есть точки начала и конца обработки материала не изменяются вообще.
Вложения
cnc-ant.jpg (2478 просмотров) <a class='original' href='./download/file.php?id=105829&mode=view' target=_blank>Загрузить оригинал (28.85 КБ)</a>
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Karbofos писал(а):Вкратце, весь код разбит на куски, изобр. на рисунке, затем проводится оптимизация между точками A-B...
То есть точки начала и конца обработки материала не изменяются вообще.
А я беру первую траекторию, из списка, и её последнюю точку сравниваю с первой и последней точкой, остальных траекторий, там где расстояние меньше всего, ту траекторию использую следующей (если нужно меняю порядок точек, в обратную сторону в данной траектории), и по последней её точке ищу следующую....
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

Да, можно и так, не заморачиваясь с рекурсиями. Интересно было бы даже сравнить результаты. :freak:
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

Пару ошибок исправил, новая версия с муравьиной сортировкой пути.
Для интересующихся:
g0Points - вектор отрезков с информацией о начале-конце текстовых строк, о начале-конце данных декодированного GCode
в установках Settings::optimizeRapidWays включение-выключение сортировки
подготовка матрицы расстояний между "городами" поизводится в Reader::calculateAntPath()
сам поиск минимального пути в рекурсии Reader::antColonyOptimization()
окончательная сортировка текстовых кусков и декодированного GCode происходит в GCodeParser::sortGCode()
исходники здесь : https://github.com/eduard-x/cnc-qt/
файл CMakeLists.txt не отшлифован под винды, OS-X, или даже OS/2, только под дистры линукса. Если есть желание, присылайте патчи для сборки на этих системах ;)
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

Скажите ктонить разбирался с математикой сего контроллера и софта к нему ?

Суть вот в чем: после выполнения сложной программы (на простых не проявляется), получаем что станок не приезжает в то место откуда начал.
Т.е ошибку в координатах. Соотв чистовую обработку стартуя с того же места выполнить уже никак.

Поэксперементировал со скоростями - тоже самое дело не в механике.
Кроме того прописал Г код с 2мя цифрами после запятой. Но контроллер брал откудато цифры с 4мя знаками.
С дугами погрешность еще больше. В общем он мудрый какойто слишком использует какую то свою неизвестную алгебру.

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

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

Сообщение selenur »

Математика следующая, контроллер хранит координаты в виде целых чисел. Допустим имеем настройку при которой, для движения по оси на 1 мм нужно послать 200 импульсов в драйвер мотора.
Начальная координата равна нулю.
на компьютере посылаем команду g1 f500 x1, программа пересчитывает значение, и посылает в контроллер команду ось Х значение 200.
теперь посылаем х10, программа пересчитывает значение, и в контроллер посылает значение для оси Х 2000.
теперь посылаем команду х-5, программа в контроллер для оси Х посылает значение -1000.
И по идее если используются абсолютные координаты то ошибки не должно быть, а вот если применяется система относительных координат, и количество шагов на 1 мм, получается не целое, то косяк вроде может появится.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

Система координат да относительная. Но число шагов у мотора целое сейчас 640 шагов на 1мм.

Я сделал вот что:
Откатал программу на 640 шагов на 1мм, замерил увод по всем осям после ее выполнения.
потом уменьшил деление на драйвере сделал 320 шагов на 1мм (включил /8 вместо /16)
В настройках контроллера само собой сделал тоже.
Откатал программу. Получил увод примерно в 2 раза больше!

Вывод: по ходу выполнения программы теряется фиксированное кол-во шагов. И зависит это от программы.

Теперь думаю как от этого избавиться. Может поиграться с точностью в Г коде ? Сколько нулей после запятой...
Или может гденить можно задать минимальное перемещение кратное шагу ?

Да забыл сказать. По оси Z шаг немного отличается. там 800 шагов на 1мм. Может это както влиять ?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

У тебя китайский клон контроллера, или оригинальный?
Есть вероятность что ошибка в прошивке контроллера..... Или в настройках planet-cnc программы, но так угадать сложно...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

Кетайский.

У меня получается 1 шаг 0,0015625мм. А в проге всего 4 цифры после запятой. Может нужен шаг который кратен разрядности программы иначе будет рассогласование из-за округления ?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

MiSHUTkA писал(а):Кетайский.

У меня получается 1 шаг 0,0015625мм. А в проге всего 4 цифры после запятой. Может нужен шаг который кратен разрядности программы иначе будет рассогласование из-за округления ?
Уже на вскидку и не скажу..... начал забывать про этот контроллер.....
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MiSHUTkA
Кандидат
Сообщения: 56
Зарегистрирован: 21 дек 2016, 14:39
Репутация: 1
Контактная информация:

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

Сообщение MiSHUTkA »

Кажись разобрался.

На ошибку влияет параметр Step/Dir Delay

Увеличил значение и все вроде норм.

Вот только с ходу не мону найти инфу как сей параметр поавильно посчитать для своего станка.
Ответить

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