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

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

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

Сообщение selenur »

В начале недели наконец получил станок, и пару контроллеров nc-studio и mk1, пока второго компьютера нет куда можно установить плату nc-studio, решил поиграться с mk1.

Собственно так выглядит контроллер с МК pic 18f4550: Подключил к нему один драйвер: После подключения, и обновления прошивки, попробовал поиграться, и узнал что в программе было ограничение на 25 строк g-кода.

В начале я думал это ограничения было реализовано лишь в управляющей программе, и попытался набросать свою простенькую программку для управления контроллером, используя CNCUSBControllerAPI.dll, это библиотека была специально разработана автором planet-cnc, для возможности создания кем угодно, умеющим программировать, своей программы управления контроллерами mk1,2,3,4.

Но оказалось ограничение в 25 строк осталось, т.к. эта библиотека работает через библиотеку CNCUSBControllerLib.dll которая в свою очередь через libusb, ковырять библиотеку религия не позволяет, да и 70 евро сейчас уже такой курс имеют, что и покупать программу не хочется...

Зато появился способ заморочиться, чем я и занялся, как оказалось чпу-контроллер использует windows-драйвер libusb, а примеров работы с этим драйвером нашлось достаточно.
В результате чего, сегодня в течение обеденного времени набросал небольшую программку: Программка работает с контроллером через libusb, минуя все лишние библиотеки.
На скрине выше видно, одновременное подключение к контроллеру и моей программки, и оригинальной управляющей.

Если интересно, то могу продолжить дальше, описывать процесс :-)
Последний раз редактировалось selenur 24 сен 2015, 15:40, всего редактировалось 1 раз.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1802
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

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

Сообщение tooshka »

:controller: Ждем продолжения.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
sertix
Мастер
Сообщения: 627
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей
Контактная информация:

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

Сообщение sertix »

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

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

Сообщение selenur »

1) прошивки для скачивания мне попадались и старые тоже, необходимый инструментарий у меня есть, и для заливки прошивок, а обновлял я намеренно.
2) Я сам много лет занимаюсь программированием, и считаю неправильно использовать ломанное ПО, и железо. ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
sertix
Мастер
Сообщения: 627
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей
Контактная информация:

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

Сообщение sertix »

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

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

Сообщение selenur »

sertix писал(а):Так обновлять то наверное не надо было...
Новая версия управляющей программы не могла работать с той прошивкой что была в контроллере, нужна была версия управляющей программы от 12.02.2013, погуглив нужную версию не нашел, на родном сайте тоже не нашлось, автор наверняка зная про эту лазейку убрал из доступа для скачивания старые дистрибутивы. Если не обновлять прошивку, то управляющая программа не может работать с контроллером, а почему, на днях напишу.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
sertix
Мастер
Сообщения: 627
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей
Контактная информация:

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

Сообщение sertix »

selenur писал(а):на днях напишу
Зачем? Кто пользуется китайским клоном и так знает что работать будет только со старой версией, которую китайцы ломанули. Остальные честные, программу купили, некоторые сэкономили только на контроллере.
Изображение
leprud
Почётный участник
Почётный участник
Сообщения: 348
Зарегистрирован: 01 апр 2014, 19:16
Репутация: 111
Откуда: Москва
Контактная информация:

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

Сообщение leprud »

Мой китайский клон (который сразу с TB6560) обновляется через штатную программу, и при этом остается полностью рабочим..
Что я делаю не так??

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

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

Сообщение selenur »

leprud писал(а):Мой китайский клон (который сразу с TB6560) обновляется через штатную программу, и при этом остается полностью рабочим..
Что я делаю не так??

PS Но программка все равно интересна, у меня не хватило усердия на выставление фильтров по юсб для отлова команд
На сайте http://freeusbanalyzer.com/ можно скачать бесплатную утилиту, её функционала вполне хватает для просмотра информации между компьютером и контроллером.
Выглядит это так: От контроллера постоянно получаем информацию, о текущем состоянии станка, координатах, и др.... эти пакеты в таблице (колонка direction) помечаются как UP.
К контроллеру помечаются соответственно DOWN.
Обмен данными с контроллером происходит блоками по 64 байта.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Немного ещё разобрался в формате получаемых данных: Справа это моя программка :-)
Как оказалось в контроллере координаты хранятся в количествах импульсов, и в программе отображается положение вычисленное как: количество импульсов/ на кол. импульсов на 1 мм.
Количество импульсов на 1 мм берется из настроек управляющей программы.
Если например положение по оси х=1мм (200 импульсов), мы зайдем в настройки программы и установим 100 импульсов, то управляющая программа уже сразу будет отображать положение по оси х = 2 мм. :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Вот ещё немного добавил функциональности, теперь могу послать контроллеру команды для 3-х осей в какую сторону, с какой скоростью, и на сколько мм двигаться. В запущенной параллельно родной программе смотрю как двигается. :-)
Вот теперь нужно ещё добавить чтение G-кода :-)
А в остальном таки прикольный контроллер у разработчика получился :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Вот ещё разобрался как получать информацию о сработавших лимитах осей X,Y,Z,A Правда оказалось что из-за какого-то косяка лимиты оси Z не срабатывают, но проблему нашел, надо будет немного попаять :-)
У кого нибудь случаем нет радио схемы платы мк1 для микроконтроллера в smd корпусе? т.к. ту что я скачал с родного сайда только в дип корпусе, и выводы соответственно не совпадают...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2178
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

