Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346

stm32 генерация синусоиды

19.08.2022, 08:10. Показов 6105. Ответов 77
Метки c#, c++ (Все метки)

Студворк — интернет-сервис помощи студентам
У меня возник вопрос чтобы генерировать синусоиду в STM32.И задался вопросом а по какой формуле лучше вычислять массив. Или его не вычислять. А предоставить вычислять эту функцию контролеру?. Кто из спецов может поделится умными мыслями. Кто может подсказать. Нашёл вот такую формулу SIN A=(sin(2p*x/128+1))*127 и немного переделал SINB=(sin((2p*x/128+2p/3)+1))*127 и SINС=(sin((2p*x/128-2p/3)+1))*127.x-один элемент массива. Может неправильно .Что является периодом?.Вот что меня интересует.И как лучше управлять периодом?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2022, 08:10
Ответы с готовыми решениями:

Генерация ШИМ для синусоиды STM32F100
Здравствуйте, помогите новичку! До этого никогда не работал с МК, а тут начал с STM32F100 с наскоку. Вот по одному из многочисленных...

Генерация ШИМ 30кГц на STM32
Доброго времени! Делаю часы на газоразрядных индикаторах, которые питаются от 180в. Сделал плату, которая получает на вход ШИМ 30кГц и...

Генерация синусоиды с ЦАПа через DMA (ADuCM360)
Есть код программы DAC_DMA. Надо чуть чуть переделать что бы генерировать синусоиду и через DMA(прямой доступ к памяти) выводить на ЦАП. Я...

77
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
21.08.2022, 21:59  [ТС]
Студворк — интернет-сервис помощи студентам
На AVR это и есть модуляция.Только там два таймера используется.Один 3 шима а другой в прерывании вот и вся модуляция.Ну по крайне мере в протеусе показывает.А в DMA какая может быть модуляция?
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:01
Цитата Сообщение от ivan rusev Посмотреть сообщение
.А в DMA какая может быть модуляция?
дма ничего не модулирует.. дма передает данные с одного места на другое... по запросу....
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
21.08.2022, 22:02  [ТС]
Цитата Сообщение от ВитГо Посмотреть сообщение
может лучше зеркалированный BAM ?
А это что такое?
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:07
Цитата Сообщение от ivan rusev Посмотреть сообщение
А это что такое?
немного другой способ модуляции... по идее меньшие пульсации должен давать чем шим на маленьких значениях
https://embedders.org/blog/fk0... lerom.html

смотрите по поиску модуляция BAM (BAM - латиницей)
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
21.08.2022, 22:09  [ТС]
Вообщем вырисовывается картина Репина.3 медведя в лесу.Я подозреваю что не один контролер stm32 понадобится а два как минимум.Потому как при таком раскладе не одна переферия работать стабильно работать наверное не будет.Это моё амматорское мнение.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:14
Цитата Сообщение от ivan rusev Посмотреть сообщение
Вообщем вырисовывается картина Репина.3 медведя в лесу.Я подозреваю что не один контролер stm32 понадобится а два как минимум.Потому как при таком раскладе не одна переферия работать стабильно работать наверное не будет
почему ?
стм32 имеет очень навороченные возможности...
в конце концов делайте просто PWM а уж после если будет на то необходимость перейдете на BAM
ну и может дойдете до НИИЭТ микроконтроллеров :-) они там знатно по извращались (в хорошем смысле) управлением многофазных двигателей и соответствующими блоками таймеров микроконтроллеров
0
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
21.08.2022, 22:19
Кстати BAM проще для управления тремя фазами и как раз ваш случай.
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
21.08.2022, 22:20  [ТС]
Цитата Сообщение от ВитГо Посмотреть сообщение
НИИЭТ микроконтроллеров
Я многого чего не знаю.Контролеры какой фирмы.И как их едят?
0
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
21.08.2022, 22:21
Цитата Сообщение от ivan rusev Посмотреть сообщение
Вообщем вырисовывается картина Репина.3 медведя в лесу.Я подозреваю что не один контролер stm32 понадобится а два как минимум.Потому как при таком раскладе не одна переферия работать стабильно работать наверное не будет.Это моё амматорское мнение.
У вас всего 200 Гц так что STM32F411 в полне справится со своими таймерами. Модуляцию больше 5 КГц думаю не надо.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:22
Цитата Сообщение от ivan rusev Посмотреть сообщение
Я многого чего не знаю.Контролеры какой фирмы
https://niiet.ru/product-categ... sc-32-bit/
0
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
21.08.2022, 22:23
Цитата Сообщение от ВитГо Посмотреть сообщение
и может дойдете до НИИЭТ микроконтроллеров
Ага продадите машину купите ихний МК.
Смотрите на готовый модуль STM32H750 у китайцев 2000 руб стоит.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:26
Цитата Сообщение от VladimirU Посмотреть сообщение
Ага продадите машину купите ихний МК.
ну мы не знаем где он работает.. для гос структур это не такая уж и проблема...
зато микроконтроллер специализированный. у них даже демо плата есть под силовые ключи ...

я просто в том году с ними столкнулся... описывали определения под ассемблер... интересные микроконтроллеры...
0
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
21.08.2022, 22:28
Цитата Сообщение от ВитГо Посмотреть сообщение
ну мы не знаем где он работает.. для гос структур это не такая уж и проблема
Судя по тому что мотор нужно запитать от 36 вольт 200Гц смею предположить что это машинки для стрижки овец.

