roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 04:26

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 832 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 56  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:16 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:18 
Не в сети
отсылающий читать курс
Аватара пользователя

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


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

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

loop

Х - 1
У - 1

Х - 1
У - 2

goto loop

=====

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

=====

А ты профили разгона и торможения для ШД делаешь в проге ?  Они должны быть настраиваемыми и макс скорость тоже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:21 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:25 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
для  Х  1000    У  600       минимальные целые числа наверно   Х  5   У  3

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

X  2    У  1
X  3    У  2

попробуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:26 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Master писал(а):
Чтобы задейсвовать в ШД алгоритм разгона и торможения нужно управлять ими через МК


Но РЕАЛЬНЫЕ программы то управляют.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:28 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 авг 2007, 22:36 
Не в сети
отсылающий читать курс
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 12:29 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
avr123.nm.ru писал(а):
А как в G-коде окружности задаются ? как последовательность отрезков ?

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

G01X3000Y1500D02*
G03X3000Y1500I-1500J0D01*

Но это не пятачок а именно круг диаметром 30мм и центром в x15y15мм


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 13:20 
Не в сети
Мастер Самоделкин
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 13:21 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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


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

X  2    У  1
X  3    У  2

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


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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 13:39 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Не тестил - нет времени, но пять коп. вставлю. Может так покатит:  :(
Код:
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;

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 13:50 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Цитата:
Т.е. накапливаем нецелый остаток шага по Х с предыдущего шага и добавляем к следующему. Как только он будет больше нуля - выполнится дополнительный шажок по Х, обусловленный наросшим остатком.  

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

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

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

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


Последний раз редактировалось Master 30 авг 2007, 14:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 13:59 
Не в сети
отсылающий читать курс
Аватара пользователя

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


ИМХО зверская пила получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 14:02 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 авг 2007, 14:15 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

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

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

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

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



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

и например когда время шага совпадает, шаговики синхронно шагают или каждый шаговик под своим отдельным таймером??? ведь из за тормозов системы какойнить шаговик может отстать от другого если они не синхронно шагают
хотя у L297 есть выходы синхронизации...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 832 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 56  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO