Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

 
Опции темы
Непрочитано 12.10.2010, 00:49  
DropSoft
Частый гость
 
Аватар для DropSoft
 
Регистрация: 01.06.2007
Сообщений: 35
Сказал спасибо: 8
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
DropSoft на пути к лучшему
Вопрос Как правильно управлять мотором?

На станке мотор ДПМ35 перемещает каретку. На валу мотора крыльчатка с опто-датчиком, две фазы, сдвинутые на 90 градусов. Этот сигнал приходит на Атмегу, которая через драйвер A3950 ШИМом управляет данным мотором. Задача разогнаться с заданным ускорением до нужной скорости, двигаться с постоянной скоростью, и затормозить с заданным ускорением в нужном месте с точностью плюс-минус четверть фазы датчика.

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

Какой алгоритм управления должен быть для торможения? Всю голову изломал. Дело еще в том, что сила трения (или чего там) неравномерна по длине перемещения. То есть если двигаться на постоянной скорости и затем снять воздействие на мотор, расстояние, проезжаемое до остановки, может меняться раза в потрора, в зависимости от координаты останова.

То есть как математически найти величину воздействия (значение ШИМ и знак) на мотор, зная текущую координату, конечную координату и длительность последнего периода фазы оптодатчика?
Реклама:
DropSoft вне форума  
Сказали "Спасибо" DropSoft
warel (27.06.2019)
Непрочитано 12.10.2010, 13:20  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

S = V*V/(a*2);
S - путь до остановки
V - текущая скорость
а - ускорение
Alecsej вне форума  
Сказали "Спасибо" Alecsej
warel (27.06.2019)
Непрочитано 12.10.2010, 13:30  
DropSoft
Частый гость
 
Аватар для DropSoft
 
Регистрация: 01.06.2007
Сообщений: 35
Сказал спасибо: 8
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
DropSoft на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

Сообщение от Alecsej Посмотреть сообщение
S = V*V/(a*2);
S - путь до остановки
V - текущая скорость
а - ускорение
Это все понятно. На этом основании (вычислив оставшийся S и зная a) вычисляется требуемая скорость. Точнее, для упрощения вычислений, не скорость, а обратная величина, требуемый период оптодатчика. А как на этом основании расчитать требуемое воздействие на мотор? Значение и знак ШИМ? Есть экспериментально снятая кривая зависимости ШИМ от установившейся скорости. Если тупо от знака разности периода расчетного и измеренного подавать максимальный ШИМ с соответствующим знаком, то каретка входит в колебательный процесс около точки останова.
UPD: если значение ШИМ подавать согласно снятой кривой (установившейся скорости от ШИМ), то на малых скоростях, при подъезде к конечной точке, каретка может остановиться, и этого воздействия недостатчно, чтобы сдвинуть ее.

Последний раз редактировалось DropSoft; 12.10.2010 в 13:38. Причина: дополнение
DropSoft вне форума  
Сказали "Спасибо" DropSoft
warel (27.06.2019)
Непрочитано 12.10.2010, 14:02  
DropSoft
Частый гость
 
Аватар для DropSoft
 
Регистрация: 01.06.2007
Сообщений: 35
Сказал спасибо: 8
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
DropSoft на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

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

"PHASE and ENABLE input terminals are provided for use in
controlling the speed and direction of a DC motor with externally
applied PWM control signals."

Возможности задавать ток нет.
DropSoft вне форума  
Сказали "Спасибо" DropSoft
warel (27.06.2019)
Непрочитано 12.10.2010, 14:05  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

Задача сводится к стабилизации текущей скорости. То бишь a = M / I , где M сумма крутящих моментов действующих на привод, I момент инерции привода. М складывается из момента трения и момента двигателя, пропорционального ШИМ и обратно пропорционального скорости вращения.
Alecsej вне форума  
Сказали "Спасибо" Alecsej
warel (27.06.2019)
Непрочитано 12.10.2010, 14:41  
DropSoft
Частый гость
 
Аватар для DropSoft
 
Регистрация: 01.06.2007
Сообщений: 35
Сказал спасибо: 8
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
DropSoft на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

Alecsej, а если поподробней, как можно экспериментально узнать момент инерции привода, момент трения?

lvadia, на картинке по горизонтали установившаяся скорость, мм/с, по вертикали - воздействие ШИМ 8 бит. Причем трогается с места иногда при ШИМ не менее 90-100.

А brake mode не особо помогает. Может и с ним перелететь (по инерции) границу. Тут как-то надо сочетать активное торможение с активным разгоном.
Миниатюры:
Нажмите на изображение для увеличения
Название: a1.gif
Просмотров: 32
Размер:	5.0 Кб
ID:	13555  
DropSoft вне форума  
Сказали "Спасибо" DropSoft
warel (27.06.2019)
Непрочитано 12.10.2010, 15:21  
DropSoft
Частый гость
 
Аватар для DropSoft
 
Регистрация: 01.06.2007
Сообщений: 35
Сказал спасибо: 8
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
DropSoft на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

К сожалению, я не могу менять механику. Иначе сразу выкинул бы ДПМ35 и поставил шаговик. Надо программными средствами научиться управлять тем, что есть.
DropSoft вне форума  
Сказали "Спасибо" DropSoft
warel (27.06.2019)
Непрочитано 12.10.2010, 15:37  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

А момент трения по вашему графику можно посчитать, в идеале линия должна из нуля выходить. Его и надо компенсировать, при трогании еще и трение покоя.
А чтоб посчитать момент инерции необходимо знать время разгона от нуля до максимума при постоянном моменте.
Alecsej вне форума  
Сказали "Спасибо" Alecsej
warel (27.06.2019)
Непрочитано 12.10.2010, 15:40  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

Сообщение от Alecsej Посмотреть сообщение
А момент трения по вашему графику можно посчитать, в идеале линия должна из нуля выходить. Его и надо компенсировать, при трогании еще и трение покоя.
А чтоб посчитать момент инерции необходимо знать время разгона от нуля до максимума при постоянном моменте.
Момент трения- может меняться , элементарно,и-за смазки.
OlegNZH вне форума  
Сказали "Спасибо" OlegNZH
warel (27.06.2019)
Непрочитано 12.10.2010, 15:45  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как правильно управлять мотором?

Для этого и нужно управлять моментом, в зависимости от разницы текущей скорости и заданной.
Alecsej вне форума  
Сказали "Спасибо" Alecsej
warel (27.06.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глушилка громкой музыки у соседей VVK Отвлекитесь, эмбеддеры! 355 10.01.2019 20:09
Как правильно соединить "земли"? alberio Аудиотехника 27 14.08.2010 19:17
Как правильно считать мощность БП? Roshens Источники питания и свет 10 10.08.2010 22:38
Как понизить ТВ частоты???? retro-person Автоматика и аппаратура связи 5 02.08.2010 16:42


Часовой пояс GMT +4, время: 06:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot