Variant99 7 5 марта, 2023 Опубликовано 5 марта, 2023 (изменено) · Жалоба Да всё нормально делает топикстартер. Он просто вначале сумбурно описал хотелки, я тоже мало чего понял вначале, какие там "треугольники" и что конкретно не получается. Но на последней его фотке видно, что он получил. И как оказалось, всё в поряде изначально, просто на осцилле неверно настроил захват сигнала и картинка неверно его информировала. Так что всё норм. Ширина импульса меняется по синусоидальному закону, с тем, чтобы на выходе ШИМ поставить RC-фильтр и получить отфильтрованнное напряжение, изменяющееся по синусоидальному закону. Вот типа такого: Топикстартер использует три канала, это наводит на мысль, что он пытается крутить трехфазный BLDC-моторчик. Изменено 5 марта, 2023 пользователем Variant99 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба 6 часов назад, Variant99 сказал: Да всё нормально делает топикстартер. Он просто вначале сумбурно описал хотелки, я тоже мало чего понял вначале, какие там "треугольники" и что конкретно не получается. Но на последней его фотке видно, что он получил. И как оказалось, всё в поряде изначально, просто на осцилле неверно настроил захват сигнала и картинка неверно его информировала. Так что всё норм. Ширина импульса меняется по синусоидальному закону, с тем, чтобы на выходе ШИМ поставить RC-фильтр и получить отфильтрованнное напряжение, изменяющееся по синусоидальному закону. Вот типа такого: Топикстартер использует три канала, это наводит на мысль, что он пытается крутить трехфазный BLDC-моторчик. Да, только АС трехфазник.) К стати у меня есть неплохой цифровой анализатор. Че я им не воспользовался. Еще ни разу не пользовался и забыл, что он у меня есть)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
borodach 16 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба А может купить EG8030 и не изобретать велосипед? со всеми регулировками, защитами, обратной связью, АБС, противоугонкой, крч нормальная тачка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба Готовое покупать, скучно.) Импортозамещение ведь нужно.))) 3 фазы верхние ключи. borodach , я не смотрел эту микросхему, у него есть обратная связь по датчику энкодеру ? Или он может работать с фазовращателями ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Variant99 7 5 марта, 2023 Опубликовано 5 марта, 2023 (изменено) · Жалоба С импортозамещением на STM32 будет туго. 😄 Это еще хорошо, что ST Microelectronics не сделала так, как Analog Devices или Texas Instruments, и не закрыла доступ к документации и сайту в целом, а ограничилась только закрытием скачивания ПО. Так что тут лучше объяснять просто желанием самостоятельно участвовать в процессе, а не тупо прикручивать скотчем готовые куски. Тем более, что это будет то же самое, только сделанное самим. А это тоже немаловажно для чисто творческого процесса. Потому что если не делать самому, то еще проще - взять на той же Алишке готовый частотник и вообще не париться изобретениями того, что уже вообще было сто раз сделано. Изменено 5 марта, 2023 пользователем Variant99 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
borodach 16 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба On 3/5/2023 at 6:15 PM, khlenar said: у него есть обратная связь по датчику энкодеру ? Или он может работать с фазовращателями ? Какие энкодеры, какие фазовращатели? Судя по вашему словосочетанию "АС трехфазник", вы делаете обычный трёхфазный генератор переменного напряжения, для чего и предназначена EG8030. Там прямая либо трансформаторная обратная связь с выхода каждой стойки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Variant99 7 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба Энкодер как бы намекает на то, что это будет частотный привод для асинхронного трехфазного электромотора. Энкодер позволяет расширить диапазон регулирования скорости вращения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба 9 hours ago, Variant99 said: сказал, что он хочет вычислять значение в каждом шаге, потому что значения в формуле могут меняться Таблицу значений можно хранить в ОЗУ и сделать длиной в период. Расчёт коэффициента заполнения для каждого импульса в обработчике прерывания позволяет легко сделать безразрывное изменение параметров выходного сигнала. Можно ведь иметь две таблицы со значениями: по одной формируем ШИМ на выходе, для другой рассчитываем значения. Осталось придумать алгоритм, плавно стыкующий выходные значения при переключениях между таблицами. Понимаю, что F407 штука не хилая, и если ему кроме генерации больше нечем заняться, то можно и каждый импульс обсчитывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба 1 час назад, Variant99 сказал: Энкодер как бы намекает на то, что это будет частотный привод для асинхронного трехфазного электромотора. Энкодер позволяет расширить диапазон регулирования скорости вращения. Так точно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 5 марта, 2023 Опубликовано 5 марта, 2023 · Жалоба 1 час назад, tonyk_av сказал: Таблицу значений можно хранить в ОЗУ и сделать длиной в период. Расчёт коэффициента заполнения для каждого импульса в обработчике прерывания позволяет легко сделать безразрывное изменение параметров выходного сигнала. Можно ведь иметь две таблицы со значениями: по одной формируем ШИМ на выходе, для другой рассчитываем значения. Осталось придумать алгоритм, плавно стыкующий выходные значения при переключениях между таблицами. Понимаю, что F407 штука не хилая, и если ему кроме генерации больше нечем заняться, то можно и каждый импульс обсчитывать. Переменная accur задает частоту синусоидального сигнала. От 1Гц до 60Гц меняется например от 4000 до 80. Это надо таблицу в 4000 значений. А чтобы увеличивать частоту нужно перебирать через одно значение, через два и так далее... Это тоже алгоритмы. И это тоже время. Не знаю, может полностью рабочие алгоритмы выльются в тоже время. Надо эксперементировать. А вообще я планирую в дальнейшем использовать МК от Микрочипа PIC32MK0512MCM100. Санкций нет, при тактовой частоте 120МГц выполняет операции float быстрее чем 407. И он очень прямо заточен для инверторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Variant99 7 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба Так это ж алгоритм DDS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 8 hours ago, khlenar said: Это надо таблицу в 4000 значений. Речь шла о STM32F407, у которого 192К ОЗУ, посему даже два буфера по 8К каждый на этом фоне не выглядят очень большими цифрами. 8 hours ago, khlenar said: А чтобы увеличивать частоту нужно перебирать через одно значение, через два и так далее... Зачем так грубо? Тем более при работе через DMA. Тут или в две соседние ячейки класть одинаковые значения, чтобы не менять частоту загрузки новых значений в таймер, или менять частоту загрузки значений. Я бы пошёл по второму пути, то есть менял бы частоту загрузки значений в таймер. Так можно довольно точно задавать частоту выходного сигнала, и, кроме того, не нужно менять рассчитанные значения. 8 hours ago, khlenar said: может полностью рабочие алгоритмы выльются в тоже время Суммарно- да, будет почти то же самое время, только немного меньше. вход-выход в обработчик прерывания требую времени, поэтому выгодней заранее рассчитать таблицу значений. А вообще, бутылку водки можно оприходовать тремя стаканами, а можно двадцатью пятью рюмками. Расчёт делается в основной задаче, которую спокойно могут прерывать прерывания (ха-ха), а вот когда ты зашёл в прерывание и там начал вычислять, то тебе придётся очень вдумчиво заняться распределение приоритетов между прерываниями, чтобы успевать реагировать на события во внешнем мире, плюс стэк для вложенных прерываний делать больше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба Частота загрузки CONST и равна 500мкс. Я не зря привел цифры для accur. Водку стаканами пить разрушительно. Рюмками приятнее. Задача расчетов вызывается например каждую 1мсек. Который в свою очередь выставляет флаги выполнил не выполнил и т.д. Внешние события (АЦП и т.д.) работают с ДМА. Все оставшееся время вывод на дисплей, кнопки и остальное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 1 hour ago, khlenar said: Частота загрузки CONST и равна 500мкс. Что мешает сделать её изменяемой? Для чего хранить параметры ШИМ в ОЗУ как не для изменения выходной частоты и/или амплитуды? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 5 часов назад, Variant99 сказал: Так это ж алгоритм DDS Именно. Имеем предварительно рассчитанную таблицу одного (половины/четверти/одной восьмой) периода в постоянной памяти, из которой с нужным шагом выбираем значения (на каких-то частотах каждое n-е значение, на каких-то одно и то же значение k раз), умножаем на необходимую амплитуду в формате фиксированной точки и кладем в массив в ОЗУ, из которого ПДП (DMA) в нужные моменты времени забирает данные в таймер. Заполнение половин массива ОЗУ в прерываниях окончания передачи (TIF) и окончания половины передачи (HTIF). Одно умножение на отсчет. Для остальных фаз то же самое со сдвигом на 1/3 и 2/3 исходной таблицы. У меня по такому принципу ATmega88 на 16 МГц успевала без ПДП и ассемблера в исходниках выдавать шесть фаз синуса 400 Гц из таблицы на 1/8 периода синуса, а STM32F100 на 24 МГц с ПДП формировать два FFSK без разрыва фазы на 1200/2400 не особо напрягаясь. У Л. И. Ридико прекрасная статья по реализации DDS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться