Высокоточные электронные весы
на основе AD7799 и ADUC847
Колм СЛАТТЕРИ Мария НАЙ
Перевод: Дмитрий ЛАРИОНОВ
В последних разработках электронных весов отмечается стремление к повышению их точности и снижению стоимости. Это вызывает потребность в недорогих микросхемах аналого-цифрового преобразования (АЦП), имеющих повышенную разрешающую способность. Требования к элементной базе для этого приложения не так очевидны, как кажется на первый взгляд. Большинство весов выдает результат измерений с точностью 1:3000—1:10 000, которая вполне соответствует параметрам 12—14-разрядных АЦП. Тем не менее, тщательный анализ показывает, что для достижения такой точности взвешивания АЦП должен выдавать как минимум 20 значащих разрядов.
Вэтой статье будут рассмотрены некоторые особенности электронных весов как аналого-цифровой электронной системы, а также связанные с этими особенностями специфика проектирования весов и пути достижения требуемых эксплуатационных параметров. Мы выясним смысл таких важных для аналого-цифровой системы понятий, как гарантированная точность преобразования, динамический диапазон преобразования, дрейф величины коэффициента усиления и фильтрация, и проведем сравнительный анализ результатов измерений, полученных от тензодатчика и обработанных с помощью отдельного АЦП и АЦП, входящего в состав периферии микроконвертера ЛБИС.
Электронные весы
как аналого-цифровая система
обработки данных
Грамотный подход к проектированию электронных весов невозможен без ясного понимания смысла следующих ключевых характеристик:
• дискретность внутреннего представления измеряемой величины;
• динамический диапазон АЦП;
• гарантированная точность;
• частота обновления данных на ЖК-инди-каторе;
• ошибка дрейфа коэффициента усиления. Поскольку результаты измерения не должны зависеть от нестабильности питания, тензодатчик и узлы аналого-цифровой обработки сигнала должны быть подключены по схеме измерения соотношений. Суть этого метода, называемого иногда «логометрическое измерение», будет изложена ниже.
Дискретность внутреннего представления
Как указывалось выше, разрешение типичных электронных весов (рис. 1) лежит в диапазоне от 1:3000 для систем среднего качества и до 1:10 000 для высококачественных весов. Например, весы, которые могут измерять груз массой до пяти килограмм с дискретностью полной шкалы 1:10 000, имеют разрешение 0,5 грамма. Это разрешение, относящееся к величине, отображаемой на ЖК-дисплее, соответствует внешней дискретности. Для того чтобы получить гарантированное значение внешней дискретности, внутреннее разрешение системы должно быть, по крайней мере, на порядок выше шага внешней дискретности. Фактически некоторые стандарты тре-
буют, чтоб шаг внутренней дискретности был в двадцать раз меньше соответствующего шага внешней дискретности. Таким образом, для приведенного выше примера внутренняя дискретность должна быть 1:200 000. Требования к динамическому диапазону АЦП
Входной диапазон современных АЦП вполне позволяет подавать на них сигнал, снятый с тензодатчика.
Действительно, если напряжение питания на тензодатчике составляет 5 В, а полный диапазон изменения выходного сигнала составляет 10 мВ, то, используя только линейный участок этого диапазона, мы получаем размах выходного сигнала 6 мВ. Применив на выходе резистивного моста инструментальный усилитель с коэффициентом усиления 128, на входе АЦП можно получить диапазон изменения входного сигнала 768 мВ. Но даже в этом случае при использовании стандартного источника опорного напряжения в 2,5 В возможности входного диапазона АЦП будут использованы только на 30%.
Предположим, что для внутреннего представления величины выходного сигнала тензодатчика, меняющегося в диапазоне 770 мВ, мы выбрали дискретность 1:200 000. Как было сказано выше, для сохранения выбранной точности в ходе обработки оцифрованных данных точность преобразования АЦП должна быть в 3-4 раза выше. Иными словами, АЦП должен обеспечивать точность 1:800 000 от полного диапазона измеряемого сигнала, или 19-20 разрядов.
Гарантированная точность Данные по шумам, содержащиеся в технических описаниях практически любого АЦП, часто становятся источником ошибок при невнимательном чтении их, поскольку следует различать среднеквадратичное значение и амплитуду шума.
Таблица 1. Среднеквадратичное значение шума (мкВ)
в зависимости от усиления и частоты отсчетов AD7799 при опорном напряжении 2,5 В
Частота отсчетов, Гц Усиление 1 Усиление 2 Усиление 4 Усиление 8 Усиление 16 Усиление 32 Усиление 64 Усиление 128
4,17 0,64 0,6 0,185 0,097 0,075 0,035 0,027 0,027
8,33 1,04 0,96 0,269 0,165 0,108 0,048 0,037 0,040
16,7 1,55 1,45 0,433 0,258 0,176 0,085 0,065 0,065
33,3 2,3 2,13 0,647 0,364 0,24 0,118 0,097 0,094
62,5 2,95 2,85 0,952 0,586 0,361 0,178 0,133 0,134
125 4,89 4,74 1,356 0,785 0,521 0,265 0,192 0,192
250 11,76 9,5 3,797 2,054 1,027 0,476 0,326 0,308
500 11,33 9,44 3,132 1,773 1,107 0,5 0,413 0,374
Таблица 2. Типовое гарантированное разрешение (в разрядах) в зависимости от усиления и частоты отсчетов AD7799 при опорном напряжении 2,5 В
Частота отсчетов, Гц Усиление 1 Усиление 2 Усиление 4 Усиление 8 Усиление 16 Усиление 32 Усиление 64 Усиление 128
4,17 23 (20,5) 22 (19,5) 22,5 (20) 22,5 (20) 22 (19,5) 22 (19,5) 21,5 (19) 20,5 (18)
8,33 22 (19,5) 21,5 (19) 22 (19,5) 22 (19,5) 21,5 (19) 21,5 (19) 21 (18,5) 20 (17,5)
16,7 21,5 (19) 20,5 (18) 21,5 (19) 21 (18,5) 21 (18,5) 21 (18,5) 20 (17,5) 19 (16,5)
33,3 21 (18,5) 20 (17,5) 21 (18,5) 20,5 (18) 20,5 (18) 20,5 (18) 19,5 (17) 18,5 (16)
62,5 20,5 (18) 19,5 (17) 20,5 (18) 20 (17,5) 19,5 (17) 19,5 (17) 19 (16,5) 18 (15,5)
125 20 (17,5) 19 (16,5) 20 (17,5) 19,5 (17) 19 (16,5) 19 (16,5) 18,5 (16) 17,5 (15)
250 18,5 (16) 18 (15,5) 18,5 (16) 18 (15,5) 18 (15,5) 18,5 (16) 18 (15,5) 17 (14,5)
500 18,5 (16) 18 (15,5) 18,5 (16) 18,5 (16) 18 (15,5) 18,5 (16) 17,5 (15) 16,5 (14)
Для использования в электронных системах взвешивания наиболее важной является амплитудная величина шума, которая определяет гарантированную точность. Гарантированная точность — это выраженная числом разрядов точность АЦП, учитывающая невозможность определить достоверность значения младших разрядов из-за влияния на результат измерения шума, внутренне присущего любому АЦП, который по своей амплитуде превосходит весовые значения этих младших разрядов.
Для количественной оценки этого шума обычно используется среднеквадратичное значение, выраженное, как правило, в единицах младшего значащего разряда. Зная среднеквадратичное значение шума, можно определить максимальный размах его амплитуды. Для случайного процесса, подчиняющегося нормальному закону распределения, которым и является внутренний шум в АЦП, максимальный размах амплитуды численно в 6,6 раза больше среднеквадратичного отклонения. В этот диапазон попадает 99% всех измеренных значений шума.
Технические описания на большинство АЦП, выпускаемых Analog Devices, содержат как среднеквадратичное значение шума, так и амплитудное значение разрядов гарантированного разрешения.
Частота отсчетов
Для электронных весов скорость работы АЦП не имеет большого значения, поскольку требования к частоте отсчетов лежат в диапазоне рабочих частот большинства АЦП. Однако от скорости работы АЦП сильно зависит величина гарантированного разрешения, о чем можно сделать вывод, проанализировав данные из таблиц 1 и 2. В таблице 2 для разных величин частоты отсчетов и коэффициента усиления даны по два значения — гарантиро-
ванная точность, вычисленная на основе среднеквадратичного отклонения, и данная в скобках гарантированная точность, вычисленная на основе амплитудного значения шума.
Например, используя опорное напряжение 2,5 В и коэффициент усиления 128 на частоте отсчетов 4,17 Гц получим разрешение 18 бит по амплитуде, тогда как на частоте отсчетов 500 Гц при том же коэффициенте усиления входного сигнала разрешение падает до 14 бит. В электронных системах измерения веса разработчик должен найти оптимальное соотношение скорости отсчетов
АЦП, которая не должна быть слишком низкой, и частотой регенерации показаний ЖК-дисплея. Для высококачественных весов типична скорость опроса АЦП 10 Гц.
Разработка электронных весов
Выбор подходящего
аналого-цифрового преобразователя
Наиболее подходящей для применения в электронных весах архитектурой АЦП признаны ХД-АЦП в связи с низким значением шума и высокой линейностью на низких частотах преобразования. Низкий уровень шума ХД-АЦП достигается за счет переноса основной части спектра шума квантования в область, выходящую за полосу частот входного сигнала в процессе передискретизации. Внеполосный шум устраняется реализованной в ХД-АЦП цифровой фильтрацией, которая применительно к таким АЦП называется децимацией. Эта особенность облегчает задачу дальнейшей цифровой обработки кода, формируемого АЦП.
Аналого-цифровой преобразователь также должен содержать малошумящий усилитель с программно регулируемым в широком диапазоне коэффициентом усиления, поскольку сигнал с тензодатчика имеет малую величину. Параметры встроенного программируемого усилителя оптимизированы для достижения низкой величины температурного дрейфа по сравнению с отдельным усилителем, имеющим внешние резисторы установки коэффициента усиления. В случае применения отдельного от АЦП усилителя сигнала с тензодатчика любые ошибки, вызванные температурным дрейфом, будут усилены.
Двоичный код на выходе АЦП Порядковый номер преобразования
Рис. 3. Характеристики внутреннего шума АЦП AD7799:
усиление — 64, частота — 4,17 Гц, опорное напряжение 2,5 В подано на вход, NOISERMS = 3,2526 МЗР, RESв|т= 19,576 разрядов
Аналого-цифровой преобразователь AD7799, разработанный специально для применения в электронных весах, имеет сравнительно низкое значение спектральной плотности шума (27 нВТц-1'2) и каскад предварительного усиления с максимальным коэффициентом 128. Тензодатчик можно подключить напрямую к АЦП AD7799.
На рис. 2 приведена рекомендуемая блок-схема макетной платы обработки сигнала для электронных весов, разработанная Analog Devices.
Схема включает в себя аналого-цифровой преобразователь AD7799, управляемый микроконвертером ADuC847. Кроме последовательного интерфейса с АЦП ADuC847 содержит 24-разрядный высокопроизводительный ХД-АЦП. Это позволит пользователю сравнить результаты тестовых взвешиваний, выполненных с помощью AD7799, с данными, обработанными внутренним АЦП микрокон-
вертера, и выбрать вариант, который наилучшим образом соответствует его требованиям. Результаты тестовых проверок Следующие графики демонстрируют некоторые результаты, полученные с помощью платы макетирования электронных весов, реализующей блок-схему на рис. 2. Все результаты получены с учетом среднеквадратичного отклонения считываемых кодов АЦП, которые, по сути, являются среднеквадратичным значением шума. Для определения числа разрядов, отражающего реальную точность преобразования, были использованы следующие обозначения и формулы:
• ЫОБЕКМ5 — стандартное отклонение. Действующее значение шума, выраженное в единицах младшего значащего разряда.
• ЫОКЕр-р = 6,6хЫОКЕКМ5 — амплитуда шума, выраженная в единицах младшего значащего разряда.
• ЫОКЕШТ = %2(ЫОКЕр-р) =
= ^2(6,6хЫОКЕКМ5) — амплитуда шума, выраженная эффективным числом разрядов.
• ИЕ8В1Т = 24 - ЫОКЕшт =
= 24 - ^2(6,6хКМ8ШВЕ) — гарантированная точность преобразования АЦП, выраженная эффективным числом разрядов. На рис. 3, 4 приведены результаты измерений входного сигнала, в качестве которого было выбрано опорное напряжение, поданное на аналоговые входы АЦП. Диапазон среднеквадратичного отклонения измеряемого опорного напряжения составляет 3,25 единиц младшего значащего разряда. Умножая его на коэффициент 6,6, получаем значение размаха амплитуды шума 21,65 единиц младшего значащего разряда. Преобразование размаха амплитуды шума в число разрядов дает 4,42 разряда. Таким образом, для 24-разряд-
15
о.
m
S
о -Ю
-15
Двоичный код на выходе АЦП
1000 2000 3000 4000
Порядковый номер преобразования
5000
Р-РШРиТ ЧОІБЕ = 6,6 х 1*М8 ШОІ8Е /
Л
Частота
появления
Действующая (среднеквадратичная) уг величина шума
К
п—4 п—3 п—2 п—1 п п+1 п+2 п+3 п+4
Двоичный код на выходе АЦП
Рис. 5. Нормальный закон распределения кодов на выходе АЦП при постоянном сигнале на входе
Коды,
поступающие из АЦП -
СКОЛЬЗЯЩЕЕ ОКНО
отсчет 1
отсчет 3
отсчет N
Ї
Удаление наибольшего и наименьшего значений
отсчет 1 отсчет 2 отсчет 3 г отсчет N-2
среднее
средняя величина
Рис. 6. Блок-схема алгоритма фильтрации по методу скользящего среднего
ного АЦП гарантированная точность составляет 19,4 разряда. Такой результат означает, что тензодатчик сам по себе вносит в суммарную погрешность только 0,2 разряда, в то время как основным источником шума является АЦП.
Способы улучшения результатов
преобразования АЦП
Высокоточный ЛБ7799 способен выдавать результат в 24-разрядном коде. Тем не менее, как было показано выше, на сто процентов достоверными считаются не все разряды, а только те, вес которых выше величины среднеквадратичного или внутреннего шума АЦП. Эта гарантированная точность зависит от скорости отсчетов и используемой установки коэффициента усиления.
Однако случайный характер распределения измеренных значений позволяет, статистически обработав несколько результатов, отбросить наиболее сильно отличающиеся от математического ожидания измеряемого параметра, тем самым уменьшив шум и увеличив гарантированную точность. С этой целью в программный код ЛБиС847 был заложен усредняющий алгоритм.
На рис. 5 показана типичная диаграмма, полученная для ХД-АЦП при заземленном аналоговом входе.
Теоретически, в этом случае код на выходе АЦП должен быть постоянным. В реальности под действием внутренних шумов выходной код будет принимать несколько значений, распределенных вокруг математического ожидания величины, которым является код входного аналогового сигнала. По природе этот шум можно разделить на тепловую составляющую, вызванную подвижностью носителей заряда в полупроводнике, и шум квантования, внутренне присущий любому АЦП. Это распределение в основном имеет вид нормального распределения по закону Гаусса.
Усредняющий фильтр позволяет эффективно бороться с «белым» шумом (шум с равномерно распределенной по спектру мощностью). При этом такой фильтр сохраняет скорость нарастания выходного сигнала. Программное обеспечение для проекта, рассматриваемого здесь, использует алгоритм скользящего среднего. На рис. 6 приведена обобщенная блок-схема этого алгоритма.
Фильтр скользящего среднего обрабатывает значения нескольких отсчетов, для того чтобы получить соответствующее значение выходного сигнала. Входные данные фильтра берутся прямо с выхода АЦП. Обработав М последних отсчетов, фильтр удаляет наибольшее и наименьшее значения, которые с наибольшей вероятностью могут оказаться ложными выбросами. На основе оставшихся М-2 отсчетов формируются выходные значения фильтра в соответствии с выражением:
, м-з
уш = ^£х[1+л.
)=0
При использовании метода скользящего среднего скорость выходных данных фильтра такая же, как и скорость поступления отсчетов на вход фильтра с АЦП. Такой фильтр называется фильтром первого порядка. Для более высоких скоростей применяются усредняющие фильтры второго порядка, которые позволяют избежать искажения выходного сигнала по отношению к входному. В этом случае результат с выхода одного фильтра скользящего среднего поступает на вход второго фильтра скользящего среднего для
8447745
8447746 8447747
Код измеряемой величины
8447748
1,5
1.0
3? 0,5
3 о
£ -0,5
! -1,0
-1,5
-2,0
■П 1
и
и
50 100 150 200 250
Порядковый номер преобразования
300
дальнейшего улучшения результата фильтрации.
На рис. 7 показаны данные, снятые с ЛБ7799 после обработки их фильтром.
Улучшение гарантированной точности составляет величину порядка 2,3 разряда. Единственный недостаток этого способа — большое время установки вследствие конвейерной задержки, вызванной накоплением данных для усреднения.
Улучшение времени реакции
электронных весов
Основной алгоритм может уменьшить влияние шума на результат измерения, но возникают трудности, когда нагрузка на тензодатчик меняется. После того как измеряемый вес изменился, выход тензодатчика должен перейти в новое установившееся значение за очень короткое время.
В соответствии с логикой работы алгоритма фильтр может выдать наиболее правильный результат только после того, как данные на его входе обновятся N раз. Время реакции ограничено числом шагов усреднения. Чтобы судить о том, что вес изменился или остался прежним, требуется специальный алгоритм. Блок-схема такого алгоритма представлена на рис. 8.
В алгоритме использована двухшаговая процедура оценки достоверности принятого результата, позволяющая избежать приема ложных данных. Когда разности между каждым из двух последовательно принятых отсчетов и выходом фильтра превысят порог, считается, что вес изменился. В этом случае все N регистров, соответствующих длине фильтра, будут заполнены одним и тем же новым значением, для того чтобы проскочить как можно быстрее переходный период, в течение которого показания тензодатчика очень быстро меняются после изменения на него нагрузки.
Тензодатчик, в свою очередь, также имеет время установки. Чтобы скомпенсировать
нестабильность его показаний в период, когда обнаружено изменение нагрузки, все содержимое в скользящем окне будет заменено на последние данные, поступающие из АЦП в течение N последовательных циклов, чтобы пропустить время восстановления. После того, как эти N последовательных циклов пройдут, усреднение будет возобновлено.
Сравнение производительности
ADuC847 иAD7799
Для недорогих проектов электронных весов микроконвертер ЛБиС847 со встроенным АЦП в составе периферии может стать осно-
вой однокристального схемотехнического решения. Конфигурация ЛБиС847 содержит 24-разрядный ХД-АЦП и микроконтроллер-ное ядро архитектуры 8052. Сигнал на встроенный АЦП поступает с усилителя с программируемым коэффициентом усиления до 128 с дифференциальными аналоговыми входами. Предусмотрен вход для подачи внешнего опорного напряжения. Программный код хранится в 62-килобайтной флэш-памяти программ, а наиболее важные данные — в 4-килобайтной флэш-памяти данных. Приведенные на рис. 9 и 10 графики позволят
20
15
т
£
8388499 8388504 8388509 8388514 8388519 8388524
Код измеряемой величины на выходе АЦП
-10
-15
1000 2000 3000 4000
Порядковый номер преобразования
5000
Є 2
о 1
о
8387761 8387861 8387961 8388061 8388161
Код измеряемой величины на выходе АЦП
-250
-300
50 100 150 200 250
Порядковый номер преобразования
300
Рис. 10. Характеристики внутреннего шума АЦП микроконвертера ADuC847:
усиление — 64, частота — 5,35 Гц, опорное напряжение — 2,5 В, на вход подано опорное напряжение, NOISERмs = 74,65 единиц МЗР, RESв|т= 15 разрядов
сравнить параметры АЦП, встроенного в ЛБиС847, и отдельного ЛБ7799, имеющего малый уровень внутреннего шума.
Условия для обоих тестов были выбраны одинаковыми: на аналоговые входы подано опорное напряжение, а коэффициент усиления установлен равным 64. Как и ожидалось, ЛБ7799 имеет более низкий уровень шума и, следовательно, лучше подходит для применения в высокоточных весах, в то время как ЛБиС847 лучше использовать в менее точных устройствах.
На что нужно обратить внимание при разработке электронных весов
Пропорциональный принцип подачи
опорного и питающего напряжений
Для более качественного измерения веса можно применить пропорциональный (логометрический) способ подачи опорного и питающего напряжений. Сущность этого подхода показана на примере типичной блок-схемы, приведенной на рис. 2.
Один и тот же источник использован и для подачи опорного напряжения на АЦП, и для
питания мостового тензодатчика. Точность выходного сигнала тензодатчика определяется напряжением питания моста. Выходное напряжение пропорционально напряжению питания, и любой дрейф этого напряжения определяет дрейф параметров выходного сигнала.
Так как код на выходе АЦП тоже пропорционален опорному напряжению, то, используя одно напряжение и для возбуждения мостового датчика, и как опорное напряжение АЦП, мы при правильной калибровке исключим влияние дрейфа этого напряжения на величину выходного кода. Этот метод также позволяет избавиться от низкочастотного шума на выходе мостового тензодатчика. Для этой же цели можно использовать ИС-фильтр.
Трассировка печатной платы
Грамотная трассировка печатной платы может существенно снизить уровень шумов на входах высокоточного АЦП. Особое внимание следует обратить на заземление и гальваническую развязку источника питания. В данном демонстрационном проекте слой металлизации заземления разделен на цифровую и аналоговую части.
Микросхема АЦП установлена над областью, разделяющей две эти части. Для соединения всех проводников заземления под корпусом ЛБ7799 используется одно контактное отверстие. Контакт GND ЛБ7799 необходимо соединить со слоем «аналоговой земли».
В этом демонстрационном проекте используется всего один источник питания, который используется для подачи питающего напряжения как на аналоговую, так и на цифровую части, разделенные ферритовой вставкой. Ферритовая вставка имеет низкое сопротивление на низкой частоте и высокое — на высокой частоте. Таким образом, она блокирует прохождение высокочастотных шумов в металлизацию заземления из цифровой части. Выбирая ферритовую вставку, следует изучить поведение ее сопротивления в зависимости от частоты. В данном проекте использована ферритовая вставка сопротивлением 600 Ом в корпусе для поверхностного монтажа. И, наконец, между входами питания AVDD, DVDD и нулевой шины использованы конденсаторы емкостью 0,1 и 10 мкФ. Они должны быть расположены как можно ближе к АЦП. ■