roboforum.ru

Технический форум по робототехнике.


Еще раз про ШИМ управление

Автомат, адаптивный автомат ... разум

Re: Еще раз про ШИМ управление

Сообщение Radist » 28 июл 2009, 13:05

для авр123: я нисколько не сомневаюсь, что мостовая схема рабочая, я работал с такими схемами, правда без ШИМа; как сделать шим на авр я тоже знаю, делал много раз; к сожалению, я человек, измученный асемблером, СИ душа не принимает, поэтому отладку всю веду в аврстудии.

Мои вопросы ведь не о том, работает это или нет, и не о том как это запрограммить. Мои вопросы КАК это работает. Может поэтому то я и не могу найти конкретных ответов, потому что всем интуитивно понятно, но я хочу докопаться до сути.

(полумостом я называю IRF7105, поскольку для полного моста их надо две)

Давайте вместе рассмотрим простой пример управления.
Есть мост, к нему подключен моторчик. Включаем противоположные плечи моста - моторчик закрутился с максимальной скоростью (естественно был разгон, но он не важен). Теперь начинаем включать/выключать эти плечи, сперва медленно. Поскольку у меня затворы объединены, то подача одинаковых логических сигналов равносильна закорачиванию обмотки, торможение мотора. При сильно НЧ ШИМ будет так: разгон до номинала/останов до нуля. Начинаем повышать частоту. Все, что меня интересует - это поведение моторчика при ВЧ ШИМ. Еще интересует, что будет если ШИМ будет очень высокочастотным. Обмотка движка - индуктивность, ток через нее нарастает медленно, есть ли связь с частотой ШИМ, как связаны момент, частота, скважность и скорость. Может показаться, что этот интерес не практический, а теоретический, что знать этого и не надо. Может поэтому никто и не пишет об этом, но мне хочется досконально в этом разобраться. Я поэтому и не перехожу на СИ: в асемблерной программе я царь и бог, разбираюсь во всем сам, ошибаюсь тоже сам, а в сишной - компилятор.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Еще раз про ШИМ управление

Сообщение nest » 28 июл 2009, 13:05

Radist писал(а):2. Транзисторы работают в ключевом режиме?(я вижу что да, но вдруг....)

да. так положено. никаких там линейных режимов.

Radist писал(а):3. Если у меня затворы объединены, то резкий фронт приведет к сквозным токам, а плавный фронт - к нагреву моста?(я вижу что да, нужно искать оптимум)

плавный - и к нагреву и к сквозным токам.
поетому лучше пользовыть комплиментарные транзисторы. или каждым транзистором управлять отдельно

Radist писал(а):4. Возможно ли такое управление в моем случае: на один полумост я выдаю постоянный сигнал (назовем его направление вращения), а на второй подаю ШИМ (скорость)?

так, восновном, и делают.

Radist писал(а):6. На что влияет частота ШИМ (на потери при переключении-это известно) и как ее выбирать?

при повышении частоты повышаются и требования к схематичестким решениям и к выбору комплектующих
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Еще раз про ШИМ управление

Сообщение avr123.nm.ru » 28 июл 2009, 13:08

Radist писал(а):я человек, измученный асемблером, СИ душа не принимает, поэтому отладку всю веду в аврстудии.
в PROTEUS тоже ассемблер есть, кроме того он прекрасно стыкуется со студией.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Еще раз про ШИМ управление

Сообщение Radist » 28 июл 2009, 13:11

отдельно управлять каждым затвором для меня проблематично - ног не хватает
полумост у меня комплементарный, п и н канальный, затворы объединены
я поначалу считал так: верхнее плечо открыто, когда на затворе 0-1 В, нижнее плечо открыто когда на затворе 4-5 В. Они не перекрываются, сквозного тока быть не должно. Но сейчас засомневался: если фронт крутой, то есть шанс что один транзистор не успеет закрыться, а второй уже откроется (или наоборот). Как думаете, это возможно?
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Еще раз про ШИМ управление

