частотник на stm32f4

Кто любит RISC в жизни, заходим, не стесняемся.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотник на stm32f4

Сообщение linkov1959 »

Мои 3 фазы на attiny44, управление по частоте и амплитуде.
3x.jpeg
(122.49 КБ) 2451 скачивание
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

И все таки мне не понятно
Sergi писал(а):Задал 50% в CCR и получил 50% от напряжения питания.
насколько я понимаю, что бы получить 50% надо синус сжать не только с верху но и с низу.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Представьте что одна фаза это управляемый ЦАП. Максимум - напряжение питания,минимум - 0, а середина 1/2 питания.Если на всех фазах будет 1/2 питания ток не потечет,разница напряжений = 0. А как часто и по какому закону мы будем ему давать утавки его не касается, он должен отработать цифру в напряжение. У нас 3 ЦАП и управляем ими через 120 градусов, вот и все. Еще бывают двухфазные контроллеры - для шаговых двигателей, там тоже можно синус сделать при дроблении шага.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

Так
СпойлерИзображение
или не так?
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: частотник на stm32f4

Сообщение ivan dimir »

Я управление не увидел.Только 3 фазы.Контроллер На attini44?.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Так,только для удобства длина таблицы должна быть кратна 3м. Амплитуда любая 8-16 бит,"максимум - 1" записать в TIM1->ARR.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

Sergi писал(а):Так
мне все равно не понятно
Sergi писал(а):Задал 50% в CCR и получил 50% от напряжения питания.
или может таймер в stm умеет так делать.
Я вот формулу использовал, что бы нижний край поджать и в результате у меня вот такая вот х получилась, нелинейная
СпойлерИзображение
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Так может делать любой таймер с регистром сравнения,который может делать широтно-импульсную модуляцию и имеет выход на ногу контроллера. Смотреть статьи про ЦАП на таймере.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотник на stm32f4

Сообщение linkov1959 »

[uquote="ivan dimir",url="/forum/viewtopic.php?p=4122858#p4122858"]Я управление не увидел.Только 3 фазы.Контроллер На attini44?.[/uquote]
Управление по двум АЦП.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

Sergi писал(а):Смотреть статьи про ЦАП на таймере.
А ссылку на эту статью можно?
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: частотник на stm32f4

Сообщение ivan dimir »

я ни чего там не увидел.3 фазы а если сделать 3 фазы прямые и 3 инверсные можно программно.Ваша атини позволяет выполнить данную задачу?
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотник на stm32f4

Сообщение linkov1959 »

[uquote="ivan dimir",url="/forum/viewtopic.php?p=4122885#p4122885"]я ни чего там не увидел.3 фазы а если сделать 3 фазы прямые и 3 инверсные можно программно.Ваша атини позволяет выполнить данную задачу?[/uquote]
Процессор управляет выходными драйверами, которые обеспечивают инверсию и мертвую зону программно или схемно. Драйвера брал с контроллера мотор колеса, уже не помню схему, 10 лет прошло. Крутил 3-х фазный двиг. ЖД стрелочного перевода МСТ-0.3.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Первый результат в гугле - https://russianblogs.com/article/2448851884/
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

А, ну теперь понятно все стало.
Stm таймер, а особенно такой продвинутый, как TIM1 умеет считать амплитуду синуса в любой момент времени, достаточно задать
Sergi писал(а):Задал 50% в CCR и получил 50% от напряжения питания.
Всегда считал, что модуль CRC бесполезен, лучше бы за место его синусоидальный генератор или таблицу Брадиса засунули.
ravr
Открыл глаза
Сообщения: 41
Зарегистрирован: Чт ноя 04, 2021 19:53:46

Re: частотник на stm32f4

Сообщение ravr »

Dimon456 писал(а):Всегда считал, что модуль CRC бесполезен
для силового преобразователя очень полезен в комплексе с dma. позволяет в фоновом низкоприоритетном режиме осуществлять циклический контроль целостности прошивки не отвлекая вычислительные мощности.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

Такая интересная тема и заглохла, давайте продолжим.

Разберем первую проблему[uquote="Sergi",url="/forum/viewtopic.php?p=4122798#p4122798"]В моем случае я использую TIM1 ... Я выбрал 19,5 кГц. А вот второй таймер генерит и выходную частоту и амплитуду(в случае загрузки TIM1 в прерывании) для загрузки по DMA. И не важно сколько циклов будет работать TIM1: 120 или 121 или 119. Например для получения частоты до 200 Гц с шириной таблицы 120 отсчетов максимальная частота второго таймера должна быть 24 кГц. А для установки выходной частоты с точностью 1 Гц таймер должен работать на частоте не менее 24*200=4,8 МГц.[/uquote]А как ты решил проблему рассинхронизации?
Насколько я понимаю, в TIM1 работающий на частоте 19,5кГц, мы должны подавать частоты кратные, к примеру 19,5 39 78 и тп, и так же в низ 19,5 9,75 4,875.
А когда 24 кГц и 19,5 кГц ... здесь да же буферизация TIM1 не поможет, мы же работает не на rc-цепочку 10кОм+100nF, которая могла бы сгладить не впопад выбросы?

