06.08.2015, 23:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,939 раз(а) в 2,369 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
RondoUA,
это намек на решение в ПЛИС
|
|
|
|
07.08.2015, 01:55
|
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Сообщение от RondoUA
|
Вроде механика ясна, не ясна настройка регистров, даташит ссылается на настройку битов MOE, OISx, OISxN, OSSI and OSSR. А я в упор не могу понять их предназначение.
|
AN4013 Стр №25 таблица 4 все описано. Если Вы понимаете аппаратную часть частотного привода, то знаете что в общем, инвертер не просто ключики, а это в первую очередь драйвер, с аппаратной защитой по току. Если ток превышает предельно допустимый то, как не удивительно звучит, драйвер отключает транзисторы, ток начинает спадать и транзисторы включается снова, после нескольких таких циклов, любой модуль скажет кряк, и Вы попадете на деньги. Чтобы этого избежать у МК есть вход BKI, по сути мы должны на него продать сигнал сработки токовой защиты. Вход BKI связан с битом MOE, тоесть мы можем запрограммировать так, чтобы в случае если сработала защита, бит сбрасывался, автоматически отключая ШИМ и переводя выхода в определенные состояния, AOE – если BKI не активен, выхода включатся автоматически. В общем случае алгоритм работы такой:
AOE = 0; это значит что MOE – устанавливаем и сбрасываем вручную,
BKE = 1; мы разрешаем работу входа BKI,
BKP = по вкусу.
Если мы хотим включить инвертор, устанавливаем MOE = 1; и занимаемся своими делами, периодически просматривая состояние MOE, если он равен нулю, то сработала защита по току, принимаем решение, или пробуем через время опять запустится, или не пробуем.
OISx, OISxN - определяют полярность выхода при MOE = 0; в зависимости от типа драйвера.
OSSI и OSSR определяют состояние выходов в зависимости от состояния MOE, вообще не вижу смысла описывать вроде по табличке все и так понятно, если все-таки не поймете, то спрашивайте!
|
|
|
Эти 2 пользователя(ей) сказали Спасибо ALEKSEY188 за это сообщение:
|
|
|
07.08.2015, 17:20
|
|
Прохожий
Регистрация: 18.10.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Сообщение от jump
|
RondoUA,
это намек на решение в ПЛИС
|
Ну плис это как из пушки по воробьям. хотя там мощь неплохая, но нет опыта работы с плис, да и как то не находил каких то тематических сайтов с примерами. Короче пока рано мне в ПЛИС
ALEKSEY188 спасибо за развернутый ответ. Задам пару наводящих вопросов по регистрам.
МОЕ как я понял физически отрубает выходы от таймера если =0, и выходы фунциклируют если =1.
То есть я могу с АЦП смотреть ток на обмотках, и в случае аварии делать МОЕ=0, обрабатывать ошибку и руками делать МОЕ=1. И тогда АОЕ ВКЕ и ВКР мне как бы не нужны ?
OISx, OISxN не понял про полярность при МОЕ=0, если я правильно понял при МОЕ=0 выходы не активны, так какая разница какая полярность если выходы не работают ?
OSSI и OSSR - OSSI по таблице как бы вообще не играет роли (может в каких то извращенных задачах ) а OSSR в таблице меня пугают и путают выражения в стиле "OCxREF + Polarity OCxN=OCxREF
xor CCxNP, OCxN_EN=1" не могу нарисовать в голове что в итоге на выводе будет.
С китая летит логический анализатор, с ним будет проще эксперементировать.
И хотелосьбы немноооожко о СОМ евенте услышать
|
|
|
|
07.08.2015, 19:21
|
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Сообщение от RondoUA
|
Ну плис это как из пушки по воробьям. хотя там мощь неплохая, но нет опыта работы с плис, да и как то не находил каких то тематических сайтов с примерами. Короче пока рано мне в ПЛИС
|
У STM есть прекрасный таймер, который заточен под управление двигателями, ПЛИС использовали в девяностые, когда альтернатив особо не было, сейчас так делать неразумно, из разряда, почему собака жопу лижет,…!
Сообщение от RondoUA
|
МОЕ как я понял физически отрубает выходы от таймера если = 0, и выходы фунциклируют если =1.
То есть я могу с АЦП смотреть ток на обмотках, и в случае аварии делать МОЕ=0, обрабатывать ошибку и руками делать МОЕ=1. И тогда АОЕ ВКЕ и ВКР мне как бы не нужны ?
|
Можно сделать и так, и оно даже будет работать, но не долго, любая непредвиденная ситуация, любой глюк, я молчу за перегрузки и КЗ, ключики сгорят, почитайте даташит на ir2130 и подобные. У нормального драйвера скорость отключение при перегрузке будет исчисляться сотнями наносекунд, в Вашем случае сотнями миллисекунд, чувствуете разницу!
Сообщение от RondoUA
|
OISx, OISxN не понял про полярность при МОЕ=0, если я правильно понял при МОЕ=0 выходы не активны, так какая разница какая полярность если выходы не работают?
|
Есть разница, понятие отключено растяжимое, это либо заранее предустановленное значение, либо Z – состояние. Поэтому нужно конфигурировать выхода так чтобы они соответствовали состоянию Вашего драйвера, например если Вы используете бутсрипное питание то сначала нужно включить нижние ключики, потом через время включать нарезку, если включить ШИМ, сразу то есть вероятность что конденсаторы не зарядятся, результат БУХ!! Вообще мне кажется что Вы не с того угла зашли, нужно сначала изучить силовую часть, потом многие вещи покажутся логичными!
Сообщение от RondoUA
|
OSSI и OSSR - OSSI по таблице как бы вообще не играет роли (может в каких то извращенных задачах ) а OSSR в таблице меня пугают и путают выражения в стиле "OCxREF + Polarity OCxN=OCxREF
xor CCxNP, OCxN_EN=1" не могу нарисовать в голове что в итоге на выводе будет.
С китая летит логический анализатор, с ним будет проще эксперементировать.
|
Полярность ШИМа, опять же возвращаемся к теме драйверов, разберитесь с ними и вопросы отпадут! А вообще да без анализатора и особенно осциллографа никуда.
|
|
|
Сказали "Спасибо" ALEKSEY188
|
|
|
07.08.2015, 22:49
|
|
Прохожий
Регистрация: 18.10.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Вот теперь понял зачем ВКЕ - для моментальной реакции на событие.
Ну и да, движок то у меня не велик, я так понял он с/для квадрокоптера довольно большого размера. Но все же на будущее (авось жизнь сведет меня с движками) нужно знать такие мелочи, спасибо. А с режимами обязательно побалуюсь, или с анализатором или как то раздуплю дебагер.
|
|
|
|
08.08.2015, 10:58
|
|
Временная регистрация
Регистрация: 23.05.2006
Сообщений: 60
Сказал спасибо: 8
Сказали Спасибо 1 раз в 1 сообщении
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Я в подобном случае заюзал бы какой ни будь таймер и с помощью него вызывал прерывание. В обработчик прерывания засунул кучку переменных, которые бы считал и по условие дергал бы соответствующие порты
|
|
|
|
08.08.2015, 12:32
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Звучит достаточно нелепо. Типа "На пинах SPI и UART сделаю программный SPI и UART, кошерно-провославным ногодрыгом". Зачем гробить таймер и прерывания, если есть уже готовое? Не проще референс прочитать?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:44.
|
|