L297. Подводный камень.

Здесь «камень» — не обозначение кристалла или микросхемы, как это звучит в жаргоне электронщиков, а именно то незаметное с поверхности препятствие, на которое можно напороться в легкомысленной самоуверенности.
Вместо предисловия.
Заразился и я мечтой заиметь свою ЧПУ-сверлилку/фрезер. Пока с механикой дело продвигается уныло, решил тем временем поиграться с управлением шаговика, чтобы окончательно определиться со схемой. Шаговики собираюсь использовать униполярные от принтера. Облазил несколько форумов, прочитал и «хорошую статью», что в топике podkassetnik -а. В конце-концов решил не мудрить с МК и купил L297-е.
По рекомендациям решил применять ШИМ для стабилизации тока обмоток — тут уж L297-я как-раз в тему (хоть и старая, как пишут люди). Почитал, насколько смог понять, ее Т.О.(Datasheet) и набросал схемку.

Предвидя вопрос «а нафига набрасывать — есть же готовые и проверенные», сразу же на него и отвечу — теперь я почти так и сделаю.

Но собственно что же хотел написать? Дело в том, что есть у нее(L297) такой управляющий вход CONTROL, про который в Т.О. сказано:
Control input that defines action of chopper.
When low chopper acts on INH1 and INH2; when high chopper
acts on phase lines ABCD.
Насколько я понял, можно ШИМ-мом рулить прямо по выходам ABCD. Вот опираясь на это «понятие» и родилась изначальная схемка:
черновой вариант
Средний вывод обмоток двигателя на V+, естественно.
Сейчас мы не будем рассматривать вопрос управления полевиками без драйверов — суть не в этом!

Ну так вот, подключил я к этой, собранной на макетке, схеме движок, подал питание и стал крутить подстроечник, добиваясь регулировки тока. Движок шумел ШИМ-ом и грелся, как паяльник. При этом потребляемый ток увеличивался(!) при появлении ШИМ-а почти в 2 раза, по сравнению с его(ШИМ-а) отсутствием. Думаю, где ж я накосячил?
Стал смотреть, что же выдает L297 на полевики. Как и пишут в Т.О. после подачи питания и отсутствия сигнала STEP, состояние выходов ABCD соответствовало HOME, т.е. 0101 — это когда я движок подстроечника выкрутил в правое по схеме положение. т.е. на максимальный ток. А поскольку падение на RS (токоизмерительных шунтах) было ниже установленного Vref, то и ШИМ отсутствовал.
Ну хорошо, покрутил подстроечник до появления ШИМ-а (на время расследования я решил двигатель не жечь и заменил его резисторами по 100ом и увеличил сопротивление шунтов) и что вы думаете? Я просто не поверил своим глазам! ШИМ появился на выходах А и С, на которых до этого был лог.«0». Выходы B и D всё также оставались в лог.«1» без малейшего признака ШИМ-а! А это значит, что этим вот образом подключалась и вторая половина обмотки — вот откуда увеличение суммарного тока!

Давай еще раз читать Т.О. повнимательней, насколько это возможно с моим незнанием английского :)
Еще и еще раз прочесывал уже знакомые и еще незнакомые форумы — нигде ни намека на это положение вещей.
Конечно весь интернет я не прочесал — терпения не хватило.
Причем при подаче сигнала шага L-ка повторяла свое поведение в том же стиле. Напрашивается вывод — активное состояние выходов ABCD инверсное. Ну если так, то работа ШИМ-а правильная!
Ну кто же тогда дурак — я? Ведь ни в ДШ, ни в других статьях об этом ничего не сказано.
Не зря ведь люди ставят между L-кой и полевиками элемент «И» и рулят ШИМ-ом по /INH!
Только ведь никто этот момент не раскрывает почему-то.

Для чистоты эксперимента поставил я между L-кой и полевиками инверторы: ШИМ стал правильно регулировать ток нагрузки. Проверка на двигателе подтвердила, причем не только в покое, но и на разных скоростях вращения. Питал движок 12-ю вольтами, ток изменял в пределах 200-600mA, проверяя пальцами момент на валу.
Отступление:
Во время экспериментов почему-то убил два IRL530N (100V,17A). Диодов на обмотки двигателя пока не ставил, осциллографом видел выбросы до +36 вольт. Странно, почему же сдохли эти полевики (стояли в обмотке CD), после заменил их на IRF640 (что было) — без проблем. Вот теперь и сомневаюсь в применении сборок IRF7103 (50V,3A).

Ну хорошо, допустим ABCD — выходы инверсные, а как же тогда быть с ENABLE, ведь при отключении L297 этим сигналом выходы ABCD остаются в «нуле» — т.е. активные! Чего-то я не понимаю!

Нет, я теперь уж точно сделаю, как и другие — поставлю 7408(или 7409) и заведу ШИМ на /INH.
Проверено многими — надежный «велосипед»! :)

P.S. Проверил все три L-ки, поведение идентичное. Хотя может это одна партия такая?
..Партия у нас одна! (с)
:))
__________________________________________________________________________

Послесловие (19.02.2014)
Учись, синку, та читай багато,
бо будеш ти дурнем, а я — твоїм татом.
Да вот: учился мало и читал не то, что нужно. Вот и напоролся на грабли.
Спасибо тов. steel_ne , ткнул меня носом подсказал в коментариях, что подробности на этот контроллер надо читать в примечании к применению (APPLICATION NOTE).
После посильного изучения вопроса, кажется всё стало на свои места.