Вторая проблема, моя проблема, dds-синтез таблицы на этом же таймере TIM1.
С буферизацией проблем нет, это большой плюс.
Проблема заключается в следующем:
при частоте работы таймера TIM1 4кГц и формируемой выходной частоте 200Гц требуется 20 точек таблицы синуса,
при частоте таймера TIM1 8кГц и той же частоте 200Гц уже 40 точек,
при TIM1 16кГц 200Гц 80 точек.

Вот и так крути и эдак крути, либо рассинхронизация, либо не достаточное количество точек.
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: частотник на stm32f4

Сообщение ivan dimir »

А мне кажется чем больше точек у синуса тем лучше характеристика синуса.А так не синус а пила какая то
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Немного теории. Момент на валу двигателя зависит от магнитного потока в обмотках. Магнитный поток создается ТОКОМ в обмотках. Так как обмотка двигателя упрощенно представляет собой RL фильтр, для создания синусоидального тока необходимо синусоидальное напряжение. Это относится 99% двигателей и обусловлено конструкцией обмоток статора и короткозамкнутого или намагниченного ротора. Есть специальные двигатели которым нужна другая форма тока, например некоторые модельные безщеточные питают прямоугольным напряжением.
Питание обычного АД напряжением отличным от синусоидального возможно, но есть недостатки. Полезную работу в основном создает первая гармоника. Четные гармоники только греют обмотки и железо. Нечетные еще какой-то вклад на пользу имеют, но минусов больше. Поэтому мы стараемся сделать синус. Отличия формы тока синуса от идеала покажут что есть гармоники.
Согласен что в моем случае на высоких частотах (выше 160 Гц) новое задание для ССРх будет приходить раньше чем таймер отработает 240 отсчетов. Максимальная ошибка будет при несовпадении частот задания и ШИМ на 1/4 периода. И чем выше частота тем больше вклад ошибки в результат. И форма напряжения отличается от синуса. Я провел эксперимент и увеличил частоту ШИМ вдвое. Ключевые транзисторы не стали греться сильнее,до обмоток не добрался.Поведение двигателя не изменилось. Мало того даже при питании прямоугольным напряжением форма тока обмоток была близка к синусоидальной. Двигатель очень хороший RL фильтр. И да, ток в истоках транзисторов нижнего плеча имеет отрицательную полуволну. Это работают обратные диоды (в моем случае транзисторы нижнего плеча) замыкая ток обмотки когда верхние ключи закрываются.
Делать ли какую-то синхронизацию таймеров? Пока не решил. Покручу мотор,посмотрю.Может на трапецию перейду.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: частотник на stm32f4

Сообщение Dimon456 »

Sergi писал(а):и увеличил частоту ШИМ вдвое
это смотря что применяем:
IRG4PH50UDPbF UltraFast: Optimized for high operating frequencies up to 40 kHz in hard switching
IRAMX16UP60B FPWM=16kHz
а эти FGH40N60SFD тупа не идут, горят как спички.
Sergi писал(а):когда верхние ключи закрываются
открываются нижние ключи, за минусом Dead-time. Да же и слушать не хочу про обратные диоды.
Sergi писал(а):Делать ли какую-то синхронизацию таймеров?
как можно синхронизировать не синхронизируемое, сами же пишите
Sergi писал(а):на высоких частотах (выше 160 Гц) новое задание для ССРх будет приходить раньше чем таймер отработает 240 отсчетов
Это не только на высоких частотах, но и на низких, таймер будет пропускать чуть ли не половину таблицы.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: частотник на stm32f4

Сообщение Sergi »

Нет,таблицу отрабатываю всю. Я писал про один отсчет таблицы. На осциллограмме склоны синуса получаются неровными/горбатыми. Неровности увеличиваются когда частоты становятся близкими. При разнице в 10 раз ошибка должна быть не более 2,5%. Вот и думаю - зачем мне именно синус? Если таблицу укоротить до 30 на вид будет тоже самое,но стабильнее. При прямоугольнике таблица 6 отсчетов.
Ответить

Вернуться в «ARM»