Форум программистов, компьютерный форум, киберфорум
Робототехника и умный дом
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/23: Рейтинг темы: голосов - 23, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
1

Вопрос по драйверу мотора TB6612FNG

01.08.2017, 10:47. Просмотров 4250. Ответов 15
Метки нет (Все метки)

Всем привет!
Впервые столкнулся с использованием драйвера мотора, поэтому не знаю всех тонкостей. Есть два мотора постоянного тока, ток потребления небольшой - 55 мА, при напряжении питания 12 В. Управляет драйвером STM32F103C8T6, в управлении ничего сложного нет. Но возник один вопрос - как правильно останавливать моторы? Я, так понимаю, нужно свести инерцию к минимуму, она там небольшая, но все же думаю присутствует. Так вот какой из режимов останова использовать Short brake или Stop, и в чем их принципиальное различие? В устройстве данные моторы должны вращаться по часовой стрелке и против в течении какого промежутка времени, для обоих режимов эти промежутки одинаковы Т.е., по идее, при повороте мотора по часовой стрелке на какой то угол в течении, например, 500 мс, при его повороте против часовой стрелки, он должен повернуться на тот же угол, за то же время, и вернуться в точку старта. Но Как показала практика, это не всегда так. При многократных поворотах мотора туда-сюда, накапливается ошибка, если можно так выразиться, т.е. по началу мотор возвращается в точку старта, но уже спустя 10 таких повторений видно, что положение шестеренок относительно старта смещается, и дальше больше. Возможно это связано с режимом останова двигателя, я использую просто режим Stop. Но возможно я принципиально что-то не так делаю. Дело в том, что в этом проекте я впервые решил использовать RTOS, решил, так сказать, посмотреть что это такое и с чем его едят :). Так вот время работы моторов я устанавливаю тупо через задержку - osDelay(isTimeWork), возможно это неправильно, но судя по осциллограммам, временные отрезки формируются точно. В общем надеюсь на Ваши советы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2017, 10:47
Ответы с готовыми решениями:

У кого есть опыт работы с шилдом на основе TB6612FNG
Купил вот такую версию драйвера. Движок крутится туда - сюда. Но не реагирует на шим. И не...

Вопрос по драйверу VNH3SP30
Вопрос по драйверу VNH3SP30 у него что минимальная частота ШИМ = максимальным оборотам движка?...

Сма Hoover MK7164D/1-84 не правильная робота мотора или симистора мотора, Е09
СМА HOOVER mk7164d. Модуль invensys 1/475540/bb, проц atmega644. Выдает ошибку Е09. По словам...

Светодиоды к драйверу
Добрый день. Есть вот такой драйвер...

15
0 / 0 / 0
Регистрация: 25.08.2010
Сообщений: 661
01.08.2017, 15:39 2
Если нужна точность и повторяемость движений, то используйте либо концевые выключатели, либо инкрементные энкодеры для получения обратной связи. С режимами торможения сильно лучше не станет, не мучайтесь.

