Измерение параметров цифрового сигнала на arduino
- Войдите на сайт для отправки комментариев
Чт, 16/11/2017 - 10:55
Здравствуйте всем! Возник такой вопрос. Возможно ли измерить на arduino uno и LCD Keypad Shield частоту, амплитуду и скважность цифрового сигнала?
Параметры такие:
Частота от 100 Гц до 200 кГц
Амплитуда от 1 до 5 В
Скважность от 1 до 5
Сигнал брать с генератора. Пробовал написать прогу сам, но поскольку только начал знакомиться с arduino, мои познания в этом не велеки. Все упирается в то что бы связать все параметры в одном скетче. А также что бы частота и амплитуда сигнала не сильно скакали. Смотрел что-то подобное, но ничего не нашел. Возможно кто-то подскажет!
Окно поиска в врехнем правом углу. Тема обгладывалась уже столько раз, что там только кости остались.
Не надо связывать в одном сктче. Нужно написать три отдельных подпрограммы и вызывая их по очеререди получить три требуемых значения, после чего вывести на дисплей.
ЕвгенийП, задача при все своей "обсосаности" имеет все-таки нюанс с измерением амплитуды (импульса в 5мкс) и, то что амплитуда при диапазоне 1-5в станет ниже порога TTL единицы, как бы намекает...
Я бы ознакомился и со схемотехническим решением и с красивым программным. Хотя сам одолеть смогу, но на решение профи посмотрел бы с удовольствием.
на слабо не возьмешь.
Посмотрите в проектах осцилограф.
нюанс с измерением амплитуды
А вот это я как-то пропустил. ну, тогда, похоже, "лесом". Местный АЦП позволяет сделать "Up to 76.9kSPS (Up to 15kSPS at Maximum Resolution)". А ТС нужно измерять сигналы до 200кГц как я понял.
Господа! Если в рамке шутки, то решение примитивное:
1. амплитуду измеряем на защелке из диода Шоттки, конденсатора и резистора к ноге разряда.
2. амплитуду приводим к 5 В на одном транзисторе и ограничивающем резисторе.
итого задействуем три ноги: амплитуда, частота и разряжающая защелку нога.
ну а частоту и скважность измеряем стандартно, уже обсосано 100500 раз.
итого задействуем три ноги: амплитуда, частота и разряжающая защелку нога.
Вообщем-то так и предполагалось. Но спасибо.
Тут вопрос как измерять защелкнутое напряжение. Быдло analogRead, понятно, не пойдет. Нужно через регистры АЦП и прерывания. Вашим кодом для этого порадуете?
итого задействуем три ноги: амплитуда, частота и разряжающая защелку нога.
Вообщем-то так и предполагалось. Но спасибо.
Тут вопрос как измерять защелкнутое напряжение. Быдло analogRead, понятно, не пойдет. Нужно через регистры АЦП и прерывания. Вашим кодом для этого порадуете?
Отчего не порадовать хорошего человека, ходи сюда http://arduino.ru/forumy/ishchu-ispolnitelya , там порадуют.
Тут вопрос как измерять защелкнутое напряжение. Быдло analogRead, понятно, не пойдет.
Как раз не понятно. Чем не пойдет? Мы куда-то спешим? нужно вписываться в микросекунды?
Новичка выдает ненависть к встроенной библиотеке wiring. Без нее нужно обходиться не всегда, а только когда к тому есть основания.
...А с регистрами - так тут, на форуме, бродил код и от Евгения и от Димакса и мой, и для быстрого и для суперточного с поправкой на питание и еще для черте-какого использования АЦП. Только разьве-что самогон гнать его еще не заставили...
Вас что-то конкретное интересует?
Как раз не понятно. Чем не пойдет? Мы куда-то спешим? нужно вписываться в микросекунды?
Новичка выдает ненависть к встроенной библиотеке wiring. Без нее нужно обходиться не всегда, а только когда к тому есть основания.
...А с регистрами - так тут, на форуме, бродил код и от Евгения и от Димакса и мой, и для быстрого и для суперточного с поправкой на питание и еще для черте-какого использования АЦП. Только разьве-что самогон гнать его еще не заставили...
Вас что-то конкретное интересует?
Почему не спешим? Очень даже спешим. Мы и так будем мерять в лучшем случае амплитуду каждого 3-го импульса (при 200кГц), а на стандартном analogRead, при его, кажись, 112мкс можем пропустить много интересного :)
Я на гуру не претендую и никакую ненависть к вайрингу не испытываю. С удовольствием пользуюсь везде, где она подходит. Тут речь идет о быстрых процессах - не грех опуститься до прямой работы с регистрами. Меня как раз изначально это пугало, сейчас я даташит даже могу открыть. Но по атмелу необходимости в этом почти нет - нагуглить в нашем и буржуйском интернете самых разных статей о каждом программном применении каждого регистра с блекджеком и шлюхами - дело 15-20минут. Вот другое дело C8051 скажем, если руки дойдут перешить его в Sunoff. По нему в силу старости ядра маловато инфы, придется пошариться и в даташитах.
Примеров и на форуме и за пределами по АЦП - мильен, согласен. Думал вы захотите свой выложить.
2Logik вот не рекомендую троллить меня и рассказывать куда мне идти, тогда я останусь, как ты выражаешься "хорошим человеком" и не скажу куда идти тебе. Как-то так.
Тут речь идет о быстрых процессах
Мне кажется, что вы что-то не поняли. Тутнет быстрых процессов. Мы амплитуду УЖЕ защелкнули. Дальше можем хоть десять минут ее мерить. ;) Ну разумно раз 10 измерить и усреднить. Уйдет на это пара миллисекунд, но мне не ясно, куда мы спешим.?
У нас нет быстро меняющегося сигнала. Его частота 200КГц, но она как была, так и осталась. Изменения в пару-тройку миллисек нас отслеживать никто не просит.
Почему не спешим? Очень даже спешим. Мы и так будем мерять в лучшем случае амплитуду каждого 3-го импульса (при 200кГц), а на стандартном analogRead, при его, кажись, 112мкс можем пропустить много интересного :)
Тема совсем не моя и готов согласиться с вашей правотой. Просто перед глазами картинка амплитудной модуляции, но и там такой точности/скорости наверное не надо.