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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.

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

Сообщение selenur » 28 янв 2015, 15:19

В начале недели наконец получил станок, и пару контроллеров 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
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4108
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1452
Медальки:
Настоящее имя: Сергей

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

Сообщение tooshka » 28 янв 2015, 15:25

:controller: Ждем продолжения.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
 
Сообщения: 1798
Зарегистрирован: 24 окт 2012, 14:26
Откуда: Нижний Новгород
Репутация: 209
Медальки:
Настоящее имя: Андрей

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

Сообщение sertix » 28 янв 2015, 18:12

selenur писал(а):да и 70 евро сейчас уже такой курс имеют, что и покупать программу не хочется...

Инструкцию про обновления прошивки от китайцев читать внимательнее надо было, теперь дешевле новый такой контроллер купить :hehehe:
Изображение
sertix
Мастер
 
Сообщения: 623
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей

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

Сообщение selenur » 28 янв 2015, 19:24

1) прошивки для скачивания мне попадались и старые тоже, необходимый инструментарий у меня есть, и для заливки прошивок, а обновлял я намеренно.
2) Я сам много лет занимаюсь программированием, и считаю неправильно использовать ломанное ПО, и железо. ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4108
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1452
Медальки:
Настоящее имя: Сергей

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

Сообщение sertix » 28 янв 2015, 20:46

Так обновлять то наверное не надо было...
Изображение
sertix
Мастер
 
Сообщения: 623
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей

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

Сообщение selenur » 28 янв 2015, 21:07

sertix писал(а):Так обновлять то наверное не надо было...

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

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

Сообщение sertix » 28 янв 2015, 21:25

selenur писал(а):на днях напишу

Зачем? Кто пользуется китайским клоном и так знает что работать будет только со старой версией, которую китайцы ломанули. Остальные честные, программу купили, некоторые сэкономили только на контроллере.
Изображение
sertix
Мастер
 
Сообщения: 623
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей

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

Сообщение leprud » 28 янв 2015, 21:45

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

PS Но программка все равно интересна, у меня не хватило усердия на выставление фильтров по юсб для отлова команд
leprud
Почётный участник
Почётный участник
 
Сообщения: 348
Зарегистрирован: 01 апр 2014, 19:16
Откуда: Москва
Репутация: 111

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

Сообщение sertix » 28 янв 2015, 22:10

Изображение
sertix
Мастер
 
Сообщения: 623
Зарегистрирован: 07 май 2011, 09:06
Репутация: 136
Настоящее имя: Сергей

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

Сообщение selenur » 29 янв 2015, 06:00

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

PS Но программка все равно интересна, у меня не хватило усердия на выставление фильтров по юсб для отлова команд

На сайте http://freeusbanalyzer.com/ можно скачать бесплатную утилиту, её функционала вполне хватает для просмотра информации между компьютером и контроллером.
Выглядит это так:

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

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

Сообщение selenur » 29 янв 2015, 09:11

Немного ещё разобрался в формате получаемых данных:

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

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

Сообщение selenur » 29 янв 2015, 15:57

Вот ещё немного добавил функциональности, теперь могу послать контроллеру команды для 3-х осей в какую сторону, с какой скоростью, и на сколько мм двигаться.

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

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

Сообщение selenur » 30 янв 2015, 07:44

Вот ещё разобрался как получать информацию о сработавших лимитах осей X,Y,Z,A

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

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

Сообщение ukr-sasha » 30 янв 2015, 08:02

selenur писал(а):У кого нибудь случаем нет радио схемы платы мк1 для микроконтроллера в smd корпусе?

Ukr-34_Ver2.pdf
(329.98 Кб) Скачиваний: 1430
Заходите в гости: YouTube-ukr-sasha
ukrainets.alexander@gmail.com
или звоните +38067-235-57-70
Аватара пользователя
ukr-sasha
Мастер
 
Сообщения: 3349
Зарегистрирован: 21 мар 2011, 07:47
Откуда: Киев, Украина
Репутация: 2155
Медальки:
Настоящее имя: Украинец Александр Григорьевич

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

Сообщение selenur » 30 янв 2015, 08:32

ukr-sasha писал(а):
selenur писал(а):У кого нибудь случаем нет радио схемы платы мк1 для микроконтроллера в smd корпусе?

Ukr-34_Ver2.pdf

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

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

Сообщение selenur » 30 янв 2015, 18:43

В процессе изучения работы оригинальной программы, оказалось что при выполнении G-команды G2 программа эту команду преобразует в прямолинейные отрезки, и лишь потом посылает контроллеру команды движения.
У микроконтроллера есть вывод speed, 19 вывод, кто подскажет что это? вход или выход? а еще выводы 17,18?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4108
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1452
Медальки:
Настоящее имя: Сергей

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

Сообщение Moonglow » 31 янв 2015, 10:30

SPEED ( 19 ) - вход куда можно подключить переменный резистор ( например 4.7K, 10K и тд ) с логарифмической характеристикой, используется для контроля скорости перемещения через JOG.
RB7 ( 17 ) - используется как линия данных при записи чипа через программатор. Во время работы используется как выход для индикации работы через светодиод ( в моей схеме он обозначен как VH1, колодка программирования X4 ).
MCLR ( 18 ) - вход, используется как аппаратный сброс чипа ( MasterCLeaR )
Moonglow
Опытный
 
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Откуда: Москва
Репутация: 107
Медальки:

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

Сообщение selenur » 01 фев 2015, 00:16

Прикрепил к посту архивчик
test.rar
(97.71 Кб) Скачиваний: 551
с сырой програмкой (пароль: http://www.cnc-club.ru) , пока без выполнения g-кода
Интересно, заведется у кого нибудь, кроме меня :-)
Временный интерфейс
(для просмотра содержимого нажмите на ссылку)
Управление контроллером MK1 и MK2 (planet-cnc) Снимок.PNG

При установке флажка "Включение получения данных с контроллера" программа пытается найти usb-устройство, и если получается то с него получает информацию о сработавших лимитах, положении по осям, и наполненности буфера, буфер контроллера может быть заполнен максимум 14 блоками по 64 байта.

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

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

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

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

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

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

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

Сообщение selenur » 02 фев 2015, 13:55

Вот на досуге ещё немного продвинулся с программой.
Подключил контроллер к новенькому станочку:

Была возможность выполнить g-код в planet-cnc

заняло где-то 7 минут.

Тоже самое в моей программе пока намного дольше, но главное уже работает!! :-)

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

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

Сообщение selenur » 03 фев 2015, 15:02

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

И конечно попробовал им порулить контроллером:

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

След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: andergrin, Bing [Bot], CNCStart, Google [Bot], Leopold_V, Majestic-12 [Bot], MSN [Bot], porshe, Yandex [bot], ЫЫЫ

Reputation System ©'