Курс AVR123.nm.ru |
|
||
6 |
Задача 9. Электронный вольтметр, измеритель вибрации.
2-я
часть. - необходима всегда ! В той или иной степени и в той или иной форме. Дело в том что в сигнале поступающем на АЦП не должно быть колебаний с частотой (Гц) превышающей половину частоты выборок - т.е. частоты совершения АЦ преобразований (сэмплов) в секунду. Точнее: величина этих гармоник должна быть настолько мала чтобы не могла изменить младший бит результата АЦП Любая комбинация резистора и конденсатора уже является тем или иным фильтром - т.е. по разному изменяет напряжение сигнала в зависимости от его частоты. Но ... Советую делать специальный активный фильтр на операционных усилителях (далее ОУ) который будет источником сигнала для АЦП с низким выходным сопротивлением. Тем более, что ОУ доступны и дешевы.
Нормирование сигнала Это приведение его диапазона к требуемому. Например: Сигнал некоторого источника меняется от -27 до +72 вольт, а на выводе AREF (опорное напряжение) MK напряжение 3 вольта, значит нам нужно нормировать или привести напряжение источника к диапазону 0...3 вольта. Сделать это можно: 1) С помощью инвертирующего усилителя на ОУ можно сместить средний уровень измеряемого сигнала для обработки его в наиболее распространенных сейчас схемах с однополярным питанием - в которых: - минимальное напряжение = 0 вольт - это провод "земля" или "общий провод устройства" или "0" или "GND" или "Vss" - максимальное напряжение = напряжение питания - обычно 5 вольт (но все чаще 3.3 и даже 2.7 вольт и еще меньше для экономии энергии и повышения скорости) называется "+ питания" или "Vdd" или типа того. (подробней на стр. 2)
2)
С помощью ОУ можно усилить (или
уменьшить!) Например 10 битный АЦП МК AVR имеет наименьший рекомендуемый по ДШ диапазон от 0 до 2 вольт т.е. примерно 2 мв на бит. Если нам нужно измерить сигнал с размахом 36 мВ то мы получим лишь 18 значений сигнала из 1024 возможных! Поэтому нужно сперва усилить 36 мВ сигнал до 2 вольт и затем только оцифровать его - теперь результатом АЦП будет одно из 1024 значений! примечание:
АЦП МК Смещение середины диапазона входного напряжения и его усиление с помощью операционного усилителя включенного по инвертирующей схеме.
Я сделал диаграмму наглядно показывающую работу инвертирующего ОУ сохраните и используйте её!
Я
сделал ещё и
Напряжение V на входе "+" ОУ будет = +V * R3/(R4 + R3)
Проектируем
фильтр
1) Максимальная частота входного сигнала по заданию - 50 Гц 2) Частоту выборок АЦП мы выбрали наобум 1000 сэмплов в секунду 3) Будем использовать 8 старших бит результата АЦП - это не все 10 из возможных в AVR, зато эти 8 "честные". 4) Сигнал у нас слабенький - примем Ку (коэффициент усиления) фильтра 4 - это 12 дБ.
Так как фильтр должен ослаблять частоты выше некоторой частоты - называемой частотой среза - он называется ФНЧ или фильтр нижних частот. Обозначим частоту АЦП = количеству преобразований сигнала в секунду как Fs 1) вычислим необходимое ослабление ФНЧ на частоте Fs/2 по формуле: 3 + 20*log(2^(битность АЦП)) в Дб Запомните! Разница для напряжения: 6
Дб в 2 раза подставляем данные: 3 + 20*log(2^8) = 3 + 20*log(256) = 51.2 Дб Итак - наш
фильтр должен ослаблять сигнал с 2) добавим реальности - просто найти конденсаторы и резисторы с точностью 5% - так как компонентов в фильтре несколько то будем считать что параметры реального фильтра могут отличаться от расчетных на 25 % в обе стороны. Значит наш фильтр должен усиливать на 12 Дб сигнал от 0 до (50 * 1.25 = 62.5 Гц + 10% запаса к тех. заданию = 68.75 и округляем в +) 70 Гц. И ослаблять на
51 Дб сигнал с частотой ниже на 25% чем
Fs/2 3) теперь время определить собственно схему фильтра и номиналы компонентов. Можно найти соответствующие книжки и посчитать на калькуляторе. Я предлагаю вам воспользоваться бесплатной специальной программой: - скачайте и инсталлируйте
её. а) нажмите ярлык "circuit" = "схема" теперь меняя порядок фильтра в окне: можно увидеть что на 2-х ОУ программа может предложить фильтр максимум 4-го порядка - по-простому чем выше порядок тем круче спад характеристики пропускания фильтра выше частоты среза. б) теперь вводим в окно "Gain" нужное нам усиление: 4 в) вводим в окно "частота среза" = "Cut-off Frequency" частоту 100 Гц - заведомо большую чем 70 Гц которая была вычислена выше. г) Нажимаем "Enter" и переходим на закладку "Response" - "частотные характеристики" фильтра: нас интересует синяя линия - зависимость усиления-ослабления фильтра в Дб от частоты. д) двигая "указатель мыши" от частоты 0 Гц в право, можно видеть что усиление фильтра составляет 12 Дб. Усиление должно быть таким до рассчитанных нами 70 Гц. однако можно заметить, что оно снижается до 11.9 Дб раньше: на частоте 61.8
Гц значит нужно увеличить частоту
среза до округлим до 115 Гц и подставим ее в поле "частота среза" затем "Enter" е) опять двигаем мышку от 0 в право и видим что усиление 12 Дб сохраняется до частоты 70.3 Гц - т.е. более 70 Гц - это нас устраивает! д) теперь нужно двигать мышь еще правее пока ослабление фильтра составит нужные нам 51.2 Дб Но! это относительно усиления 12 Дб в полосе пропускания фильтра! т.е. в программе нужна точка с ослаблением 51.2 - 12 = 39.2 Дб Я нашел точку с ослаблением -39.5 Дб на частоте 508 Гц Итак 508 Гц а нужно было 400 Гц. Как решить эту дилемму ... (или диагему ?) Вариант 1. Можно увеличить крутизну спада характеристики фильтра - но это потребует использования еще одного ОУ. Сделайте порядок фильтра 6 и затем посмотрите частотные параметры. Усиление 12 Дб сохраняется до частоты 83.1 Гц, а спад в 39.1Дб достигается уже на частоте 308 Гц - т.е. добавив ещё один ОУ можно было бы снизить частоту сэмплирования сигнала до (308 * 2 * 1.25) 770 раз в секунду. Вариант 2. Я предлагаю просто пропорционально увеличить количество выборок АЦП - сейчас у нас 1000 сэмплов в секунду а мы сделаем не менее 508 * 2 * 1.25 = 1270 выборок в секунду. Значит нужно пересчитать начальное значение отсчета для Timer_0 и внести изменения в программу для МК.
Схема фильтра: - резисторы R4 и
R3 определяют усиление фильтра - резисторы и конденсаторы не стандартных номиналов можно составить из нескольких включенных параллельно или последовательно.
Проектируем
всю входную Любой внешний вывод устройства должен подключаться к схеме которая: 1) предотвращает повреждение устройства возможными внешними электрическими воздействиями на этот вывод 2) нормировать-кондиционировать сигнал поступающий на этот вывод (в нашем случае к диапазону и параметрам АЦП). 3) возможно что-то ещё п.1 обеспечивают так: - после
внешнего вывода, подключают вывод А
резистора сопротивление которого
меньшего максимально допустимого в
данном устройстве, но достаточно для
правильной работы элемента защиты. - TVS диод конкретные компоненты по ссылке в точке В внешнее электрическое воздействие ограничивается параметрами резистора и элемента защиты и от этой точки обычно идет еще один резистор (суммарное сопротивление которого с первым резистором не превышает максимально допустимого в данном устройстве) который ограничивает ток до величины допустимой в эксплуатации следующего за ним компонента схемы. Подробней о защите читайте на сайте очень полезном для начинающих электронщиков микроконтроллерщиков эмбедеров caxapa раздел: схемы - защита.
п.2 обеспечивают различные фильтры, усилители, аттенюаторы (ослабители), делители и прочая нечисть...
Схема будет выполнена на двух сдвоенных ОУ (два ОУ в одном 8-ми ногом корпусе) AD8542 или OP296 либо на одном счетверенном ОУ AD8544 или OP496 от analog.com Это недорогие распространенные и очень качественные ОУ - универсальные благодаря R2R входу и выходу и достаточности однополярного питания - используйте их в своих устройствах! R2R означает
"рейл-ту-рейл" что значит
напряжение меняется практически во
всем диапазоне напряжения питания ОУ.
Примеры
схем на ОУ
С учетом вышесказанного я нарисовал вот такую схему от входа сигнала до входной ножки АЦП МК на 14 выводном счетверенном ОУ AD8544: Защиту по входу осуществляет резистор R1-1 и симметричный защитный диод D1, а конденсатор С1 обрезает высокочастотные помехи. Первый ОУ смещает сигнал на 2,5 вольта вверх. На втором и третьем ОУ выполнен рассчитанный выше ФНЧ. На четвертом
ОУ сделан усилитель смещающий середину
сигнала Таким образом
положительная полуволна входного
отфильтрованного сигнала будет иметь
средний уровень 0.5 вольта Для расчета
резисторов ОУ 1 и 4 я использовал
свой
Общий коэф. усиления входной цепи = 16 В первом усилителе R1 равен сумме R1-1и R1-2
У
вас не должно
остаться Если
вопросы останутся, то запишите их и
|