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

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

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

Сообщение Karbofos »

https://www.youtube.com/watch?v=64AMk6ZIEHQ
катаюсь по трём осям, отлавливаю ошибки в программе. заодно проверяю фанерную конструкцию на слабые места.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Если используется 4-я ось для поворотной головы, то для оси А какое обычно записывается значение в g-коде? в градусах?

Если используется выжигание лазером, для вырезки деталей там как-бы понятно включили и поехали, а если гравировка рисунка с разной градацией, я пока узнал 2 варианта, первый - команда установить мощность, потом команда движения, то точки где меняется яркость, потом установка мощности, и далее...
Второй вариант устанавливается определенная мощность, и дальше выполняется движение с разной скоростью, на белых участках лазер выключается.
Может ещё какие нибудь бывают варианты?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Пытаюсь запустить для пробы вашу программу (сборка от 9 сентября). Запускаю под Win 8.1. Крэш еще до показа окна. Есть ли более новые сборки? :)

Проверяю сейчас боевую готовность китайской платы MK1 на рабочем станке. Через раз случается ситуация, когда официальная программа перестаёт на что либо реагировать, показывая что по всем входам/выходам передаются данные. То ли это наводки на USB кабель, то ли программное. Сравнить не с чем. Вот и хотел заодно проверить вашу программу в деле, но не получилось.
selenur писал(а):Если используется 4-я ось для поворотной головы, то для оси А какое обычно записывается значение в g-коде? в градусах?
Для любых повороток (ABC) всегда градусы.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

MX_Master писал(а):Пытаюсь запустить для пробы вашу программу (сборка от 9 сентября). Запускаю под Win 8.1. Крэш еще до показа окна. Есть ли более новые сборки? :)

Проверяю сейчас боевую готовность китайской платы MK1 на рабочем станке. Через раз случается ситуация, когда официальная программа перестаёт на что либо реагировать, показывая что по всем входам/выходам передаются данные. То ли это наводки на USB кабель, то ли программное. Сравнить не с чем. Вот и хотел заодно проверить вашу программу в деле, но не получилось.
selenur писал(а):Если используется 4-я ось для поворотной головы, то для оси А какое обычно записывается значение в g-коде? в градусах?
Для любых повороток (ABC) всегда градусы.
Решается очень просто :-)
Я в первых постах писал, что кроме самой программы ещё нужны *.dll файлы, вот они https://github.com/selenur/CNC-controll ... ter/OpenGL без них программа сразу при запуске падает, т.к. пока не добавил проверку, наличия библиотек.

Как вариант вот программа которая у меня в процессе переделки, выполнение G-кода пока не работает, и прочее, но можно проверять наличие подключенного контроллера:
2015-11-22_225647.png (2561 просмотр) <a class='original' href='./download/file.php?id=64183&mode=view' target=_blank>Загрузить оригинал (51.67 КБ)</a>
и собственно сама программа со всеми необходимыми компонентами.
cnc.zip
(661.95 КБ) 433 скачивания
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
drey82
Мастер
Сообщения: 639
Зарегистрирован: 24 авг 2014, 10:29
Репутация: 82
Настоящее имя: Drey
Откуда: Воронеж
Контактная информация:

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

Сообщение drey82 »

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

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

Сообщение selenur »

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

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

Сообщение selenur »

Переделываю, структуры для хранения данных, в итоге добился немного повышения частоты вывода 3D
2015-11-25_005209.jpg (2503 просмотра) <a class='original' href='./download/file.php?id=64398&mode=view' target=_blank>Загрузить оригинал (402.23 КБ)</a>
Файл с g-кодом весит 10 мегабайт, и имеет 296037 строк кода, частота отрисовки поднялась с 2-х до 5 кадров в секунду, но попытки вращения фигуры мышкой все равно, не комфортно...
Вот и думаю, если взять чисто для хобби, какой обычно объем данных бывает? (мне интересно чисто для статистики, у кого больше)
Или может просто не выводить всю траекторию? (сделать настройку, с выбором объема отображения)
Мой сайт: 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 »

