Шаговые vs Коллекторных

Стрела_RoSa
Адепт:

цена реализации принятого решения соответствовало классу изготавливаемого изделия.

Не согласен с данной мыслю так как иновации всегда в начале стоят просто до фига так как почти рогами роют себе дорогу в светлое свое будущее 😉

Адепт
Стрела_RoSa:

Не согласен с данной мыслю так как иновации всегда в начале стоят просто до фига так как почти рогами роют себе дорогу в светлое свое будущее 😉

Когда речь идет не об инновациях, а уже проеденном этапе, когда правила достижения цели устаканены то первоочередной задачей становиться цена достижения цели. Или не так?
Среди широкого отряда хоббистов-самодельщиков с вариациями на тему хоббийно-наколенного оборудования обращать свой взгляд на промоборудование можно лишь в пылкой надежде на то, “что когда нибудь у меня это будет”. К сожалению незнание предмета или упрямое игнорирование чужого опыта порождает неожиданные вариации ограниченные по цене исполнения и это то и интересно кто как выкручивается, но прыгнуть сверх головы никогда не удается, как показывает этот же упрямый опыт.
Прошу прощение за лирическое отступление…

mt

Прошу прощения что вмешиваюсь в ваш разговор, но я не согласен почти со всеми.
Во первых я не определяю что хобби это занятие нищих людей. Скорее наоборот - человек знающий и умеющий многое скорее всего легко сумеет заработать деньги, “отодвинув” конкурентов по работе на второй план. Думаю что тот кто не может этого сделать скорее всего ни привод ни станок не соберёт, или если и соберёт, то это просто клоунада будет.
Второе. Почему вы считаете что пром. оборудование дорого стоит ? Оно просто дорого продаётся, т.к. спрос большой а предложение мало. Устройство пром контроллеров конечно сложнее наколенных поделок, но не в десятки же раз как отражено на ценниках.
Третье. Даже самое сложное и дорогое оборудование создаётся людьми, такими же как и мы. И это неправда что чем дороже привод тем больше людей его создавало. Я был на многих немецких выставках и видел конторы в которых всего 3-5 человек активных созидателей, при этом они предлагают очень достойное оборудование.

И поближе к вашей теме.
Управление шаговыми двигателями уже давно строится по принципу сервы. Другими словами на шаговик идёт модифицированная синусоида и замыкается через энкодер на ПИД. Ничего нового в этом нет. Это извесно уже наверное лет 20. Просто выключите свой компьютер и съездите за рубеж на любую крупную выставку и поговорите с разработчиками оборудования вживую. Подарите им бутылку русской водки и эти старые деды ( а так оно и есть - многим там по 60 ) расскажут вам все секреты управления перемещением. Никакой интернет не даст вам столько инфы. Одна из контор , которые мне нравятся www.ecostep.de/…/00_steuerungen_ecostep.html
А для тех кто думает что ПИД - это нечто сложное рекомендую купить вот эти чипы www.nipponpulse.com/Default.aspx?TabID=251&LangID=…

У привода на шаговом двигателе наверное только один недостаток - невысокая мощность. При малых мощностях ( до 500 вт ), привод на шаговике с ПИД выигрывает у сервы по всем показателям - я это неоднократно слышал от немцев. Многие просто начитались интернет-статей по управлению шаговиками десятилетней давности. Чтобы понять как это много попробуйте заменить свой мобильник на тот, который старее на 10 лет, или замените свой комп на 486.

ЛомиК
mt:

Прошу прощения что вмешиваюсь в ваш разговор, но я не согласен почти со всеми.

А по конкретнее нельзя было написать?
Плюсы и минусы я написал, главное, из за чего люди хотят перейти на серву, это возможность получения больших скоростей перемещения, что шаговики обеспечить не могут, остальное неособо важно.
Насчет бедных и богатых, так это вообще не по адресу, тут обсуждается возможность создания а не покупки, готовое и дурак прилепит, а творческие люди бывают и бедные, и богатые, к форуму это отношения не имеет.
Если нет четких аргументов за и против, а главное новых идей, нечего и писать, все что вы сказали в основном очевидно и так.
За ссылки спасибо, это может пригодиться.

mt
ЛомиК:

А по конкретнее нельзя было написать?
Если нет четких аргументов за и против, а главное новых идей, нечего и писать,

Я не понимаю почему так получается, только напишешь что-нибудь своё - сразу наезды.
Я конечно понимаю, что многие рассматривают этот форум как свою часную собсвенность и “мочат” всех инакомыслящих. Почему-то человек написавший свободную лирику перед моим постом не получил “зубовтычину” ( Adept прости пожалуйста - так получилось, тебя в пример привёл ) Я тут решил своим опытом поделиться - и на тебе.

