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

AZi

Да - постоянник…

Серебрянная(хотя на глаз - она больше алюминтьевая) паста - это вообще ужасть - однажды на проц мазнул ее - досихпор не отмылась(хотя сколько раз уже пасту менял там)…

да уж 22кг - этож можно и без глаз остаться - брызги то полетят… 😵

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

maxvovk
AZi:

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

Не все так просто. Ключи при высоких напряжениях греться будут всяко. К сожалению, есть закон Ома… 😃 и даже при Rds=0.04 при реальном пересчете при 200В и 10А (типовые скачкИ) на ключах рассеивается под 30Вт…

А водянка для меня проста в изготовлении. Она будет стоять, правда, на единственном станке - с этими самыми 22кг моторами. А то, что он будет весить пару тонн - я уже не сомневаюсь 😃.

При повышении напряжения круто растет динамика - падает время нарастания. Из этого и исхожу.

buslik

Спасибо парни - уморили. 😂

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

Снизу же ограничений быть не должно.

Так как — ВНИМАНИЕ — если ось горизонтальна и не движется - стоит на месте (и мы не давим на портал плечем) PWM ==== 0000,0000 то есть все ключи разомкнуты. (Исключение - дешевые драйвера - им надо закоротить на низ дабы подзарядить кондеры верхних плечей)

Для вертикальных осей есть тормоз - электромеханический 😃

AZi

Так, еще мысля:
Если движок не ШИМовать а амплитудой управлять(поставить LC перед ним) - по идее он должен меньше гдеться(1), чатоту ШИМа можно хоть под мегагерц задрать(2), должны исчезнуть торчки при перегрузке/резком отпускании движка(3)… 😃

mastak

господа может кто поделится схемами для управления серво

( интересует что находится между лпт портом и двигателем с энкодером)

и наиболлее доступные решения

нада от шаговых уходить … быстрыми шагами

AZi
  1. Ктонибудь собирал? Работает?
  2. Прошивка есть у кого, ато она от туда не качается почемуто… 😦
STEPMOTOR
AZi:
  1. Ктонибудь собирал? Работает?
  2. Прошивка есть у кого, ато она от туда не качается почемуто… 😦

Скаячялась !
Бери !

AZi

Вообще сказали мне тут недавно, что настоящий стервопривод стоит пару килобаксов - чето тут не то… Че скажите?

Художник

“Кто нибудь собирал? Работает?”

Пробовал, в принципе прошивка Чена работает. Использовал как базовую, потом дорабатывал, причём схему то же.

Сделал программу настройки сервоконтроллера по СОМ порту, с возможностью снятия характеристик в графическом виде. Тестировал. Результаты неплохие. (см. приложение).

Потенциально прошивка от Miсrochip лучше.

“Вообще сказали мне тут недавно, что настоящий стервопривод стоит пару килобаксов - чето тут не то…”

Почти правильно сказали. Конечно смотря какой привод и какие мощности. Что подразумевают, комплектный привод или только электронику. Приличный электро привод, с защитами, дросселями, и т. д. (даже тиристорный) на киловатный движок порядка 700$ стОит.

AN532.rar

Художник

“настоящий стервопривод стоит пару килобаксов - чето тут не то…”

Настоящий “взрослый” стервопривод технические характеристики имеет покруче, чем ченовский, и всякий сервис, вплоть до автонастройки на двигатель. Промышленный привод должен быть надёжен, выполнен согласно ГОСТ, иметь защиты, компенсирующие дроссели, конструктивно должен быть прилично сделан, соответствовать требованиям по уровню электромагнитных помех и ЭМС, опять же согласно требований по электробезопасности, испытан на пробойное напряжение, по хорошему должен пройти термотренировку, климатическую камеру и вибростенд.

Хоббийный контроллер на PIC характеристики естественно имеет соответствующие. Цену то же.

Характеристики цифрового привода, необходимые для скоростных станков ЧПУ, достижимы только с использованием DSP.

На PIC несущая частота ШИМ слишком низкая, в 8-битном варианте порядка 15 кГц. Чтобы не свистел, надо 20, > т. е. ещё теряем разрядность.

Частота Fast PWM для Atmel AVR рассчитывается так: Fpwm=Fosc/(N*(1+TOP)), где N-делитель
частоты, а TOP-макс. значение.

Посчитаем для Fosc=10 МГц-
Fpwmmax16=10000000/65536=152 Гц
Fpwmmax10=10000000/1024=9765 Гц
Fpwmmax8=10000000/256=39062 Гц

Для режима Phase Correct PWM все еще хуже - частоты меньше в два раза.

Время обработки сервоцикла приводом на PIC порядка 200 микросекунд. Для серьёзного станка требуется не более 5 микросекунд, высокоскоростные привода работают в сотнях наносекунд. Соответственно цена выше на порядок.