Сергей, у меня заработали ускорения! Разбираюсь с коэффициентами. Исходники проактуализировал.
Еще узнал, что в ядре линукса 4.4 будет интегрирован драйвер графики RasPi. Не нужно будет всякой установки дополнительных пакетов с поддержкой OpenGL.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

selenur писал(а):Файл с g-кодом весит 10 мегабайт, и имеет 296037 строк кода, частота отрисовки поднялась с 2-х до 5 кадров в секунду, но попытки вращения фигуры мышкой все равно, не комфортно...
Вот и думаю, если взять чисто для хобби, какой обычно объем данных бывает? (мне интересно чисто для статистики, у кого больше)
Или может просто не выводить всю траекторию? (сделать настройку, с выбором объема отображения)
У меня был однажды под 20 МБ, но это не для хобби, стессна. Настройки точности прорисовки графики желательны. По-моему, в оригинале они были. Рисовать всю траекторию без оптимизации - очень долгое занятие. Поэтому надо учитывать масштаб и настройку точности, чтобы не рисовать кучу линий поверх друг друга, когда они визуально смотрятся как одна. Дабы совсем минимизировать прорисовку, можно не рисовать всё, а сделать "лёгкий" режим, при котором будут отрисовываться траектории Н-ного числа строк до текущей строки, подсвеченная толстая траектория текущей строки, а затем Н-ное число строк после текущей строки. Также в "легком" режиме можно добавить, рассчитанный по макс. значениям, паралеллепипед обработки.

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

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

Сообщение Karbofos »

У меня такой файл g-code на 1.3 мегабайта, 36500 строк. крутится без задержек на графике с nvidia (Quadro 1000M на ноуте) и amd (A8-3800 с интегрированным HD 6550D). На Broadcom VC4 пока не пробовал.
Файл DaVinci можно скачать здесь: http://www.martindebie.com/wp-content/u ... aVinci.zip
Вложения
cnc-test.png (2467 просмотров) <a class='original' href='./download/file.php?id=64412&mode=view' target=_blank>Загрузить оригинал (144.67 КБ)</a>
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

selenur писал(а):Переделываю, структуры для хранения данных, в итоге добился немного повышения частоты вывода 3D
2015-11-25_005209.jpg
Файл с g-кодом весит 10 мегабайт, и имеет 296037 строк кода, частота отрисовки поднялась с 2-х до 5 кадров в секунду, но попытки вращения фигуры мышкой все равно, не комфортно...
Вот и думаю, если взять чисто для хобби, какой обычно объем данных бывает? (мне интересно чисто для статистики, у кого больше)
Или может просто не выводить всю траекторию? (сделать настройку, с выбором объема отображения)
файл грузился несколько минут, за счет неоптимального построения таблицы с g-кодом, надо будет улучшить. Но объект без проблем крутился. Наблюдалось повышение нагрузки на процессор, но это нужно будет потом отдельно посмотреть, где собака зарылась :hehehe:
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Karbofos писал(а):
selenur писал(а):Переделываю, структуры для хранения данных, в итоге добился немного повышения частоты вывода 3D
2015-11-25_005209.jpg
Файл с g-кодом весит 10 мегабайт, и имеет 296037 строк кода, частота отрисовки поднялась с 2-х до 5 кадров в секунду, но попытки вращения фигуры мышкой все равно, не комфортно...
Вот и думаю, если взять чисто для хобби, какой обычно объем данных бывает? (мне интересно чисто для статистики, у кого больше)
Или может просто не выводить всю траекторию? (сделать настройку, с выбором объема отображения)
файл грузился несколько минут, за счет неоптимального построения таблицы с g-кодом, надо будет улучшить. Но объект без проблем крутился. Наблюдалось повышение нагрузки на процессор, но это нужно будет потом отдельно посмотреть, где собака зарылась :hehehe:
У меня с этим файлом программа в памяти 300 метров съела.... :eat: и 30% ресурсов CPU
Мой сайт: 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 »

страшно подумать, что произойдет с Raspbian при таком файле. распадётся на молекулы, наверное :freak:
в общем, установки ускорения сделал такой подпрограммкой. сейчас кумекаю, почему 4056, а не 4096, к примеру. :thinking:

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

// acceleration settings
void BinaryData::packA0(bool send)
{
    cleanBuf(writeBuf);

    writeBuf[0] = 0xa0;
    writeBuf[4] = 0x80;

    writeBuf[5] = 0x12;

    int AccelX = 4056;
    if (coord[X].acceleration > 0) {
        AccelX = 4056 * coord[X].pulsePerMm / sqrt(coord[X].acceleration);
    }

    packFourBytes(6, AccelX);

    int AccelY = 4056;
    if (coord[Y].acceleration > 0) {
        AccelY = 4056 * coord[Y].pulsePerMm / sqrt(coord[Y].acceleration);
    }

    packFourBytes(10, AccelY);

    int AccelZ = 4056;
    if (coord[Z].acceleration > 0) {
        AccelZ = 4056 * coord[Z].pulsePerMm / sqrt(coord[Z].acceleration);
    }

    packFourBytes(14, AccelZ);

    int AccelA = 4056;
    if (coord[A].acceleration > 0) {
        AccelA = 4056 * coord[A].pulsePerMm / sqrt(coord[A].acceleration);
    }

    packFourBytes(18, AccelA);

    writeBuf[42] = 0x60;// unknown byte
    writeBuf[43] = 0x09;// unknown byte

    writeBuf[46] = 0x08;// unknown byte

    // reverse of axis.: 0xff no reverse, 0xfe axis x, 0xfd axis y, 0xfb axis z
    writeBuf[57] = 0xff;// unknown byte
    writeBuf[58] = 0x01;// unknown byte

    // reverse motor steps, bitmask: 0 no inverting, 1 invert step X, 2 invert step Y, 4 invert step Z
    writeBuf[59] = 0x00; //
    writeBuf[60] = 0x00; //

    if (send == true) {
        sendBinaryData();
    }
}
хотя, может я и погорячился, так связав формулу с количеством шагов на миллиметр. но то, что в знаменателе корень из значения ускорения - уж очень похоже на правду. надо поэкспериментировать с количеством шагов в настройках.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

Всем привет!
Программа, которая поставлялась с моей железкой (как выяснилось позже, железка из черного списка) так и не отсылает установки на контроллер. Вчера еще раз попытался, но, увы. Пичалька.
Сергей мне помогает, если времени немного успевает урвать, спасибо ему за это. А кто еще может мне может помочь отснифить протокол? Например, Сергей делет программой USBlyzer (она триальная), но можно и Wireshark (бесплатная).
Если кто может помочь с протоколом mk1, то отзовитесь. Хотелось бы ускорить процесс расшифровки установок mk1.
Процесс с использованием USBlyzer.
Запускаем USBlyzer, запускаем оригинальную программу контроллера.
Подключаем железку, если не подключена.
В USBlyzer выбираем железку, которую будем сниффить, она где-то внизу списка
Включаем запись в USBlyzer
Открываем окно установок, просто нажимаем на "ok" в окне. Вызаваем окно еще раз, изменяем какую-нибудь настройку, записываем на бумажку, какую именно цифру и с какой изменили. Снова нажимаем "ок".
Выключаем запись в USBlyzer.
Сохраняем данные в виде таблицы CSV (простой текстовик). Имя файла записать на бумажку тоже к соотв. настройке.
Очищаем данные USBlyzer для новой настройки, слева вверху есть такая кнопка "New capture"