Short brake. я предполагаю, что это режим при котором обмотка коллекторного двигателя замыкается накоротко одновременным открытием или двух верхних или двух нижних ключей Н-моста. Мощность торможения выделяется на обмотке двигателя. Стоп - это прекращение подачи питания и торможение за счет механического трения.
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
01.08.2017, 16:01 3
Sirkyo, понял Вас спасибо. К сожалению конструкция не позволяет разместить в ней ни концевые выключатели, ни энкодеры :(
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
01.08.2017, 21:31 4
Поставьте шаговый двигатель.
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
01.08.2017, 22:17 5
Поставьте шаговый двигатель.
Я бы с удовольствием, но это штатные моторы электрозеркал авто, не хотелось бы вносить какие то изменения.
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
02.08.2017, 11:52 6
Если управлять ими вручную, контролируя положение зеркал визуально, то Short brake предпочтительнее, ибо даже незначительное продолжение движения зеркала после отпускания кнопки будет сильно портить нервы пользователю.
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
02.08.2017, 12:16 7
Добавьте на мотор, его вал, механический демпфер.
Простой вариант: плоская пружина + фетровая прокладка. Усилие торможения отрегулировать так, чтобы И тормозило И не мешало вращению.
Улучшенный вариант: демпфер + соленоид для прижима. Соленоид прижимает тормоз в режиме остановки.

Без датчика вращения невозможно активно тормозить коллекторный двигатель. Закорачивание обмоток "работает" только тогда, когда мотор вращается очень быстро. На средних-низких скоростях "закорачивание" ничего не дает.

p.s.
Вообще-то, девайс в одном экземпляре - можно измерить ТТХ и подавать инверсный импульс адаптивной длительности. Раза в 2 выбег можно уменьшить.
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
02.08.2017, 12:38 8
Без датчика вращения невозможно активно тормозить коллекторный двигатель. Закорачивание обмоток "работает" только тогда, когда мотор вращается очень быстро. На средних-низких скоростях "закорачивание" ничего не дает.
Ну вообще моторы крутятся достаточно быстро, просто стоят редуктора, которые скорость понижают.

p.s.
Вообще-то, девайс в одном экземпляре - можно измерить ТТХ и подавать инверсный импульс адаптивной длительности. Раза в 2 выбег можно уменьшить.
Подумаю над этим, спасибо.
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 385
02.08.2017, 12:50 9
Хотите точности остановки? Используйте S-кривую скорости вращения. То есть, перед остановкой снижайте скорость по косинусной (или близкой к ней) кривой. Таким образом, получите меньше рывков и более точную остановку. Хотя, если честно, для коллекторных движков это не шибко то актуально по причине инерции. С шаговыми лучше получается.
Вот разгон по s-кривой уже лучше. Хотя для коллекторных так же зависит от величины нагрузки движка, "подхватывать" начинает после определенного момента. Но все равно, улучшатся механические параметры движения, меньше рывков, больше точность.
Short brake - короткое замыкание моторчика, он превращается в генератор и его ЭДС работает на торможение его же самого.
Stop - обычное обесточивание мотора и его остановка по инерции с некоторым выбегом.
Вообще же, названия режимов весьма условны. Короткое замыкание может так же применяться для удержания тормозного момента ротора моторчика.

Использование RTOS с любом виде для управления моторами - совсем не лучшая идея. RTOS имеет инерционность и квантованность по времени. А вам требуется моментальная реакция. У RTOS чем меньше квант времени относительно тактовой частоты, тем больше издержек на обеспечение работы самой RTOS.

Для точного позиционирования либо применяйте шаговый мотор с режимом вращения без проскальзывания шагов, либо применяйте угловые или линейные нигнитные энкодеры. Либо время от времени уводите привод в начальное положение с фиксацией положения по концевику.
Наилучшие результаты дает обратная связь, ибо у коллекторных моторчиков скорость вращения непостоянна и зависит от нагрузки. Без обратной связи будете получать регулярную накапливающуюся ошибку.
Для обратной связи по углу поворота есть нигнитные абсолютные энкодеры, типа AS5040, AS5045
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
02.08.2017, 13:10 10
Я только один раз видел зеркало с электроприводом в разборе и там нет никаких концевиков и энкодеров, провода только от двигателей и нагревателя. Управляются банально - нажал кнопку - оно поворачивается в нужную сторону, отпустил - остановилось. Повернулось до предела - просто упёрлось и всё, схема управления ограничивает ток, потому ничего не ломается и не сгорает.
Кстати видел электрокорректор фар, там был полноценный аналоговый сервопривод на мощном операционнике, датчик положения ввиде переменного резистора.
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 385
02.08.2017, 13:13 11
Так то шаговый двигатель, либо сервомотор со встроенным абсолютным энкодером. Либо если поворот только до упора, то там и не надо никаких датчиков. А крайняя точка определяется драйвером по возросшему току потребления в режиме остановки в упор.
А если это было автомобильное зеркало с эл.приводом - то там вообще никто не парится, потому что положение контролируется визуально человеком. Человек - это и есть обратная связь в той системе.
По такому же принципу работают электростеклоподъемники и электроблокировка замка двери. Правда, в стеклоподъемниках навороченных машин сейчас есть контроль усилия по потребляемому току. Это больше для безопасности, чтобы руку или голову не зажало.

Про электрокорректор фар - там понятно, нужна обратная связь.
Видел начинку оптики от Ауди. Там мотор линзы каждый раз при запуске движка находит начальную точку, опуская линзу вниз, а затем возвращает в запрограммированное положение.
Аналогично работает механика офисного сканера или ксерокса.
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
02.08.2017, 13:29 12
Не, там именно коллекторные двигатели и редуктор с большим передаточным числом. Единственная обратная связь проходит через человека - встало зеркало в нужное положение, кнопку отпустил, мотор остановился и оно в этом положении и осталось. Даже если после отпускания кнопки двигатель сделает ещё немного оборотов то изза редуктора на глаз это совершенно незаметно.
Кстати глянул просто в гугле типичные штатные схемы - в большинстве вообще никакой электроники, только механические переключатели, даже нет никакого ограничения тока кроме активного сопротивления обмоток двигателей.
Ну вобщем да.
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
02.08.2017, 14:44 13
Цитата Сообщение от mShit
Не, там именно коллекторные двигатели и редуктор с большим передаточным числом. Единственная обратная связь проходит через человека - встало зеркало в нужное положение, кнопку отпустил, мотор остановился и оно в этом положении и осталось. Даже если после отпускания кнопки двигатель сделает ещё немного оборотов то изза редуктора на глаз это совершенно незаметно.
Кстати глянул просто в гугле типичные штатные схемы - в большинстве вообще никакой электроники, только механические переключатели, даже нет никакого ограничения тока кроме активного сопротивления обмоток двигателей.
Ну вобщем да.
Да, Вы абсолютно правы, там все просто, чисто механический переключатель и все, и датчиков тока тоже нет. Мой контроллер используется как помощник парковки, т.е. Вы включаете задний ход, и зеркала опускаются, на установленный заранее угол, выключаете задний ход - поднимаются, по идее на тот же угол, но как показала практика, не совсем, ошибка накапливается :(
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
02.08.2017, 14:53 14
Ну и что было не сказать все это в первом посте?

АПД. Есть же разница чем вы дрыгаете, скальпелем в операционной или метлой на своей даче))
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 385
02.08.2017, 15:07 15
Вот именно, в первом посте сразу бы указали, че да к чему.
Как раз такая фишка есть в некоторых авто уже с завода. Там стоят сервомоторы со встроеннным датчиком положения в виде переменного резистора.
Я этой функцией редко пользуюсь, поэтому не могу точно сказать, накапливается ли ошибка со временем или нет...
И зеркала там опускаются не на установленный заранее угол, а просто на дельту относительно нормальной установки зеркал.

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

