Определение формулы расчета напряжения — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Определение формулы расчета напряжения

2020-08-21 129
Определение формулы расчета напряжения 0.00 из 5.00 0 оценок
Заказать работу

 

Для того чтобы рассчитать значение измеренного напряжения необходимо вывести формулу, связывающую это значение с результирующим кодом АЦП. Для этого определим напряжение, подключенное к входу АЦП

 

Uadc=(Vref-R6/R1*k*Uвх)/2,


где k - коэффициент усиления, в зависимости от включенного диапазона может принимать значение 1, 10, 100; Uвх - входное напряжение.

С другой стороны

 

Uadc=N*Vref/1024,

 

где N - результирующий код АЦП. Тогда

 

Uвх=R1*Vref*(512-N)/(512*R6*k).

 

Вместо учета в этой формуле значения коэффициента k, достаточно переключать светодиоды «В» «мВ», и изменять положение десятичной точки на индикаторе. Поэтому значение k для расчетов можно принять, равным 1. Так как в системе используется трех разрядный индикатор, единица младшего разряда, выводимого на индикатор, должна соответствовать десяткам милливольт (максимальное выводимое значение соответствует 9,99 В). В этом случае значение Vref необходимо представлять в десятках милливольт. Тогда, подставляя в формулу численные значения, получим

 

Uвх=1*409.6(512-N)/(512*0.407)=1.9656*(512-N).

 

Используемый микроконтроллер не поддерживает арифметику с плавающей запятой, поэтому коэффициент, равный 1.9656, необходимо округлить до целого значения. Однако если это значение округлить до 2, получим недопустимую ошибку счета, равную 1.72%. Удовлетворительной ошибкой счета следует признать значение, много меньшее, чем заданная погрешность измерения 1%.

Для удовлетворения этим требованиям необходимо значение 1.9656 сдвинуть влево на такое количество двоичных разрядов, чтобы округленное значение отличалось бы от исходного на величину не превышающую, например, 0.1%. После выполнения операции умножения полученный результат необходимо сдвинуть вправо на такое же количество разрядов. Удобно производить масштабирование на 8 разрядов. В этом случае после умножения просто отбрасывается младший байт результата. Если значение 1.9656 сдвинуть влево на 8 разрядов, что эквивалентно умножению на число 256, получим значение 503.1936. Округляя это значение до числа 503, получим ошибку, равную 0.038%, что является приемлемой величиной.

Таким образом, формула для расчета определиться так

 

Vвх=(503*(512-N)) >>8.

 

Где символ “>>8” означает сдвиг вправо на 8 разрядов.

Произведем проверку полученной формулы. Предположим ко входу вольтметра приложено напряжение, равное 7 В. В этом случае расчетная формула должна дать значение 700 (на индикатор выводится 7.00).

Выходное напряжение микросхема DA3 составит, в этом случае, значение

 

U=- Uвх* R6/R1 =-7*0.407/1=-2.849 В.

 

Напряжение на входе АЦП составит

 

Uadc=(U+Vref)/2=(-2.849+4.096)/2=0.6235 В.

 

При оцифровке получим код

 

N=1024*Uadc/Vref=1024*0.6235/4.096=155.875=155.

 

Тогда по расчетной формуле получим

Vвх=503*(512-155)/256=179571/256=701

По результату видно, что значение входного напряжения определено с точностью 0.14%.

 

Определение текущего диапазона измерения

 

Как было сказано ранее, диапазоны измерения переключаются последовательным нажатием на кнопку SB1. Для того, чтобы показать какой именно выбран диапазон используются два светодиода и позиция запятой на семисегментном индикаторе. Рассмотрим состояние этих индикаторов на примере максимальной величины напряжений, индицируемых в каждом диапазоне. Эти состояния приведены в таблице 1.

 

Таблица 1. Состояние индикаторов диапазонов

Диапазон Индикатор «V» Индикатор «mV» Значение
10 В Включен Выключен 9,99
1 В Выключен Включен 999
100 мВ Выключен Включен 99,9

 

Из таблицы 1 видно, что состояние светодиодов и положение запятой полностью определяют масштаб измерения.

 

Алгоритм основной программы

 

Основная программа должна выполнять следующую инициализирующую последовательность действий:

- проинициализировать порты ввода/вывода;

-   установить рабочий режим для АЦП;

    установить начальный диапазон измерения 10 В;

    инициализировать счетчик переполнения таймера tcou;

    инициировать счетчик 5мс интервалов cou 01;

    инициализировать указатель адресом буфера индикации;

    разрешить прерывание для таймера Т0;

    запустить таймер;

    глобально разрешить прерывания.

В рабочем цикле программа должна выполнять следующие действия:

- ожидать метку времени 100 мс;

-   опросить состояние кнопки SB1, выработать критерий фронта ее нажатия и, в случае необходимости переключить диапазон;

    измерить с помощью АЦП входное напряжение;

    рассчитать код индицируемого значения;

    определить необходимость включения символа «минус»;

    разбить полученное значение на цифры, преобразовать их в семисегментный код и загрузить буфер индикации;

    в зависимости от текущего диапазона включить светодиоды HL1 или HL2 и установить бит для индикации запятой.

Общая блок-схема алгоритма основной программы приведена на рисунке 4.

 


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.