В первую очередь интересуют установки "Setup", "Homing", "Limits", "Axes": установки мин/макс скоростей, ускорение, задержки, инвертирование. самое главное сейчас интересует, каким образом меняются параметры скорости и ускорения в зависимости от количества шагов на мм. Ум еня есть возможность тестировать только на mk1 контроллере. Мне нужны только таблицы с кратким описанием, какой параметр был изменен (изначальное значение, присвоенное). а декодировать и тестировать буду я на своем фанерном агрегате.
Файлы можно прикреплять прямо здесь. Не обязательно сразу всё за один раз. Только сообщайте, пожалуйста кто какие настройки делает, чтобы не делать двойной работы, если вдруг несколько человек отзовётся. Запаковывайте в любой архив.
Был бы признателен за помощь.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Подключил обратно мк1 вместо мк2, так заметна разница в качестве работы. Так что подсоблю...
Мой сайт: 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 писал(а):Подключил обратно мк1 вместо мк2, так заметна разница в качестве работы. Так что подсоблю...
Спасибо!
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

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

Сообщение popcorn »

Отснифал USBlizer вкладку "Ограничения" (limits), в архиве скрин начальных настроек, и в название CSV - какие настройки изменил. Попробовал изменить настройки в минус, но программа начала выдавать ошибку. Проверьте, всё ли верно делаю.
Вложения
limits.zip
(169.26 КБ) 305 скачиваний
Изображение
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

В связи с глобальной переделкой внутренностей программы, неожиданно получилось без особых сложностей добавить поддержку контроллера с GRBL прошивкой, как оказалось достаточно через com-port слать g-код в виде текста.
У меня давно лежал шилд, и ардуина, абсолютно для других целей, а тут вчера на форуме, в одной из тем узнал как работает эта штука :-)
Вот на чем проверял:
WP_001181.jpg (2309 просмотров) <a class='original' href='./download/file.php?id=64672&mode=view' target=_blank>Загрузить оригинал (346.59 КБ)</a>
Сейчас пока основной упор на поддержку мк1, но если будут желающие то прикручу и ардуину с GRBL.
Единственное что arduino uno, работает на пределе, и часто получать информацию, о положении X,Y,Z не получиться, 1-2 раза в секунду, (в мк1 более 25 раз).
У меня есть контроллер Arduino DUE, я под него программировал раньше в среде Amtel Studio, (там используется 32-х битный проц с частотой вроде 120 Мгц, против 16 Мгц, и 8 бит, у ардуино UNO), на нем наверняка все заработает куда шустрее.... :-)

Кто подскажет как правильно называется вот такая форма(механика работы станка):
51723dd591aaba8b58d44c37417a1826.jpg (2309 просмотров) <a class='original' href='./download/file.php?id=64674&mode=view' target=_blank>Загрузить оригинал (86.32 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

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

Сообщение popcorn »

Похож на четвёртый вариант http://homecnc.ru/mech/1-tips-cnc
Попробуйте прогуглить "консольный чпу", кажись оно.
Последний раз редактировалось popcorn 28 ноя 2015, 21:40, всего редактировалось 1 раз.
Изображение
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

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

Сообщение Karbofos »

popcorn писал(а):Отснифал USBlizer вкладку "Ограничения" (limits), в архиве скрин начальных настроек, и в название CSV - какие настройки изменил. Попробовал изменить настройки в минус, но программа начала выдавать ошибку. Проверьте, всё ли верно делаю.
Да, хорошо получилось!
Ограничения, судя по всему, не поддерживаются, либо передаются в основном протоколе с заданием координат, т.к. изменений в протоколе установок не увидел.
Зато включение датчиков - в телеграмме A1 по сдвигу 42 изменения состояния отдельных битов.
Последний раз редактировалось Karbofos 28 ноя 2015, 22:03, всего редактировалось 1 раз.
Ответить

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