Вкратце:
L297 разрабатывалась в первую очередь для применения мостовых драйверов (биполярных) Ш.Д., хотя и меет возможность использования простых (не мостовых) ключей для управления униполярным Ш.Д.
При этом сигналом управления CONTROL выбирается функционал работы именно мостового драйвера (в частности, как я понял, управление скоростью спада тока обмоток). А для управления униполярным Ш.Д. этот сигнал имеет только одно определенное значение. О чем в обычном Т.О. (Datasheet) явно не сказано. Ссылка на него есть в коментариях.
Про спад тока обмоток пишет в своей статье Л.И.Ридико. К сожалению я не провел параллели между его изложением и поведением L297 в вышеописанном включении.

Ну чтож, на ошибках учатся.
  • +1
  • 17 февраля 2014, 02:16
  • Fahivec

Комментарии (17)

RSS свернуть / развернуть
… Партия у нас одна! (с)
"… А стучать надо чаще!" )))
+1
вот и решил настучать ))
0
Не видел я много шаговых двигателей, но те, которые видел, подключались средней точкой именно к "-", а не к "+", как в этом случае. Поэтому мне видится решение в «инверсии» выходов микросхемы в том, чтобы подключить среднюю точку двигателей не к "+", а к "-". Тогда состояние выходов микросхемы (все 0 в состоянии покоя) будет соответствовать тому, что написано.
0
Нет-нет, вы не поняли! Состояние выходов 0 вольт для инверсной логики как раз таки не покой. Но если проследить вашу мысль о подключении обмоток к «земле» и при этом в буферах/ключах не менять логики (т.е. А=0 и т.п. — обмотка не запитана), должна быть положительная логика.
Однако, как я уже писал в топике, при активной работе этого контроллера (ENABLE=1,CONTROLL=1, PWM on) в состоянии HOME выходы B/D в постоянной «1», выходы A/C изрезаны ШИМ-мом, причем с преобладанием высокого уровня.
Исходя из положительной логики — это постоянная запитка одной половины обмотки (B) и частичная — другой половины (A) той же обмотки. Тоже самое происходит и со второй обмоткой.
0
Цитата из даташита:
Inhibit chopping is used for unipolar motors but you can choose
between phasechopping andinhibit choppingfor bipolar motors.


У вас униполярные двигатели, поэтому никакого фазного ШИМа. Если подцепить биполярный двигатель, то появление ШИМа на канале А при активном канале В просто приведет к тому, что ток самоиндукции не будет течь через резистор-шунт. Об этом картинка есть, Fig15 в даташите, не знаю, правда, какой вы смотрите.
0
ну и на Fig 16 до кучи как раз ситуация — канал А в единице, а на канале В — ШИМ. Не знаю, как это можно не заметить :)


Короче, читайте даташит, там нет никакого инопланетного заговора.
0
Datasheet, которым я ползовался Там есть что-то про
When the phase lines
are chopped the non-active phase line of each pair
(AB or CD) is activated (rather than interrupting the
line then active). In L297 + L298 configurations this
technique reduces dissipation in the load current
sense resistors.
но я, честно говоря, этого не понял. Гугль-переводчик тоже не помог.
0
Ну ладно, поехали по порядку. Отдельную статью пилить не буду, лень.
Рекомендую к ознакомлению даташит www.technologicalarts.com/myfiles/data/AN470.pdf
он тоже про этот чип, но там более подробно разобраны нюансы. Между прочим он первый в выдаче гугла по слову «L297».
Предлагаю почитать, я вернусь через полчаса, разъясню непонятные моменты )
0
Я тут, вопросы есть?
0
извини, но я сам пока отсутствовал и еще не читал.
0
сожалею, но сегодня я вопросов точно не задам: английский для меня, чуть знакомее китайского. А вообще — спасибо за отклик! Буду штудировать :)
0
Дело было не в бобине…
Если б я сразу с этого документа начинал, то не пришлось бы времени тратить. Ни своего, ни вашего (общего).
Толком еще и не вник, но уже по беглому взгляду на графики и схемы понял, что даташит даташиту рознь. Еще раз спасибо!
+1
Это на самом деле не даташит, это Application Note. В аппноте обычно разъясняются некоторые параллельные моменты, например конкретно в этом даже даются общие сведения о том, что такое шаговые двигатели, шаг-полушаг и т.д.
Поэтому даташит пробегаем глазами в плане характеристик, а потом ищем аппнот на нужную тему у производителя.
0
И по поводу перевода — там же ясно написано, что вторая линия тянется вверх ))

Когда фазовая линия ограничивается (chopped), неактивная линия каждой пары «АВ» или «СД» активируется.

А вот зачем это делается и можно ли такую технику применять в униполярных двигателях — см. даташит по ссылке выше.
0
ну мне это, увы, ясно не было.
0
Диодов на обмотки двигателя пока не ставил, осциллографом видел выбросы до +36 вольт.
Я бы не полагался на осциллограф в этом вопросе — хотя бы потому, что уровень выброса без диода зависит от кучи параметров, часть которых изменяется при включении осцилла. Почему бы просто не воткнуть диод, как положено?
0
  • avatar
  • Vga
  • 17 февраля 2014, 11:55
При униполярном включении сам по себе диод будет только тормозить (медленный спад тока), тут надо что-то типа как здесь, только параметры этих цепочек еще подбирать нужно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.