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

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

Добавлено: 17 фев 2015, 17:44
selenur
Наконец дособирал купленный китайский станочек с полем 20х20, дальше понемногу разбираюсь с протоколом, но вот мысль не дает покоя, будет ли кому это нужно кроме меня?
А как думаете вы? :-)

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

Добавлено: 17 фев 2015, 17:46
aftaev
selenur писал(а):А как думаете вы?
как вижу такое
selenur писал(а): с полем 20х20
мысли отключаются :)

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

Добавлено: 17 фев 2015, 18:37
selenur
aftaev писал(а):
selenur писал(а):А как думаете вы?
как вижу такое
selenur писал(а): с полем 20х20
мысли отключаются :)
Это я в сантиметрах написал, ещё не привыкший к измерениям в милиметрах :-)

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

Добавлено: 17 фев 2015, 22:07
michael-yurov
Мне бы очень хотелось бы попробовать, если бы не наличие кучи других систем ЧПУ с которыми я уже связался.

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

Добавлено: 18 фев 2015, 09:48
Moonglow
selenur писал(а):будет ли кому это нужно кроме меня?
Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.

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

Добавлено: 18 фев 2015, 10:36
selenur
Moonglow писал(а):
selenur писал(а):будет ли кому это нужно кроме меня?
Конечно будет! А если добавить плагин для Mach3, то наверное аудитория любителей LPT подтянется. Расчетами пусть занимается Mach ,а реалтайм будет обеспечен контроллером.
Вот тут, бы поподробнее про расчеты с применением mach....

В контроллер можно посылать 2 варианта выполнения движений по осям:
1) представляет собой координаты куда выполнить движение, тут все расчеты выполняет сам контроллер.
2) Передать в контроллер какие оси, направление, и с какой скоростью, выполнять, после чего начинается выполнение движения, и пока контроллеру не пошлем остановку, будет бесконечно выполняться движение.

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

Добавлено: 18 фев 2015, 11:16
Сергей Саныч
Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.

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

Добавлено: 18 фев 2015, 11:57
selenur
Сергей Саныч писал(а):Вот как в Маче - не в курсе, а в LinuxCNC при работе скажем, с Pluto-P реализован, скорее, второй вариант.
Каждую миллисекунду LCNC посылает контроллеру, по каким осям и с какой скоростью ехать, а контроллер в ответном пакете - сколько он реально прошагал. Драйвер рассчитывает ошибку по координатам и в следующем сервоцикле корректирует задание скорости.
Ух-ты не знал о такой реализации, в linuxCNC, нужно будет попробовать разные скорости контроллеру послать, и посмотреть что получиться :-)

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

Добавлено: 18 фев 2015, 13:04
Moonglow
selenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHO

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

Добавлено: 18 фев 2015, 14:30
selenur
Moonglow писал(а):
selenur писал(а):Вот тут, бы поподробнее про расчеты с применением mach....
В Mach3 есть интерфейс для плагинов ( многие производители используют такой подход, тот же Пурлоджик или даже тут тема проскакивала с бесплатным, но закрытым проектом внешнего контроллера ), с помощью которого и можно написать свой плагин для контроллера либо действительно для LinuxCNC, больше шансов, что заинтересует людей IMHO
Ну тогда наверное как добьюсь нормальных результатов работы с контроллером, можно будет подумать и о такой доработке.
Сейчас насобирал уже 18 разных пакетов данных, которые пересылаются между компьютером и контроллером, вот теперь пытаюсь расшифровать, хоть и не быстро но прогресс двигается... :-)

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

Добавлено: 19 фев 2015, 17:00
selenur
Добавил в программу ручное управление направлением движения, единственное пока не понял математику посылаемой скорости, а именно:
(для просмотра содержимого нажмите на ссылку)
Снимок99999.JPG (4450 просмотров) <a class='original' href='./download/file.php?id=43470&mode=view' target=_blank>Загрузить оригинал (36.63 КБ)</a>
В моей табличке:
JOG - это отображаемая скорость движения
(для просмотра содержимого нажмите на ссылку)
Снимок10.JPG (4450 просмотров) <a class='original' href='./download/file.php?id=43487&mode=view' target=_blank>Загрузить оригинал (29.49 КБ)</a>
HEX - это 16-ричное значение которое посылается в контроллер
DEC - это-же значение в десятичном виде

Если нужно например выполнять движение при котором JOG = 300, я вычисляю следующим образом беру константу 1800 делю на JOG и умножаю на 1000, т.е. (1800/300)*1000 = 6000 (в 16-ти ричной 1770) что и посылаю в контроллер.
Всё конечно работает, но интересно для чего это всё??? кто что думает? или знает??? :-)

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

Добавлено: 19 фев 2015, 18:34
Moonglow
Странная константа, для 100 и 300 все работает, а вот для 10 и 1000 нет. Видимо эти значение потом подгружается в счетчик, ведь если нужна частота меньше, то сравнивать надо счетчик с бОльшим числом, главное понять зависимость, может быть сделать таблицу с более мелким шагом ?

Программа Eureqa предлагает вот такой вариант :)

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

SPEED = 19983.7139871623 + 406634.572324227/JOG + 0.046850276160621*(JOG^2) - 65.1856247201075*JOG
зато в результат точно попадает :) :cheesy:

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

Добавлено: 19 фев 2015, 18:54
selenur
А при посылке команды движения по указаным координатам константа равна 3600 :thinking:

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

Добавлено: 20 фев 2015, 09:50
vit_rus
а константа 1800 не звисит от максимальной скорости в настройках:Настройка->Оси->Настройки->Настройки ускорения. Еще покажи параметры "Скорость подачи" "Скорость перемещения"

Т.к. есть ограничения на максимальную частоту генерации шагов в программе, то в зависимости от кол-ва шагов на мм ограничивается и макс скорость в программе.

Как вариант, в зависимости от требуемой скорости перенастраивается предделитель в таймере PICa.

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

Добавлено: 20 фев 2015, 11:24
selenur
1) Настройки ускорения
(для просмотра содержимого нажмите на ссылку)
0000.JPG (4404 просмотра) <a class='original' href='./download/file.php?id=43557&mode=view' target=_blank>Загрузить оригинал (46.16 КБ)</a>
2) Настройка скоростей
(для просмотра содержимого нажмите на ссылку)
11111.JPG (4404 просмотра) <a class='original' href='./download/file.php?id=43558&mode=view' target=_blank>Загрузить оригинал (45.72 КБ)</a>
А так-же значения отображаемые в JOG (в программе) и то что посылается в контроллер:

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

JOG | HEX - в посылке
1 fb1d
2 fb1d
5 ea60
10 ea60
20 afc8
30 ea60 <-- вот тут какое-то странное значение..... ломает весь порядок
40 afc8
50 8c9f
100 464f
150 2ee0
200 2327
300 1770
500 0e10
1000 0708
2000 0384
5000 0168
6000 012c
7000 0101
7500 00f0

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

Добавлено: 20 фев 2015, 11:39
vit_rus
selenur писал(а):А при посылке команды движения по указаным координатам константа равна 3600 :thinking:
скорость подачи - 250 константа 1800
скорость перемещения - 500 константа 3600 ?????

все правильно, только по формуле (1800*1000)/F чтобы не было округления
JOG HEX в посылке
31 D0E2
30 60EA
29 74F2

до скорости 30 похоже предделитель используется т.к. значение в 2 байта не лезет
(для просмотра содержимого нажмите на ссылку)
табличка (4390 просмотров) <a class='original' href='./download/file.php?id=43565&mode=view' target=_blank>Загрузить оригинал (80.28 КБ)</a>
табличка

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

Добавлено: 20 фев 2015, 14:26
selenur
vit_rus писал(а):скорость подачи - 250 константа 1800
скорость перемещения - 500 константа 3600 ?????
Это я заметил, но очень сомневался, оно или нет....:-)

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

Добавлено: 22 фев 2015, 03:38
popcorn
хм, возможно, когда окончательно зареверсите протокол, стоит сделать подобную программу для linux? Хотя вы вроде как на .net пишете :(

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

Добавлено: 22 фев 2015, 12:32
selenur
Я c# с фреймворком использую прежде всего из-за возможности быстрой реализации пользовательского интерфейса. Когда разберусь нормально, можно будет подумать и о Linux, мне не особо напряжно программировать под линукс.

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

Добавлено: 23 фев 2015, 09:06
selenur
В контроллере есть энергонезависимая память, в которой сохраняются координаты положения, и настройки самого контроллера, в результате чего, контроллер получается настроить из родной программы, а рулить из моей.
Какие из настроек по вашему мнению стоит прежде всего добавить в свою программу?
Пока я вижу такой список:
1) количество импульсов на 1мм для осей.
2) инвентирование направления движения ( вывод у mk1 который Dir)