ЛомиК
mt:

Я не понимаю почему так получается, только напишешь что-нибудь своё - сразу наезды.
Я конечно понимаю, что многие рассматривают этот форум как свою часную собсвенность и “мочат” всех инакомыслящих. Почему-то человек написавший свободную лирику перед моим постом не получил “зубовтычину” ( Adept прости пожалуйста - так получилось, тебя в пример привёл ) Я тут решил своим опытом поделиться - и на тебе.

Извините, если так прозвучало, и я сам тут новичек, так что ничего насчет инакомыслия не подразумевалось, просто сказанное вами мне показалось слишком уж очевидным, кроме того сложилось впечатление, что вы вообще не читали форум, ведь ваши соображения далеко не новы. Тема сервы и ШД поднималась много раз.
Adept извинился за отступление от темы, плохой пример, а вообще конечно многие отступают от сути, что в результате заставляет других пользователей перечитывать груду бесполезной информации…
ИМХО, лучше вносить на обсуждение хоть какието идеи, даже бредовые, что бы это можно было обсудить и вынести приговор, это позволит всем читающим данный форум (да и другие подобные), избежать многих ошибок и съэкономить время для других свершений.

Прошу прощения за офтопик. Шот меня самого понесло нетуда…

lm7805

Немного в теорию. Допустим у нас есть винтовая пара, где один оборот смещение на 1мм. Допустим у шестерни которая ее крутит 100 зубов. Сие значит что 1 зуб = 0,01 мм. Достаточная точность для хобби? На этой шестерне висит кружок от принтера (который наверное все видели) Там больше чем 100 рисок и это хорошо. Далее еще шестерня и еще, нам они интересны только отношением и отсутствием люфтов. И вот наш горячо любимый дпр, но на его валу еще один диск с рисками. Пусть их будет 100 (для простоты модели) и отношение редуктора 1:100 (тоже для простоты). Итог: за один оборот шестерни дпр делает 100 оборотов. Теперь крутим ВП. Даем команду и ориентируемся на датчик ВП. Долетаем до нужного значения. Тормозим. Вот тут начнется гемор ввиде инерции и прочей коммерции:) По приходу “стопа” считаем импульсы на ДПР. И контроллером ДПР (назовем это так) возвращаем его на место шим-ом по количеству ошибки. Двигаться в этот момент он будет медленнее, но задержка пойдет только на пользу и не понадабится повторная коррекция. Теперь как это проверить. Я уже прикрутил на обычный какой-то моторчик хрень под названием HEDS-9700, которая добывается в НР принтерах. Кружочком на двигателе обычная шестеренка работает. Этот датчик очень точно считает зубья и на выходах формирует квадратуру. На снимке большая шестеренка лежит рядом. Отношение я не считал еще, но оно по виду для теста подойдет. Так же закреплю второй датчик но уже с кружочком с нужным количевством рисок. Его напечатаю на пленке на лазере. Теперь мне будет нужно только собрать н-мост и прицепить на лпт плюс визуал бэйсик. О результатах сообщу, но если есть желающие кто пишет простенькие программы могут ускорить этот процесс:)

На фотку не плюйтесь это мобильник а не макросьемка.

Адепт
lm7805:

…На фотку не плюйтесь это мобильник, а не макросьемка…

Конкретный совет: на глаз мобильнику одевайте очко в виде ювелирного визира или снимайте через лупу. Оч помогает и можно снимать даже оч мелкие предметы с оч малого расстояния.

Адепт

Еще раз о промобразцах на двигателях постоянного тока
Торможение для подхода к точке осуществляется в зонах подхода и торможения
Их обычно задают две
Первая - зона подхода, где скорость, управляемая с тахогенератора или того же энкодера, снижается до приемлимой величины. Но при этом алгоритм управления не изменяется.
Вторая - зона торможения, где при входе в зону устанавливается оч малая скорость и при переходе через точку система не реагирует на сигнал компенсации ошибки. Точность такого алгоритма может быть порядка 1 мкм.

lm7805
Адепт:

Еще раз о промобразцах на двигателях постоянного тока
Торможение для подхода к точке осуществляется в зонах подхода и торможения
Их обычно задают две
Первая - зона подхода, где скорость, управляемая с тахогенератора или того же энкодера, снижается до приемлимой величины. Но при этом алгоритм управления не изменяется.
Вторая - зона торможения, где при входе в зону устанавливается оч малая скорость и при переходе через точку система не реагирует на сигнал компенсации ошибки. Точность такого алгоритма может быть порядка 1 мкм.

Дойдем и до этого. Я думаю как результат должна появиться схема контроллера двигателя постоянного тока на атмеле или пике со входами шаг/направление. Для замены обычных ШД без перелопачивания всей схемы.

