Объясните как получить 3 фазный ШИМ на адвансед таймере.

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Post Reply
T-Duke
Posts: 3
Joined: 16 Oct 2013, 14:23
Location: Украина

Объясните как получить 3 фазный ШИМ на адвансед таймере.

Post by T-Duke »

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

Только пока не могу понять как это реализовано? Понимаю, что таймеру можно назначить две ноги, которые могу работать с паузой (деадтаймом), что нужно для ключей выходного моста. Хотя микросхема драйвера ключей уже сама вставляет паузу, но пусть будет и такая возможность.

Так вот, не могу понять, как на один таймер завязать 3 канала и 6 ножек, что бы можно было генерить 3-х фазную ШИМ для управления ключами (через микросхему драйвера конечно) трехфазного моста?

Может кто-то может подсказать с примером кода? У меня отладочные платы STM32F4Discovery и STM32VLDiscovery. Но пробовать хочу на VLDiscovery.
Qic
Posts: 985
Joined: 03 Feb 2012, 00:14

Re: Объясните как получить 3 фазный ШИМ на адвансед таймере.

Post by Qic »

.
Last edited by Qic on 19 May 2019, 20:20, edited 1 time in total.
T-Duke
Posts: 3
Joined: 16 Oct 2013, 14:23
Location: Украина

Re: Объясните как получить 3 фазный ШИМ на адвансед таймере.

Post by T-Duke »

Да аппаратное решение не проблема для меня. Поставлю драйвер на IR2130, возможно даже с бустрепным питанием.

Мне непонятно то, как продвитутый ТИМ1 заставить работать на три фазы... В официальной документации об этом упоминается. Но я как начал читать так с наскоку голова кругом пошла. Ничего не понятно. СТМ32 для меня новая архитектура.

Вот думаю может по старинке сделать? Получить перерывание от датчика Холла (это у меня бесколлекторник), потом по таблице переключить состояние выводов и все? Но вот интересно же ж. Первый таймер в СТМ32 аппаратно заточен под 3-фазную ШИМ, вот и думаю, может кто знает как подсказать что-то.
Qic
Posts: 985
Joined: 03 Feb 2012, 00:14

Re: Объясните как получить 3 фазный ШИМ на адвансед таймере.

Post by Qic »

.
Last edited by Qic on 19 May 2019, 20:20, edited 1 time in total.
T-Duke
Posts: 3
Joined: 16 Oct 2013, 14:23
Location: Украина

Re: Объясните как получить 3 фазный ШИМ на адвансед таймере.

Post by T-Duke »

Как сделано на АВР я знаю, читал апноут. Но фишка в том, что первый таймер ТИМ1 как раз апаратно заточен под генерацию 3-фазной ЩИМ. И с ним можно связать 6 ног контроллера, плю задать деадтаймы для ключей. Я понимаю как это сделать аппаратно. Я не понимаю как настроить ТИМ1 для работы в таком режиме.

Я вообще даже как обычный таймер включать в СТМ32 узнал только вчера. Атам нужно как-то настроить режим 3-х фазной ШИМ. К тому же аппаратно СТМ32 умют читать сигналы с 3-х датчиков Холла. Видел это в документации, но пока чайник, как это запустить. И вообще на разных сайтах есть разные примеры. Примеры рабочие, но стиль программирования у всех разный. Я увидел как минимум два разных способа настройки таймеров.


Ну начну с задачи попроще. Может кто-то может дать понятный и правильный код настройки таймера ТИМ1 и как завязать на него обработчик перывания?
Post Reply