Страница 14 из 85

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

Добавлено: 24 сен 2015, 15:52
selenur
В процессе изучения "qt" и возможности компиляции исходников, под windows, столкнулся с разными сложностями, некоторые из них получилось побороть, некоторые ещё не успел, и при этом потратил не мало свободного времени (которое мог потратить на эту программу).
В результате чего пришел к выводу, что проще будет мне продолжать разработку программы на C# под windows, а Эдя Калиновский ( Karbofos ) будет делать похожую программу под linux на qt, что касается интерфейса, и различных опций, будем стараться придерживаться похожести.

На своем станке сейчас меняю контроллер с mk1 на mk2, но поддержка обоих контроллеров останется, и такой вопрос, нужно в отдельной(или этой) теме описывать использование, подключение контроллера MK2?

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

Добавлено: 26 сен 2015, 08:44
RaimixLv
По моему если тема называется "Управление контроллером MK1 и MK2 (planet-cnc)" , то и всё, думаю, надо постить здесь.

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

Добавлено: 30 сен 2015, 11:23
Yevhen_k
Тема очень интересная и нужная.
У меня вопрос, не касающийся контроллеров МК1 и МК2.
Возможно ли с помощью вашего софта или его модификации реализовать преобразование G-кода в более понятный для контроллера вид - линейные отрезки перемещений для G00/G01 и набор точек для G02/G03? Затем эту траекторию нужно отправить плате arduino mega 2560, которая уже будет давать команды сервоприводам. Контроллер в свою очередь может отправлять текущие координаты каждой оси и состояние концевых. Циклы сверления, растачивания, коррекции и пр. пока не нужны.
Я сейчас пытаюсь заставить работать сервопривода Schneider Lexium 32A по протоколу CanOpen. Это направление интересное и очень перспективное, т.к. в свободном доступе нет ни одного решения для управления сервоприводами по CanOpen. Существуют только коммерческие системы ЧПУ с ценой от 1500$, которые всё-равно нужно настраивать. В свободном доступе есть полная документация по этому протоколу от для приводов lexium. На данный момент успешно реализованы режим ручного перемещения с кнопок и режим выхода в ноль по концевому. Загвоздка в том - как G-код преобразовать в задание для контроллера.

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

Добавлено: 30 сен 2015, 11:44
aftaev
Интересно это еще тем что обычно сетевые сервы дешевле стоят чем тот же степ/дир.

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

Добавлено: 30 сен 2015, 11:51
selenur
Yevhen_k писал(а):Тема очень интересная и нужная.
У меня вопрос, не касающийся контроллеров МК1 и МК2.
Возможно ли с помощью вашего софта или его модификации реализовать преобразование G-кода в более понятный для контроллера вид - линейные отрезки перемещений для G00/G01 и набор точек для G02/G03? Затем эту траекторию нужно отправить плате arduino mega 2560, которая уже будет давать команды сервоприводам. Контроллер в свою очередь может отправлять текущие координаты каждой оси и состояние концевых. Циклы сверления, растачивания, коррекции и пр. пока не нужны.
Я сейчас пытаюсь заставить работать сервопривода Schneider Lexium 32A по протоколу CanOpen. Это направление интересное и очень перспективное, т.к. в свободном доступе нет ни одного решения для управления сервоприводами по CanOpen. Существуют только коммерческие системы ЧПУ с ценой от 1500$, которые всё-равно нужно настраивать. В свободном доступе есть полная документация по этому протоколу от для приводов lexium. На данный момент успешно реализованы режим ручного перемещения с кнопок и режим выхода в ноль по концевому. Загвоздка в том - как G-код преобразовать в задание для контроллера.
Опиши протокол посылки в свой контроллер, и как мне отслеживать возможность посылки новых данных, и я попробую добавить функционал.
Что касается G2 и G3, я не совсем понял что ты имел в виду....
Первый свой чпу контроллер я делал на atmega16, в ком-порт слал координаты куда нужно двигаться, получив данные использовал алгоритм брезенхема для линии, и генерировал step импульсы для 3х осей. Попытка в слать в контроллер данные для движения по дуге, была не айс, т.к. тот-же алгоритм брезенхема для дуги, уже очень много занимал тактов, в итоге частота step не превышала 2кгц.
Я это все к тому, что дуги я могу дробить на отрезки, и передавать в твой контроллер.

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

Добавлено: 30 сен 2015, 11:54
selenur
aftaev писал(а):Интересно это еще тем что обычно сетевые сервы дешевле стоят чем тот же степ/дир.
А из программы слать UDP, или если есть возможность подключаться по tcp, так вообще не сложно, ! правда зная протокол!

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

Добавлено: 30 сен 2015, 12:51
N1X
selenur писал(а):возможность подключаться по tcp
Сетевые не в смысле Ethernet, там свои протоколы...

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

Добавлено: 30 сен 2015, 12:57
selenur
N1X писал(а):
selenur писал(а):возможность подключаться по tcp
Сетевые не в смысле Ethernet, там свои протоколы...
а...... вот оно как.....

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

Добавлено: 12 окт 2015, 16:58
selenur
В процессе доработки управляющей программы, для работы с контроллером МК2, на выходных написал небольшую утилитку, вдруг кому понадобиться :-)
Утилита позволяет текст, или рисунок превращать в g-код.
Выглядит так:
(для просмотра содержимого нажмите на ссылку)
1.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60501&mode=view' target=_blank>Загрузить оригинал (12.47 КБ)</a>
на первом шаге выбирается источник данных, текст или рисунок
(для просмотра содержимого нажмите на ссылку)
2.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60502&mode=view' target=_blank>Загрузить оригинал (16.08 КБ)</a>
на втором шаге, рисунок превращается в черно-белый, где может быть всего 2 цвета.
Коэффициент - позволяет цветной рисунок превращать в черно-белый с желаемым видом,
вот как получается преобразование, в зависимости от коэффициента:
(для просмотра содержимого нажмите на ссылку)
3.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60503&mode=view' target=_blank>Загрузить оригинал (65.76 КБ)</a>
4.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60504&mode=view' target=_blank>Загрузить оригинал (26.52 КБ)</a>
флаг удалять содержимое удаляет закрашенные области, что-бы получить лишь контуры, вот так:
(для просмотра содержимого нажмите на ссылку)
5.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60505&mode=view' target=_blank>Загрузить оригинал (30.66 КБ)</a>
На следующем шаге происходит получение отрезков
(для просмотра содержимого нажмите на ссылку)
6.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60506&mode=view' target=_blank>Загрузить оригинал (23.8 КБ)</a>
Параметр угол отклонения, применяется для оптимизации получаемых отрезков, работает следующим образом:
(для просмотра содержимого нажмите на ссылку)
7.PNG
7.PNG (5.01 КБ) 4061 просмотр
Имея 3 точки, я определяю угол в точке 2, если угол равен 180+-(значение) градусов, то точку №2 я удаляю, что позволяет оптимизировать немного объем данных.
Дальше, и сам процесс генерации g-кода
(для просмотра содержимого нажмите на ссылку)
8.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60508&mode=view' target=_blank>Загрузить оригинал (21.41 КБ)</a>
Флаг зеркально Y, позволяет перевернуть ось Y, т.к. в компьютерной графике ось Y направлена вниз, а в станках обычно в верх.
Второй флаг заменяет запятую на точку.

Пока есть косяки, если рисунок имеет вот такие черты:
(для просмотра содержимого нажмите на ссылку)
10.PNG
10.PNG (9.58 КБ) 4061 просмотр

то получается вот такое дрыганьге:
(для просмотра содержимого нажмите на ссылку)
11.PNG
11.PNG (11.33 КБ) 4061 просмотр
А если рисунок типа такого:
(для просмотра содержимого нажмите на ссылку)
12.jpg (4061 просмотр) <a class='original' href='./download/file.php?id=60512&mode=view' target=_blank>Загрузить оригинал (23.7 КБ)</a>
то получается уже неплохо:
(для просмотра содержимого нажмите на ссылку)
13.PNG (4061 просмотр) <a class='original' href='./download/file.php?id=60513&mode=view' target=_blank>Загрузить оригинал (20.89 КБ)</a>
вот и сама программка
CNCImporterGkode.zip
(14.74 КБ) 405 скачиваний
пароль к архиву: http://www.cnc-club.ru

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

