roboforum.ru

Технический форум по робототехнике.


Обсуждение вариантов изготовления координатного станка.

Модератор: bolt

Сообщение Master » 29 авг 2007, 22:16

Фига себе. Спасибо. Завтра буду учить мат часть.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение avr123.nm.ru » 29 авг 2007, 22:18

Master писал(а):Мне известно что для перехода из точки А в точку Б нужно сделать мотором оси Х 1000 шагов, а мотором оси У 600 шагов и нада чтобы получилась прямая линия.


В ФАПЧ синтезаторах нецелое деление называется "фракшонал н"

например при соотношениее Х-У  2-3  можно шагать так

loop

Х - 1
У - 1

Х - 1
У - 2

goto loop

=====

Можно взять прогу ЧПУ и залогить как она выводит наклонную на LPT.

=====

А ты профили разгона и торможения для ШД делаешь в проге ?  Они должны быть настраиваемыми и макс скорость тоже.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Master » 29 авг 2007, 22:21

Как действовать при определенных соотношениях понятно, нужен универсальный алгоритм.
Чтобы задейсвовать в ШД алгоритм разгона и торможения нужно управлять ими через МК, компутер не стабильно выдает сигналы на порт при загрузке другого приложения может подтормаживать. Да и интерваля менее 10 мс считает очень нестабильно, я интересовался этой темой когда хотел сделать LPT осцилограф.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение avr123.nm.ru » 29 авг 2007, 22:25

для  Х  1000    У  600       минимальные целые числа наверно   Х  5   У  3

т.е. 200 раз сделать

X  2    У  1
X  3    У  2

попробуй.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение avr123.nm.ru » 29 авг 2007, 22:26

Master писал(а):Чтобы задейсвовать в ШД алгоритм разгона и торможения нужно управлять ими через МК


Но РЕАЛЬНЫЕ программы то управляют.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Master » 29 авг 2007, 22:28

Ну ииии ладно. Да и нафига просто позиционирование будет быстрее, а быстро фрезеровать фреза сломается. Я думаю разгон и торможение буду делать когда сделаю рабочую версию.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение avr123.nm.ru » 29 авг 2007, 22:36

А как в G-коде окружности задаются ? как последовательность отрезков ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Master » 30 авг 2007, 12:29

avr123.nm.ru писал(а):А как в G-коде окружности задаются ? как последовательность отрезков ?

Не как-то по-хитрому.

G01X3000Y1500D02*
G03X3000Y1500I-1500J0D01*

Но это не пятачок а именно круг диаметром 30мм и центром в x15y15мм
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение -= Александр =- » 30 авг 2007, 13:20

Про линию - смотреть алгоритм Брезенхема (или как там его?) как раз то что надо.  :wink:
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Myp » 30 авг 2007, 13:21

Не как-то по-хитрому.
ага
типа считается что рисование кружков заложено в железо и прросто задаётся диаметр
а каким чудом станок будет рисовать кружок это уже проблемы мозга станка а не Гкода


а от лесенки всё равно не избавится =/
у ЩД же шаги дискретные, чем мельче шаг тем мельче лесенка буит
т.е. 200 раз сделать

X  2    У  1
X  3    У  2

получитсо лесенка из 400 ступенек, каждая вторая ступенька будет немного больше
но в конечном итоге получится примерно прямая линия....


далее.
на схеме как раз L297
там 4 входа от лпт, направление и шаг
и 8 выходов на шд, туда я повешу ещё вторую плату с мосфитами

попутно надыбал аж 3 ИК датчика, которые срабатывают на пересечение, с узкой щелью, довольно точные.
так что буит умный станок и в крайних положениях будет выключатся
кстати тут же сразу появилась мысль поставить 2 датчика туда где станок в исходном состоянии и добавить в прогу функцию автокалибровки на ноль.
тоесть сначала двигаем 1 ось пока не сработает сенсор, потом двигаем вторую ось
и в итоге всегда в начале работы у нас инструмент будет в одном и том же положении

а вобще гдето я давно читал про способы как точнее управлять лпт
попытаюсь вспомнить.
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение SSG » 30 авг 2007, 13:39

Не тестил - нет времени, но пять коп. вставлю. Может так покатит:  :(
Код: Выделить всёРазвернуть
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;

Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком.  :?
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

Сообщение Master » 30 авг 2007, 13:50

Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком.  

А это идея сенкс попробую.

кстати тут же сразу появилась мысль поставить 2 датчика туда где станок в исходном состоянии и добавить в прогу функцию автокалибровки на ноль.

Запрасто. При необходимости добавлю.

Я щас Z-ось клею.
Последний раз редактировалось Master 30 авг 2007, 14:00, всего редактировалось 1 раз.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение avr123.nm.ru » 30 авг 2007, 13:59

SSG писал(а):Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком.  :?


ИМХО зверская пила получится.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Master » 30 авг 2007, 14:02

Ну на мониторе прямые линии тоже из пикселей. Да и ступеньки получаться 0,005мм.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение Myp » 30 авг 2007, 14:15

Master писал(а):
кстати тут же сразу появилась мысль поставить 2 датчика туда где станок в исходном состоянии и добавить в прогу функцию автокалибровки на ноль.

Запрасто. При необходимости добавлю.

Я щас Z-ось клею.

а там скока ног в лпт есть свободных вобще? 6 ног будут заняты шаговиками... итого остаётся всего 2 ноги свободных чтоли??? ведь каждый сенсор на себя ногу потребует...

а я так и не придумал как z ось делать
со столиком всё понятно едим туды сюды ноу проблем
а вот как инструмент держать... да и ещё туда сюда его двигать...



ещё вопросик
там время импульсов устанавливаетсо, соответственно если у 2х одинаковых ШД поставить разное время шага то получится бяка вместо картинки, а случайно можно вполне...
мб добавить гденить сбоку галочку "делать одинаковые шаги"??

и например когда время шага совпадает, шаговики синхронно шагают или каждый шаговик под своим отдельным таймером??? ведь из за тормозов системы какойнить шаговик может отстать от другого если они не синхронно шагают
хотя у L297 есть выходы синхронизации...
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Пред.След.

Вернуться в Станочный парк

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1