Усовершенствованный сервопривод Чена

AZi

Все прочитал… когда дочитал до конца - забыл че в начале было… 😊

Короче как я себе представляю сервопривод(любительский, не сверх прецезионный…) :
Стоит ЦАП и задает напряжение пропорциональное току в обмотке, ШИМ подгоняет ток под это напряжение, движок крутится, энкодер считает, контроллер думает… Когда надо сделать одиночный шаг - комп сам должен знать какое значение загнать в ЦАП чтобы движок не улетел слишком далеко от намеченной точки… Таблица значений подгоняется вручную под условия работы - обрабатываемый материал, скорость, погрешность позиционирования…

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

Еще более навороченный вариант:
Смысл тот же, только надо добавить буфер обмена чтобы контроллер знал будет ли это одиночный импульс или нет…

По поводу вычисления нужного тока - в случае одиночного импульса - тот компаратор (описанный выше) должен выдавать не только направление куда крутиться, но и величину рассогласования - напряжение пропорциональное нужному току которое при подходе к нужной координате соответственно будет уменьшаться и обеспечет тем самым плавный подход к нужной точке…

ZanozM

Хорошо я понял, то что вы говорите, о системе ЧПУ с обратной связью которое следит за сервой и корректирует её .
Я же говорю о системе типа МЯЧ2 у которой выход импульсный DIR направление STEP шаг.
С такой системой серва сама должна о всем думать.
И потом как вы себе представляете буфер обмена может есть какой то стандарт.
Насчет ЦАП какой он из себя, если он выдает аналог на выходе а потом это все идет на класический ШИМ, то на кой он нужен, если есть дискретный ШИМ на который подаешь комбинацию нулей и единиц а на выходе получаешь Широтно Импульсный Модулированный сигнал, мне бы разжевал как он работает.
Кстати в серве Художника Цапа нет, дак как он работает?
Нужно составить Блок Схему Алгоритма тогда жить станет проще!
Да вот еще что, ответа от автора на этом форуме нам точно недождаться, я это знаю.

AZi

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

Подобные мысли навеянны прочтением инструкций на СM600 где применяются линейные движки и индуктосины - тоесть разрядность обратной связи (в пределах ПИ-регулятора) практически бесконечна…

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

кстати, такой вопрос - зависит ли ток обмотки линейного синхр. двигателя(что вроде почти тоже самое что шаговик в микрошаге) от нагрузки при фиксированном ШИМе?

я имею ввиду не для удержания координаты а просто если питание подать и затормозить его…

ZanozM

кстати, такой вопрос - зависит ли ток обмотки линейного синхр. двигателя(что вроде почти тоже самое что шаговик в микрошаге) от нагрузки при фиксированном ШИМе?

Как устроен линейник если принцип работы близок к ШД5 то есть реактивный без магнитов, то по анологии к пускателю если включить катушку дать железу примагнитится а потом маленько приподнять его то ток увеличится, а если просто тянуть железо то как у постоянного магнита нечего не изменится.
А вот с ШИМом надо подумать, при нарушении магнитного потока произойдет изменение индуктивности в меньшую сторону, только шиму по барабану он ведь за ним и следит, но изменится время наростания тока в меньшую сторону и если у вас малая частота ШИМ то по моему может произойти обратный эффект, ведь кофициент заполнения упадет, хотя черт его знает так с шару не ответишь.
Подскажите почему у меня ссылки на книги из ветки Линейный индуктосин
Не грузятся!!!

AZi

Там все лишнее из ссылки убери - зайдеш просто в библиотеку и поиском найди ее - там почемуто сразу по ссылке не грузится…

По поводу шима - я имею ввиду цифровой (фиксированный) шим который не видит изменения тока а просто выдает импульсы фиксированной длинны…

ZanozM

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

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

Чего то я в этих ШИМах запутался, сегодня в книге прочитал термин КОД-ШИМ , там же описан принцип устройства последнего.
Дак вот аналоговый ШИМ, в класической форме я представлял как компаратор, в который на одну ножку приходит сигнал подлежащий модуляции, а на другую пила, и внем тоже обратной связи по току нет.
А вы говорите о ШИМ в котором заведена обратная связь.
Опишите его подробней.
Вот в Шаговых приводах изпользуется ШИМ при котором частота является стробирующей, то есть разрешает включить тригер, а выход с компаратора обнуляет тригер, как назвать такой ШИМ?
В контроллере Чена нет контроля тока, то есть нет резистора на котором измеряет компаратор падение напряжения.
В контроллере UHU, контроль тока есть,Вопрос для чего он там стоит? Если он влияет на ШИМ то каким образом?

AZi

ШИМ представляет из себя вот че:
стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится…