Сообщение nest » 28 июл 2009, 13:17

если фронт крутой, то есть шанс что один транзистор не успеет закрыться, а второй уже откроется (или наоборот). Как думаете, это возможно?

возможно.
существуют драйверы МОСФЕТ-транзисторов. в них встроена защита от подобных неприятностей.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Еще раз про ШИМ управление

Сообщение avr123.nm.ru » 28 июл 2009, 13:24

Radist писал(а):отдельно управлять каждым затвором для меня проблематично - ног не хватает

Это и не нужно.

ПАФAAAAAAAAAТАРЯЮ - схема РАБОЧАЯ давноооооооооооо проверена практикой !!! http://openservo.org

Там же исходники WinAVR в который яновидна частота ШИМ.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Еще раз про ШИМ управление

Сообщение nest » 28 июл 2009, 13:24

Radist писал(а): Есть мост. Включаем противоположные плечи моста - моторчик закрутился с максимальной скоростью (естественно был разгон, но он не важен). Теперь начинаем включать/выключать эти плечи, сперва медленно. Поскольку у меня затворы объединены, то подача одинаковых логических сигналов равносильна закорачиванию обмотки, торможение мотора. При сильно НЧ ШИМ будет так: разгон до номинала/останов до нуля.


http://nest.roboterbastler.de/DoubleMotorDriver/index_v1.html
там в первой половине текста также есть немного теории/рассуждений по вашим мыслям :).
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Еще раз про ШИМ управление

Сообщение Radist » 28 июл 2009, 13:48

у меня тоже есть рабочая схема переделанного серва. Выкинул родную электронику и поставил туда мост. Вывел 4 провода: два питания и два - объединенные затворы. Если на них сигналы разные - крутится в одну из сторон, одинаковые (у меня там стоит подтяжка к плюсу, чтоб при включении не дергался) - не крутится. Еще пришлось на одной шестеренке ограничитель сточить. Теперь мое серво работает именно так, как нужно мне. Оно проще проекта опенсерво в разы, к нему нужен внешний МК, но он работает. Я пока не пробовал подавать на него ШИМ, сперва хотел разведать все подводные камни. Переделывать так, как сделано и работает у других, я не хочу - у меня тоже работает. ШИМ дает новые возможности, вы это знаете, но вариантов реализации много. В общем, вывод такой: надо пробовать. Вроде ничего сгореть не должно.

(а ведь я поначалу думал питание ШИМить, через мощный полевик и LC фильтр)

Добавлено спустя 12 минут 11 секунд:
http://nest.roboterbastler.de/DoubleMot ... ex_v1.html