Добавлено через 57 секунд
Цитата Сообщение от ВитГо Посмотреть сообщение
я просто в том году с ними столкнулся... описывали определения под ассемблер... интересные микроконтроллеры
Но это наверное клоны STM32? И наверное с изменённой перефирией?
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:30
Цитата Сообщение от VladimirU Посмотреть сообщение
смею предположить что это машинки для стрижки овец.
ну тут у меня опыта не было :-( в таких машинках не разбираюсь :-)

Добавлено через 1 минуту
Цитата Сообщение от VladimirU Посмотреть сообщение
Но это наверное клоны STM32? И наверное с изменённой перефирией?
причем тут стм32 ?
это арм микроконтроллеры, лицензированные, ядра там помоему cortex-m4 (не помню уже)
ну а блоки периферии где то лицензированные а где то свои...
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
21.08.2022, 22:35  [ТС]
Буду пользоватся подручными средствами.Есть stm32f407vet. stm32f411 //Я просто сейчас без работы.На Украине туго.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.08.2022, 22:47
Цитата Сообщение от ivan rusev Посмотреть сообщение
Буду пользоватся подручными средствами.Есть stm32f407vet. stm32f411
ну в принципе 411 веселее 103... по крайней мере таймеров по больше...
надо просто посидеть и подумать над тем как все должно выглядетьи дальше уже смотреть что можно сделать...
может где в сети и типовые решения есть управления трехфазниками... (наверняка есть)... у тех же радиуправляемых моделей бесколлекторные двигатели с изменяемой частотой вращения...

Добавлено через 4 минуты
Цитата Сообщение от ivan rusev Посмотреть сообщение
Буду пользоватся подручными средствами
читали https://habr.com/ru/post/128407/ ?

Добавлено через 3 минуты
вот с более менее описанием алгоритма... помоему его не сложно перенести на стм32... https://radioparty.ru/prog-avr... sensorless
0
 Аватар для COKPOWEHEU
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,065
22.08.2022, 07:18
Цитата Сообщение от ivan rusev Посмотреть сообщение
И массивы не одинаковые ода опережает на 120градусов другая остаёт на 120 градусов.
Ну то есть одинаковые. Вы же можете в общем массиве сдвигать индекс на треть и две трети размера, как раз нужный сдвиг фаз и будет.
Цитата Сообщение от VladimirU Посмотреть сообщение
Придётся не только частоту изменять но ещё надо промодулировать каждый полупериод синуса прямоугольными импульсами с ШИМ.
У него же и так ШИМ, что мешает каждое значение умножить на амплитуду?
Цитата Сообщение от ВитГо Посмотреть сообщение
может лучше зеркалированный BAM ?
Чем он лучше? Большим количеством переключений за период что ли?
Цитата Сообщение от VladimirU Посмотреть сообщение
У вас всего 200 Гц так что STM32F411
Да там даже avr'ка с программным счетом справится.
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
22.08.2022, 09:19  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Да там даже avr'ка с программным счетом справится.
Да но все остальные переферии в нокауте AVR кроме трёх фаз не в состоянии делать.Так протеусе показывает.Я подозреваю что и с stm32 будет подобное.А как организовать управление только через таймер(тригерная-наружная генерация по входу таймера).В AVR Stm32 такой режим есть.
0
Эксперт по электронике
7149 / 3328 / 342
Регистрация: 28.10.2011
Сообщений: 13,134
Записей в блоге: 7
22.08.2022, 12:07
Цитата Сообщение от ВитГо Посмотреть сообщение
у вас APB1 = 36 mhz
APB2 = 72 mhz
и именно эти частоты будет делить psc для счета
Не знаете что у таймеров есть умножитель на 2?
В итоге на таймерах на APB1 и APB2 будет по 72 МГц.
0
-80 / 1 / 0
Регистрация: 15.12.2019
Сообщений: 346
22.08.2022, 19:55  [ТС]
По моему в таймерах только делители.Таймер можно изменить.Кстати у меня вопрос к спецам на засыпку.Если на выходе мне нужно использовать не три синуса а шесть. Но в зеркальном отражении то есть в инверсии.Это мне ещё 3 массива нужно вычислять?И немного формулу поменять?

Добавлено через 2 часа 52 минуты
Code
1
2
3
4
5
6
sinusA=(sin(2px/128)+1)*127
 sinusB=(sin(2px/128+2p/3)+1)*127
 sinusC=(sin(2px/128-2p/3)+1)*127
sinusAN=(sin(2px/128-p)+1)*127
 sinusBN=(sin(2px/128+5p/3)+1)*127
 sinusCN=(sin(2px/128-5p/3)+1)*127
В первом случае что плюс что минус инвесия должна быть.смещает на 180 градусов то в лево то вправо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2022, 19:55

Генерация синусоиды
Вообщем возникла проблема, помогите решить. Идея Генерировать синусоиду с частотой дискретизации 48кГц. Есть таймер (WinForm), с...

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка сигналов + коммуникация с датчиками). Чем связать данные...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не тут то было. Информации по нем очень мало, даже на Arduino...

график синусоиды
требуется написать график синосоиды, чтоб при запуске был график синосоиды с осями и чтоб на осе была шкала procedure...

Анимация синусоиды
Нужен совет - как анимировать синусоиду, чтобы в результате была бегущая по экрану бесконечная волна? Может какие-нибудь библиотеки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru