Курс AVR123.nm.ru


Electronic Banner Exchange (ElBE)
 


Задача 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 значений!

Примечание: АЦП МК
ATmega16, ATmega32    
(только в квадратных корпусах)
ATmega64, ATmega128 и ATmega256  
имеют встроенный усилитель сигнала на 10 и на 200 и еще возможность дифференциального включения входов АЦП. Это значит что можно оцифровывать разность напряжений между двумя входами АЦП.

 

Реклама недорогих радиодеталей почтой:

 

 

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

 

Я сделал диаграмму наглядно показывающую работу инвертирующего ОУ  

сохраните и используйте её! 

Буквами обозначены напряжения.

Смещение сигнала 
равно (Е - В)

Усиление это Ку (оно < 0)

Входное напряжение меняется от А до С

Выходное напряжение меняется от D до F

Если на входе А
то на выходе
F

Если на входе C  
то на выходе
D

Напряжение V должно 
быть допустимо для 
входа ОУ по ДШ

Диапазон от D до F должен быть обеспечиваемым выходом ОУ по ДШ при данном напряжении 
питания.

 

Я сделал  простейший калькулятор для расчета инвертирующего ОУ сохраните и используйте и его! 


Требуемое напряжение на не инвертирующем входе "+" ОУ можно создать с помощью простого делителя напряжения на двух резисторах:

Напряжение V на входе "+" ОУ будет = +V * R3/(R4 + R3)  

 

 

 

   
 

Операционный усилитель для начинающих 

ОУ подробно с картинками

  1. Общие сведения
  2. Идеальный операционный усилитель
  3. Основные схемы включения операционного усилителя
  4. Внутренняя структура операционных усилителей
  5. Схема замещения операционного усилителя
  6. Коррекция частотной характеристики
  7. Параметры операционных усилителей
  8. Типы операционных усилителей


Устройства на операционных усилителях

Применение операционных усилителей в электронике

  1. Линейные аналоговые вычислительные схемы на ОУ
  2. Схемы линейного преобразования сигналов

     

  3. Активные электрические фильтры на ОУ
  4. Измерительные усилители
  5. Схемы нелинейного преобразования сигналов на ОУ
  6. Генераторы сигналов на ОУ

Материалы предоставил д.т.н., профессора каф.
электротехники ЮУрГУ Волович Г.И.

 

 

 

Проектируем фильтр для установки перед АЦП.


Каковы исходные данные для нашего фильтра?

1) Максимальная частота входного сигнала по заданию - 50 Гц

2) Частоту выборок АЦП мы выбрали наобум 1000 сэмплов в секунду

3) Будем использовать 8 старших бит результата АЦП - это не все 10
     из возможных в AVR, зато эти 8 "честные".

4) Сигнал у нас слабенький - примем Ку (коэффициент усиления) фильтра 4 - это 12 дБ.

 

Советую прочитать АпНоут AN699 по фильтрации !

 

Так как фильтр должен ослаблять частоты выше некоторой частоты - называемой частотой среза - он называется ФНЧ или фильтр нижних частот.

Обозначим частоту АЦП = количеству преобразований сигнала в секунду как Fs 

1) вычислим необходимое ослабление ФНЧ на частоте Fs/2 по формуле:
          3 + 20*log(2^(битность АЦП)) в Дб

Запомните! Разница для напряжения:

 6 Дб   в    2 раза  (это 3 Дб для мощности)
20 Дб  в  10 раз   
(это 10 Дб для мощности)
40 Дб  в 100 раз  
(это 20 Дб для мощности)

Подставляем данные: 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  
это будет (Fs/2)/1.25 = (1000/2/1.25) = 400 Гц.

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 Гц значит нужно увеличить частоту среза до 
100 * 70 / 61.8 = 113.3 Гц

округлим до 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) их можно
  сделать например  R3 = 10 кОм и R4 = 30 кОм 

- резисторы и конденсаторы не стандартных номиналов можно составить из
   нескольких включенных параллельно или последовательно.

 

 

 

Проектируем всю входную 
цепь прибора до АЦП.

Любой внешний вывод устройства должен подключаться к схеме которая:

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 вольта 

и в пике достигать 4,5 вольт, а диапазон АЦП будет от 0 до 5 вольт. Значит в программе МК мы будем анализировать 256*4/5 = 204 значения результата оцифровки.

Для расчета резисторов ОУ 1 и 4 я использовал свой 
калькулятор инвертирующего усилителя

Вот результат:

 

Общий коэф. усиления входной цепи = 16    В первом усилителе R1 равен сумме R1-1  и   R1-2 

 

У вас не должно остаться вопросов без ответа! Если вопросы останутся, то запишите их и ищите ответ по методике описанной на первой странице курса! 

 

3-я часть задачи 9

начало задачи 9



AVR раз, два, три...   это просто!

Краткий Курс  
МикроКонтроллеры 
AVR Начинающим "с нуля" 

http://proavr.narod.ru
 

 

Сайт управляется системой uCoz