Ааа, а тут еще и RTOS! :) Забудьте о ней для этого случая. Она тут не нужна. RTOS - это не для отмеряния интервалов времени, а для совмещения большого количества разнородных задач, действий, создавая эффект их одновременного выполнения, за счет периодического переключения на выполнения той или иной задачи. Оправдано, когда задач как минимум штук 5-10.
Но RTOS во-первых, не имеет жестких и четких интервалов времени, во-вторых, она имеет некоторый интервал между переключениями задач (потоков)
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 105
02.08.2017, 16:38 16
Цитата Сообщение от Mittid Mitot
Ну и что было не сказать все это в первом посте?

АПД. Есть же разница чем вы дрыгаете, скальпелем в операционной или метлой на своей даче))
Ну вообще то я сказал об этом в своем 4-ом сообщении :)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2017, 16:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Подскажите по драйверу
Братцы , что за гадство ? Драйвер не могу нигде найти ? А может он не нужен ? PCI контроллер. ...

Передача аргументов драйверу
Мне нужно передать драйверу один параметр типа DWORD. Как можно это сделать? Компилирую пока что...

Привязка к драйверу ODBC
Доброго времени суток. Сразу скажу что в БД новичок. Предыстория: БД mysql находится на сервере,...

Подключение диодов к драйверу TLC5940
http://www.ti.som/lit/ds/symlink/tlc5940.pdf максимальный ток на каждом выходе 120 мА, ноги можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.