Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

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

Чт ноя 18, 2021 10:27:11

Sergi писал(а):Нет,таблицу отрабатываю всю.
Ну таблицу ты может и всю отрабатываешь, только в TIM1 работающий на частоте 19,5кГц при формируемой частоте 200Гц загонятся только 97 точек таблицы, остальное либо вы режется, либо про дублируется.

Ты можешь сам это проверить и убедиться, включай прерывание TIM1 по UIE, загоняй в новый массив, и сравнивай то что ты ему скармливаешь и что он в итоге получает.
Sergi писал(а):Если таблицу укоротить до 30 на вид будет тоже самое,но стабильнее.
Не будет стабильно, есть тупо формула 19500Гц / кол-во точек таблицы и получаем формируемую частоту, остальное либо выкидывается либо дублируется.
Sergi писал(а):При прямоугольнике таблица 6 отсчетов.
Это очень грубо, возможен большой джиттер в 1 отсчет таблицы.

Таймер сам отбирает нужное количество точек из таблицы:
19500 / 200Гц = 97 точек
19500 / 100Гц = 195
19500 / 50Гц = 390

Либо так 19500 / 100точек таблицы = 195Гц

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

Чт ноя 18, 2021 16:00:21

У меня TIM1 не привязан к таблице. У меня TIM14 ходит по таблице, а его частота работы максимальная 24000 Гц. Меняя его частоту от 120 до 24000 я прохожу таблицу по всем 120 точкам без пропусков. А несовпадение 24000 и 19500 и дает ошибку.

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

Чт ноя 18, 2021 17:19:43

Sergi писал(а):Меняя его частоту от 120 до 24000 я прохожу таблицу по всем 120 точкам без пропусков.
Если взять TIM14 120Гц и ту же таблицу в 120 точек, что там 1Гц получается, ну пусть 1Гц, 19500/1 = 19500 точек, а таблица состоит всего из 120 точек, то есть, грубо говоря, каждую точку TIM1 продублирует 19500/120= 162 раза.
В принципе, не важно.
При dds-синтезе при частоте таймера ШИМ 7812,5Гц я получаю шаг перестройки примерно равный 0,119209Гц, насколько точно мог ексель посчитать.
Sergi писал(а):несовпадение 24000 и 19500 и дает ошибку.
А что помешало выбрать 19500 или 24000?
При твоем способе таблицу можно любую задать, сколько захотел точек столько поставил.
При моем способе только степенью двойки 128 256 и т.п.

И вот тебе тест амплитуды

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

Чт ноя 18, 2021 18:02:56

Я на лету в прерывании просчитываю новую амплитуду. Там всего делов - взять значение из таблицы и умножить на коэффициент. Для целочисленного вычисления А = Таб * К >> 8, где К = 1....255. Это можно делать для таблицы в RAM без прерывания и отправлять по DMA в TIM1. Дело вкуса.
Вот "каждую точку TIM1 продублирует 19500/120= 162 раза" не 162, а 162,5. Последняя итерация и даст ошибку. В данном случае 0,3% - это ради точности. А вот при 200 Гц - уже 23% и это плохо.
DDS генераторов я наделал разных. Уверяю для двигателя точность 1 Гц достаточна. Можно уменьшить аккумулятор фазы.
Если вы хотите управлять асинхронником то про точность установки можно не беспокоится, скольжение все возьмет на себя. Если добавить механическую ОС (делал оптическую) шаг установки будет заметен,но не критичен.

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

Чт ноя 18, 2021 18:16:12

Sergi писал(а): А = Таб * К >> 8, где К = 1....255

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

Чт ноя 18, 2021 19:05:29

А кто вам запрещает взять среднюю точку например 128? У меня средняя точка 120 и размах от 0 до 240 или при минимуме 119-121 и все линейно.

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

Чт ноя 18, 2021 20:02:25

Sergi писал(а):А кто вам запрещает взять среднюю точку например 128?
Так я и взял среднюю точку таблицы, сама первая точка у меня 127, берем твою формулу 127*K >> 8.
В этом выражении какой бы К не выбрал, результат должен остаться 127, это средняя точка таблицы синуса.
Верхняя точка таблицы синуса 255, пусть К=200, 255*200 >> 8 = 199
Нижняя точка таблицы синуса 0, 0*200 >> 8 = 0, а должна быть 56

Кроме всего прочего я полностью таблицу взял *200 >> 8 и построил график в екселе, что бы наглядно было.

Ты пытаешься из не линейной функции линейную создать.

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

Чт ноя 18, 2021 20:10:49

