измеряемая частота ограничена частотой преобразования АЦП, до 200кГц по даташиту для меги32 А про как подумайте сами, есть синус например как вычислить его частоту? по периоду, например запустить таймер по max, остановить по min и вычислить....
Математически. Есть много разных способов. Например, можно посчитать ДПФ и по максимумам спектра найти все частоты, которые есть в сигнале. Обычно они кратны друг другу с целым числом, а наименьшая частота (частота основного тона) будет искомой частотой.
Можно считать в лоб: засекать моменты, когда сигнал пересекает ноль. Время пересечения нуля как функция номера пересечения будет линейной функцией. Коэффициент пропорциональности — период. Обратный период есть искомая частота.
Ещё более упрощённый вариант: посчитать время N периодов сигнала, поделить N на время, получится частота.
измеряемая частота ограничена частотой преобразования АЦП, до 200кГц по даташиту для меги32 по периоду, например запустить таймер по max, остановить по min и вычислить....
Можете расстолковать как это делается,про таймеры я знаю,но что вы имеете ввидду по мах и мин? Я так понял что нужно включить таймер как токо началось преобразование в АЦП и остановить его как токо закончилось?,это и будет период?
B@R5uk писал(а):
Математически. Есть много разных способов. Например, можно посчитать ДПФ
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Алгоритм: 1) ждать пересечение нуля передним фронтом сигнала. 2) начать считать число семплов сигнала и число пересечений нуля передним фронтом сигнала 3) остановиться считать, когда число пересечений нуля будет равно заданному 4) число пересечений нуля поделить на число семплов и умножить на частоту дискретизации, получится частота сигнала
Что такое сэмплы, фронт сигнала и так далее вам объяснит Гугл. Когда разберётесь, ещё разок обдумайте алгоритм, и после этого спрашивайте, что у вас осталось не понятым. Если человек не будет сам разбираться в непонятных вещах, то никто за него этого делать не будет.
Когда разберётесь, ещё разок обдумайте алгоритм, и после этого спрашивайте, что у вас осталось не понятым. Если человек не будет сам разбираться в непонятных вещах, то никто за него этого делать не будет.
А форум для чего нужнен?,я же не прошу вас писать мне прошивку, а просто прошу ответить на вопросы которые задал, хотя бы растолковать сказанное,ладно бы там был какой то вольтметр ,я бы разобрался, но тут честно говоря не так просто все
Я почитал про семплы и передний и задний фронт импульса
Все равно остались вопросы:
1.пересечение через ноль передним фронтом как определять?
через флаги прерывания ? или по амплитуде сигнала?
2. как считать семплы?вообще не понимаю
вкл таймер от перехода нуля и считать до заднего фронта по положительной волне ?,и по новой на отрицательной полуволне от перехода нуля?
пересечение через ноль передним фронтом как определять?
Один семпл меньше нуля, следующий за ним — больше. Произошло пересечение нуля. Очевидно же.
sirha писал(а):
как считать семплы?
А как считают байты или слова? Данные, читаемые с АЦП — это и есть последовательность семплов с известной частотой дискретизации. Сколько раз прочитали данные — такой и номер семпла.
sirha думаю вы рано взялись за такой проект, сделайте для начало пару вольтметров, кнопок на АЦП с нуля, а потом возращайтесь уже сюда.
Пару вольтметров ,амперметров и даже более я уже сделал так что я сдесь ,обьяснять надо толково тогда и вопросов не останется,а не загадками,а отсылать человека куда подальше особо много ума не надо
B@R5uk писал(а):
Один семпл меньше нуля, следующий за ним — больше. Произошло пересечение нуля. Очевидно же.
Дак обьясните с чего начать то?
Пока что в голову приходит что нужно начать с:
введем сначала функцию АЦП, введем функцию Таймера: прерывание по совпадению
далее будем смотреть когда у нас на входе больше 0,тогда будем запускать таймер по совпадению к примеру пусть каждые 10 мс
в фунцию прерывания по совпадению введем некоторую переменную t++
пока верно мыслю ?,или нужно по другому алгоритму идти?
Можете расстолковать как это делается,про таймеры я знаю,но что вы имеете ввидду по мах и мин? Я так понял что нужно включить таймер как токо началось преобразование в АЦП и остановить его как токо закончилось?,это и будет период?
Это будет не период сигнала, а период одного преобразования АЦП. Про мин/макс это амплитуда сигнала. Что бы понять нарисуйте синус раскадрируйте на произвольное количество замеров АЦП, на моем примере на оси t - 9 замеров и подумайте: о частоте сигнала и частоте преобразования и как, что можно вычислить и преобразовать и т.п. Спойлер Я по дальше не посылал, я предложил немного опыта набраться, а опыт приходит при самостоятельной работе. У меня у самого по каждому проекту куча художеств на А4 листах... графики, формулы, расчеты... Инфа для размышления: по скольким точкам можно отрисовать синус? каждая точка это один замер АЦП, максимально-рекомендуемое количество замеров АЦП прописано в даташите на МК 50-200кГц. Далее: для определения только частоты АЦП не нужен, для рисования сигнала нужно АЦП, выходит 2 задачи для решения, решите их в отдельности, а потом совместите. возможно прийдется задействовать еще одну ногу МК и немного доп обвеса, и возможно Вы превзойдете по точности и функционалу примеры из первого поста.
Далее: для определения только частоты АЦП не нужен
Подождите ,мне нужно определить частоту именно на ножках АЦП,как в осцилографе чтобы было ,я хочу частоту определять без всяких внешних прерываний и таймеров захватов и тому подобное
Вы же сами написали что нужно вкл таймер на маx амплитуды,а раз я буду мерить амплитуду значит я буду мерить значение АЦП
в таком случае запасайтесь литературой по асм, и авр, без таймеров и т.п. придется по тактам все расписовать, обрабатывать массивы с ацп...... что бы бегать сначало надо научиться ходить. как по показаниям ацп определить момент максимума положительной полуволны? домашнее задание
что бы бегать сначало надо научиться ходить. как по показаниям ацп определить момент максимума положительной полуволны? домашнее задание
я вас не до конца понимаю,вы сначала говорите одно потом другое по ацп определить максимум полуволны я смогу,но вы же пишите одновременно что для замера частоты - ацп не учавствует сами себе противоречите,как оно не учавствует если вы сами вначале писали что нужно определять максимум полуволны и минимум чтобы определить период по таймеру и посчитать частоту
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4565 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Цитата:
частота которого определяется через АЦП микроконтроллера
Через АЦП частоту не меряют, через него меряют уровень напряжения. Про форму входного сигнала ничего не сказано. А она может быть абсолютно любой Ответы про синус - игра в угадайку.
Для вычисления частоты аналогового сигнала необходимо динамически определять некий "виртуальный ноль", переходы через который считать началом и окончанием периода. Определять его нужно по среднему значению входного сигнала за определённый промежуток времени. Ну а чтобы узнать частоту, необходимо бы, для начала, узнать что вообще такое частота. Ответ находится любым поисковиком за считанные секунды - Частота. Изучив досконально написанное (именно изучить, а не пробежать мельком), уже можно понять как её вычислить. Так же, Вы поймёте, что её нереально вычислить "без всяких там таймеров и тому подобного"...
да как же вас еще расшевелить самостоятельно думать и анализировать? первое сообщение в краткой форме реализует хотелку, но вашего опыта оказалось не достаточно взять правильное направление. Так вот чтобы решить одну большую задачу надо сначало решить много маленьких, вот и пробуем реализовать определение момента максимума положительной полуволны, потом минимума отрицательной полуволны потом амплитуду, всеравно это придется делать для вывода на экран. Знания и опыт с неба не падают, нужно приложить усилия, а что бы понять надо начать что то делать. и еще, какой максимальной частоты сигнал можно отрисовать с условием возможностей ацп 32меги, что бы можно было отличить синус от пилы или еще чего?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения