[Решено] синхронизация таймера ШИМ для инвертора BLDC

Jdenis
Сб, 04 августа 2018 г., 21:12
Привет, я пытаюсь построить 3 -фазовый инвертор для BLDC PM для использования в электрическом карте, но мне нужны 6 -минутные сигналы, UVW High и UVW Low, чтобы сделать синусоидальную волну для фаз, так что не может Используйте один таймер, поскольку у них всего 4 канала, я использую таймер 4 и 1, Pins PB9 PB8 PB7 PB6 и PA10 PA9!

Есть ли способ синхронизировать таймеры? Использование ШИМ У меня проблемы с высокой стороной одной канала, и низкий уровень на другом таймере, выходящем из фазы, поэтому он не движется и перепрыгивает, когда он совпадает! Я купил логический анализатор, чтобы проверить его, но если кто -то сможет мне помочь, я буду очень счастливым туристом! Я выложу 3 -фазовый код генератора синусов, как только сделаю его работу!

Драйвер - IR2101S, и я использую частоту SWM 24 кГц #ifdef SERIAL_USB DEFINE_HWSERIAL(Serial1, 1); DEFINE_HWSERIAL(Serial2, 2); DEFINE_HWSERIAL(Serial3, 3); #else DEFINE_HWSERIAL(Serial, 3);// Use HW Serial 2 as "Serial" DEFINE_HWSERIAL(Serial1, 2); DEFINE_HWSERIAL(Serial2, 1); #endif

Mrburnette
Солнце 05 августа 2018 3:42
Проверьте это и посмотрите, может ли это привести вас к ответу: (Спасибо Duskwuff)

https: // электроника.Stackexchange.com/Q ... -в тот же время

Другие результаты: https: // www.Google.com/search?Q = STM32F1 ... Ронизация

Удачи,

Луча

Стивестронг
Солнце 05 августа 2018 г., 6:23
Я думаю, что 6 сигналов могут быть уменьшены до 3*2, что означает, что вам нужны только 3 сигнала и их отрицание для трех этапов.
Каналы Timer1 как нормальных, так и отрицательных сигналов доступны на выводах, проверьте картирование PIN -кода в руководстве по чипсу.
TIM1_CHX и TIM1_CHXНе, где x = [1,2,3] == PA8, PA9, PA10 + PB13, PB14, PB15 (RM0008 P.178, Таблица 46).

Jdenis
Солнце 05 августа 2018 18:23
Спасибо за отзывы!!!

Стив, 3*2 не будет работать на... Если он не синхронизируется, когда 2 значения начнут соответствовать, он достигнет вдвое превышает скорость, а когда они не соответствуют, не будет ни малейшего и высокого, одновременно, чтобы двигатель не повернулся, а затем двигатель будет прыгать между не в 2 -кратном сопоставлении... Мне действительно нужны 6 каналов, чтобы выполнить синхронизацию!!!

Рэй, спасибо!!! Это именно то, что мне нужно! У STM32Duino это:
{GPIOA, NULL, NULL, 5, 0, ADCx}, /* D13/PA5 LED - no ADC12_IN5 !*/

Mrburnette
Солнце 05 августа 2018 г., 19:28
jdenis:

Вы намного опережаете 90% участников, потому что у вас есть логический анализатор. ..

Я уезжаю в дефектную SSD Land на новом продукте, доставленном в пятницу - я не очень хорошо себя чувствую, когда компании бренд накачивают мусор через дистрибьюторов, таких как Newegg.

В любом случае, я делаю то, что вы делаете, я выхожу из себя и заработал его. У STM есть PDF или два на таймерах, и несколько онлайн -источников могут иметь ценность:
https: // www.Google.com/search?Q = STM32F1 ... R+Учебник

Также Джеффри Браун из Индианы U. есть хотя бы один STM32 PDF а также страница GitHub, полная ресурсов STM32... Может быть, стоит отвлечься.

STM32duino глубоко укоренился в усилиях Leaflabs Maple, и эти страницы все еще онлайн & доступен для поиска (через Google):
Так: STM32F103 Сайт синхронизации таймера: Leaflabs.компонент

И есть этот страх Techrefman.

Удачи,

Луча

Стивестронг
Солнце 05 августа 2018 г., 20:00
Для ваших требований вы можете в конечном итоге использовать низкоуровневый настройки прямого регистра.
Пошаговая инструкция в RM0008 P.399 "Синхронизация таймера" -> «Использование одного таймера, чтобы запустить другой таймер».

Просто попробуйте, и вы увидите, что не так уж плохо использовать код низкого уровня. Большая проблема состоит в том, чтобы сначала прояснить, что вам точно нужно 8-) .

Jdenis
Солнце 05 августа 2018 8:51 вечера
Это моя проблема... Я понятия не имею, как написать регистр, и обрабатывать программирование низкого уровня...

Завтра прибудет логический анализатор, и тогда я смогу точно его проверить, я только что обнаружил, что Un-Sync с осциллографом я посмотрю на Leaflabs и STM32Duino ядра, чтобы попробовать найти как!!!

Я сделал некоторое время назад, исправив SSD из OCZ... Господь знает, как, но атмель Эпром был испорчен, у двух работающих деревьев только клонировали одно, и он сработал...

SSD должны иметь диагностическую систему... Обычно у них есть булавки RX TX, но ничего полезно для нас, смертных, смертных...

Еще раз спасибо за все!!!!!!!!

Вот код, он сейчас грязный, я положил 3 массива по одному на каждую Fase... Я использую только один с 120 -градусным отличным... Только после всего, что я обнаружил, что проблема была таймерами без синхронизации! И контроль скорости и т. Д. только для тестирования! По крайней мере, оборудование работает отлично : D
{GPIOA, NULL, NULL, 5, 0, ADCx}, /* D13/PA5 LED - no ADC12_IN5 !*/

Pokemon99
Пн, 6 августа 2018 г., 3:55 утра
Добрый день. Интерес к этой теме. Что такое motorsquare ()?

Jdenis
Пн, 6 августа 2018 г., 9:57
О да, это было до синусоидальной волны, где у меня был квадратный волновый сигнал!!! Но двигатель прыгает, так что теперь я внедряю синусоидальную волну, этот код чрезвычайно тестирует, так что подождите... Я выложу работоспособный код, когда у меня будет!!! Ваше здоровье!

Mrburnette
Пн, 6 августа 2018 12:15
Может быть полезно, если без причины, кроме умственной интерлюдии, просмотреть волшебные синусовки Дона:
https: // www.Тинаджа.com/magsn01.SHTML

Луча

Jdenis
Пн, 6 августа 2018 г., 14:18
Просто сделать его более заметным... Вот информация о логике анализатора!
Фаза ООН. Пн
Фаза синхронизации ООН.PNG (33.13 киб) просмотрено 354 раза

Fredbox
Вторник 07 августа 2018 12:05
[Mrburnette - Пн, 6 августа 2018 12:15] - Может быть полезно, если без причины, кроме умственной интерлюдии, просмотреть волшебные синусовки Дона:
https: // www.Тинаджа.com/magsn01.SHTML
Луча
Еще в мои дни ассамблеи на 8051 я написал код, чтобы сделать магические синусолюбные волны для инвертора 60 Гц. У него был хороший выход, но было трудно регулировать точное напряжение.

Есть несколько хороших воспоминаний о Тинадже.com сайт. У меня все еще есть несколько оригинальных копий его книг на моей полке.

Jdenis
Вторник 07 августа 2018 г. 15:00
Эй, я не сделал : D : D : D : D : D : D

синхронизация
Фаза синхронизации.PNG (41.42 киб) просмотрено 326 раз

Rogerclark
Чт 09 августа 2018 12:25
Можете ли вы изменить заголовок потока, чтобы начать с [Решено], если вы решили проблему.
Спасибо....

Jdenis
Сб 18 августа 2018 11:21
Просто чтобы добавить некоторую информацию о ШИМ... Если у кого -то нужно иметь центрированный сигнал ШИМ:
{GPIOA, NULL, NULL, 5, 0, ADCx}, /* D13/PA5 LED - no ADC12_IN5 !*/

Rogerclark
Сб 18 августа 2018 11:52
[Jdenis - Сб 18 августа 2018 г., 23:21] - Может быть, было бы полезно поместить некоторые из этих команд на PWM LIB, синхронизировать, центр и другие вещи, которые можно сделать!!!
Звучит как план...

Что бы вы предложили ?