Это я привел пример целочисленного умножения. Ну проявите смекалку! исправьте формулу типа А=120+Таб*К>>8 где Таб = 120*sin(i*2*Pi/120). Таб - знаковое целое. И вычисляйте хоть на лету! Ну прямо тригонометрию в школе преподаю.

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

Чт ноя 18, 2021 20:23:25

ССP=(sin(2*p*x/128)+1)*127 вот эта формула которую я нашёл

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

Чт ноя 18, 2021 20:56:05

Sergi писал(а):Ну прямо тригонометрию в школе преподаю.
Ну тригонометрию ты в школе может и припадаешь.
Ну а что таблицу то сразу так задал? Или не ту дал, а, точно, у тебя много их там было, наверное, ошибся.
По твоим последним формулам таблица -120...0...+120, и К 0...120.

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

Чт ноя 18, 2021 21:05:51

1 Нет. 2 Нет. 3 Нет.

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

Чт ноя 18, 2021 21:17:00

ССP=(sin(2*p*x/128+2*P/3)+1)*127 ССP=(sin(2*p*x/128-2*P/3)+1)*127 Одна фаза отстаёт другая опережает на 120 градусов.

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

Чт ноя 18, 2021 21:43:29

Sergi писал(а):1 Нет. 2 Нет. 3 Нет.
Что нет. нет . нет.
Когда да. да. да. Ну, может, последнее нет.

Кстати, если на 100 делить, тогда можно задавать от 0 до 100%.
У нас тут не любят делить, лучше сдвигать.

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

Пт ноя 19, 2021 06:54:39

Раз уж дошло дело до конкретики,согласен,виноват,не в той теме писал. У меня контроллер F030K6. Он делить не умеет. Хотя я старался общетеоретические вопросы разобрать и сам принцип формирования 3х фаз.

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

Пт ноя 19, 2021 07:44:42

https://microchipdeveloper.com/mct5001:zsm-viewer
https://radiokot.ru/forum/viewtopic.php ... ba6b2baf19
вот вам инфа , какой ШИМ планируете ?
Вложения
одна сторона.png
(75.01 KiB) Скачиваний: 109
две стороны.png
(72.72 KiB) Скачиваний: 105

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

Пт ноя 19, 2021 18:42:32

А где синус?

Добавлено after 4 minutes 32 seconds:
ШИМ не синус.Шим метод

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

Пт ноя 19, 2021 18:47:08

Oleg.normalniy писал(а):какой ШИМ планируете ?
"одна сторона" у меня не получилась, как ни копай, в лучшем случае отрицательная полуволна превращается в положительную, либо наоборот положительная в отрицательную.
Это равносильно тому как попробовать запитать двигатель через диодный мост.

"две стороны" дают реальный синус, но в stm32 Dead-time то же кривой

Oleg.normalniy писал(а):вот вам инфа
Вот еще бы в экселе таблицы строить ... я бы все попробовал.
Может профессор тригонометрии поможет с таблицами.

Кстати его последняя формула дала существенный прирост производительности, тест на Атмеге168 показывает 11мкс против, сколько там у меня было, 55мкс. Вагон свободного времени остается.

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

Пт ноя 19, 2021 19:05:37

вот что народ думает о шим одна сторона
https://radiokot.ru/forum/viewtopic.php ... 9#p3855719
а чистый синус в наше время не комильфо , сейчас мода на не стандартный синус , типа третья гармоника

Добавлено after 9 minutes 15 seconds:
замутил три ШИМ-а , одна сторона , две стороны , и гибрид , бешенную мощность дает гибрид , но сколько движок продержится в таком режиме я не знаю , видео есть на моем канале в ютуб , если интересно могу выложить видео

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

Пт ноя 19, 2021 19:26:31

Насос отопления чувствует аппроксимированную синусоиду полиномом 3 степени, холодильник так же
насчет нагрева я не знаю, эти двигатели и так греются, но повышенный уровень шума присутствует.

Я не пробовал, для сравнения, подключать такие двигатели к частотному преобразователю, но к инвертору с чистым синусом подключал.

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

Пт ноя 19, 2021 19:52:00

гибрид создавался для низкого напряжения , типа около 40-80 вольт , но теперь я знаю как повысить мощность на два

Добавлено after 16 minutes 1 second:
ШИМ одна сторона , плюсы , холодные ключи , экономичность , косинус ФИ почти единица , минусы , этот ебучий прилёт повышенного напряжения от движка меня достал , ключи надо ставить на 1200 вольт
Ответить