ЛомиК

Lm7805
Насчет инерции, вообще я лично не вижу тут большой проблемы, учитывая что двигатель не свободно вращается а прилично тормозится всей ситемой. Кроме того, если сделать соответствующее управление, когда драйвер будет отрабатывать перемещение с некоторой задержкой (на пару, тройку шагов, это нужно продумать), то можно обеспечить режим плавного торможения, или даже кратковременного реверса для быстрой остановки, конечно такая задержка возможно только одновременно по всем координатам сразу.
Иначе нужно увеличить количество зубьев ведомой шестерни в два раза, и так же изменится погрешность, но нужно учитывать, что при увеличения коэффициента редукции увеличивается требования к максимальной скорости вращения двигателя и увеличивается износ шестерней.
Так что стоит задуматься о необходимости получения такой точности перемещения, а обеспечат ли все остальные детали станка такую точность?
У вас получается, что за 100 оборотов супорт сместится всего на 1 мм, для 10 мм понадобится уже 1000 оборотов, а для 10 см - 10 000, тоесть 10 см в минуту при высокооборотных двигателях, что врядле оправданно, надеюсь это только пример.

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

Адепт
ЛомиК:

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма приведет к наворачиванию системы компенсации зазаров, люфтов и величин упругих деформаций и только усложнит работу.

ЛомиК
Адепт:

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма без учета зазоров, люфтов и изгибов конструкции приведет к наворачиванию системы компенсации этих же зазаров, люфтов и величин упругих деформаций и только усложнит работу.

Я имел ввиду использование двух типов приводов одновременно, тоесть основным быдет ШД с прямым приводом на вал, а редуктор и бесколекторник как отдельный привод на том же валу для увеличения скорости пермещений, только такой подход удорожит конструкцию и усложнит схему управления, что врядли оправданно.
Насчет линейки согласен.

lm7805
ЛомиК:

Lm7805
Насчет инерции, вообще я лично не вижу тут большой проблемы, учитывая что двигатель не свободно вращается а прилично тормозится всей ситемой. Кроме того, если сделать соответствующее управление, когда драйвер будет отрабатывать перемещение с некоторой задержкой (на пару, тройку шагов, это нужно продумать), то можно обеспечить режим плавного торможения, или даже кратковременного реверса для быстрой остановки, конечно такая задержка возможно только одновременно по всем координатам сразу.
Иначе нужно увеличить количество зубьев ведомой шестерни в два раза, и так же изменится погрешность, но нужно учитывать, что при увеличения коэффициента редукции увеличивается требования к максимальной скорости вращения двигателя и увеличивается износ шестерней.
Так что стоит задуматься о необходимости получения такой точности перемещения, а обеспечат ли все остальные детали станка такую точность?
У вас получается, что за 100 оборотов супорт сместится всего на 1 мм, для 10 мм понадобится уже 1000 оборотов, а для 10 см - 10 000, тоесть 10 см в минуту при высокооборотных двигателях, что врядле оправданно, надеюсь это только пример.

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

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

Адепт:

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма приведет к наворачиванию системы компенсации зазаров, люфтов и величин упругих деформаций и только усложнит работу.

В бумагорезательной машине БР120 все сделано через редуктор и работает с точностью 0,01мм. Только есть одно но - люфты выбираются движением в одну сторону, т.е. если надо отехать от меньшего к большему то она прогоняет каретку еще дальше и возвращает ее. А винт там около 4см диаметром. а датчик - БС-155А.

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

Адепт
lm7805:

…В бумагорезательной машине БР120 все сделано через редуктор и работает с точностью 0,01мм. Только есть одно но - люфты выбираются движением в одну сторону

Не оч хороший пример ведь то, что строим по определению не должно быть зависимым от люфтов и зазоров.

lm7805
Адепт:

Не оч хороший пример ведь то, что строим по определению не должно быть зависимым от люфтов и зазоров.

В чем и вся фишка - система командует: - Шаг! Контроллер исполняет, вносит коррекцию. При следующем шаге и даже при смене направления (самый момент для люфта) контроллер исправит ситуацию за время, превышающее время прихода следущей команды.

Адепт
lm7805:

В чем и вся фишка - система командует: - Шаг! Контроллер исполняет, вносит коррекцию. При следующем шаге и даже при смене направления (самый момент для люфта) контроллер исправит ситуацию за время, превышающее время прихода следущей команды.

А можно и по другому.
Система командует: - Движение на 25 мм от текущей координаты со скоростью 100 мм/мин
Контроллер исполняет:

  1. Разгон до скорости 100 мм/мин на дистанции 5 мм
  2. Движение с заданой скоростью до зоны подхода к координате 25-5 мм
  3. Снижение скорости до величины 10 мм/мин
  4. Движение с заданой скоростью до зоны торможения к координате 25-1 мм
  5. Стоп
