Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

С таким генератором невозможно будет изобразить например дугу. Понятно почему?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение vmarkiv »

Почему нельзя изобразить дугу ? Можно все , но линейно-кусочной аппроксимацией - ВСЕ ЧПУ построены на этом принципе
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Impartial »

UAVpilot писал(а):С таким генератором невозможно будет изобразить например дугу. Понятно почему?
Непонятно. Почему?
Можно все , но линейно-кусочной аппроксимацией - ВСЕ ЧПУ построены на этом принципе
Абсолютно точное замечание
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

Пример1:
Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
Останавливать генерацию в точке смены длительности (скорости) нельзя, например потому, что плазма.

Пример2:
Пусть будет дуга. Пусть по Х движение равномерное. По Y придётся генерить последовательность импульсов, в которой длительность каждого импульса должна отличаться от предыдущих. Как и какие аппаратные средства нужно запрограммировать?
vmarkiv писал(а):Почему нельзя изобразить дугу ? Можно все , но линейно-кусочной аппроксимацией - ВСЕ ЧПУ построены на этом принципе
Не получится, даже если окружность сапроксимировать в треугольник. Дугу привёл в пример т.к. это ярко выраженный случай.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение aftaev »

UAVpilot писал(а):Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
почему нельзя по Х сгенерировать 5 импульсов, а потом 1 импульс по У и пофиг на всякий реалтайм.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Impartial »

Ничего не понял, что Вы хотели сказать примерами с импульсами.
Хорошо, допустим я ошибаюсь, как Вы представляете себе устройство генератора шагов?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

aftaev писал(а):
UAVpilot писал(а):Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
почему нельзя по Х сгенерировать 5 импульсов, а потом 1 импульс по У и пофиг на всякий реалтайм.
Можно, но после 5 импульсов по Х будет остановка на неопределённое время т.к. по условию задачи RT у нас нет и система среагирует на окончание генерации 5 импульсов для Х через НЕИЗВЕСТНОЕ (негарантируемое) время.
В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

Impartial писал(а):Ничего не понял, что Вы хотели сказать примерами с импульсами.
Хорошо, допустим я ошибаюсь, как Вы представляете себе устройство генератора шагов?
Как я вижу вы и сами не представляете как он устроен и как работает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение aftaev »

UAVpilot писал(а):В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Impartial »

UAVpilot писал(а):Как я вижу вы и сами не представляете как он устроен и как работает.
Так объясните.
aftaev писал(а):Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?
Ничего там не будет. Все будет точно и равномерно. Проверено.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение aftaev »

Impartial писал(а):Ничего там не будет. Все будет точно и равномерно. Проверено.
отклонения по скорости если и будут такие что можно ими пренебречь. главнее траектория, а не скорость.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

aftaev писал(а):
UAVpilot писал(а):В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?
Да много чем, прожиганием дыры плазмой, расплавлением пластика под не двигающейся вращающейся фрезой, подгоранием дерева под ней и т.д. и т.п.
Я вот закупился прозрачным поликарбонатом, вчера пол дня подбирал режимы обработки: большая подача - поверхность некачественная получается, маленькая подача - подплавляется и тоже плохо.

Ну про апроксимацию: представь траекторию фрезы, когда она сначала смещается на шаг по одной оси, а потом по другой и траекторию, когда она смещается на шаг по обеим осям одновременно...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Impartial »

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

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Nick »

В том то и дело, что в LinucCNC stepgen это не просто генератор частоты, а компонент, который получает задание и выдает обратную связь, и насколько я понимаю скорости частоты генерит сам, большинство вещей он конечно делает в servothread...

В принципе, если этот генератор частоты будет выдавать обратную связь, то небольшие отклонения по сервоциклу не так страшны, они и в LinuxCNC есть. Весь вопрос в их размере :). Есть хотя бы приблизительные прикидки?
Хотя если есть прикидки и ограничения, то это уже real time :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Serg »

Вот! Сразу видно - человек представляет как оно устроено и работает! ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Impartial »

Nick писал(а):В том то и дело, что в LinucCNC stepgen это не просто генератор частоты, а компонент, который получает задание и выдает обратную связь, и насколько я понимаю скорости частоты генерит сам, большинство вещей он конечно делает в servothread...
LinucCNC абсолютно все равно, в какой позиции находится инструмент. Обратная связь - только ЕСТЬ/НЕТ ошибка привода.
Под приводом подразумевается, в том числе, компонент stepgen.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Nick »

Это так, но при вычислении частоты шагов на следующий servo-thread обратная связь должна учитываться, иначе неминуемо будет расти ошибка.
zewan
Новичок
Сообщения: 12
Зарегистрирован: 19 июн 2012, 10:59
Репутация: 0
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение zewan »

Смотри-ка пару дней не было, а как далеко тема продвинулась. :-o
Nick писал(а):Это так, но при вычислении частоты шагов на следующий servo-thread обратная связь должна учитываться, иначе неминуемо будет расти ошибка.
А можно вопрос? Если степген увидит ошибку, скажем в 5 шагов, что он будет делать? Отъедет назад?.. Остановится?.. Скажет ну и х. с ним и поедет дальше?
Например в случае с ПИДом ошибка есть всегда - иначе нет ПИДа. С шаговиками обратная связь тоже необязательное условие - можно подобрать режим работы. Надо начинать с простого, а потом, постепенно, добавлять фичи. В этом случае я, как ни странно :eh:, согласен с impartial. Либо есть ошибка(выше установленного предела) либо нет.
Основная проблема в интерполяции.Квадратно-гнездовая или линейно-кусочная - неважно. Если расчет возложить на аппаратную часть - сложно(может для impartial'a легко :hehehe: ). Если расчитать програмно, зараннее, а на, скажем ПЛИСину, подавать данные в виде скорости и кол-ве шагов - легко.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение aftaev »

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

Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J

Сообщение Nick »

Тут еще вот какая проблема, честно говоря даже не представляю как это в LinuxCNC реализовано:

Хрен с ним с base-thread представим, что все решено, но для того, чтобы сделать рассчет траектории в servothread надо получить обратную связь на начало периода, потом все рассчитать и выдать задание, но все это время рассчета будет проходить перемещение ведь вычисления могут затянуться дольше чем на 1 base-thread... Хотя все это может сглаживаться за счет 1 такта серво...

Я там понимаю stepgen получает команду скажем pos, и на основе текущей скорости, времени такта, текущго положения и максимального ускорения вычисляет требуемую скорость. И потом долбит на ней до следующей команды.

Формулы где-то в теме про пульты я уже писал. Вот если бы аппаратно генерировать равноускоренные импульсы.... было бы еще интереснее.
Ответить

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