Станок канатной резки камня с ЧПУ

Намоточные, сверлильные, электроэррозионные и другие станки с ЧПУ.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick писал(а):Вроде все, даже как-то слишком просто
И все??? :lol:
Пожалуй, с меня полагается магарыч(по всей вероятности-коньяк(адрес в личку, pls)) :beer_blow:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

Ну практически все, есть один нюанс - atan выдает угол в диапазоне -pi;+pi, Т.е. если угол будет меняться с -179 до +179 градусов, станок будет поворачивать не по кратчайшему пути....
в принципе можно и это решить...
надо добавить пин feedback

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

component atan2;
pin in float x;
pin in float y;
pin in float fb;
float pi =  3.14159265;
pin out float a;
function _;
license "GPL";
;;
#include <rtapi_math.h>
FUNCTION(_) {
    if (x==0 and y==0) {a=0;}       // hack to not get an error on 0,0
    else {
        float a1=atan2(x,y);
        if (a1-fb)%(2*pi) > pi {a = fb-2*pi + a1;}
        else {a = fb + a1;}
    }
}
Как-то так... но не уверен - не люблю я эти иглы, и их зацикленность.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick писал(а):Ну практически все, есть один нюанс - atan выдает угол в диапазоне -pi;+pi, Т.е. если угол будет меняться с -179 до +179 градусов, станок будет поворачивать не по кратчайшему пути....
Ник, я тут подумал что на самом деле нет разницы- ролики могут поворачиваться на угол а или а+180 град(потому что они стоят попарно друг против друга). Это может упростить задачу?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

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

Т.е. смотри, если будешь резать дугу, то в ней в крайней точке, где будет переход от -180 градусов на +180 ролики быстро повернуться на 360 градусов. Может быть, это оставит риску на материале. А может и нет.

ЗЫ если можно сократить до 180 градусов, то в первом варианте делаем так:

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

component atan2;
pin in float x;
pin in float y;
pin out float a;
float pi = 3.14159265;
function _;
license "GPL";
;;
#include <rtapi_math.h>
FUNCTION(_) { 
    if (x==0 and y==0) {a=0;}       // hack to not get an error on 0,0
    else {
               float a1=atan2(x,y);
               if (a1<0) a = pi+a1;
               else a = a1;
           }
}
Хотя, лучше использовать второй вариант, и проблем не будет.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick писал(а):Хотя, лучше использовать второй вариант, и проблем не будет.
Второй вариант-это последний?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

Второй, это этот: Станок канатной резки камня с ЧПУ #22
только его надо протестировать.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick писал(а):только его надо протестировать.
Я все думаю-как эксперементировать?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

Да просто - запускаешь любую программу, только без материала и смотришь, чтобы все правильно крутилось. Лучше всего сделай несколько спиралей и еще что-нибудь с резкой сменой направления.

Да, кстати, можно еще сделать так, чтоб на холостых перемещениях серва поворота отключалась.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick,обьясни pls, с какой последовательностью и что нужно сделать, а то я боюсь что то намудрить на станочном компе(график работы на станке расписан на 15 дней вперед :wik: )так что ошибаться мне нельзя.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

1. sudo comp install и имя компонента. Это ничего не испортит.
2. делаем копию конфигурации - тупо копия папки, экспериментировать будем на ней. (кстати вообще можно по экспериментировать на отдельном компе)
3. Потом как я и писал модифицируем hal

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

loadrt atan2 
net atan2x => atan2.0.x <= axis.0.joint-vel-cmd 
net atan2y => atan2.0.y <= axis.1.joint-vel-cmd 
net atan2a <= atan2.0.a => команда для поворота сервы
И пробуем :)
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Наверное я не очень умный(мягко говоря :wik: ), но не получается никак.
Вот мои действия-сохранил вот это-

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

component atan2;
pin in float x;
pin in float y;
pin out float a;
float pi = 3.14159265;
function _;
license "GPL";
;;
#include <rtapi_math.h>
FUNCTION(_) { 
    if (x==0 and y==0) {a=0;}       // hack to not get an error on 0,0
    else {
               float a1=atan2(x,y);
               if (a1<0) a = pi+a1;
               else a = a1;
           }
}
в файле под названием atan2
потом пишу в терминале sudo comp install atan2.comp и все на этом
знаю что есть ошибка, но не понимаю в чем :)
И еще вопрос-что такое comp.(папка?)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение nkp »

dansystems1 писал(а):в файле под названием atan2
наверно надо:

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

atan2.comp
dansystems1 писал(а):И еще вопрос-что такое comp.(папка?)
Вот здесь можно про это почитать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

dansystems1 писал(а):потом пишу в терминале sudo comp install atan2.comp и все на этом
знаю что есть ошибка, но не понимаю в чем
Если ничего не пишет - значит все хорошо. Если пишет какую-то ошибку, то давай ее текст сюда :)
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

nkp, спасибо, читаю.
как я понял атан должен находится здесь- linuxcnc/src/hal/components, но у меня нет папки src, создать что-ли?
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick, вот что пишет
dan@ubuntu:~$ sudo comp instal -- atan2.comp
[sudo] password for dan:
sudo: comp: command not found
dan@ubuntu:~$
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

sudo apt-get install linuxcnc-dev

нужен пакет с штуками для разработчиков, в том числе comp находится в этом пакете.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

сделал так -sudo apt-get install linuxcnc-dev, скачал файли, но в папке linux cnc не добавилось ничего.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

после этого sudo comp install и т.д.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение dansystems1 »

Nick писал(а):после этого sudo comp install и т.д.
вот что "ответил" терминал
sudo comp install--atan2.comp
Traceback (most recent call last):
File "/usr/bin/comp", line 1335, in <module>
main()
File "/usr/bin/comp", line 1304, in main
process(f, mode, outfile)
File "/usr/bin/comp", line 1178, in process
a, b = parse(filename)
File "/usr/bin/comp", line 410, in parse
f = open(filename).read()
IOError: [Errno 2] No such file or directory: 'install--atan2.comp'
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Станок канатной резки камня с ЧПУ

Сообщение Nick »

Так:
1. чуть чуть подправил код:

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

component atan2;
pin in float x;
pin in float y;
pin out float a;
function _;
license "GPL";
;;
#include <rtapi_math.h>;

FUNCTION(_) { 
	float pi = 3.14159265;
	if (x==0 && y==0) {a=0;}	   // hack to not get an error on 0,0
	else {
			float a1;
			a1 = atan2(x,y);
			if (a1<0) 
				{a = a1+pi;}
			else 
				{a = a1;}
		}
}
и выполняй не:
sudo comp install atan2.comp
, а:
sudo comp --install atan2.comp
Ответить

Вернуться в «Прочие станки»