|
Курс AVR123.nm.ru |
|
||
|
Задача 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 4) Сигнал у нас слабенький - примем Ку (коэффициент усиления) фильтра 4 - это 12 дБ.
Советую прочитать АпНоут AN699 по фильтрации !
Так как фильтр должен ослаблять частоты выше некоторой частоты - называемой частотой среза - он называется ФНЧ или фильтр нижних частот. Обозначим частоту АЦП = количеству преобразований сигнала в секунду как Fs 1) вычислим
необходимое ослабление ФНЧ на частоте Fs/2
по формуле: Запомните! Разница для напряжения: 6
Дб в 2 раза
(это 3 Дб для мощности) Подставляем данные: 3 + 20*log(2^8) = 3 + 20*log(256) = 51.2 Дб Итак - наш фильтр должен ослаблять сигнал с частотой Fs/2 на 51.2 Дб 2) добавим реальности - просто найти конденсаторы и резисторы с точностью 5% - так как компонентов в фильтре несколько то будем считать что параметры реального фильтра могут отличаться от расчетных на 25 % в обе стороны. Значит наш фильтр должен усиливать на 12 Дб сигнал от 0 до (50 * 1.25 = 62.5 Гц + 10% запаса к тех. заданию = 68.75 и округляем в +) 70 Гц. И ослаблять на
51 Дб сигнал с частотой ниже на 25% чем
Fs/2 3) пришло время определить собственно схему фильтра и номиналы компонентов. Можно найти соответствующие книжки и посчитать на калькуляторе. Я предлагаю вам воспользоваться специальными бесплатными программами для проектирования активных фильтров - например Active Filter Design Application - FILTERPRO
Вот скриншот этой программы:
Или вот по-проще:
- скачайте и инсталлируйте
её. а) нажмите ярлык "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 + (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 вольта вверх. На втором и третьем ОУ выполнен рассчитанный выше ФНЧ. На четвертом ОУ сделан усилитель смещающий середину сигнала на 2 вольта вниз и усиливающий сигнал до размаха 8 вольт. Таким образом
положительная полуволна входного
отфильтрованного сигнала будет иметь
средний уровень 0.5 вольта Для расчета
резисторов ОУ 1 и 4 я использовал
свой
Общий коэф. усиления входной цепи = 16 В первом усилителе R1 равен сумме R1-1 и R1-2
У вас не должно остаться вопросов без ответа! Если вопросы останутся, то запишите их и ищите ответ по методике описанной на первой странице курса!
|