эту ссылку не может открыть ни эксплорер, ни опера(((
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Еще раз про ШИМ управление

Сообщение Digit » 28 июл 2009, 13:53

Radist, FireFox открывает.

Добавлено спустя 1 минуту 42 секунды:
...как, впрочем и IE 6.0.2900, а также гугл-хром
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Еще раз про ШИМ управление

Сообщение avr123.nm.ru » 28 июл 2009, 14:22

Radist писал(а):проще проекта опенсерво в разы

Такое возможно ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Еще раз про ШИМ управление

Сообщение nest » 28 июл 2009, 19:07

Radist писал(а):Добавлено спустя 12 минут 11 секунд:[/color][/size]
http://nest.roboterbastler.de/DoubleMot ... ex_v1.html
эту ссылку не может открыть ни эксплорер, ни опера(((


nest по ссылке http://nest.roboterbastler.de/DoubleMot ... ex_v1.html ранее писал(а):....
Если взглянуть поточнее на обычный Н-мост, то можно увидеть четыре
возможных его состояния. (см. Изображение ниже)

Изображение

{внимание: в тексте используются
анимированные GIF-файлы,
если у вас анимация отсутствует
- включите эту опцию в вашем
интернет-проводнике}


Обычно скоростью коллекторных моторов постоянного тока, включенных
в схеме Н-моста, управляют посредством "ШИМ-модуляции". При этом
на некоторое время открываются транзисторы, расположенные
по-диагонали, тем самым пропуская ток через двигатель
(направление вращение якоря зависит от направления протекания тока).
В моменты же, когда диагональные плечи моста закрыты, возможны
два состояния(см. рисунок ниже) :

1. состояние, когда выводы мотора "висят в воздухе"
{при этом мотор может свободно вращаться по инерции. state 3}.

2. состояние, при котором выводы мотора "замкнуты"
(в этом случае ротор мотора тормозится. state 4)

Изображение

В распространённых схемах регуляции частоты вращения моторов, включенных
в схеме "Н-мост", в моменты пауз между открыванием "диагональных"
транзисторных ключей, выводы мотора находятся в одном из двух выше
описанных состояний.
Другими словами в моменты пауз мотор либо крутится по инерции,
либо тормозится.

Несмотря на то, что время паузы очень мало, оно всё же (возможно)
влияет и на характер вращения якоря мотора и на общую эффективность
всей схемы драйвера.

Именно эти параметры мне бы и хотелось уточнить на практике.
Для этого я и разрабатывал эту версию драйвера мотора, а кроме того
он получился более универсальным.

Ожидаемой разницы потребления тока тестированием я не обнаружил, зато
очень понравились положительные эффекты от дополнительного входа "ON".
А именно: если раньше, при отсутствии управляющих ШИМ импульсов, мотор
либо сразу переходил на торможение, либо продолжал вращаться по-инерции,
в зависимости от схемного решения.
То теперь можно это выбрать подачей соответствующего сигнала на вывод "ON":
- при высоком уровне на этом входе - во время "свободного вращения" мотор
будет переходить в режим торможения за счёт закорачивания его выводов через
нижние плечи выходных транзисторов.
- при низком логическом уровне на входе "ON" - ротор мотора вращается свободно.

полная схема драйвера: http://nest.roboterbastler.de/DoubleMot ... ch_big.gif
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Еще раз про ШИМ управление

Сообщение nest » 31 авг 2009, 20:51

avr123.nm.ru писал(а):Там же исходники WinAVR в который яновидна частота ШИМ


чёт тупло смотрю на всю ихнюю там мишуру и не вижу, где там исходники :(
какая там частота ШИМ у них?
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Еще раз про ШИМ управление

Сообщение avr123.nm.ru » 31 авг 2009, 21:10

У них не архивом а вот так вот - http://www.openservo.com/viewcvs/?root=cvs

вот на WinAVR - Чето они там
http://www.openservo.com/viewcvs/OpenSe ... rtdir=down
отжигают нехило
The 500kHz PWM frequency driving the H ...

вот настройка ШИМ

http://www.openservo.com/viewcvs/OpenSe ... iew=markup


чето в 500 Кгц упираются яростно

http://www.openservo.com/viewcvs/OpenSe ... iew=markup

The 500kHz PWM frequency driving the H-Bridge is now adjustable using the REG_PWM_FREQ_DIVIDER register pair. Deadband within the PID algorithm is now implemented with the REG_PID_DEADBAND register. The REG_PID_OFFSET register is now retired and is no longer needed now that the PWM frequency can be controlled.

Наверно я подотстал от техники ...

\\\\\\\\\\\\\

да ...... дундуки дивные ! частоту счета таймера они называют частотой ШИМ и к Н-мосту она отношения ни какого не имеет
// PWM divider is a value between 1 and 1024. This divides the fundamental
// PWM frequency (500 kHz for 8MHz clock, 1250 kHz for 20MHz clock) by a

это явно timer clock frequency

т.е. если фэйз корект то на 510 поделитьи фаст то на 255 - т.е. ШИМ 1 или 2 Кгц примерно. Шум не страшен так как зубчатки у сервы гудят сильней.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Еще раз про ШИМ управление

Сообщение nest » 31 авг 2009, 22:13

ну вот. всё ясно :)
спасибо.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Пред.

Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2