Адепт

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

ЛомиК

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

Я бы действовал по другому:
получение команды шаг
получение команды дир
комутация направления вращения
получение команды шаг(2)
оценка интервала времени между шагом 1 и шагом 2
установка скорости(или количества шагов) для перемещения
получение команды шаг(3)
перемещение в точку, определенную шагом 2(на заданное расстояние)
оценка интервала времени между шагом 2 и 3
если не изменилось, оценка правильности перемещения между точками заданными шагами 1 и 2, коррекция скорости(если нужно) продолжить движение до точки определенной шагом 3
если ожидаемое перемещение не совпало по времени, увеличить или уменьшить скорость
получение сигнала шаг 4, повторить те же операции что и после шага 3
-----------------------------------------------
неполучение сигнала 4 в ожидаемое время - замедлить скорость, с расчетом остановки в точке, определенной шагом 3
перемещение в точку, определенную шагом 3 и остановка до получения команд шаг 4 и дир

Нечто в этом роде, нужно только заметить, что этот алгоритм должен быть у всех координат одинаков, иначе будут погрешности перемещений по кривым траекториям.
Упс, вы сами поправились…
А все это нужно, что бы у других людей не возникало желание строить подобное без хорошего обдумывания целесообразности такой системы.

lm7805
Адепт:

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

А мне не нужен очень умный контроллер который будет принимать данные, сам их обрабатывать и сам что-то делать. Мне нужен простой в построении, т.е. который будет обрабатывать рутину (такую как двинуться именно на шаг + исправление возможных ситуаций). А как я им буду управлять - это уже другой вопрос. Любую сложную задачу можно разбить на более простые задачки. И никто не мешает мне построить другой контроллер который будет управлять именно этим контроллером… и так далее. Вот наглядный пример - была тут задачка с концевиками. Ставить их или нет? С одной стороны вещь нужная, с другой - бесполезная на ШД. И никто не догадался их ввести аппаратно как логику на простых и-не в сигнал шага. Дополз до концевика - команды идут а двигатель стоит. А если пойти дальше то можно и прерывать поток на концевике. Но это так, кслову. А городить еще один компьютер к уже сущевствующему - занятие бесполезное.

ЛомиК:

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

Я бы действовал по другому:
получение команды шаг
получение команды дир
комутация направления вращения
получение команды шаг(2)
оценка интервала времени между шагом 1 и шагом 2
установка скорости(или количества шагов) для перемещения
получение команды шаг(3)
перемещение в точку, определенную шагом 2(на заданное расстояние)
оценка интервала времени между шагом 2 и 3
если не изменилось, оценка правильности перемещения между точками заданными шагами 1 и 2, коррекция скорости(если нужно) продолжить движение до точки определенной шагом 3
если ожидаемое перемещение не совпало по времени, увеличить или уменьшить скорость
получение сигнала шаг 4, повторить те же операции что и после шага 3
-----------------------------------------------
неполучение сигнала 4 в ожидаемое время - замедлить скорость, с расчетом остановки в точке, определенной шагом 3
перемещение в точку, определенную шагом 3 и остановка до получения команд шаг 4 и дир

Нечто в этом роде

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

mt
ЛомиК:

ИМХО, лучше вносить на обсуждение хоть какието идеи, даже бредовые, что бы это можно было обсудить и вынести приговор, это позволит всем читающим данный форум (да и другие подобные), избежать многих ошибок и съэкономить время для других свершений.

Вот я и вношу на обсуждение новую идею. Она в том, что раз мы пользуемся ворованными CAD/CAMами и палёным Виндовсом то не будет страхом уворовать идеи и готовые наработки у тех же немцев. Я же почти открытым текстом дал понять, что раздербанил несколько буржуйских моушен контроллеров и посмотрел что и как устроено, дал ссылку на чипы, которые может купить любой ( у меня они уже давно есть ) . Хочу растрясти всех от спячки и заставить почитать даташит на PCL6143. Всё что вы обсуждаете и ещё не обсудили уже реализовано NIPPON в одном чипе ещё в 2000 году. Чип конечно уже отстойный, но даже с тем что там есть можно горы двигать. Использовать его - это лучше чем городить с нуля своё. У меня просто нет времени довести своой моушен до ума. Он уже двигает, но у меня не получилось корректно реализовать перезапуск интерполяции по ошибке одной из осей. Похоже в даташите ошибки или что-то не дописано. И вообще - я почти год мудохаюсь. Хотел по ZigBee заливку делать.
У меня готовый моушен на этом чипе есть, шаговики совмесно с ним делают такую крутую динамику что напрочь отшибает желание сравнивать их с серваками