Страница 1 из 1

Timer 1 PWM

Добавлено: Сб фев 25, 2017 13:57:10
Vlid
Добрый день!
Как с помощью Cube STM32 получить такой двухканальный шим как на картинке?
(Получить сдвиг по фазе)
Изображение

Re: Timer 1 PWM

Добавлено: Вс фев 26, 2017 18:57:56
OlegarX-RUS
Счёт - вверх-вниз,
Первый канал настраивается как PWM1 , второй как PWM2
Далее сами додумаете :)

Re: Timer 1 PWM

Добавлено: Пн фев 27, 2017 09:43:07
Vlid
Спасибо за ответ! :))
Пробовал на таймере 3 для третьего и четвертого каналов, но PWM работает синхронно.
Изображение
Также на первом таймере пробовал, ситуация такая же - PWM работает синхронно.
Изображение
Много разных настроек перепробовал, на знаю что делать. :shock:

Re: Timer 1 PWM

Добавлено: Пн фев 27, 2017 11:25:51
OlegarX-RUS
Ну я не пользуюсь кубом а пишу на чистом CMSIS
TIM1->PSC = 0x0;
TIM1->ARR = 0x220;
TIM1->CCMR1 = TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC2M | TIM_CCMR1_OC2CE | TIM_CCMR1_OC1CE;;
TIM1->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E /*| TIM_CCER_CC1P*/;
TIM1->BDTR = TIM_BDTR_MOE | TIM_BDTR_AOE | TIM_BDTR_BKP | TIM_BDTR_BKE
TIM1->CCR1 = 0x110;
TIM1->CCR2 = 0x110;
TIM1->CR1 = TIM_CR1_CMS | TIM_CR1_CEN;

Хотя на кубе всё аналогично!!!
Примерное описание - Таймер считает UP/DOWN => Задаётся значение счёта => один канал PWM1 другой PWM2=> и настраивается до куда считать - один до половины, второй с половины. Как то так!

Re: Timer 1 PWM

Добавлено: Пн фев 27, 2017 12:31:40
scorpi_0n
Vlid писал(а):на знаю что делать. :shock:
Юзать таймер с DMAR. И по таблице через ДМА рулить таймером. На казусе был подобный пример на три канала.

Re: Timer 1 PWM

Добавлено: Пн фев 27, 2017 13:30:37
OlegarX-RUS
scorpi_0n писал(а):
Vlid писал(а):на знаю что делать. :shock:
Юзать таймер с DMAR. И по таблице через ДМА рулить таймером. На казусе был подобный пример на три канала.
Да не надо там дма я же инициализацию привёл выше и даже избыточную так сказать...

Кстати UP/DOWN необязательно :) Но нужно так сказать для другого :) (Ну если эта затея заточена для объединения в связку с компараторами :) аля для построения силового моста или не моста с обратной связью )

Re: Timer 1 PWM

Добавлено: Вт фев 28, 2017 17:27:18
Vlid
Да, это для моста. Но не работает такая инициализация. Почему тянутся фронта на одном канале, а другой не работает. :(

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 00:27:20
OlegarX-RUS
Я не знаю что и куда у вас там тянется, а темболее почему.
Я вам привёл РАБОЧИЙ! пример!!! И доходчиво объяснил, что надо с этим делать!
А что у вас не получается почитайте в RM
И когда изучите этот документ тогда и будете понимать что и куда тянуть :)

Ну а если почему в одном тянется, а в друго ничего нет, так это потому (скорее всего так как я не телепат) что на каждом канале надо установить счёт до половинного значение ARR

У меня предчувствие, что с таким знанием RM мост вы будете делать очень долго :)
Да и забудьте вы этот HAL (КАЛ)
На CMSIS советую писать это как на высокоуровневом ассемблере :) :) :)

Всё таки счёт UP/DOWN необходимо обязательно!!! (забыл и говорил по памяти, а она иногда подводит)
Вот инициализация без всякого лишнего, при F 48 мегагерцах на выходе частота 100 килогерц (50 на каждый канал) с заполнением 25% на канал.(Как на вашей картинке :) ) Думаю пример исчерпывающий, я только что его на работоспособность проверил всё работает!!!
TIM1->PSC = 0;
TIM1->ARR = 480;
TIM1->CCMR1 = TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC2M | TIM_CCMR1_OC2CE | TIM_CCMR1_OC1CE;;
TIM1->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E ;//| TIM_CCER_CC1P;
TIM1->BDTR = TIM_BDTR_MOE ;//| TIM_BDTR_AOE | TIM_BDTR_BKP | TIM_BDTR_BKE;
TIM1->CCR1 = 120;
TIM1->CCR2 = 360;
TIM1->CR1 = TIM_CR1_CMS | TIM_CR1_CEN;

Фотоотчёт прилагаю :)
СпойлерИзображение
И чтоб вы поняли урок вот ещё информация - '0' счёта находится на середине верхнего (1 канал) пика ну а '480' на середине нижней (2 канал) Это так для образования чтоб поняли всё таки чем отличается от вашей картинки :)

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 08:09:38
Zhuk72
OlegarX-RUS писал(а): Фотоотчёт прилагаю :)
СпойлерТакие фотоотчеты принято прятать под спойлер.

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 09:18:13
OlegarX-RUS
Учту :)

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 11:17:46
Zhuk72
Вообще-то у вас еще есть время отредактировать тот пост и спрятать ссылку под спойлер.

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 11:37:30
OlegarX-RUS
Zhuk72 писал(а):Вообще-то у вас еще есть время отредактировать тот пост и спрятать ссылку под спойлер.
Неугомонный какой :) Исполнено :) :write:

Re: Timer 1 PWM

Добавлено: Ср мар 01, 2017 12:29:42
Zhuk72
Спасибо, но я ведь не из-за упрямства писал ))
На 17" страница в 2 экрана получается, а на маленьких экранах вообще кошмар должен был твориться.

Надеюсь модераторы удалят наш диалог.

Re: Timer 1 PWM

Добавлено: Пт мар 03, 2017 21:27:59
Vlid
Большое спасибо, все идеально работает :)) :)) :)) Какую литературу посоветуете по CMSIS ? :)

Re: Timer 1 PWM

Добавлено: Пт мар 03, 2017 23:04:02
OlegarX-RUS
Vlid писал(а):Большое спасибо, все идеально работает :)) :)) :)) Какую литературу посоветуете по CMSIS ? :)
За спасибо - пожалуйста:) а литературу посоветую Официальную :) :) :)