В см600 и прочих девайсах работающих с линейными движками стоит такая схема:
компаратор, на один вход которого подается напряжение пропорциональное току в обмотке, а на другой - обратная связь по току, затем стоит триггер на вход которого идет напряжение с выхода компаратора а на вход сброса/загрузки - тактовый сигнал частотой 2кгц(в СМках) или другая, этой частотой достигается то что схеме не заведется на высших гармониках и не войдет в линейный режим, тоесть задали допустим 1А - ключ открылся, ток растет… бац - привысил 1А, компаратор выдает единичку, а тригер тем временем ждет тактового импульса, как импульс пришел - он переключает ключи в другую сторону и ток идет уже из обмотки обратно в питание, как станет ниже заданного - компаратор опять сменит уровень а триггер дождавшись тактового импульса переключит ключи…
тоесть ток в обмотке будет то возрастать то убывать с чатотой 2кгц, и действующее значение будет равно заданному…

ZanozM

ШИМ представляет из себя вот че:
стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится…

Так а где в этом девайсе задающий сигнал( пропорциональный току в обмотке)?

В см600 и прочих девайсах работающих с линейными движками стоит такая схема:
компаратор, на один вход которого подается напряжение пропорциональное току в обмотке, а на другой - обратная связь по току, затем стоит триггер на вход которого идет напряжение с выхода компаратора а на вход сброса/загрузки - тактовый сигнал частотой 2кгц(в СМках) или другая, этой частотой достигается то что схеме не заведется на высших гармониках и не войдет в линейный режим, тоесть задали допустим 1А - ключ открылся, ток растет… бац - привысил 1А, компаратор выдает единичку, а тригер тем временем ждет тактового импульса, как импульс пришел - он переключает ключи в другую сторону и ток идет уже из обмотки обратно в питание, как станет ниже заданного - компаратор опять сменит уровень а триггер дождавшись тактового импульса переключит ключи…

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

AZi

ШИМ представляет из себя вот че:
стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится…

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

глянь вот здесь - там по структурной схеме все впринципе понятно…
focus.ti.com/lit/ds/symlink/tl494.pdf
вообще гдето в инете более удачный даташит был, поищи если интересно…

3 months later
celladon

Собрал контроллер для серводвигателей на Меге8 и L298 для двигателей с током до 4А. Если кого интересует выложу схему и печатку. Но у меня возникла проблема. Послое программирования Меги контроллер работает нормально. Через какое-то время перестает работать. Почему-то меняется содержимое EEPROM. Возможно я не правильно установил биты конфигурации. Подскажите как надо.
Это происходит даже если не настраивать при помощи прогрммы СервоТюнинг. Кстати есть исходники к ней у кого-нибудь?

mura

Через какое-то время перестает работать. Почему-то меняется содержимое EEPROM. Возможно я не правильно установил биты конфигурации. Подскажите как надо.

такое обычно бывает когда используют 0-ю ячейку или не включают браунаут.

AZi

Да выложи схему, печатку и прошивку если не жалко… 😃

celladon

Прошивка та, что в начале форума. Были исходники.

1 month later
technik

Собрал контроллер по схеме от celladon.Только dir не на 4, а на 26 pin.Он вроде работает, но двигатель не вращается.С программой servotuning он
обменивается данными,даже когда вращаешь вал двигателя , на компе показывает рассогласование и mega даже пытается
корректировать позицию.Это видно по графику,т.е. вслед за зелёной линией прыгает и красная.Но в это время на выводах 15 и 16 отсутствует напряжение.
Когда программу переводишь в режим ШИМ , то при перетаскивании ползунка на вывыодах 15 и 16, ШИМ есть и меняется.
Но двигатель в это время всё равно не вращается.Двигатель и энкодер из старого принтера. L298 вроде исправная.
Объясните логику работы ШИМ1 , ШИМ2, HI1, HI2. А зачем ещё FORCE1 и FORCE2?

Anton_M

посмотрите в симуляторах - VMLAB.nm.ru или в PROTEUS123.narod.ru/01.htm

будет ясно что происходит.

technik

Вот накатал проектик в Протеусе.Что-то непонятно оно работает.Может кто разберётся.
После запуска симуляции надо подождать несколько секунд , а то сразу ничего не происходит.
В приложении zip архив.

Servo_M8_L298.zip

technik

Так что, у кого нибудь работает этот контроллер или нет?
А мою схемку в протеусе кто-нибудь проверял, у вас работает?

А курс по протеусу я уже читал — ничего нового.

maxvovk
technik:

Так что, у кого нибудь работает этот контроллер или нет?
А мою схемку в протеусе кто-нибудь проверял, у вас работает?

А разве вот такие конструкции работают?

do_get_hardparam:
ldi zl, low(hardparam)
ldi zh, high(hardparam)
ldi r16, 5 ; всего 4+1 параметров по 1 байту
dghpc: ld uart_r, Z+

Мне всегда казалось, что LD по Z невозможно и реализовано в LPM…