Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
С таким генератором невозможно будет изобразить например дугу. Понятно почему?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
vmarkiv
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Почему нельзя изобразить дугу ? Можно все , но линейно-кусочной аппроксимацией - ВСЕ ЧПУ построены на этом принципе
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Непонятно. Почему?UAVpilot писал(а):С таким генератором невозможно будет изобразить например дугу. Понятно почему?
Абсолютно точное замечаниеМожно все , но линейно-кусочной аппроксимацией - ВСЕ ЧПУ построены на этом принципе
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Пример1:
Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
Останавливать генерацию в точке смены длительности (скорости) нельзя, например потому, что плазма.
Пример2:
Пусть будет дуга. Пусть по Х движение равномерное. По Y придётся генерить последовательность импульсов, в которой длительность каждого импульса должна отличаться от предыдущих. Как и какие аппаратные средства нужно запрограммировать?
Для оси Х надо сгенерить 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
почему нельзя по Х сгенерировать 5 импульсов, а потом 1 импульс по У и пофиг на всякий реалтайм.UAVpilot писал(а):Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Ничего не понял, что Вы хотели сказать примерами с импульсами.
Хорошо, допустим я ошибаюсь, как Вы представляете себе устройство генератора шагов?
Хорошо, допустим я ошибаюсь, как Вы представляете себе устройство генератора шагов?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Можно, но после 5 импульсов по Х будет остановка на неопределённое время т.к. по условию задачи RT у нас нет и система среагирует на окончание генерации 5 импульсов для Х через НЕИЗВЕСТНОЕ (негарантируемое) время.aftaev писал(а):почему нельзя по Х сгенерировать 5 импульсов, а потом 1 импульс по У и пофиг на всякий реалтайм.UAVpilot писал(а):Для оси Х надо сгенерить 100 импульсов длительностью 10 мс.
Одновременно с этим для оси Y нужно сгенерить 20 импульсов длительностью 15 мс и сразу после ещё 35 импульсов длительностью 20 мс.
В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Как я вижу вы и сами не представляете как он устроен и как работает.Impartial писал(а):Ничего не понял, что Вы хотели сказать примерами с импульсами.
Хорошо, допустим я ошибаюсь, как Вы представляете себе устройство генератора шагов?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?UAVpilot писал(а):В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Так объясните.UAVpilot писал(а):Как я вижу вы и сами не представляете как он устроен и как работает.
Ничего там не будет. Все будет точно и равномерно. Проверено.aftaev писал(а):Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
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
Да много чем, прожиганием дыры плазмой, расплавлением пластика под не двигающейся вращающейся фрезой, подгоранием дерева под ней и т.д. и т.п.aftaev писал(а):Да со скоростью будет небольшая засада. Ну не сможем точно поддерживать скорость подачи и чем это страшно?UAVpilot писал(а):В принципе можно довести идею до абсурда и никогда не двигать обе оси одновременно, а только по очереди, то тогда и скорость обработки будет тоже абсурдная.
Я вот закупился прозрачным поликарбонатом, вчера пол дня подбирал режимы обработки: большая подача - поверхность некачественная получается, маленькая подача - подплавляется и тоже плохо.
Ну про апроксимацию: представь траекторию фрезы, когда она сначала смещается на шаг по одной оси, а потом по другой и траекторию, когда она смещается на шаг по обеим осям одновременно...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Ну откуда возьмутся отклонения по скорости? Сервопериод никто не отменял, контроль позиции тоже. отклонения могут быть только если шаговики пропускать шаги будут.aftaev писал(а):отклонения по скорости если и будут такие что можно ими пренебречь. главнее траектория, а не скорость.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
В том то и дело, что в LinucCNC stepgen это не просто генератор частоты, а компонент, который получает задание и выдает обратную связь, и насколько я понимаю скорости частоты генерит сам, большинство вещей он конечно делает в servothread...
В принципе, если этот генератор частоты будет выдавать обратную связь, то небольшие отклонения по сервоциклу не так страшны, они и в LinuxCNC есть. Весь вопрос в их размере
. Есть хотя бы приблизительные прикидки?
Хотя если есть прикидки и ограничения, то это уже real time
В принципе, если этот генератор частоты будет выдавать обратную связь, то небольшие отклонения по сервоциклу не так страшны, они и в LinuxCNC есть. Весь вопрос в их размере
Хотя если есть прикидки и ограничения, то это уже real time
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Вот! Сразу видно - человек представляет как оно устроено и работает! 
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Impartial
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
LinucCNC абсолютно все равно, в какой позиции находится инструмент. Обратная связь - только ЕСТЬ/НЕТ ошибка привода.Nick писал(а):В том то и дело, что в LinucCNC stepgen это не просто генератор частоты, а компонент, который получает задание и выдает обратную связь, и насколько я понимаю скорости частоты генерит сам, большинство вещей он конечно делает в servothread...
Под приводом подразумевается, в том числе, компонент stepgen.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Это так, но при вычислении частоты шагов на следующий servo-thread обратная связь должна учитываться, иначе неминуемо будет расти ошибка.
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Смотри-ка пару дней не было, а как далеко тема продвинулась.
Например в случае с ПИДом ошибка есть всегда - иначе нет ПИДа. С шаговиками обратная связь тоже необязательное условие - можно подобрать режим работы. Надо начинать с простого, а потом, постепенно, добавлять фичи. В этом случае я, как ни странно
, согласен с impartial. Либо есть ошибка(выше установленного предела) либо нет.
Основная проблема в интерполяции.Квадратно-гнездовая или линейно-кусочная - неважно. Если расчет возложить на аппаратную часть - сложно(может для impartial'a легко
). Если расчитать програмно, зараннее, а на, скажем ПЛИСину, подавать данные в виде скорости и кол-ве шагов - легко.
А можно вопрос? Если степген увидит ошибку, скажем в 5 шагов, что он будет делать? Отъедет назад?.. Остановится?.. Скажет ну и х. с ним и поедет дальше?Nick писал(а):Это так, но при вычислении частоты шагов на следующий servo-thread обратная связь должна учитываться, иначе неминуемо будет расти ошибка.
Например в случае с ПИДом ошибка есть всегда - иначе нет ПИДа. С шаговиками обратная связь тоже необязательное условие - можно подобрать режим работы. Надо начинать с простого, а потом, постепенно, добавлять фичи. В этом случае я, как ни странно
Основная проблема в интерполяции.Квадратно-гнездовая или линейно-кусочная - неважно. Если расчет возложить на аппаратную часть - сложно(может для impartial'a легко
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
чтоб он увидел ошибку должна быть обратная связь. Насколько знаю если какая ось "не успевает" другие тормозятся иначе нет интерполяции.zewan писал(а):Если степген увидит ошибку, скажем в 5 шагов, что он будет делать? Отъедет назад?.. Остановится?.. Скажет ну и х. с ним и поедет дальше?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Olimex iMX233-OLINUXINO-Micro linux computer ARM926J
Тут еще вот какая проблема, честно говоря даже не представляю как это в LinuxCNC реализовано:
Хрен с ним с base-thread представим, что все решено, но для того, чтобы сделать рассчет траектории в servothread надо получить обратную связь на начало периода, потом все рассчитать и выдать задание, но все это время рассчета будет проходить перемещение ведь вычисления могут затянуться дольше чем на 1 base-thread... Хотя все это может сглаживаться за счет 1 такта серво...
Я там понимаю stepgen получает команду скажем pos, и на основе текущей скорости, времени такта, текущго положения и максимального ускорения вычисляет требуемую скорость. И потом долбит на ней до следующей команды.
Формулы где-то в теме про пульты я уже писал. Вот если бы аппаратно генерировать равноускоренные импульсы.... было бы еще интереснее.
Хрен с ним с base-thread представим, что все решено, но для того, чтобы сделать рассчет траектории в servothread надо получить обратную связь на начало периода, потом все рассчитать и выдать задание, но все это время рассчета будет проходить перемещение ведь вычисления могут затянуться дольше чем на 1 base-thread... Хотя все это может сглаживаться за счет 1 такта серво...
Я там понимаю stepgen получает команду скажем pos, и на основе текущей скорости, времени такта, текущго положения и максимального ускорения вычисляет требуемую скорость. И потом долбит на ней до следующей команды.
Формулы где-то в теме про пульты я уже писал. Вот если бы аппаратно генерировать равноускоренные импульсы.... было бы еще интереснее.