Добавлено: 14 окт 2015, 21:35
selenur
Поправил косячки в утилите, и попробовал сделать обучающее видео:
https://www.youtube.com/watch?v=jYuB1ga6LR0
и сама утилитка
CNCImporterGkode.zip
(14.72 КБ) 372 скачивания

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

Добавлено: 15 окт 2015, 06:32
selenur
Вот видео, того что у меня получилось на текущий момент, используя контроллер МК2.
На больших прямолинейный участках, скорость может доходить до 1700 мм/мин.
На дугообразных отрезках пока не более 700 мм/мин, оригинальная программа умеет это делать немного быстрее, но пока до конца не разобрался как.
https://www.youtube.com/watch?v=zD3Q4Dwvs7Y

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

Добавлено: 20 окт 2015, 14:44
selenur
Решил добавить камеру к станочку, и в качестве камеры в закромах нашел такую:
(для просмотра содержимого нажмите на ссылку)
Factory-Outlet-wholesale-Newest-Mini-HD-8mm-USB-Endoscope-Module-4LED-lights.jpg (3888 просмотров) <a class='original' href='./download/file.php?id=61137&mode=view' target=_blank>Загрузить оригинал (283.03 КБ)</a>
Factory-Outlet-wholesale-Newest-Mini-HD-8mm-USB-Endoscope-Module-4LED-lights (2).jpg (3888 просмотров) <a class='original' href='./download/file.php?id=61140&mode=view' target=_blank>Загрузить оригинал (104.31 КБ)</a>
Запихнул её в трубку, (остаток после ремонта в кухне).
Так-же на 3d принтере распечатал держатель трубки, углубления сделал для неодимовых магнитов.
(для просмотра содержимого нажмите на ссылку)
unnamed1.jpg (3888 просмотров) <a class='original' href='./download/file.php?id=61138&mode=view' target=_blank>Загрузить оригинал (68.87 КБ)</a>
unnamed2.jpg (3888 просмотров) <a class='original' href='./download/file.php?id=61139&mode=view' target=_blank>Загрузить оригинал (49.78 КБ)</a>
В итоге получилась такая штука:
(для просмотра содержимого нажмите на ссылку)
unnamed3.jpg (3888 просмотров) <a class='original' href='./download/file.php?id=61143&mode=view' target=_blank>Загрузить оригинал (35.67 КБ)</a>
А вот изображение с самой камеры, с доп. освещением качество куда лучше, т.к. родная подсветка неайс.... вообще :-)
(для просмотра содержимого нажмите на ссылку)
2015-10-20_162534.png (3888 просмотров) <a class='original' href='./download/file.php?id=61142&mode=view' target=_blank>Загрузить оригинал (372.21 КБ)</a>

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

Добавлено: 21 окт 2015, 00:25
Karbofos
Всем привет!
Вот и видео испытания программы на мини-компьютере. Оператор из меня тот ещё, так что извиняйте. :freak:
В общем, столкнулся с некоторыми сложностями, которые пришлось преодолевать. Например, программа жутко тормозила при удаленном соединении, выяснил, что зря выводил графику. Программа теперь распознает автоматом, как ее запустили, если локально, то OpenGL включается, если удаленно - выключается табулятор полностью.
Дополнил переводы.
Исправил некритичные, но некрасивые ошибки и недоработки. Например, сейчас программа распознает при запуске, что контроллер уже подключен. Хотплуг оставил, можно железку подключать и после запуска программы.
При сборке проекта можно отключить полностью поддержку OpenGL; корректно распознается версия предустановенной библиотеки libusb1, нужна версия от 1.0.16 и поновее, так что на дистрибутивах 2014 года должно компилироваться без проблем.
Проверял на Raspberry Pi 700MHz, 512MB рабочей памяти. Как выяснилось, на Raspbian отрисовка идет пока только через софт, но есть возможность дополнительно собрать видеодрайвер VC4 http://dri.freedesktop.org/wiki/VC4/
Сам станок тоже с "открытыми исходниками", чертежи совершенно бесплатно можно скачать здесь: http://www.instructables.com/id/How-to- ... aply-and-/
Конструкция получилась очень стабильная, использовал фанеру, 12 мм. Выпиливал детали на моторизированном лобзике.