maxvovk

Есть мысль часть обработки сервы вынести в быструю FPGA. Они нынче дешевые.
Пока я придумал вынести фильтр для енкодеров и 32-битные счетчики енкодеров, то есть сделать что-то типа HCTL2020, но сразу например 5 каналов. VHDL код написан и отлажен.
Что бы еще вынести? Места в ней много, хоть спецпроцессор зашивай 😃.

Можно например освободить центральный МК от прерываний вообще - завести все STEP и DIR туда же, поставить счетчики на них, добавить схему сравнения со счетчиками енкодеров, соответственно можно вычислять как разность позиций, так и скорости. И все это с любой частотой, хоть 100мГц.

Также на борту мы имеем возможность сделать любой ШИМ… В общем любой конечный автомат практически любых размеров.

Есть какие мысли? Тема интересная, я готов реально реализовывать.

Galant1
maxvovk:

Есть какие мысли? Тема интересная, я готов реально реализовывать.

У тебя мало тем для реализации? :=)

ATLab
Художник:


На PIC несущая частота ШИМ слишком низкая, в 8-битном варианте порядка 15 кГц. Чтобы не свистел, надо 20, > т. е. ещё теряем разрядность.

Время обработки сервоцикла приводом на PIC порядка 200 микросекунд. Для серьёзного станка требуется не более 5 микросекунд, высокоскоростные привода работают в сотнях наносекунд. Соответственно цена выше на порядок.

Не все так грустно с PIC - возьмем, к примеру, PIC18F6520 - 5 каналов ШИМ, 10-ти битное разрешение на частоте 39 кГц, т.е. никакого свиста не будет.

А зачем такие малые времена - “сотни наносекунд”? И откуда они взяты? IMHO, двигатель - система очень инерционная, поэтому микросекунды и сотни наносекунд притянуты за уши.
Прикинем на пальцах? Пусть частота вращения 12000 об./мин. = 200 об./сек., что соответствует времени оборота 5 мс - достаточно большое время, на 4 порядка больше упомянутых сотен наносекунд.
Если энкодер выдает 500 импульсов на оборот, то импульсы следуют через 10 мкс.
При тактовой 40 МГц, время выполнения команды в PIC18 будет 100 нс, т.е. на один импульс энкодера можно потратить до 100 команд его обработки. По-моему вполне достаточно.

maxvovk
ATLab:

Не все так грустно с PIC - возьмем, к примеру, PIC18F6520 - 5 каналов ШИМ, 10-ти битное разрешение на частоте 39 кГц, т.е. никакого свиста не будет.

А зачем такие малые времена - “сотни наносекунд”? И откуда они взяты? IMHO, двигатель - система очень инерционная, поэтому микросекунды и сотни наносекунд притянуты за уши.
Прикинем на пальцах? Пусть частота вращения 12000 об./мин. = 200 об./сек., что соответствует времени оборота 5 мс - достаточно большое время, на 4 порядка больше упомянутых сотен наносекунд.
Если энкодер выдает 500 импульсов на оборот, то импульсы следуют через 10 мкс.
При тактовой 40 МГц, время выполнения команды в PIC18 будет 100 нс, т.е. на один импульс энкодера можно потратить до 100 команд его обработки. По-моему вполне достаточно.

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

Обсчет целой кучи параметров занимает совсем не 100 команд, а разы больше. Кстати, в ПИКе есть аппаратное умножение (я не в курсе) ? Кстати, если вы внимательно прочитаете пост чуть выше, вы можете заметить, что время обработки сервоцикла на ПИК около 200мксек, или всего 5кГц. А “правильный” моторчик может разогнаться до 50об/сек за 50мсек. Вот и считайте, сколько шагов он пробежит, пока софт отреагирует.

Енкодер на 500CPR (циклов на оборот) даёт 2000 мипульсов. И это простой енкодер, обычно ставят поболее, например 2000CPR. И совсем не просто так.

Можно, кстати, отметить, что любой CNC-софт позволяет задавать ускорение, скорость по координате, то есть перемещение по конкретной оси будет относительно плавным. Но переходные процессы, расчет скольжения, тривиальная соринка, из-за которой на 20мксек необходимо срегулировать ШИМ на 500% - вот это требует больших скоростей.

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

Так что не зря таки ставят DSP…

ATLab
maxvovk:

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

Обсчет целой кучи параметров занимает совсем не 100 команд, а разы больше. Кстати, в ПИКе есть аппаратное умножение (я не в курсе) ? Кстати, если вы внимательно прочитаете пост чуть выше, вы можете заметить, что время обработки сервоцикла на ПИК около 200мксек, или всего 5кГц. А “правильный” моторчик может разогнаться до 50об/сек за 50мсек. Вот и считайте, сколько шагов он пробежит, пока софт отреагирует.

