Тут нельзя - варез вне закона.MiSHUTkA писал(а):Понятно что в широкий интернет выкладывать не хорошо, но между форумчанами можно и поделиться.
Управление контроллером MK1 и MK2 (planet-cnc)
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MiSHUTkA
- Кандидат
- Сообщения: 56
- Зарегистрирован: 21 дек 2016, 14:39
- Репутация: 1
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Замена драйвера или библиотеки какойнить может помочь ?selenur писал(а): У автора не оптимально реализована работа с драйвером, с самим USB интерфейсом, всё нормально. И реалтайм, с синхронным обменом тут не причем.
На форуме понятно дело нельзя. Но есть личка, емейл.UAVpilot писал(а):Тут нельзя - варез вне закона.
Чиркните плиз в личку если у кого есть.
Приехал железный конструктор. Там такой ппц
Там пилить неперепилить чтоб все норм работало.
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Принцип работы его программы с контроллером такой: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/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
segarsio
- Новичок
- Сообщения: 32
- Зарегистрирован: 27 окт 2014, 13:59
- Репутация: 0
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Никто не натыкался на самодельную плату Output Board для Planet CNC?
И ещё, кто-нибудь пользует замену MPG Pendant и адаптера для Mk3\4?
И ещё, кто-нибудь пользует замену MPG Pendant и адаптера для Mk3\4?
- MiSHUTkA
- Кандидат
- Сообщения: 56
- Зарегистрирован: 21 дек 2016, 14:39
- Репутация: 1
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Делов то. Прицепил к выходам контроллера оптопары. А к ним релюхи. Или симисторы по вкусу.segarsio писал(а):Никто не натыкался на самодельную плату Output Board для Planet CNC?
Ога из жлобстега кетайскова за 200р. Фото на предидущей странице.segarsio писал(а):И ещё, кто-нибудь пользует замену MPG Pendant и адаптера для Mk3\4?
-
Karbofos
- Опытный
- Сообщения: 121
- Зарегистрирован: 11 июн 2015, 10:40
- Репутация: 85
- Настоящее имя: Эдя Калиновский
- Откуда: Ганновер
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Всем привет!
В программу на Qt добавил алгоритм оптимизации хода G0 в готовом файле g-code, сортируются участки обработки. Сейчас тестирую, вечером проактуализирую исходники.
Для сравнения две картинки.
Кусок алгоритма с описанием забрал здесь, https://hackaday.io/project/4955-g-code-optimization
Исходников всего проекта там, к сожалению, нет, только бинарники. Поэтому пришлось немного допиливать.
Оптимизацию можно отключать в установках.
В программу на Qt добавил алгоритм оптимизации хода G0 в готовом файле g-code, сортируются участки обработки. Сейчас тестирую, вечером проактуализирую исходники.
Для сравнения две картинки.
Кусок алгоритма с описанием забрал здесь, https://hackaday.io/project/4955-g-code-optimization
Исходников всего проекта там, к сожалению, нет, только бинарники. Поэтому пришлось немного допиливать.
Оптимизацию можно отключать в установках.
- selenur
- Почётный участник

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

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

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
А я беру первую траекторию, из списка, и её последнюю точку сравниваю с первой и последней точкой, остальных траекторий, там где расстояние меньше всего, ту траекторию использую следующей (если нужно меняю порядок точек, в обратную сторону в данной траектории), и по последней её точке ищу следующую....Karbofos писал(а):Вкратце, весь код разбит на куски, изобр. на рисунке, затем проводится оптимизация между точками A-B...
То есть точки начала и конца обработки материала не изменяются вообще.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
Karbofos
- Опытный
- Сообщения: 121
- Зарегистрирован: 11 июн 2015, 10:40
- Репутация: 85
- Настоящее имя: Эдя Калиновский
- Откуда: Ганновер
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Да, можно и так, не заморачиваясь с рекурсиями. Интересно было бы даже сравнить результаты. 
-
Karbofos
- Опытный
- Сообщения: 121
- Зарегистрирован: 11 июн 2015, 10:40
- Репутация: 85
- Настоящее имя: Эдя Калиновский
- Откуда: Ганновер
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Пару ошибок исправил, новая версия с муравьиной сортировкой пути.
Для интересующихся:
g0Points - вектор отрезков с информацией о начале-конце текстовых строк, о начале-конце данных декодированного GCode
в установках Settings::optimizeRapidWays включение-выключение сортировки
подготовка матрицы расстояний между "городами" поизводится в Reader::calculateAntPath()
сам поиск минимального пути в рекурсии Reader::antColonyOptimization()
окончательная сортировка текстовых кусков и декодированного GCode происходит в GCodeParser::sortGCode()
исходники здесь : https://github.com/eduard-x/cnc-qt/
файл CMakeLists.txt не отшлифован под винды, OS-X, или даже OS/2, только под дистры линукса. Если есть желание, присылайте патчи для сборки на этих системах
Для интересующихся:
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)
Скажите ктонить разбирался с математикой сего контроллера и софта к нему ?
Суть вот в чем: после выполнения сложной программы (на простых не проявляется), получаем что станок не приезжает в то место откуда начал.
Т.е ошибку в координатах. Соотв чистовую обработку стартуя с того же места выполнить уже никак.
Поэксперементировал со скоростями - тоже самое дело не в механике.
Кроме того прописал Г код с 2мя цифрами после запятой. Но контроллер брал откудато цифры с 4мя знаками.
С дугами погрешность еще больше. В общем он мудрый какойто слишком использует какую то свою неизвестную алгебру.
Как это отключить ?
Суть вот в чем: после выполнения сложной программы (на простых не проявляется), получаем что станок не приезжает в то место откуда начал.
Т.е ошибку в координатах. Соотв чистовую обработку стартуя с того же места выполнить уже никак.
Поэксперементировал со скоростями - тоже самое дело не в механике.
Кроме того прописал Г код с 2мя цифрами после запятой. Но контроллер брал откудато цифры с 4мя знаками.
С дугами погрешность еще больше. В общем он мудрый какойто слишком использует какую то свою неизвестную алгебру.
Как это отключить ?
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Математика следующая, контроллер хранит координаты в виде целых чисел. Допустим имеем настройку при которой, для движения по оси на 1 мм нужно послать 200 импульсов в драйвер мотора.
Начальная координата равна нулю.
на компьютере посылаем команду g1 f500 x1, программа пересчитывает значение, и посылает в контроллер команду ось Х значение 200.
теперь посылаем х10, программа пересчитывает значение, и в контроллер посылает значение для оси Х 2000.
теперь посылаем команду х-5, программа в контроллер для оси Х посылает значение -1000.
И по идее если используются абсолютные координаты то ошибки не должно быть, а вот если применяется система относительных координат, и количество шагов на 1 мм, получается не целое, то косяк вроде может появится.
Начальная координата равна нулю.
на компьютере посылаем команду g1 f500 x1, программа пересчитывает значение, и посылает в контроллер команду ось Х значение 200.
теперь посылаем х10, программа пересчитывает значение, и в контроллер посылает значение для оси Х 2000.
теперь посылаем команду х-5, программа в контроллер для оси Х посылает значение -1000.
И по идее если используются абсолютные координаты то ошибки не должно быть, а вот если применяется система относительных координат, и количество шагов на 1 мм, получается не целое, то косяк вроде может появится.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- MiSHUTkA
- Кандидат
- Сообщения: 56
- Зарегистрирован: 21 дек 2016, 14:39
- Репутация: 1
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Система координат да относительная. Но число шагов у мотора целое сейчас 640 шагов на 1мм.
Я сделал вот что:
Откатал программу на 640 шагов на 1мм, замерил увод по всем осям после ее выполнения.
потом уменьшил деление на драйвере сделал 320 шагов на 1мм (включил /8 вместо /16)
В настройках контроллера само собой сделал тоже.
Откатал программу. Получил увод примерно в 2 раза больше!
Вывод: по ходу выполнения программы теряется фиксированное кол-во шагов. И зависит это от программы.
Теперь думаю как от этого избавиться. Может поиграться с точностью в Г коде ? Сколько нулей после запятой...
Или может гденить можно задать минимальное перемещение кратное шагу ?
Да забыл сказать. По оси Z шаг немного отличается. там 800 шагов на 1мм. Может это както влиять ?
Я сделал вот что:
Откатал программу на 640 шагов на 1мм, замерил увод по всем осям после ее выполнения.
потом уменьшил деление на драйвере сделал 320 шагов на 1мм (включил /8 вместо /16)
В настройках контроллера само собой сделал тоже.
Откатал программу. Получил увод примерно в 2 раза больше!
Вывод: по ходу выполнения программы теряется фиксированное кол-во шагов. И зависит это от программы.
Теперь думаю как от этого избавиться. Может поиграться с точностью в Г коде ? Сколько нулей после запятой...
Или может гденить можно задать минимальное перемещение кратное шагу ?
Да забыл сказать. По оси Z шаг немного отличается. там 800 шагов на 1мм. Может это както влиять ?
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
У тебя китайский клон контроллера, или оригинальный?
Есть вероятность что ошибка в прошивке контроллера..... Или в настройках planet-cnc программы, но так угадать сложно...
Есть вероятность что ошибка в прошивке контроллера..... Или в настройках planet-cnc программы, но так угадать сложно...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- MiSHUTkA
- Кандидат
- Сообщения: 56
- Зарегистрирован: 21 дек 2016, 14:39
- Репутация: 1
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Кетайский.
У меня получается 1 шаг 0,0015625мм. А в проге всего 4 цифры после запятой. Может нужен шаг который кратен разрядности программы иначе будет рассогласование из-за округления ?
У меня получается 1 шаг 0,0015625мм. А в проге всего 4 цифры после запятой. Может нужен шаг который кратен разрядности программы иначе будет рассогласование из-за округления ?
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Уже на вскидку и не скажу..... начал забывать про этот контроллер.....MiSHUTkA писал(а):Кетайский.
У меня получается 1 шаг 0,0015625мм. А в проге всего 4 цифры после запятой. Может нужен шаг который кратен разрядности программы иначе будет рассогласование из-за округления ?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- MiSHUTkA
- Кандидат
- Сообщения: 56
- Зарегистрирован: 21 дек 2016, 14:39
- Репутация: 1
- Контактная информация:
Re: Управление контроллером MK1 и MK2 (planet-cnc)
Кажись разобрался.
На ошибку влияет параметр Step/Dir Delay
Увеличил значение и все вроде норм.
Вот только с ходу не мону найти инфу как сей параметр поавильно посчитать для своего станка.
На ошибку влияет параметр Step/Dir Delay
Увеличил значение и все вроде норм.
Вот только с ходу не мону найти инфу как сей параметр поавильно посчитать для своего станка.