Перейти к содержанию
    

Есть работа на 1000р. (STM32) только код

Можно, но долго считать будет, а какое время расчета нужно пока не ясно, и в дальнейшем возможно алгоритм разрастется и в цикле расчета еще много чего будет, а все время уже занимает расчет синуса. STM32F405 брал на Ali за 220руб. FPU становится в контроллерах как бы обязательным, как регистры, ОЗУ, RS, USB...

Я писал что все это можно реализовать с фиксированной точкой. Я даже не намекал на программную реализацию FPU (из за которой "считать будет долго").

Но судя по Вашему посту Вы не знакомы с математикой с фиксированной точкой.

Погуглите, т.к. без этого некуда. Если не хотите каждый раз применять МК в разы дороже.

К примеру в конкретной ситуации можно не 220 а за 80 руб. МК подобрать. С 10 изделий 1400 руб. экономии. А это почти в 1.5 раза больше бюджета разработки ПО :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужна только программа.

 

проц любой, тот STM32, который у вас есть.

Мной будет запускаться на F103C8T6, так что это надо учесть/

 

Используемый таймер: TIM1

Диапазон: 0-1кгц

Выходы 3 прямых +3 инверсных

Шаг перестройки: синуса 0,1Гц

Останов счётчиков по превышению напряжения (3.0В)на четвёртом канале АЦП + сообщение в терминал

Останов счётчиков при появлении "0" на одном из портов (любой свободный)+ сообщение в терминал

Управление:

4 кнопки

 

2 кнопки управления частотой вверх\вниз с ускорением при удержании.

2 кнопки "амплитуда"

 

 

Вывод информации: на serial 9600

1) текущей частоты

2) напряжения на 4 каналах АЦП (любых) (частота тактирования АЦП: ~70% от предельной паспортной)

 

Детали...

тактирование TIM1 производить от любого другого таймера

Например TIM0 им и задавать перестройку частоты.

"амплитуда" - это условное понятие,суть которого в изменении значения числа выбранного из таблицы синусов

Например при получении команды увеличения амплитуды, при выборке из таблицы числа 300, перед тем как его поместить в счётчик происходит увеличение его на +1 (или +10,11,12 в зависимости от прежнего значения амплитуды)

А фильтр восстановления? Если частота меняется, то и полоса пропускания фильтра должна меняться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А фильтр восстановления? Если частота меняется, то и полоса пропускания фильтра должна меняться?

Не нужен он здесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как тогда измерять амплитуду синуса?

Амплитуда синуса всегда ==1. См. школьный курс математики :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как тогда измерять амплитуду синуса?

Синус не надо измерять, его надо генерировать)

 

Если для проверки правильности генерации, то существуют специальные приборы для этого.

Если все же нужен чистый синус на выходе инвертора, то надо ставить синус фильтр. Адаптация ни к чему достаточно просто отфильтровывать несущую частоту ШИМа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Диапазон: 0-1кгц

Диапазон чего? Если речь о максимальной частоте выходного синуса, то для средней паршивости DDS требуется тактовать его аккумулятор в 100 раз быстрее, а значит речь о такой же частоте прерываний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Диапазон чего? Если речь о максимальной частоте выходного синуса, то для средней паршивости DDS требуется тактовать его аккумулятор в 100 раз быстрее, а значит речь о такой же частоте прерываний.

 

Прерывание с частотой 100КГц для формирования ШИМ вполне реальны, на том МК что автор выбрал.

Какой ещё DDS?

Автор конечно не упоминает для каких целей он собирается использовать данное ПО.

Но к примеру если управлять асинхроником киловат так на 100 с номинальной частотой 100Гц. Вы транзисторы силовые 10 килогерцами открывать будете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какой ещё DDS?

Это нечто, честно решающее требование шага размером 0,1 Гц — разумеется, только если только автор не имел ввиду среднюю частоту за 10 с — тогда да, такую халтуру вполне можно сваять тактованием от другого таймера и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это нечто, честно решающее требование шага размером 0,1 Гц — разумеется, только если только автор не имел ввиду среднюю частоту за 10 с — тогда да, такую халтуру вполне можно сваять тактованием от другого таймера и т.п.

Он и сам же потом поправился. Написал что такой шаг на больших частотах не нужен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это нечто, честно решающее требование шага размером 0,1 Гц

А в чём проблема даже хоть 0.01Гц ?

На вполне себе обычном таймере МК (который умеет ШИМ формировать) нормально делается.

Спектр будет не идеальным, но частоту можно задать очень точно.

 

Он и сам же потом поправился. Написал что такой шаг на больших частотах не нужен

Точность установки частоты зависит только от разрядности переменной хранящей текущую фазу.

На 32-битном процессоре с этой разрядностью не может быть никаких проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу предположить что планируется управлять трёхфазным асинхронным двигателем (либо ещё чего что требует трёхфазной сети с не малой мощностью).

Если Ваше предположение верно, то в бюджете не хватает трех нулей. Как минимум. По самым скромным оценкам и расценкам...

ветерок - Вам "шашечки", или "ехать"? Если "шашечки", то Вам их сделает любой студент, в качестве курсовой, за бесплатно.

А если "ЕХАТЬ", то читайте выше...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно, но долго считать будет, а какое время расчета нужно пока не ясно, и в дальнейшем возможно алгоритм разрастется и в цикле расчета еще много чего будет, а все время уже занимает расчет синуса. STM32F405 брал на Ali за 220руб. FPU становится в контроллерах как бы обязательным, как регистры, ОЗУ, RS, USB...

какие ... проблемы посчитать один раз, и забросить в таблицу? справится и F030VL, FPU денег немного стоит, для разового изделия, туда не жалко и 429й впихнуть, можно будет картинку в риалтайме показывать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какие ... проблемы посчитать один раз

Проблема одна — по ТЗ требуется задавать амплитуду, стало быть, на каждую смену уставки пересчитывать таблицу.

 

Готовые программы сугубо ПДП-генератора гуглятся даром на первых строчках — это если бы тема была бы сугубо о нём, потому как в её названии только завлекуха на генератор, а ежели в неё зайти, то читаем нехилую кашу из топора — какой-то мутный обвес терминалом, кнопками, АЦП, "остановом счётчиков" и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема одна — по ТЗ требуется задавать амплитуду, стало быть, на каждую смену уставки пересчитывать таблицу.

 

Так всего то одна операция умножения. Только надо немного вникнуть в математику чисел с фиксированной точкой.

 

какие ... проблемы посчитать один раз, и забросить в таблицу? справится и F030VL, FPU денег немного стоит, для разового изделия, туда не жалко и 429й впихнуть, можно будет картинку в риалтайме показывать :)

 

Где было написано что изделие разовое? И МК тоже вроде бы автор четко указал.

 

А в чём проблема даже хоть 0.01Гц ?

На вполне себе обычном таймере МК (который умеет ШИМ формировать) нормально делается.

Спектр будет не идеальным, но частоту можно задать очень точно.

 

 

Точность установки частоты зависит только от разрядности переменной хранящей текущую фазу.

На 32-битном процессоре с этой разрядностью не может быть никаких проблем.

А количество прерываний за период генерируемого сигнала(Fout/Fpwm) не в счёт? Т.е. за какое количество раз Вы эту фазу должны на 360 градусов подвинуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...