Технический форум по робототехнике.
Модератор: bolt
Master писал(а):Мне известно что для перехода из точки А в точку Б нужно сделать мотором оси Х 1000 шагов, а мотором оси У 600 шагов и нада чтобы получилась прямая линия.
Master писал(а):Чтобы задейсвовать в ШД алгоритм разгона и торможения нужно управлять ими через МК
avr123.nm.ru писал(а):А как в G-коде окружности задаются ? как последовательность отрезков ?
агаНе как-то по-хитрому.
т.е. 200 раз сделать
X 2 У 1
X 3 У 2
shagovХ=1000
shagovY=600
ostatok:=0;
for iY:=1 to shagovY do
begin
dx:= shagovX/shagovY+ostatok;
for iX:=1 to round(dx) do //и блин из-зи этого округления накапливается ошибка до 4000 шагов, а это 2 см
begin
делаем шаг по оси Х
end;
делаем шаг по оси У
ostatok:=frac(dx);
end;
Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком.
кстати тут же сразу появилась мысль поставить 2 датчика туда где станок в исходном состоянии и добавить в прогу функцию автокалибровки на ноль.
SSG писал(а):Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком. :?
Master писал(а):кстати тут же сразу появилась мысль поставить 2 датчика туда где станок в исходном состоянии и добавить в прогу функцию автокалибровки на ноль.
Запрасто. При необходимости добавлю.
Я щас Z-ось клею.