https://www.youtube.com/watch?v=HL78wcZ7-nw

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

Добавлено: 21 окт 2015, 06:25
selenur
Прикольно получается, нужно будет ещё перед движением добавить посылку команды о ускорениях, я эту команду уже практически отреверсил, тогда резкие рывки прекрататься :-)
Молодец!!! :good:

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

Добавлено: 23 окт 2015, 15:40
selenur
В процессе отладки утилиты, для генерации g-кода, при определенных параметрах, получился вот такой хоботок присосавшийся к сисечке :hehehe:
(для просмотра содержимого нажмите на ссылку)
2015-10-23_173543.png (3808 просмотров) <a class='original' href='./download/file.php?id=61435&mode=view' target=_blank>Загрузить оригинал (60.45 КБ)</a>

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

Добавлено: 23 окт 2015, 15:45
Karbofos
Да ну, Сергей, моя заслуга пока что невелика, портировал всего лишь, да OpenGL оптимизировал. Не было бы твоего проекта, мой бы я тоже не сделал.
Приятно иметь дело с людьми, которым нравится своя работа и помогают друг другу. :good:
Сейчас я делаю читалку файлов в отдельном потоке, уже встроил сохранение настроек визуализации, можно координатную сеть показывать не только линиями, но и точками. Что готово - исходники проактуализирую на выходных.
p.s. сиськи хоботком не испортить!

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

Добавлено: 01 ноя 2015, 20:07
Karbofos
Всем прювет!
Что-то я немного в ступоре. Пробую отреверсить настройки моего mk1 контроллера (USB6560T4v3), например, настройки ускорения и реверса, но на контроллер отправляются только пустые пакеты, описанные у Сергея, пакеты эти начинаются с D3 и AB. Может кто какие идеи мне подкинет, а то что-то я туплю :thinking:
Прилагаю файл сниффера.

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

Добавлено: 02 ноя 2015, 11:09
Nick
selenur писал(а): получился вот такой хоботок
Фрезу уводит :)

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

1. Что в программе нравится?
2. Что в программе не нравится?
3. Что в следующий раз сделал бы по-другому?

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

Добавлено: 02 ноя 2015, 12:52
selenur
Nick писал(а):
selenur писал(а): получился вот такой хоботок
Фрезу уводит :)

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

1. Что в программе нравится?
2. Что в программе не нравится?
3. Что в следующий раз сделал бы по-другому?
Я думаю ещё рановато за неё получать медальку :-)

Программа ещё не готова, это лишь предварительная версия, что-бы люди могли попробовать, и посоветовать чего в ней нужно добавить,в бою как говориться не была.
Сейчас я тут: https://github.com/selenur/CNC-application создал ресурс, в котором соберу несколько утилит, по генерации G-кода.
Вот прямая ссылка на данную программу Генерация G-кода из текста или рисунка (По данной ссылке будет всегда самая актуальная версия)
1) В своих программах нравиться то, что влюбой момент можно легко исправить ошибку, и наличие исходников на github позволяет другим помочь улучьшить программу.
2) В связи с тем что написание программы делалось побыстрому, что-бы решить задачу, то некоторые алгоритны пока неоптимизированны, а именно обход по контуру, (немного позже оптимизирую).
А на 3-й вопрос пока не смогу ответить, т.к. ещё эта программа не готова, и то что я сделал-бы по другому, будет сделанно именно в ней. :-)

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

Добавлено: 09 ноя 2015, 23:00
selenur
Вот ещё немного доработал программу
https://www.youtube.com/watch?v=IbNNwv_n1uI
программу можно скачать по данной ссылке
CNCImporterGkode.zip
(15.98 КБ) 388 скачиваний
или с Github.