Сообщение ukr-sasha »

selenur писал(а):У кого нибудь случаем нет радио схемы платы мк1 для микроконтроллера в smd корпусе?
Ukr-34_Ver2.pdf
(329.98 КБ) 1783 скачивания
Заходите в гости: YouTube-ukr-sasha
ukrainets.alexander@gmail.com
или звоните +38067-235-57-70
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

ukr-sasha писал(а):
selenur писал(а):У кого нибудь случаем нет радио схемы платы мк1 для микроконтроллера в smd корпусе?
Ukr-34_Ver2.pdf
О то самое! спасибо большое!
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

В процессе изучения работы оригинальной программы, оказалось что при выполнении G-команды G2 программа эту команду преобразует в прямолинейные отрезки, и лишь потом посылает контроллеру команды движения.
У микроконтроллера есть вывод speed, 19 вывод, кто подскажет что это? вход или выход? а еще выводы 17,18?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 107
Откуда: Москва
Контактная информация:

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

Сообщение Moonglow »

SPEED ( 19 ) - вход куда можно подключить переменный резистор ( например 4.7K, 10K и тд ) с логарифмической характеристикой, используется для контроля скорости перемещения через JOG.
RB7 ( 17 ) - используется как линия данных при записи чипа через программатор. Во время работы используется как выход для индикации работы через светодиод ( в моей схеме он обозначен как VH1, колодка программирования X4 ).
MCLR ( 18 ) - вход, используется как аппаратный сброс чипа ( MasterCLeaR )
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Прикрепил к посту архивчик
test.rar
(97.71 КБ) 840 скачиваний
с сырой програмкой (пароль: http://www.cnc-club.ru) , пока без выполнения g-кода
Интересно, заведется у кого нибудь, кроме меня :-)
Временный интерфейс
(для просмотра содержимого нажмите на ссылку)
Снимок.PNG (21671 просмотр) <a class='original' href='./download/file.php?id=42083&sid=15ae972ac7657015fa44add01e59eb81&mode=view' target=_blank>Загрузить оригинал (125.7 КБ)</a>
При установке флажка "Включение получения данных с контроллера" программа пытается найти usb-устройство, и если получается то с него получает информацию о сработавших лимитах, положении по осям, и наполненности буфера, буфер контроллера может быть заполнен максимум 14 блоками по 64 байта.

Кнопки вкл/выкл по идее и так понятны.

Элементы в группировке "Кол. импульсов на 1 мм" применяются для вычисления текущего положения по осям, и для вычисления посылки команд на движение.

Группа элементов "изменить положение в мм" - позволяет послать команду 1 команду на движение (значение может быть и отрицательным)

Группа элементов "Ручное управление" - ещё пока не доконца изучил, в оригинальной программе эти команды вызывались при нажатии на рисунок с крестом, внутри которого стрелки.

На второй закладке, можно выполнить поиск всех usb устройств работающих с применением библиотеки libusb.

А на последней закладке пока доступно лишь открытие файла.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Вот на досуге ещё немного продвинулся с программой.
Подключил контроллер к новенькому станочку: Была возможность выполнить g-код в planet-cnc заняло где-то 7 минут.

Тоже самое в моей программе пока намного дольше, но главное уже работает!! :-) ну и собственно сама программка
test.rar
(99.53 КБ) 893 скачивания
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4362
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1526
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Сегодня коллега по работе дал поиграться с планшетом на windows8, вот его обзор: http://4pda.ru/forum/index.php?showtopic=459462 (в том году он его за 12000 руб покупал)

И конечно попробовал им порулить контроллером: все заработало.
Ну ещё и оригинальный софт попробовал, правда 3-d оказалось лишним, больно ресурсоемко......
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Ответить

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