Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер шагового двигателя на BTS7960B
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
glags
Собрал драйвер биполярного шагового двигателя на четырёх BTS7960B по даташиту. Управляю сием безобразием с помощю микроконтроллера. Возникли проблемы с температурным режимом микросхем и измерением тока. Если я заставляю двигатель постоянно вращаться, то они нагреваются где то до 45 градусов и держат такую температуру, а если например я сделал шаг и жду около 30 секунд, то микрухи безбожно греются и через пару минут уходят в защиту от перегрева. Второй баг это показания тока, оно если движок на удержании почему то растёт.
Может кто имел дело с сием чудом? Возможно я не правильно организовал алгоритм управления.
PS: частота ШИМ у меня 20кГц, а ток на моторе 3А. Я при включении питания наращиваю ШИМ пока не получу ток 3А (меряю напругу на ноге IS), запоминаю показания ШИМа и в дальнейшем их использую. Схема прилогается.
Ещё вопрос - до какой скорости я могу разогнать двигатель 23HS2430?
Tanya
Цитата(glags @ Nov 26 2014, 16:28) *
Возможно я не правильно организовал алгоритм управления.

Нормальный алгоритм, как мне кажется... должен быть другой.
Обычно такой - включаем напряжение - смотрим ток. Как только ток достигнет желаемого, выключаем напряжение (коротим мостом или отдаем ток назад в питание - рекуперация) на некоторое фиксированное время. Потом опять... При движении и при стоянии разная противоэдс и, сответственно, разный ток будет при Вашем способе управления.
glags
Цитата(Tanya @ Nov 26 2014, 16:07) *
Нормальный алгоритм, как мне кажется... должен быть другой.
Обычно такой - включаем напряжение - смотрим ток. Как только ток достигнет желаемого, выключаем напряжение (коротим мостом или отдаем ток назад в питание - рекуперация) на некоторое фиксированное время. Потом опять... При движении и при стоянии разная противоэдс и, сответственно, разный ток будет при Вашем способе управления.

Спасибо за ответ, но у меня управляется аппаратным ШИМом и по этому я не могу отслеживать когда пришёл импульс и коротить мостом по достижении нужного тока. И кроме того для компенсации обратной ЭДС внутри микрухи стоят быстродействующие диоды. Ваша теория применима если б я не использовал готовые микросхемы драйверов, а сделал свой мост на полевиках и не использовал аппаратный ШИМ. Фактически я ШИМом меняю ток. Пробовал я отслеживать ток на обоих обмотках и в онлайн с помощью ШИМ поддерживать его на уровне 3А. Фигня получилась - движок крутится и переодически дёргается в обратном направлении. Получился какой то дисбаланс. А когда я в начале запуска драйвера определил какой ШИМ нужен для 3А и постоянно его поддерживаю, то двигатель крутится нормально. Но в паузах сильно греется. Я пробовал давать ему половину тока в режиме удержания. Но это не спасло ситуацию.
Tanya
Цитата(glags @ Nov 27 2014, 12:26) *
. А когда я в начале запуска драйвера определил какой ШИМ нужен для 3А и постоянно его поддерживаю, то двигатель крутится нормально.

Вы не поняли. Ток, который, как Вы думаете, что поддерживаете, попробуйте измерить в режиме стояния. Просто тестером.
Теория не моя - посмотрите алгоритм работы интегральных драйверов ШД.
glags
Цитата(Tanya @ Nov 27 2014, 13:47) *
Вы не поняли. Ток, который, как Вы думаете, что поддерживаете, попробуйте измерить в режиме стояния. Просто тестером.
Теория не моя - посмотрите алгоритм работы интегральных драйверов ШД.

А разве обычным тестером можно нормально померять ток на частоте 20кГц? При начальном тесте - алгоритм следующий Выставляб ШИМ 1% и через 30мсек меряю ток, если он не достиг 3А то увеличиваю ШИМ и через 30 мсек опять меряю ток и так в цикле. В начальном тесте я получаю значение ШИМа которое соответствует току 3А и в дальнейшем его использую для управления мотором. Так вот я попробовал померить ток тестором(М890G) в разрыв мотора и при удержании увидел ток 5А, а в рабочем цикле (когда движок крутится) 20-30мА. По моему это фигня какая - то.
PS: Вы советуете ток контролировать и подгонять в режиме удержания?
Tanya
Цитата(glags @ Nov 27 2014, 14:52) *
А разве обычным тестером можно нормально померять ток на частоте 20кГц?

Почему бы и нет? Даже старым - стрелочным...
Цитата(glags @ Nov 27 2014, 14:52) *
PS: Вы советуете ток контролировать и подгонять в режиме удержания?

Я советую все время следить за током - поддерживать его. Для этого и используют шунты - смотрите устройство стандартных драйверов от Allegro, TI, ST...

Цитата(glags @ Nov 27 2014, 14:52) *
По моему это фигня какая - то.

Тут я Вас поддерживаю.
glags
Цитата(Tanya @ Nov 27 2014, 14:19) *
Я советую все время следить за током - поддерживать его. Для этого и используют шунты - смотрите устройство стандартных драйверов от Allegro, TI, ST...

тут шунт не нужен, у микрухи есть выход IS с помощю которого можно определить ток на нагрузке. С этой ноги я ток и контролирую.
Пробовал я отслеживать ток на обоих обмотках и в онлайн с помощью ШИМ поддерживать его на уровне 3А при работе двигателя. Фигня получилась - движок крутится и переодически дёргается в обратном направлении. Не мог понять в чём причина.
Tanya
Цитата(glags @ Nov 27 2014, 15:33) *
Не мог понять в чём причина.

Еще раз предлагаю почитать, как устроены интегральные драйверы. Ведь они выпускаются огромными партиями...
Обратите внимание на режимы fast and slow decay.
glags
Цитата(Tanya @ Nov 27 2014, 14:44) *
Еще раз предлагаю почитать, как устроены интегральные драйверы. Ведь они выпускаются огромными партиями...
Обратите внимание на режимы fast and slow decay.

Я прошу прощения за наглость, а не могли бы Вы ссылочку дать?
Tanya
Цитата(glags @ Nov 27 2014, 16:22) *
Я прошу прощения за наглость, а не могли бы Вы ссылочку дать?

http://www.allegromicro.com/en/Products/Mo...vers/A4989.aspx
http://www.allegromicro.com/en/Products/Mo...vers/A3992.aspx
Для более старых можно найти более подробное (для новичков) описание.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.