Специальные цены   новые товары
Закрытая тема
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 41 по 80 из 115

Сервопривод..

Тема раздела Драйверы и контроллеры для CNC в категории Станки ЧПУ, Hobby CNC, инструмент; Сообщение от ATLab ...Я не буду спорить, поскольку нет предмета спора... Аналогично. Но в тему МК для привода - я ...

  1. #41

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от ATLab Посмотреть сообщение
    ...Я не буду спорить, поскольку нет предмета спора...
    Аналогично. Но в тему МК для привода - я переползаю на ARM - AT91SAM7 и при этом не отказываюсь от применения FPGA. Коллекторник - это только первый шаг, следующий - BrushLess моторы. Благо есть с чем экспериментировать - по случаю урвал три Симменса с 2048 енкодерами.

    Если вы хотите ваять привод на Пике - это ваше решение, но я бы этого делать не стал. Я делал на Меге, разогнанной с 20 до 24мГц, она почти в 3 раза быстрее Пика. И скорости мне не хватает, при написании кода на ассемблере и неплохой его оптимизации.

    Вообще, спор немного бессистемный. Я подтверждаю, чно хоть на Пике, хоть на Меге, хоть на 8080 можно сделать сервопривод. У каждого будет (при прочих равных) своя _МАКСИМАЛЬНАЯ СКОРОСТЬ РАБОТЫ С НЕОБХОДИМОЙ ПОГРЕШНОСТЬЮ. То есть например с это 600, 1200 и 200 об/мин с вышеуказанными процами. И хоть вы разбейтесь, при более высоких скоростях у вас начнет гулять траектория. (Цифры придумано, но возможно и правильные).

    И не надо говорить

    Ваш пример с практическими опытами над двигателем говорит только об одном - неправильно заданы параметры регулятора.
    За пол-года я прочитал кучу литературы, так что софт написан грамотно. С параметрами все просто. Я вообще хотел (и хочу) сделать полное автоопределение параметров подключенного движка. Частично это уже реализовано. Также частично реализованы режимы подборки необходимых параметров. Что не реализовано, испытывалось вручную.

    Также я гоняю небезызвестную УХУ, думаю, я был первым в России, кто ее купил и сразу стал вживую испытывать. Прекрасный привод. В разы быстрее и точнее (да )шаговика. Но тоже до определенной границы, которая упирается все в ту же скорость проца.

    Так что давайте прекратим этот бесполезный спор. Возможно, у вас есть опыт работы с МК, но с садостоятельно сделанной сервой явно нету.

    Давайте лучше обсудим, что запихнуть в FPGA. И вообще можно было бы сделать некий совместный проект по разработке собственной сервы. Моя задача-минимум - почти универсальная серва для коллекторника и бесколлекторника, с гарантированный скоростью 3000об/мин и енкодером на 2000cpr. Почти универсальная потому, что вычислитель работает на одинаковых алгоритмах, с дополнениями в случае 3х фаз. То есть это слаботочная и силовая части на стойках.

  2.  
  3. #42

    Регистрация
    22.03.2006
    Адрес
    Железногорск
    Возраст
    61
    Сообщений
    827
    Цитата Сообщение от maxvovk Посмотреть сообщение
    За пол-года я прочитал кучу литературы, так что софт написан грамотно. С параметрами все просто. Я вообще хотел (и хочу) сделать полное автоопределение параметров подключенного движка. Частично это уже реализовано. Также частично реализованы режимы подборки необходимых параметров. Что не реализовано, испытывалось вручную.
    Позволю себе обратить Ваше внимание на один нюанс: автоопределение параметров движка, в отрыве от нагрузки, вещь конечно неплохая, однако имеет смысл только если его мощности (момента) гарантировано с избытком достаточно для выбранной нагрузки. В противном случае, это не имеет особенного практического смысла. Вы же сами пишете:"Начав свою разработку сервы для коллекторника, буквально за пару дней были получены потрясающие результаты на отдельно лежащем на столе двигателе. После установки его на ось все круто изменилось - появились пробежки до 50 лишних шагов, бешеный джиттер, неконтролируемое плавание тока..." Налицо все признаки перерегулирования и неустойчивости системы.

    Давайте лучше обсудим, что запихнуть в FPGA. И вообще можно было бы сделать некий совместный проект по разработке собственной сервы. Моя задача-минимум - почти универсальная серва для коллекторника и бесколлекторника, с гарантированный скоростью 3000об/мин и енкодером на 2000cpr. Почти универсальная потому, что вычислитель работает на одинаковых алгоритмах, с дополнениями в случае 3х фаз. То есть это слаботочная и силовая части на стойках.
    Мне нравится Ваш энтузиазм, однако пока непонятно, как можно сделать универсальную сервосистему для двигателя на 15 Вт и 1,5 кВт - у них все разное, и опять же как можно не учитывать нагрузку? У меня сын сейчас курсовой делает как раз по автоматическому регулированию с двигателем, так он
    1. определяет параметры устойчивого регулирования, а уже по ним определяет вид регулятора (П,ПИ,ПИД) и его параметры
    2. двигатель выбирает под нагрузку, а не подает на него 200 В вместо штатных 50 (к примеру), чтобы уменьшить время переходного процесса.

    Я уже давно не разрабатываю ничего без ТЗ, даже для себя, пусть оно и не на бумаге, а в голове.
    Мне кажется, нужно определиться с предметом разработки, требованиями к параметрам, их приоритетам и требуемой точности. Вполне возможно, что проще и дешевле будет использовать не чисто цифровую систему на контроллере, а цифроаналоговую. Как можно абстрактно решать, что "запихнуть в FPGA", может самой FPGA не нужно.

    P.S. Прочтите все же упомянутую статью с перевернутым маятником. Там ведь тоже алгоритм один, но для разной собственной частоты маятника параметры регулятора нужно устанавливать разные. А если изменять еще массу тележки, мощность двигателя...
    Т.е. все там описанное имеет непосредственное отношение к обсуждаемому предмету.
    P.P.S.
    ...Но переходные процессы, расчет скольжения, тривиальная соринка, из-за которой на 20мксек необходимо срегулировать ШИМ на 500% - вот это требует больших скоростей.
    Собака (или даже корова) на железнодорожных путях не способны заметно затормозить груженый товарняк, поэтому не нужно суетится, тем более что ШИМ более 100% не бывает.

  4. #43

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    У меня сын сейчас курсовой делает как раз по автоматическому регулированию с двигателем, так он
    1. определяет параметры устойчивого регулирования, а уже по ним определяет вид регулятора (П,ПИ,ПИД) и его параметры
    2. двигатель выбирает под нагрузку, а не подает на него 200 В вместо штатных 50 (к примеру), чтобы уменьшить время переходного процесса.
    ATLab,

    Вы наверное теоретик. Мы же не курсовые работы пишем. Какое "Пэ" регулирование? Интегрально-диференциальный бы справился. Какие собаки на рельсах? Речь о сервопривоприводе станка ЧПУ. Выбор двигателя под нагрузку...

    Станок это не лифт. Нагрузка резкопеременная.

    А если изменять еще массу тележки, мощность двигателя...
    Так и Вам про то же. Задача то не простая. Станок ЧПУ это не маятник. Алгоритмы на лету не меняются, да и не нужно это. Оперируешь коэффициентами регулятора.

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

    Насчёт ТЗ. Есть ГОСТ 27803-91, параметры электроприводов станков ЧПУ, там всё написано.

    вычислитель работает на одинаковых алгоритмах, с дополнениями в случае 3х фаз. То есть это слаботочная и силовая части на стойках.
    Вариант программы от Микрочип (АN889) для трёхфазника (см в приложении)
    Вложения

  5. #44

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от ATLab Посмотреть сообщение
    Позволю себе обратить Ваше внимание на один нюанс: автоопределение параметров движка, в отрыве от нагрузки, вещь конечно неплохая, однако имеет смысл только если его мощности (момента) гарантировано с избытком достаточно для выбранной нагрузки. В противном случае, это не имеет особенного практического смысла. Вы же сами пишете:"Начав свою разработку сервы для коллекторника, буквально за пару дней были получены потрясающие результаты на отдельно лежащем на столе двигателе. После установки его на ось все круто изменилось - появились пробежки до 50 лишних шагов, бешеный джиттер, неконтролируемое плавание тока..." Налицо все признаки перерегулирования и неустойчивости системы.
    Не надо утрировать. Есть параметры движка, есть параметры станины. Сначала мы определяем первое, потом второе.

    Мне нравится Ваш энтузиазм, однако пока непонятно, как можно сделать универсальную сервосистему для двигателя на 15 Вт и 1,5 кВт - у них все разное, и опять же как можно не учитывать нагрузку? У меня сын сейчас курсовой делает как раз по автоматическому регулированию с двигателем, так он
    1. определяет параметры устойчивого регулирования, а уже по ним определяет вид регулятора (П,ПИ,ПИД) и его параметры
    2. двигатель выбирает под нагрузку, а не подает на него 200 В вместо штатных 50 (к примеру), чтобы уменьшить время переходного процесса.
    Двигатели (пусть мы говорим конкретно о коллекторнике) все одинаковые - пара проводов, торчащая из железяки. Слаботочка одинаковая, силовая для указанных вами мощностей различается только типом транзисторов и наличием на последнем варианте радиатора.

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

    Я уже давно не разрабатываю ничего без ТЗ, даже для себя, пусть оно и не на бумаге, а в голове.
    Мне кажется, нужно определиться с предметом разработки, требованиями к параметрам, их приоритетам и требуемой точности. Вполне возможно, что проще и дешевле будет использовать не чисто цифровую систему на контроллере, а цифроаналоговую. Как можно абстрактно решать, что "запихнуть в FPGA", может самой FPGA не нужно.
    Что в данном случае подразумевается под "цифроаналоговой"? Вы вот все замечаете, что многие посты без конкретики. Вы тоже заниматесь изложением "вольных мыслей" .

    Собака (или даже корова) на железнодорожных путях не способны заметно затормозить груженый товарняк, поэтому не нужно суетится, тем более что ШИМ более 100% не бывает.
    Да, поезд штука тяжелая. Но сравнивать поезд с сорталом вообще некорректно. В станке попадание кусочка стружки может привести к очень "интересным" результатам. Вообще, обработка критических ситуаций это отдельная серьёзная часть того же ТЗ.

    Не придирайтесь к словам, вроде бы понятно было, что имелось ввиду.

  6.  
  7. #45

    Регистрация
    22.03.2006
    Адрес
    Железногорск
    Возраст
    61
    Сообщений
    827
    Цитата Сообщение от Художник Посмотреть сообщение
    ATLab,
    Вы наверное теоретик. Мы же не курсовые работы пишем. Какое "Пэ" регулирование? Интегрально-диференциальный бы справился. Какие собаки на рельсах? Речь о сервопривоприводе станка ЧПУ. Выбор двигателя под нагрузку...

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

    Да, я убежден, что нужно двигатель выбирать под нагрузку - движок от мопеда не потянет КАМАЗ, даже если его форсировать, жигу не разогнать до 100 км/час за 5 секунд с родным движком и т.п.
    Я думал, это очевидно. Если Вы с maxvovk думаете иначе - дело Ваше, но я тогда не вижу смысла в обсуждении.

    Что в данном случае подразумевается под "цифроаналоговой"?
    Простой пример на пальцах:
    1. вы формируете ШИМ встроенными в микроконтроллер аппаратными средствами или программно, разрядность 10 бит, этой разрешающей способности достаточно для обеспечения заданной точности регулирования. Пусть напряжение питания двигателя было 51,2 В, тогда дискрет регулирования составлял 50 мВ (немножко округлю для "ровности").
    2. желая укоротить переходные процессы, вы увеличили питание до 204,8 В, при этом разрядность ШИМ не изменилась - контроллер тот же, программа та же. Дискрет регулирования при этом составит уже 200 мВ, а такой дискрет уже вполне может не обеспечить требуемую точность регулирования - у вас постоянно будет то перебор, то недобор, в результате будет джиттер.
    Вывод: нужно увеличить с 10 до 12 бит разрядность ШИМ при повышении напряжения питания, чтобы сохранить разрешающую способность и точность регулирования (а это может быть невозможно в рамках имеющегося контроллера) или использовать аналоговую, аналоговоцифровую (те же генераторы управляемые напряженем/кодом, ФАПЧ, формирователи импульсов регулируемой длительности) схемотехнику, которая по сути имеет дело с непрерывными величинами.

  8. #46
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    Мужики, вы опять полезли не в те дебри, надо сначала разрвботать грамотный алгоритм управления сервом, а потом уже задумываться над его реализацией..

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

    Короче я пришел к выводу что нужен либо особый интерфейс(где будет передаваться целая куча параметров, а не просто степ/дир), либо командный буфер и фиксированная задержка относительно софта(но это увеличивает погрешность, если контроллер не рулит сразу всеми движками в станке), либо мы получим тотже самый шаговик с небольшими приимуществами...

  9. #47

    Регистрация
    09.04.2006
    Адрес
    BRU
    Сообщений
    25
    Совершенно согласен.

    Давайте уже наконец отделим мух от котлет.

    Как я уже писал и никто это не опроверг каждый шаг увеличивает позицию - соответственно и ошибку текушей позиции - вот это и увеличивает ШИМ. Для шага назад - та же цепочка.

    Что произойдет при достижении позиции зависит от коэффициентов - их можно установить так что мы и не доедем даже (читайте здеся http://ww1.microchip.com/downloads/e...es/00964A.pdf)

    Вопрос это какие защиты надо делать и на какие максимальные частоты импульсов из LPT расчитывать (мне кажется 100к максимум) ?

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

  10.  
  11. #48

    Регистрация
    22.03.2006
    Адрес
    Железногорск
    Возраст
    61
    Сообщений
    827
    Цитата Сообщение от buslik Посмотреть сообщение
    Совершенно согласен.

    Давайте уже наконец отделим мух от котлет.

    Как я уже писал и никто это не опроверг каждый шаг увеличивает позицию - соответственно и ошибку текушей позиции - вот это и увеличивает ШИМ. Для шага назад - та же цепочка.

    Что произойдет при достижении позиции зависит от коэффициентов - их можно установить так что мы и не доедем даже (читайте здеся http://ww1.microchip.com/downloads/e...es/00964A.pdf)

    Вопрос это какие защиты надо делать и на какие максимальные частоты импульсов из LPT расчитывать (мне кажется 100к максимум) ?

    Как удобнее всего сделать установку параметров? как отобразить процессы? Дабы человек без осциллографа имел возможность понять что происходит в системе.
    Была ветка про серводвигатели http://forum.rcdesign.ru/index.php?showtopic=36760&st=0
    там STEPMOTOR давал статью http://forum.rcdesign.ru/index.php?act=Att...e=post&id=26954
    см. page 20.

  12. #49

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    AZi,
    Повторяю свой вопрос - что должен сделать контроллер когда на него пришел сигнал сделать шаг?
    на сколько нужно регулировать шим?, от куда контроллер возьмет нужную скважность, если это первый шаг(начало разгона), как контроллер должен понять собираемся ли мы рвануть с места или разгоняться плавно или вообще не разгоняться а сделать один шаг(опять же непонятно с какой скоростью надо шагнуть(шим то любую позволит))..
    Когда на контроллер пришла команда сделать шаг, он должен сделать шаг
    И дальше тоже его забота.
    мы получим тот же самый шаговик с небольшими приимуществами...
    Ну конечно

    buslik,
    Как удобнее всего сделать установку параметров? как отобразить процессы? Дабы человек без осциллографа имел возможность понять что происходит в системе.
    Я зря что ли скрин шот своей программы прикладывал.

  13. #50
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    >>Когда на контроллер пришла команда сделать шаг, он должен сделать шаг
    Как именно?

    Если на ужержании шим 50/50, то при команде шагнуть какое питалово должен контроллер к движку приложить - постоянку?
    и держать ее до достижения нужной отметки на енкодере?
    или плавно увеличивать ширину импульсов с заранее откудато взятой скоростью увеличения ширины?

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

  14. #51

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от AZi Посмотреть сообщение
    >>Когда на контроллер пришла команда сделать шаг, он должен сделать шаг
    Как именно?

    Если на ужержании шим 50/50, то при команде шагнуть какое питалово должен контроллер к движку приложить - постоянку?
    и держать ее до достижения нужной отметки на енкодере?
    или плавно увеличивать ширину импульсов с заранее откудато взятой скоростью увеличения ширины?

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

  15. #52
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    Понятно, я так и думал

  16. #53

    Регистрация
    09.04.2006
    Адрес
    BRU
    Сообщений
    25
    Цитата Сообщение от AZi Посмотреть сообщение
    Понятно, я так и думал
    не расстраивайся - книг по этому делу как грязи.

    И тем не менее практика - критерий истины. Буду собирать все на макетке и смотреть что получается.

    Ну не укладывается у меня в голове как это все можно сделать не задавая профиля в PID контроллере а давая ему шаги на входе.

  17. #54

    Регистрация
    27.03.2006
    Адрес
    Калининград
    Сообщений
    59
    Ну ладно, нет времени у меня на микроконтроллеры, и программатора пока нет.
    Нет возможности пока врубаться в тонкости программирования AVR.
    Но если совместить простоту управления ШД, шаг – направления, а для увеличения момента применить усилитель, постоянник, управляемый шаговиком.
    На валу ШД диск, с двумя радиально расположенными рядами меток или отверстий на 1/2 шага. На подающем валу такой же диск и шестерня для постоянника. ШД крепиться соосно к валу через упругий элемент, обеспечивающий небольшой угловой поворот между дисками при появлении вращательного момента. Ставим оптопары на каждый ряд меток дисков для управления шимом вперёд- назад, рассогласования и всё. Любой постоянник вплоть до стартера благо полевики позволяют себя параллелить, будет дрожать как в лихорадке при каждом шаге вместе с шаговиком. Остаётся перейти на микрошаг для сохранения винтовой пары от убивания.
    Не панацея но всё же какой то шаг в сторону сервопривода.

  18. #55

    Регистрация
    09.04.2006
    Адрес
    BRU
    Сообщений
    25
    Вот

    error = genPos - currPos; // error is desired-current position
    pwmSet = pGain * error + // standard PID equation
    iGain * eInteg +
    dGain * (error - ePrev); // derivative is current-previous
    eInteg += error; // integral is simply a summation over time
    ePrev = error; // save previous for derivative

    на pic18f2331 занимает 118 циклов
    все по два байта со знаком pwmSet - четыре

    ну так что 30000 раз в секунду можно PID вычислить

  19. #56

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    AZi,
    от куда контроллер возьмет нужную скважность, если это первый шаг(начало разгона), как контроллер должен понять собираемся ли мы рвануть с места или разгоняться плавно или вообще не разгоняться
    Вообще вопрос правильный, при цифровом частотном управлении всегда такая проблемка имеет место быть. Ещё кстати борьба с возбуждением системы. Поэтому в более совершенных системах, естественно более дорогих, как правило не хоббийных, используют вход с аналоговым сигналом. Промышленный стандарт + - 10V. ЧПУ подаёт 1 вольт - едем со скоростью 10% от максимальной. Плавненько увеличиваем напряжение - разгоняемся. Выдаём напряжение по закону синуса на две координаты - режем круг. И все дела

    Hellen,
    Не панацея но всё же какой то шаг
    Голову не морочте

  20. #57
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    >>Вообще вопрос правильный, при цифровом частотном управлении всегда такая проблемка имеет место быть. Ещё кстати борьба с возбуждением системы. Поэтому в более совершенных системах, естественно более дорогих, как правило не хоббийных, используют вход с аналоговым сигналом.

    О!!! Наконецто меня поняли.

    А этот промышленный стандарт какнибудь называется? Где про него можно почитать? Есть ли доступный софт который его поддерживает?

  21. #58

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    Цитата Сообщение от AZi Посмотреть сообщение
    А этот промышленный стандарт какнибудь называется? Где про него можно почитать? Есть ли доступный софт который его поддерживает?
    Даже не задумывался, как называется. + - 10V Используется во всех промышленных приводах и стойках ЧПУ. Не совсем понятен вопрос про софт. К софту железо нужно соответствующее. Например демо софта, российской стойки ЧПУ FMS-3000, фирма Модмашсофт (Нижний Новгород): можете здесь посмотреть: http://www.modmash.nnov.ru/download/download.html

  22. #59

    Регистрация
    27.03.2006
    Адрес
    Калининград
    Сообщений
    59
    Нужная скорость берётся от виличины рассогласования через АЦП, то есть количества не выполнненных шагов.
    То есть чем их больше пришло к количеству снятых энкодером тем больше скорость задаваемая ШИМом через АЦП.
    Регулирование шима идет от скорости, скорость макс. и мин. задаётся при настройке. И один шаг это совсем не значит,
    результат. Для минимальных скоростей мы и хотим бесконечность импульсов с энкодера, всё зависит от разрядности.
    Почему они и стоят так.

  23. #60

    Регистрация
    09.04.2006
    Адрес
    BRU
    Сообщений
    25
    Что касается импульсов с энкодера PIC18fxx31 переваривает 625000 импульсов энкодера в секунду. Боюсь это максимум для LPT и MACH.

    Так что умное управление пока оставим в покое. (Я подозреваю что выход энкодера при +-10В уходит в стойку а не в драйвер)

    Скоро нарисую схему - положу на рассмотрение.

  24. #61

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от buslik Посмотреть сообщение
    Что касается импульсов с энкодера PIC18fxx31 переваривает 625000 импульсов энкодера в секунду. Боюсь это максимум для LPT и MACH.

    Так что умное управление пока оставим в покое. (Я подозреваю что выход энкодера при +-10В уходит в стойку а не в драйвер)

    Скоро нарисую схему - положу на рассмотрение.
    Практически любой современный МК переварит довольно высокую частоту входа с енкодеров. Но есть ньюансы, например дребезг и некоторые тонкости при смене направления. Оптимально и абсолютно правильно на выходе енкодеров ставить фильтр из кучки D-триггеров, чем длиннее, тем лучше.

    Вот пример для цепочки из 8-и триггеров:

    SUBDESIGN NS_FILT
    (
    IN, СLK, CLR :INPUT;
    Q :OUTPUT;
    )
    VARIABLE
    T[8..1],
    OUT FF;
    BEGIN
    T[].clk = CLK;
    T[].clrn = !CLR;
    T[1].D = IN;

    FOR i IN 2 TO 8 GENERATE
    T[i].D = T[i-1].Q;
    END GENERATE;

    OUT.clk = GND;
    OUT.D = GND;
    OUT.prn = !(T[1] & T[2] & T[3] & T[4] & T[5] & T[6] & T[7] & T[8]);
    OUT.clrn = T[1] # T[2] # T[3] # T[4] # T[5] # T[6] # T[7] # T[8];
    Q = OUT.Q;
    END;

    Или более понятно на картинке для 3-х триггеров: (схема и VHDL код совершенно разные, но принцип один).
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: qd.gif‎
Просмотров: 280
Размер:	2.3 Кб
ID:	30438  

  25. #62

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    buslik,

    Что касается импульсов с энкодера PIC18fxx31 переваривает 625000 импульсов энкодера в секунду. Боюсь это максимум для LPT и MACH.
    В каком смысле переваривает? Если простая программка квадратурного энкодера на один канал, тогда так. Если чего посложнее, тогда не так. Обратную связь на LPT, да ещё под виндой, это не серьёзно. Уже повторять устал. Но если хотите, пробуйте грабли на прочность.

    Гораздо проще, и приемлемей для хобби, это цифровой импульсный привод, удерживающий координату. Типа контроллер Чена или драйвер, сиречь привод UHU. Управлять им точно так же, как и приводом ШД. Со своими нюансами естественно. В частности, требования к стабильности частоты возрастают. Если тот же Мачь2 выдаёт 35 КГц, это неплохие скорости.

    Если вам не будет хватать скорости и точности этих приводов и Мача, тогда придётся переходить на более совершенные и дорогие системы.

    Я подозреваю что выход энкодера при +-10В уходит в стойку а не в драйвер
    Это зависит от схемы сервосистемы. Бывают разомкнутые по управлению (координату удерживает привод), бывают замкнутые (координату удерживает ЧПУ, данные с датчика обратной связи (ДОС) заводятся в ЧПУ).

    По классической схеме, замкнутая сервосистема станка ЧПУ организуется следующим образом:

    Данные с ДОС заводятся в стойку ЧПУ, обрабатываются, на их основании рассчитываются скорости, цифровые данные преобразуются блоком ЦАП в аналоговый сигнал, передаваемый электроприводу, который удерживает скорость в заданном диапазоне независимо от момента на валу.

    Сервопривод получает аналоговый сигнал + - 10V. Привод может быть аналоговый или цифровой. Рассматриваем цифровые электропривода. Привод состоит из АЦП, центрального процессора, использующего какой либо алгоритм удержания скорости (PID, PIV, PDFF, PI+ регулирование) если требует силовая часть, то в составе ещё и ЦАП.
    Как правило, электропривод использует в качестве ДОС тахогенератор. С тахогенератора снимается аналоговый сигнал + - 10V, прямо пропорциональный скорости движения.

    В последнее время всё чаще в качестве ДОС привода используются современные энкодеры.
    Например, в сервоприводах Митсубиси серий MR-J2(S)-A/В. количество импульсов на оборот от 8192 до 131072 имп./об. (17-битный энкодер).

    Также наметилась тенденция сращивания ЧПУ и привода. Это системы с прямым ШИМ управлением силовыми ключами.

  26. #63

    Регистрация
    09.04.2006
    Адрес
    BRU
    Сообщений
    25
    Цитата Сообщение от maxvovk Посмотреть сообщение
    Практически любой современный МК переварит довольно высокую частоту входа с енкодеров. Но есть ньюансы, например дребезг и некоторые тонкости при смене направления. Оптимально и абсолютно правильно на выходе енкодеров ставить фильтр из кучки D-триггеров, чем длиннее, тем лучше.
    Эх, что такое довольно высокая частота? Давайте уже поконкретней.

    PIC: 625 kHz это 18750 rpm при 2000 отсчетов на оборот. это по контроллеру. (контроллер имеет спец модуль энкодера с фильтрацией см. datasheet)

    По LPT прозвучала цифра 35k степов в секунду. Это 1050 rpm.

    PID укладывается в 20 uSec начну эксперименты с 5000 PID в секунду.

    PWM 10 bit - думаю всего это достаточно.


    Я работал с CPLD и с FPGA и с DSP -- но считаю что для хобби станка должен быть другой подход.
    Корпуса DIP, доставабельные микрухи и прочее, тогда их будут повторять и совершенствовать.
    Мало того, мне проще так делать прототипы, думаю другим то-же.

    Итого step/dir интерфейс и последовательный порт для установки параметров. Думаю даже отдельная плата с USB и далее I2C на остальные контроллеры.

    Согласные могут отойти от стены


    PS не надо про BGA на коленке.

  27. #64

    Регистрация
    18.03.2006
    Адрес
    Серпухов
    Сообщений
    22
    Всем доброго времени суток!

    Достались мне тут по случаю 4 енкодера б/у:

    Stegmann
    DG 60 ELB-S
    1024 puls/rev
    Vdc 4,75-5,25v

    И возник у меня такой вопрос:
    Они совсем бесполезны для наших целей или как? Всетаки 1024 импульса?

    P.S.
    Просьба замену дисков не предлагать.

  28. #65

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    Nick34,

    Нормальный энкодер.

  29. #66

    Регистрация
    17.09.2005
    Адрес
    Москва, Зеленоград
    Возраст
    40
    Сообщений
    974
    где подешевле сервомоторы можно взять
    с параметрами до 20A 80VDC ? штуки 3-ри.
    450$ одного это нормальная цена ?

  30. #67

    Регистрация
    18.03.2006
    Адрес
    Серпухов
    Сообщений
    22
    Цитата Сообщение от Художник Посмотреть сообщение
    Nick34,

    Нормальный энкодер.
    Да нормальный, но хочется узнать о возможности его применения в CNC. Только поконкретней пожалуйсто.

  31. #68

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    STEPMOTOR,
    450$ одного это нормальная цена ?
    Дороговато, можно чего нибудь подешевле на складах, рынках, да хоть в Инете поискать. 20A 80VDC серво, это крутой движок. Портал с полтонны двигать можно довольно шустро.

    Высокомоментный серводвижок ВЭМ–110, 8,4А / 80В, 1000 об/мин, килограмм 16 весит, примерно 100$ на заводе-изготовителе стОит.

    Nick34,

    хочется узнать о возможности его применения в CNC. Только поконкретней пожалуйсто.
    Применение в CNC конечно возможно. Из нюансов - некратное число имп/об. Наример, если шаг ШВП - 5мм, то один шаг получится 0,00488. Он как бы больше на дюймовый шаг заточен - 0.025, при шаге ШВП или рейке 25,4. Точнее шаг будет 0,0248.

  32. #69

    Регистрация
    26.03.2006
    Адрес
    BW, Germany
    Возраст
    55
    Сообщений
    433
    Цитата Сообщение от Художник Посмотреть сообщение
    Он как бы больше на дюймовый шаг заточен - 0.025, при шаге ШВП или рейке 25,4. Точнее шаг будет 0,0248.
    легко компенсируется подбором передаточного числа на ремне между мотором и ШВП.....

  33. #70

    Регистрация
    02.06.2005
    Адрес
    Воронеж
    Возраст
    40
    Сообщений
    566
    Чуть не купил сегодня на рынке недорого сервомотор (про запас). Hitachi, сразу с энкодером. Смутило то, что несмотря на размер (больше ДШИ-200-3) написана мощность всего 30 oz in. Может у серв как-то по другому все считается? Никто не в курсе?

  34. #71

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    Может у серв как-то по другому все считается?
    Всё одинаково считается. Момент на валу, он и есть момент. У меня есть подозрение, что на некоторых современных импортных ШД в рекламных целях завышают значения. Или как то по своему считают. Типа как на электромясорубке, на коробке написано английскими буквами - мощность на валу 1000W, мясорубку в руки берёшь, на ней лэйба - электрическая мощность движка 400W. Даже если КПД 100%, не клеится. Либо врут, либо как то по своему считают, типа на коэффициент редукции, или ещё чего, ну чтобы красиво было

    То же с шаговиками. Движок три кило весит, а на нём китайцы пишут, типа 7 Нм. Нифига себе.

    Для интереса на шильдик одного сервомотора глянул, ВЭМ 214 У3:
    14 Нм, 31,5 А, 44V, 750 об/мин, вес 47 кг. (чёто сам не верю, по ощущениям килограмм 40) Это получается 1,3 КВт мощность. Так вот, этот движок с прямым приводом легко таскал себя, плюс стол, весом килограмм 400, на нём деталь килограмм в 100, со скоростью метра три в минуту, причём направляющие "ласточкин хвост" с клином, а не каретки какие нибудь, и на неплохих подачах станок не напрягаясь, как масло резал сталь фрезой диаметром 20.

    Так что 14 Нм высокомоментный ДПТ серво - это серьёзная электрическая машина.

    Всё понятно, в современных движках используют магниты на редкоземельных металлах, но чудес то не бывает. Тот же Вудпекер на шаговиках еле еле портал 60 кг на втулках таскает. В рекламе написано 4 м/мин, я хронометраж сделал - двух не тянет. На рабочей подаче метр максимум. И то, чуть фрезой D6 в пластмасску заглубишься, шаги теряет, скорость снижай, на дугах мандражировать начинает, ещё снижай...

  35. #72

    Регистрация
    19.10.2000
    Адрес
    Москва
    Возраст
    66
    Сообщений
    253
    написана мощность всего 30 oz in.
    вот здесь: http://www.me-systeme.de/calculate/torque.html
    калькулятор для перевода разных величин,так согласно ему 30oz/in=0,211847 Nm.На днях переписывался с владельцем сайта CAMTRONICS Dan Mach,по поводу покупки у него сервомотора 430 oz/in =3,037Nm 149$,так он мне ответил ,что такой движок с редуктором 1:2 и ШВП шагом 5 мм развивает усилие на каретке 89 кг.Потом здесь в Москве MAXVOVK подсказал ,что пишут они максимальную,пиковую мощность, а Rated current ( номинальная мощность) = 0,29 Nm.Вот теперь и сравните пиковая 3,037Nm ---номинальня 0,29 Nm.Покупку этого сервомотра отменил,но он мне предложил другие варианты .

  36. #73

    Регистрация
    02.06.2005
    Адрес
    Воронеж
    Возраст
    40
    Сообщений
    566
    Наверное, куплю на всякий случай. Может, когда вместо шаговиков поставлю.

  37. #74

    Регистрация
    02.06.2005
    Адрес
    Воронеж
    Возраст
    40
    Сообщений
    566
    Да, вот еще. Может кто-нибудь из спецов навскидку определить степень отстойности этого "чуда":
    http://imafania.boom.ru/contr3.htm

  38. #75

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от Александр_ Посмотреть сообщение
    Да, вот еще. Может кто-нибудь из спецов навскидку определить степень отстойности этого "чуда":
    http://imafania.boom.ru/contr3.htm
    Человек этот очень простой. Он просто взял и повторил схему Чена. Как рабочий серво-привод использовать НЕЛЬЗЯ. Как привод неточный, например что-то равномерно двигать, например для прямолинейной раскройки - вполне.

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

  39. #76

    Регистрация
    02.06.2005
    Адрес
    Воронеж
    Возраст
    40
    Сообщений
    566
    А дело в том, что он по всей видимости целенаправленно уходит от дискуссии и на письма не связанные с покупкой у него чего-либо просто не отвечает. Я собственно к чему спросил: видал тут прикольные сервомоторы (в субботу фотку цепану) с энкодером. Хотел попробовать что это есть сервы. Особо загоняться не хочется, т.к. до ума не доведен станок на шаговиках, но все равно интересно. В связи с этим вопрос: где можно купить контроллер для сервы можно попроще и подешевле (скажем порядка предыдущей ссылки) чисто для хоббийного станка?
    P.S. Очень не хотелось бы, чтобы вопрос прозвучал а-ля
    "собираюсь делать фрезер из принтеров, подскажите чайнику что куда втыкать".

  40. #77

    Регистрация
    17.09.2005
    Адрес
    Москва, Зеленоград
    Возраст
    40
    Сообщений
    974
    Вложение 31529

    Вот это никто не пробовал ?
    Микруха от ST Microelectronics
    Последний раз редактировалось STEPMOTOR; 04.04.2009 в 13:59.

  41. #78

    Регистрация
    22.03.2005
    Адрес
    Москва
    Возраст
    67
    Сообщений
    293
    Цитата Сообщение от Александр_ Посмотреть сообщение
    Да, вот еще. Может кто-нибудь из спецов навскидку определить степень отстойности этого "чуда":
    http://imafania.boom.ru/contr3.htm
    Да и контроллеры на шаговики "оставляют желать".Несинхронный режим,несоответствующие защитные диоды,
    проблема с заменой выходных ключей,отсутствие режимов переключения,отсутствие какой-либо индикации.Чувствуется ,человек не сильно парится возникающими проблемами клиентов.Спаял,а там хоть и не рассветай.

  42. #79

    Регистрация
    27.03.2006
    Адрес
    Калининград
    Сообщений
    59
    Читала я читала так и не поняла как же в самодельных сервах это реализуется.
    Ну пришёл шаговый импульс, да пришел он один нещасненький.
    Рассогласование тут у сервы, и она в зависимости от длины программной цепочки, и своёй тактовой частоты, через ШИМ даёт питание на якорь до того момента пока с энкодеране не то, что ей ответ прейдёт в виде импульса того, что она сделала.
    1) Нам хотелось на оборот сервы 100-200 шагов при прямом приводе иметь, а стаким же разрешением на оборот у энкодера о серве и не мечтай. Народу 2000 тысячи импульсов подавай. Если ШИМ строить исходя из 1/200 оборота, старт такой бешенный что уносит.
    2) Отправлять 2000 шагов соответственно разрешению энкодера , а не необходимой минимальной величине шага тоже не реально.
    3) Тада мы , чё растягиваем ШИМ по енкодеру, тоесть. На один шаг управления приходиться 20 шим умпульсов отработки. Да контролировать минимальную угловую скорость возможно только с энкодером максимального разрешения. И чё мы хоббисты делаем, оговариваем максимальную величину прироста скорости. Те. За два три ШИМа мотор набрал оговоренный прирост или в случ. первого шага минимальную скор. дальше ШИМ пустой пока скорость не спадет на величину гестерезиса проехав 18 пустушек едим дальше без контроля скор. до отработки ещё 20 импульсов с енкодера (а вдруг прийдёт следующий в случае разгона) и тока на 41 импульсе мы насинаем тормозить, и в этом случае если мы встали на 3 импульсах энкодера то мы так и стоим, если проскочили 20 отведенные на тормоз +40 разгон и выбег та тогда задний ход по всей этой процедуре, как говориться держим координату.
    Чёта нефига не пойму кто кому голову морочит.
    Если после первого приходит следующий, или же последний по макс скорости при разгоне (отсюда ли задаётся ширена удержания координатной точки по енкодеру) подача питания по ШИМу идёт опять по оговоренному в настройке привода приросту скорости.
    4) Тода опять не пойму как за 2-3 пульса с енкодера скорость вычесть, с 20 вычесть можно а с 2-3 как.
    5) Как вы господа без отправки всей пачки шагов по размеру которой и неплохо бы иметь ещё отдельно величину рекомендуемой скорости свой сервопривод мутите.
    Может это симптомы конечно, но не чё пальцем в клаву попадаю.
    Такое впечатление, что целенаправленно втирают стерва умные фразы на Аглицком,
    Типа там написано мы врубились а ты недалёкая те до нас, ещё и не дождешься такого в смысле высоты интеллекта в понимании работы СТЕРВАпривода.
    Я на усилок намекнула –не морочь Г.
    Усилок к шагу прощё привязать, измерь момент на шагавике, хош по валу через оптику, хош по реакции статора через мост с тензо датчиком и на вход усилка в D режиме. И всё.
    Чё мне одной впрягаться, где бред, и где его больше
    С уважением к братья по вере.

  43. #80

    Регистрация
    27.03.2006
    Адрес
    Калининград
    Сообщений
    59
    Мужики, вы опять полезли не в те дебри, надо сначала разрвботать грамотный алгоритм управления сервом, а потом уже задумываться над его реализацией..

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

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

Закрытая тема

Похожие темы

  1. Усовершенствованный сервопривод Чена
    от Художник в разделе Драйверы и контроллеры для CNC
    Ответов: 496
    Последнее сообщение: 27.03.2014, 11:33
  2. Ответов: 13
    Последнее сообщение: 26.12.2010, 03:09
  3. Совместимость сервоприводов с DX7
    от spinfinder в разделе Бортовая электроника
    Ответов: 1
    Последнее сообщение: 14.07.2009, 02:40
  4. Сервопривод
    от Debian в разделе Общие вопросы
    Ответов: 11
    Последнее сообщение: 08.05.2008, 02:04

Ваши права

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