Усовершенствованный сервопривод Чена
А на синхронном серводвигателе слабо сделать сервопривод?
У меня таких двигателей нет в наличии 😦 и следовательно нет цели (мотивации) для их запуска 😃.
Вот здесь www.gaw.ru/html.cgi/txt/app/motor/dc/index_3.htm можно почитать про управление бесколлекторными электродвигателями постоянного тока, думаю про эти двигатели идёт речь.
Вот этот www.cnczone.com/forums/showthread.php?t=74532 проект, насколько я понял, может работать с вентильными ЭД по Step/Dir, но через дополнительный усилитель мощности (ключи).
Здравствуйте.
Пользователь GuntisK рекомендовал мне ваш форум как раз по этой теме. Стал потихонько собирать схему приведенную в сообшений 161. Нашлась небольшая ошибка в софте - выхода Direction включаетса неправильно. Быстро исправил подпрограммы Direct_L и Direct_R и сейчас всё в порядке. Выход еще не собирал - это на завтра. 😉
Прям голова кругом:). На плату что дал чех - можно ставить мегу 8? или только 88? Или любую?
Vikings, а нельзя поделиться доработанным НЕХом? А то я мягко говоря в этом 😦…
…Стал потихонько собирать схему приведенную в сообшений 161. Нашлась небольшая ошибка в софте - выхода Direction включаетса неправильно. Быстро исправил подпрограммы Direct_L и Direct_R и сейчас всё в порядке. Выход еще не собирал - это на завтра. 😉
… В ней также исправлены несколько замеченных мною багов, которые на работу сервоконтроллера никак не влияли…
(из сообщения №198)
Да такая ошибка была, но для AtMega88 (прошивка в сообщение №198 и для AtMega48 в собщении №305 это было устранено). У меня эти выхода не использовались для основной работы. Я делал их только для индикации направления вращения и в расчёте, что кому-то они пригодиться для своих вариантов выходных драйверов или ещё каких то других целей. В приведённых мною схемах эта ошибка не влияет на работоспособность сервоконтроллера (в плане управления двигателем).
Прям голова кругом:). На плату что дал чех - можно ставить мегу 8? или только 88? Или любую?
Vikings, а нельзя поделиться доработанным НЕХом? А то я мягко говоря в этом 😦…
Микроконтроллеры AtMega8, 48, 88, 168 одинаковы по «ногам» и с соответствующей прошивкой (для AtMega168 – у меня нет) любой из этих МК может работать в схемах сервоконтроллеров, которые я выкладывал в этой ветке. Лучше всё-таки применять AtMega 48 или 88, т.к. с ними меньше вероятность «слёта» данных (коэффициенты ПИД) в EEPROM, чем с AtMega8.
Кстати, в плате словака (Jozefp - не чех), необходимо установить керамический конденсатор 0,1-0,22мкФ непосредственно на выводы питания (5 и 8) входной оптопары HCPL-2531 (2631). Один мой знакомый, который собирал сервоконтроллер с платой Josefp, писал, что без него происходили «глюки» при управлении двигателем в одну сторону вращения, при напряжении питания около 50В, а при 24В было всё нормально. При установке кондёра всё стало O’k.
arisov77, большое спасибо за оперативный овет. За чеха извиняюсь, когда пятый раз перечитываешь тему, мозги кипят:).
У меня ещё один вопрос: чем продиктовано применение драйверов 2184? Есть какие-то спецтребования? Просто у меня есть в наличии драйвера 2104 с аналогичной логикой работы. Они по выходному току слабее, и цоколёвкой отличаются. Бескровно явно не получится, вот и хотелось бы их применить:).
У меня ещё один вопрос: чем продиктовано применение драйверов 2184? Есть какие-то спецтребования? Просто у меня есть в наличии драйвера 2104 с аналогичной логикой работы. Они по выходному току слабее, и цоколёвкой отличаются. Бескровно явно не получится, вот и хотелось бы их применить:).
Я применил IR2184 с запасом, чтобы управлять IRFP260 (200В 49А, Ciss=5200pF). С полевиками IRF540 (100В 28А, Ciss=1700pF) драйвер IR2104, по моим «быстреньким» «прикидкам» должен надёжно работать. Если не ошибаюсь в оригинальном Gecko G320 установлены именно такие драйвера, по крайней мере, судя по моему анализу фотографий печ.плат, цоколёвка совпадает. Только, вот не знаю какие там MOSFET-ы установлены. Может, кто “заодно”, подскажет наименование вых. транзисторов и драйверов в Gecko G320, так для «общего развития».
Не сочтите за назойливость, управление МАХ током моста ведётся компаратором DA4 методом “зануления” входа драйвера. Почему не использовались входа SD(не знаю как инверсию отобразить:( )? Я понимаю что это возможно потребовало бы изменений в программе управления, и потому вопрос больше “для лучшего понимания” работы устройства.
В сообщении №64 rcopen.com/forum/f110/topic40981/64 я писал почему так сделал.
Также про это писал в середине сообщения №198 rcopen.com/forum/f110/topic40981/211 . Есть кое-что здесь electronix.ru/forum/index.php?showtopic=58750 . И вот здесь rcopen.com/forum/f110/topic40981/307 (сообщение №294) можно почитать.
При управление по SD надо будет устанавливать дополнительную RS-«защёлку» (можно посмотреть схему UHU). При практических экспериментах я выяснил, что в этом случае помехоустойчивость сервоконтроллера во время перегрузки (например, во время реверса) ниже и надо тщательнее «прорабатывать» топологию печатной платы и ставить несколько керамических конденсаторов по питанию силовой части двигателя и RC-цепочки на цепи двигателя. Иначе, было такое, что во время перегрузки было значительно больше ЭМ помех и сервоконтроллер (МК) «переходил» в режим ServoError. А при управлении по IN, проще говоря, это «выброс» напряжения «замыкался» через нижние полевики.
В каждом из этих способов есть свои плюсы и минусы.
В предыдущем своём сообщении я писал про установку кондера на выводы питания оптопары. Необходимо учитывать, что оптопары чувствительны к перегреву и их желательно устанавливать в панельки или паять быстро и держать тонким пинцетом запаиваемый вывод так, чтобы тепло «уходило в пинцет».
Воскресение прошло разбираясь с контроллером. Во первих - подключая и вращая енкодер на графике Servotuning появились скачки рассогласования. Когда я зашил более новую версию из сообшения 198 но оно не соединилось с компом. Смотря на терминале COM порта видно что начальное сообшение передают но не отвечают на передачу симболов. Не получилось по быстрому и разбиратса с программой. Взял я и прошл Mega8 с прошивкой из сообшения 106 и заработало. Больше разбиратса не стал, собрал выход из IRF640 и IR2113, подобрал параметры. Дальше смотреть буду уже в следующих выходных…
Vikings, прошивка из сообщения №198 подходит только для AtMega88. С AtMega8 - работать не будет.
Можете попробовать для AtMega8 прошивки Servo_AtMega_CompInt или Servo_AtMega_TimerInt из сообщения №161 (там написаны отличия).
Наверно непонятно сказал. На Mega8 я пробовал лишь старую программу, все новые - на Mega88.
Всем привет:). Плату буду переделывать под IR2104, и тут попутно возникли вопросы. В полевике внутри присутствует диод, включённый паралельно переходу исток-сток в прямом направлении. Как писалось в одном из постов, при срабатывании компаратора DA4, драйвер “глушится” по входу, и при этом транзистры VT2 - VT4 нижних плеч остаются открытыми. Напряжение самоиндукции, в зависимости от направления вращения, гасится по цепи сток-исток одного (нижнего и открытого) транзистора, и диод другого. Если эти диоды прорисовать на схеме, то этот путь хорошо виден. Происходит ЗАКОРАЧИВАНИЕ движка. Если отбросить нагрев силовых ключей, в большей степени внутренних диодов, то это динамическое торможение двигателя. Понятно, что это короткий процесс, до спада тока, но вслед за ним двигатель опять включается, и имеем бросок тока для компенсации “тормозов”. Вполне возможно что эти “тормоза” весьма полезны при подгонке двигателя в ноль, а вот при старте и разгоне, когда потребляется большой ток, явно нет. Хотя, конечно, я могу и ошибаться, надеюсь поправят:).
И есть вопрос по затворным цепям полевиков. Хотелось бы узнать почему применена подобная схема. Она кстати очень похожа на схему управления биполярным транзистором в импульсном БП компа. Вот тут qrx.narod.ru/book/at/2.6.htm . Но там диод и конденсатор применён для “быстрого рассасывания носителей неосновного заряда”. Там он заряжается до уровня падения напряжения на последовательно включённом диоде и резисторе, и при закрытии этот конденсатор создает на базе отрицательный заряд, ускоряя закрытие. В нашем случае , допустим драйвер DA2 открывает VT1. Заряд входной ёмкости происходит через резистор R35 сопротивлением аж(!) 200 Ом. Почему такой большой номинал? Закрытие полевика, а следовательно разряд входной ёмкости , идёт через последовательную цепочку R34,D9 и паралельно им включённый R35. Если бы управление полевиком осуществлялось от обмотки импульсного трансформатоора, тогда эта схема была бы оправдана. Да и даташиты на драйвера дают схему с токоограничительным резистором. Без “наворотов”, ведь задача - максимально быстро зарядить-разрядить входную ёмкость полевика. Еси управление происходит не часто, это один вопрос, а вот когда в работу включается компаратор DA4, тогда думаю и возникают проблеммы. Ведь это происходит при МАХ токе двигателя, и при этом включается ШИМ-регулировка тока.
Всё сказанное - имхо, прошу не принять за попытку “наезда”.
Насчет тока - там всё наоборот. Направление тока не меняетса и ток продолжает вращать мотор. Да, конечно, ток уменьшается из за падений на диоде, транзистора, активного сопротивления мотора. Если отключить все транзисторы тогда ток самоиндукций создаст обратное напряжение и мотор будет тормозится намного сильнее.
ЗЫ извиняюсь за свой русский. Иногда трудно выразится…
Dj_smart, я ни сколько не принимаю Ваши размышления и вопросы за наезд, хотя у меня и бывают иногда «выскакивают» резкие высказывания на некоторые вопросы. Есть такой «грешок» 😃
При одновременном открытии нижних транзисторов, на мой взгляд «внутренний» диод одного из полевиков не участвует в работе. Хотя ток получается, что и протекает в обратном направление И-С, но сопротивление канала открытого полевика будет очень малым и предполагаю, что основной ток «протечет» через него и небольшая часть через диод. Это только мои предположения.
По затворным цепям – на это, в своё время обратил внимание ещё AtLAB rcopen.com/forum/f110/topic40981/72 там же и мой ответ.
В других экспериментальных сервоконтроллерах я уже такую цепь не использовал. Просто использовал один затворный резистор 24Ом, без диода. Стабилитрон между З-И оставил, хотя в варианте платы Jozefpa они отсутствуют. Я считаю, что от них пользы больше, чем вреда (во время «экскрементов» 😃 не раз спасали драйвер).
Про динамическое торможение. Это торможение в плане позиционирования – основной задачи сервоконтроллера, оказывает на мой взгляд большую пользу, чем быстрый старт и разгон. Ведь если не будет торможения, будет происходить выбег, что недопустимо или крайне не желательно. Двигатель в паре сервоконтроллером всегда как бы немного приторможен. Даже в случае, когда нет перегрузки и компаратор не блокирует прохождение импульсов по входу, т.е. в нормальном режиме при движении в одну из сторон. Допустим, движение происходит в одну сторону: левая часть плеча полевиков не участвует в работе, верхний всегда закрыт, а нижний всегда отрыт, т.к. на входе IN соответствующего драйвера лог.«0». Другое плечо ШИМиться, периодически открывая/закрываю правую пару полевиков. Движение двигателя, т.е. напряжение на нём будет при открытом верхнем и закрытым нижнем. Но ведь при ШИМ импульс не постоянен и будет момент, когда верхний и нижний поменяются местами. И произойдёт тоже самое, что и при перегрузке – открытие двух нижних ключей. Такое происходит с прошивкой на основе оригинальной Ченовской smc2, т.е. всех тех, которые я здесь выкладывал. А с прошивкой smc3, в сервоконтроллерах UHU, Gecko320 (я уже не раз об этом писал) вообще происходит «переворачивание» полярности на двигателе и это на первый взгляд ещё хуже для двигателя, ведь теоретически двигатель не только «тормозиться», но и начнёт вращаться в другую сторону. Но всё это происходит очень быстро и ток в обмотках не успевает достигнуть критического.
Я уже писал, что схема с прерыванием тока по входу IN, на мой взгляд обеспечивает лучшее качество позиционирования, но недостаток – нет контроля тока при одновременном открытие нижних ключей.
Как вариант, можно сделать 2 токоизмерительных резистора, сигналы с них объединить (я подавал на входа двух компараторов, с объединенными выходами) и далее подать на входа компараторов с двумя разными порогами. С выхода компаратора с более низким порогом через диоды на входа IN, а с более высоким, через RS-“защёлку” на SD. Будет что-то подобие ШИМ контура стабилизации тока, с защитой от максимально допустимого через транзисторы и двигатель.
Честно - тему пречитал раз 5:(. А вопросы задаю которые уже разжёваны. Извиняйте. Ещё есть одна(надеюсь последняя) неясность. Назначение диода VD13. Если включить наоборот - своеобразная защита от обрыва токоизмерительных резисторов. +5 намертво заблокирует работу моста в такой ситуации. А в таком включении - непонятно. Я строил ШИМы для шаговиков на этом компараторе, прекрасно обходилось без него. Но это выяснится в процессе настройки, залезу с осцилом, поглядим:).
Ничего страшного, задавайте ещё вопросы.
По поводу VD13 – это и есть защита входа компаратора от возможного обрыва токоизмерительного резистора. В импульсных БП при пробое ключевого транзистора, обрыв резистора – не редкость. И здесь при пробое пары ключей одного плеча возможна такая ситуация.
У LM393, судя по DataSheet нет внутренних защитных диодов и при обрыве резистора и питании двигателя, например 110В, это напряжение окажется на входе компаратора, что приведёт к его “гибели”.
Немного не понял, про диод наоборот. Если он будет Катодом к входу к компаратору, а Анодом к +5В, то схема токоограничения работать не будет.
Диод поставил именно так из-за того, что у меня был установлен токоизмерительный резистор номиналом 0,5 Ом. И при токе 3А, на нём будет выделятся 1,5В, а диод, если его включить Анодом ко входу компаратора, а Катодом на “землю”, то он будет ограничивать это напряжение на уровне 0,6В. А так на входе, при обрыве резистора, ограничение будет на уровне 5,6В, что вполне допустимо для LM393.
Немного не понял, про диод наоборот. Если он будет Катодом к входу к компаратору, а Анодом к +5В, то схема токоограничения работать не будет.
Точно, не додумал:).
arisov77, у меня тут в процессе… чёрте чего, в общем, возник вопрос. Не рассматривался вариант чтобы оптически отделить силовую часть от меги? Там ведь всего 2 вывода, которые связывают эти части. И питать их от отдельных источников. Мегу от USB компа, а силовую - так как есть. Сразу говорю, что я даже не представляю что там творится, на этих выводах, во время работы. Но если бы удалось, то ну очень много плюсов получилось бы. Это и связь по компорту, и “слёт” памяти, помехи чтения энкодера и тд. А входную оптику, в таком случае, вполне можно было бы убрать. Тот же Uart, в теперешнем виде ведь не развязан, и при крупном “бабахе” вполне может комп повредить…
Давно уже думал (вот здесь www.cnczone.com/forums/showpost.php?p=540582&postc… в ветке про DSPIC писал про это) и даже уже кое-что сделал, но схема значительно усложняется и дорожает. Незабывайте, что надо ещё и обратную связь (гальванически развязанную) по току “завести”.
Многие сервоконтроллеры нормально работают и без гальваноразвязки силовой части от МК. Входа дешевле и проще “развязать”, да и помехи больше через входа “пролезеют”, чем через выход, поэтому так в основном и делают.
Хотя конечно, с полной гальваноразвязкой сервоконтроллер более помехоустойчив.
Dj_smart, а на какое напряжение силовой части Вы рассчитываете?
Обратная связь? Это узел на компараторе, насколько я понял. Так и отделить его в силовую часть. И даже запитать от 12 вольт. Он с открытым коллектором, и управляет просадкой на корпус входов драйверов… Так что напряжение питания его не критично в данном случае. Может не доглядел чего, но этот узел с мегой никак ведь не связан?
Что помехи в большинстве своём пролазят по входам, согласен на все 100%. Но и общий провод этому немало способствует.
Тут больше интересует “частотная характеристика” по входам драйверов. Что там присутствует на рабочем устройстве? В смысле подбора оптопар по частоте.
А по движкам особого выбора нет, есть какой-то бесфамильный, на 42 вольта.Вот только энкодер что-то не отзывается, возможно “умельцы” до меня 42 вольта туда сунули 😦. Попытаюсь оживить, и для приобретения некоего опыта пойдёт .
Обратная связь? Это узел на компараторе, насколько я понял. Так и отделить его в силовую часть. И даже запитать от 12 вольт. Он с открытым коллектором, и управляет просадкой на корпус входов драйверов… Так что напряжение питания его не критично в данном случае. Может не доглядел чего, но этот узел с мегой никак ведь не связан?
Да, сигнал с AtMega в данной схеме никак не связан. Оптопара возможно подойдет дешёвенькая, типа РС817, но для собственного успокоения, я бы поставил более быстродействующую. (В своих эксперементах я использовал специальный гальваноразвязанный датчик тока и “заводил” этот сигнал на МК).
Для питания схемы с опторазвязой надо ещё 4-канальный ИБП. Вот нарисуйте схему со всеми этими деталями, спроектируйте печатку и подсчитайте стоимость и габариты этого девайса. Стоит это того, чтобы крутить движок на 42В? С 42В, с платой словака будет нормально работать.