Енкодер на 500CPR (циклов на оборот) даёт 2000 мипульсов. И это простой енкодер, обычно ставят поболее, например 2000CPR. И совсем не просто так.

Можно, кстати, отметить, что любой CNC-софт позволяет задавать ускорение, скорость по координате, то есть перемещение по конкретной оси будет относительно плавным. Но переходные процессы, расчет скольжения, тривиальная соринка, из-за которой на 20мксек необходимо срегулировать ШИМ на 500% - вот это требует больших скоростей.

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

Так что не зря таки ставят DSP…

Я не буду спорить, поскольку нет предмета спора - Художник привел абстрактные числа, я привел прикидку на пальцах, в Вашем рассуждении тоже все оторвано от конкретики.
Например, почему “время обработки сервоцикла на ПИК около 200мксек”? На каком PIC, какая частота, по какому алгоритму, на каком языке написана программа?

Аппаратное умножение появилось еще в PIC17, есть в PIC18, в PIC24 (он 16 битный) есть и умножение и деление, в dsPIC30 есть еще и DSP. Так что дело просто в адекватном выборе контроллера.

Можно, к примеру, вообще отказаться от PIC или AVR и перейти на ARM7 - Филипс делает неплохие микросхемы, по цене сравнимые с PIC, но они уже 32 битные при большей частоте, т.е. точность и скорость вычислений гораздо выше.

Ваш пример с практическими опытами над двигателем говорит только об одном - неправильно заданы параметры регулятора.
На эту тему есть хорошая статья у Microchip: AN964 “Softwre PID control of an inverted pendulum using the PIC16F684” - программный ПИД регулятор для перевернутого маятника.
Суть в том, что к вращающейся вокруг оси тележке с приводом от двигателя постоянного тока прикреплен перевернутый маятник, период свободных колебаний которого можно менять перемещая грузики. Параметры ПИД регулятора задаются переменными резисторами. Микроконтроллер должен поддерживать маятник в вертикальном положении управляя направлением и скоростью вращения двигателя. Т.е. задача близка к тому, что Вы решали, однако все обходится без DSP, при этом частота не запредельная - встроенный генератор, который может дать максимум 8 Мгц, а PIC 8 битный.

Художник
ATLab:

А зачем такие малые времена - “сотни наносекунд”? И откуда они взяты? …Прикинем на пальцах? …При тактовой 40 МГц, время выполнения команды в PIC18 будет …на один импульс энкодера можно потратить до 100 команд его обработки. По-моему вполне достаточно.

Зачем такие малые времена, maxvovk правильно объяснил. Взяты они из практики и характеристик реальных приводов и ЧПУ.

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

PIC контроллеры с тактовой частотой 40 МГц не работают. Один такт процессора одной команде не соответствует.

100 команд для написания PID регулятора недостаточно.

почему “время обработки сервоцикла на ПИК около 200мксек”? На каком PIC, какая частота, по какому алгоритму, на каком языке написана программа?

Посты внимательно читайте. Обсуждался контроллер Чена, прикладывался файл AN532 с прошивкой от Microchip.

Можно, к примеру, вообще отказаться от PIC или AVR и перейти на ARM7 - Филипс делает неплохие микросхемы, по цене сравнимые с PIC, но они уже 32 битные при большей частоте, т.е. точность и скорость вычислений гораздо выше.

Так и Вам про то же. Есть вообще специальные DSP управления движением. Например от Техас инструментс. А есть ещё готовые PMAC от DeltaTau…

Ваш пример с практическими опытами над двигателем говорит только об одном - неправильно заданы параметры регулятора.

Было бы всё так просто… Станок ЧПУ это же не перевёрнутый маятник 😃

ATLab
Художник:

На пальцах Вы прикинули неверно, либо вопросом не владеете, либо ошибаетесь, либо техническая софистика. Софистика в технике не проходит. Опять же maxvovk правильно показал, как примерно надо прикидывать.
PIC контроллеры с тактовой частотой 40 МГц не работают. Один такт процессора одной команде не соответствует.

Я не буду с Вами спорить: как говорил Жванецкий, “…спорить о вкусе устриц лучше с тем, кто их ел.”
Отмечу только, что в PIC18 и более поздних контроллерах реализовано внутреннее умножение частоты на 4, поэтому при кварце 10 Мгц внутренний генератор как раз работает на 40 МГц, и команды выполняются за 100 нс.

Художник

ATLab,

Да уж нахавался этих устриц, по самые не хочу.

А то что, при такте 10, на 40 работаете, это Вы вместе со Жванецким, своей бабушке рассказывайте.

buslik

Давайте ближе к теме мужики.

Раз степы идут через LPT давайте плясать от него - сколько степов на одну секунду приходться?