Малогабаритный цифровой вольтметр переменного тока схема. Простой самодельный вольтметр. Преобразователь напряжения LT1308

Полы и напольные покрытия 02.07.2020
Полы и напольные покрытия

Автомобильные , лабораторные источники питания, могут иметь токи, которые достигают до 20 ампер и более. Ясно, что пару ампер можно легко померять обычным дешёвым мультиметром, а как быть с 10, 15, 20 и более ампер? Ведь даже на не очень больших нагрузках встроенные в амперметры шунтирующие резисторы в течение длительного времени замера, иногда даже часов, могут перегреться и в худшем случае поплавится.

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

Электрическая схема мощного амперметра

Схема, как вы можете видеть, очень простая. Её работа уже испытана многими производителями, и большинство промышленных амперметров работают таким же образом. Например, вот эта схема тоже использует данный принцип.


Рисунок платы мощного амперметра

Особенность заключается в том, что в данном случае используется шунт (R1) с сопротивлением очень низкого значения - 0.01 Ом 1% 20W - это дает возможность рассеять совсем немного тепла.

Работа схемы амперметра

Работа схемы довольно проста, при прохождении определенной тока через R1 будет падение напряжения на нём, его можно измерить, для этого напряжение усиливается операционным усилителем OP1 и поступает далее на выход через контакт 6 на внешний вольтметр, включенный на пределе 2V.


Настройки будут заключаться в установке ноля на выходе амперметра при отсутствии тока, и в калибровке, сравнивая его с другим, образцовым инструментом для замера тока. Питается амперметр стабильным симметричным напряжением. Например от 2-х батареек по 9 вольт. Для измерения тока подключите датчик к линии и мультиметр в диапазоне 2V - смотрите показания. 2 вольта будет соответствовать току 20 ампер.

С помощью мультиметра и нагрузки, например небольшой лампочки или сопротивления, мы будем измерять ток нагрузки. Подключим амперметр и получаем показания тока с помощью мультиметра. Рекомендуем выполнить несколько тестов с разными нагрузками, чтобы сравнить показания с эталонным амперметром и убедиться, что все работает правильно. Скачать файл печатной латы можете .

Рассмотрены не сложные схемы цифровых вольтметра и амперметра, построенных без использования микроконтроллеров на микросхемах СА3162, КР514ИД2. Обычно, у хорошего лабораторного блока питания есть встроенные приборы, - вольтметр и амперметр. Вольтметр позволяет точно установить выходное напряжение, а амперметр покажет ток через нагрузку.

В старых лабораторных блоках питания были стрелочные индикаторы, но сейчас должны быть цифровые. Сейчас радиолюбители чаще всего делают такие приборы на основе микроконтроллера или микросхем АЦП вроде КР572ПВ2, КР572ПВ5.

Микросхема СА3162Е

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

Микросхема СА3162Е представляет собой АЦП с максимальным входным напряжением 999 mV (при этом показания «999») и логической схемой, которая выдает сведения о результате измерения в виде трех поочередно меняющихся двоично-десятичных четырехразрядных кодов на параллельном выходе и трех выходах для опроса разрядов схемы динамической индикации.

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

Тип индикаторов может быть любым, -светодиодные, люминесцентные, газоразрядные, жидкокристаллические, все зависит от схемы выходного узла на дешифраторе и ключах. Здесь используется светодиодная индикация на табло из трех семисегментных индикаторов с общими анодами.

Индикаторые включены по схеме динамической матрицы, то есть, все их сегментные (катодные) выводы включены параллельно. А для опроса, то есть, последовательного переключения, используются общие анодные выводы.

Принципиальная схема вольтметра

Теперь ближе к схеме. На рисунке 1 показана схема вольтметра, измеряющего напряжение от 0 до 100V (0...99,9V). Измеряемое напряжение поступает на выводы 11-10 (вход) микросхемы D1 через делитель на резисторах R1-R3.

Конденсатор СЗ исключает влияние помех на результат измерения. Резистором R4 устанавливают показания прибора на ноль, при отсутствии входного напряжения А резистором R5 выставляют предел измерения так чтобы результат измерения соответствовал реальному, то есть, можно сказать, им калибруют прибор.

Рис. 1. Принципиальная схема цифрового вольтметра до 100В на микросхемах СА3162, КР514ИД2.

Теперь о выходах микросхемы. Логическая часть СА3162Е построена по логике ТТЛ, а выходы еще и с открытыми коллекторами. На выходах «1-2-4-8» формируется двоичнодесятичный код, который периодически сменяется, обеспечивая последовательную передачу данных о трех разрядах результата измерения.

Если используется дешифратор ТТЛ, как, например, КР514ИД2, то его входы непосредственно подключаются к данным входам D1. Если же будет применен дешифратор логики КМОП или МОП, то его входы будет необходимо подтянуть к плюсу при помощи резисторов. Это нужно будет сделать, например, если вместо КР514ИД2 будет использован дешифратор К176ИД2 или CD4056.

Выходы дешифратора D2 через токоограничивающие резисторы R7-R13 подключены к сегментным выводам светодиодных индикаторов Н1-НЗ. Одноименные сегментные выводы всех трех индикаторов соединены вместе. Для опроса индикаторов используются транзисторные ключи VT1-VT3, на базы которых подаются команды с выходов Н1-НЗ микросхемы D1.

Эти выводы тоже сделаны по схеме с открытым коллектором. Активный ноль, поэтому используются транзисторы структуры р-п-р.

Принципиальная схема амперметра

Схема амперметра показана на рисунке 2. Схема практически такая же, за исключением входа. Здесь вместо делителя стоит шунт на пятиваттном резисторе R2 сопротивлением 0,1 От. При таком шунте прибор измеряет ток до 10А (0...9.99А). Установка на ноль и калибровка, как и в первой схеме, осуществляется резисторами R4 и R5.

Рис. 2. Принципиальная схема цифрового амперметра до 10А и более на микросхемах СА3162, КР514ИД2.

Выбрав другие делители и шунты можно задать другие пределы измерения, например, 0...9.99V, 0...999mA, 0...999V, 0...99.9А, это зависит от выходных параметров того лабораторного блока питания, в который будут установлены эти индикаторы. Так же, на основе данных схем можно сделать и самостоятельный измерительный прибор для измерения напряжения и тока (настольный мультиметр).

При этом нужно учесть, что даже используя жидкокристаллические индикаторы прибор будет потреблять существенный ток, так как логическая часть СА3162Е построена по ТТЛ-логике. Поэтому, хороший прибор с автономным питанием вряд ли получится. А вот автомобильный вольтметр (рис.4) выйдет неплохой.

Питаются приборы постоянным стабилизированным напряжением 5V. В источнике питания, в который будут они установлены, необходимо предусмотреть наличие такого напряжения при токе не ниже 150mA.

Подключение прибора

На рисунке 3 показана схема подключения измерителей в лабораторном источнике.

Рис. 3. Схема подключения измерителей в лабораторном источнике.

Рис.4. Самодельный автомобильный вольтметр на микросхемах.

Детали

Пожалуй, самое труднодоставаемое - это микросхемы СА3162Е. Из аналогов мне известна только NTE2054. Возможно есть и другие аналоги, о которых мне не известно.

С остальным значительно проще. Как уже сказано, выходную схему можно сделать на любом дешифраторе и соответствующих индикаторах. Например, если индикаторы будут с общим катодом, то нужно КР514ИД2 заменить на КР514ИД1 (цоколевка такая же), а транзисторы VТ1-VТЗ перетащить вниз, подсоединив их коллектора к минусу питания, а эмиттеры к общим катодам индикаторов. Можно использовать дешифраторы КМОП-логики, подтянув их входы к плюсу питания при помощи резисторов.

Налаживание

В общем-то оно совсем несложное. Начнем с вольтметра. Сначала замкнем между собой выводы 10 и 11 D1, и подстройкой R4 выставим нулевые показания. Затем, убираем перемычку, замыкающую выводы 11-10 и подключаем к клеммам «нагрузка» образцовый прибор, например, мультиметр.

Регулируя напряжение на выходе источника, резистором R5 настраиваем калибровку прибора так, чтобы его показания совпадали с показаниями мультиметра. Далее, налаживаем амперметр. Сначала, не подключая нагрузку, регулировкой резистора R5 устанавливаем его показания на ноль. Теперь потребуется постоянный резистор сопротивлением 20 От и мощностью не ниже 5W.

Устанавливаем на блоке питания напряжение 10V и подключаем этот резистор в качестве нагрузки. Подстраиваем R5 так чтобы амперметр показал 0,50 А.

Можно выполнить калибровку и по образцовому амперметру, но мне показалось удобнее с резистором, хотя конечно на качество калибровки очень влияет погрешность сопротивления резистора.

По этой же схеме можно сделать и автомобильный вольтметр. Схема такого прибора показана на рисунке 4. Схема от показанной на рисунке 1 отличается только входом и схемой питания. Этот прибор теперь питается от измеряемого напряжения, то есть, измеряет напряжение, поступающее на него как питающее.

Напряжение от бортовой сети автомобиля через делитель R1-R2-R3 поступает на вход микросхемы D1. Параметры этого делителя такие же как в схеме на рисунке 1, то есть для измерения в пределах 0...99.9V.

Но в автомобиле напряжение редко бывает более 18V (больше 14,5V уже неисправность). И редко опускается ниже 6V, разве только падает до нуля при полном отключении. Поэтому прибор реально работает в интервале 7...16V. Питание 5V формируется из того же источника, с помощью стабилизатора А1.

Цифровой ВОЛЬТМЕТР и АМПЕРМЕТР для лабораторного блока питания (однополярного и двухполярного) на специализированной микросхеме ICL7107

Сложилось так, что возникла необходимость в изготовлении амперметра и вольтметра для лабораторных блоков питания. Чтобы решить проблему решил порыться в Интернете и найти легко повторяемую схему с оптимальным соотношением цена-качество. Были мысли с нуля изготовить амперметр и вольтметр на базе ЖКИ и микроконтроллера (МК). А сам себе думаю, если это будет микроконтроллер, то не каждый сможет повторить конструкцию - ведь необходим программатор, а покупать или делать программатор для программирования один-два раза даже мне не сильно хочется. Да и людям, наверное, тоже не захочется. Кроме того, все микроконтроллеры (с которыми я имел дело) измеряют входной сигнал положительной полярности относительно общего провода. Если нужно мерять отрицательные значения, то придётся иметь дело с дополнительными операционными усилителями. Как-то напрягло всё это! Глаз упал на широко распространенную и доступную микросхему ICL7107. Её стоимость оказалась в два раза меньше стоимости МК. Стоимость ЖКИ 2х8 символов оказалась в три раза больше стоимости необходимого количества семисегментных светодиодных индикаторов. Да и свечение светодиодных индикаторов мне нравится больше чем ЖКИ. Можно использовать и аналогичную ещё более дешевую м/сх отечественного производства КР572ПВ2. Нашёл в Интернете схемы и вперёд проверять работоспособность! Ошибка в схеме была, но исправил. Оказалось, что при проведении калибровки показаний АЦП м/сх довольно точно работает и точность показаний вполне удовлетворит даже самого придирчивого пользователя. Главное подстроечный резистор взять многооборотный хорошего качества. Счёт очень быстрый - без тормозов. Есть существенный недостаток - двухполярное питание ±5В, но этот вопрос легко решаем при помощи отдельного сетевого блока питания на маломощном трансформаторе с положительным и отрицательным стабилизаторами (схему приведу позже). Для получения -5В можно применить специализированную микросхему ICL7660 (видна на фото вверху страницы) - классная штука! Но у неё адекватная цена только в SMD корпусе, а в обычном DIP мне показалась дороговатой, да и купить её гораздо сложнее нежели обычные линейные стабилизаторы - проще минусовой стабилизатор сделать. Оказалось, что ICL7107 прекрасно измеряет и положительные и отрицательные напряжения относительно общего провода, да ещё и знак минус при этом высвечивается в первом разряде. Вообще то в первом разряде используется только знак "минус" и цифра "1" для индикации полярности и значения сотни Вольт. Если для лабораторного блока питания индикация напряжения 100В не нужна и полярность напряжения индицировать не нужно, поскольку на лицевой панели БП и так всё должно быть написано, то первый индикатор можно вообще не устанавливать. Для амперметра ситуация таже, но только "1" в первом разряде будет указывать на достижение тока в десять Ампер. Если БП на ток 2...5А, то первый индикатор можно не ставить и сэкономить. Короче говоря, это только мои личные рассуждения. Схемы очень простые и начинают работать сразу. Нужно только по контрольному вольтметру выставить правильные показания при помощи подстроечного резистора. Для калибровки амперметра придётся подключить к БП нагрузку и по контрольному амперметру выставить правильные показания на индикаторах и всё! Для питания амперметров в схеме двухполярных блоков питания оказалось, что лучше всего использовать отдельный небольшой сетевой трансформатор и стабилизаторы с общим проводом изолированным от общего провода самого блока питания. При этом входа амперметров можно подключать к измерительным шунтам "как попало" - м/сх будет измерять как "положительные", так и "отрицательные" падения напряжения на измерительных шунтах установленных в любом участке схемы БП. Особенно это важно тогда, когда оба стабилизатора в двухполярном блоке питания уже объединены по общему проводу без измерительных шунтов. Почему я хочу сделать отдельный такой себе маломощный блок питания для измерителей? Ну ещё потому, что если питать измерители от трансформатора самого блока питания, то при получении напряжения 5 В из 35 В нужно будет устанавливать дополнительный радиатор который будет тоже выделять много тепла, поэтому пускай лучше небольшие герметичные трансформаторы на небольшой платке. А в случае БП на напряжение больше чем 35 В, скажем 50 В, придётся дополнительные меры принимать, чтобы обеспечить для пяти Вольтовых стабилизаторов на входе напряжение не более 35 В. Можно применить высоковольтные импульсные стабилизаторы с низким тепловыделением, но при этом возрастает стоимость. Короче говоря, как не одно, так другое;-)

Схема вольтметра:


Схема амперметра:


Фотовид печатной платы вольтметра и амперметра (размер платы 122х41 мм) со светодиодными семисегментными индикаторами типа E10561 с цифрами высотой 14,2 мм. Питание вольтметра и амперметра раздельное! Это необходимо для обеспечения возможности измерения токов в двухполярном источнике питания. Шунт амперметра устанавливается отдельно - цементный резистор 0,1 Ом/5 Вт.

Схема самого простого сетевого блока питания для совместного и раздельного питания вольтметров и каждого из амперметров (может быть идея ерундовая, но рабочая):

И фотовид печатных плат с применением компактных герметичных трансформаторов 1,2...2 Вт (размер платы 85х68 мм):


Схема преобразователя полярности напряжения (как вариант получения -5 В из +5 В):


Видео работы вольтметра

Видео работы амперметра

Наборы и платы делать не буду, но если кого-нибудь заинтересовала данная конструкция, то чертежи печатных плат можете скачать .

Всем спасибо за уделённое внимание! Удачи, мира и добра Вашему дому! 73!

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

Какие типы бывают?

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

Схема цифрового вольтметра

Обычная схема цифрового вольтметра основана на дискретных величинах. Важную роль в ней играет входное устройство. При этом управляющий прибор взаимодействует с цифровым отсчетным блоком через десятичные числа. Особенность входного устройства заключается в высоком делителе напряжения. Если работа сводится к определению переменного тока, то оно работает как обычный преобразователь. При этом на выходе получается постоянный ток.

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

Цифровые преобразователи вольтметров

На сегодняшний день существует множество различных типов преобразователей, которые устанавливаются в вольтметры. Наиболее распространенными считаются времяимпульсные модели. Дополнительно существуют кодоимпульсные преобразователи.

Отличительной их особенностью от прочих устройств является возможность заниматься поразрядным уравновешиванием. В это время частотно-импульсные модели такой привилегии лишены. Однако с их помощью можно проводить пространственное кодирование, а это в некоторых исследованиях может быть крайне важным. Особенно это касается замеров напряжения в закрытых цепях электричества.

Самодельные вольтметры

Вольтметр (цифровой) своими руками сделать можно. В первую очередь подбирают детектор, который предназначен для определения средневыпрямленного значения. При этом устанавливается он, как правило, рядом с преобразователем переменного тока. Минимум-напряжение детектором определяется от 100 МВ, однако некоторые модели способны распознавать силу тока до 1000 МВ. Дополнительно, для того чтобы сделать вольтметр (цифровой) своими руками, потребуется транзистор, который влияет на чувствительность устройства, а именно его порог. Связан он с уровнем квантовой амплитуды напряжения. Еще на чувствительность влияет дискретность прибора. Если напряжение составляет менее 100 МВ, то уровень сопротивления непременно растет и может составить, в конечном счете, 10 Ом.

Сопротивление электрической схемы

Сопротивление, которое образуется в системе, зависит от количества знаков в цепи. В данном случае следует понимать, что шкалы вольтметров могут сильно отличаться. Отношение измеряемой величины прямо пропорционально напряжению. Дополнительно нужно учитывать помехозащищенность, которая также влияет на сопротивление устройства. Тут следует отметить, что именно цифровой встраиваемый вольтметр отличается большими амплитудами.

В данном случае это оказывает большое влияние на возникновения помех в цепи. Наиболее частой причиной резкого скачка считают неправильную работу блока питания. При этом средняя частота устройства может нарушаться. Таким образом, на входе в цепи имелось, к примеру, 50 Гц, а на выходе получилось 10 Гц. Как результат, в соединительном проводе образуется сопротивление. Постепенно это приводит к утечке, а происходит это в месте, где находятся клеммы. В данном случае проблема может быть решена путем заземления этого участка. В итоге помехи переходят на входную цепь и частота в приборе стабилизируется.

Погрешности измерений

Погрешность измерений вольтметра напрямую связана с При этом следует учитывать напряжение наводки на выходе. Чаще всего помехи общего вида изменяют параметры сопротивления. В результате данный показатель может значительно уменьшиться. На сегодняшний день имеется три проверенных способа борьбы с разного рода помехами в вольтметрах. Первый прием заключается в применении проводов экранированного типа. При этом вход электрической цепи очень важно изолировать от оборудования.

Второй способ заключается в наличие интегрирующего элемента. В результате период помехи можно значительно уменьшить. Наконец, последним приемом принято считать установку специальных фильтров на вольтметры. Основной их задачей является повышение сопротивления в электрической цепи. В результате амплитуда помехи на выходе после блока значительно уменьшается. Также следует отметить, что многие системы преобразователей способны значительно увеличить скорость измерений. Однако при повышении производительности снижается точность регистрации данных. В итоге такие преобразователи могут быть причиной больших помех в электрической цепи.

Кодоимпульсные вольтметры

Кодоимплульсный цифровой вольтметр переменного тока работает по принципу поразрядного уравновешивания. При этом к данным устройствам применим метод компенсационного измерения напряжения. Процесс расчета в свою очередь осуществляется при помощи прецизионного делителя. Дополнительно рассчитывается опорное напряжение в электрической цепи.

В целом, компенсированный ток имеет несколько уровней. Согласно квантовой теории, исчисления производят в двоично-десятичной системе. Если использовать двухразрядный цифровой вольтметр для автомобиля, то напряжение распознается до 100 В. Весь процесс при этом осуществляется по командам. Особого внимания в работе заслуживает сравнение напряжений. Основано оно на принципе управляющих импульсов, а происходят они в системе через определенные интервалы времени. При этом есть возможность проводить переключение сопротивления одного делителя.

В результате на выходе происходит изменение предельной частоты. Одновременно есть возможность подключать отдельное устройство для сравнения показателей. Главное, не забывать учитывать размер делителя в звене. При этом сигнал устройства может не поступать. В итоге данные можно сравнить по положениям ключей. По сути, они являются кодом, который считывается вольтметром.

Упрощенная схема кодоимпульсного вольтметра-амперметра

Цифровой вольтметр-амперметр постоянного тока схематически можно представить в виде взаимодействующих элементов электрической цепи. Наиболее важным является входное устройство, которое играет роль источника опорного напряжения. Таким образом, прецизионный делитель связан с прибором сравнения.

В свою очередь, механизмы цифрового отсчета показывают сопротивление электрической цепи. Далее управляющие устройства способны напрямую взаимодействовать с входным прибором и проводить сравнения показателей напряжения сети. Наиболее просто процесс измерения можно представить в виде весов. При этом в системе часто бывают сбои. Связаны они по большей мере из-за неправильного сравнения.

Точность измерений

Точность измерений вольтметра-амперметра напрямую связана со стабильностью опорного напряжения. Дополнительно должен быть учтен порог прецизионного делителя во входном устройстве. Защита от помех в цепочке также берется во внимание. Для этого в самом начале электрической цепи имеется фильтр. В результате качество проведений лабораторных работ можно значительно улучшить.

Вольтметры с времяимпульсными типами преобразователей

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

При этом счетные импульсы способны значительно сократиться. На погрешность измерения вольтметров влияет множество факторов. В первую очередь это касается дискретизации сигнала. Также проблема может заключаться в нестабильности частоты. Связана она с порогом чувствительности электрической цепи. В результате сравнение напряжения устройством осуществляется нелинейно.

Простая схема вольтметра-амперметра с преобразователем

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

Непосредственно информация поступает на вход вольтметра-амперметра. На этом этапе осуществляется процесс сравнения, а когда возникает импульс, то система фиксирует нулевой уровень. Непосредственно сигнал в вольтметре-амперметре попадает на триггер, и в результате на выходе получается положительное напряжение. Возвращается импульс в исходное положение только после проведения устройством сравнения. При этом учитываются любые изменения предельной частоты, которые сформировались в данном промежутке времени. Также принимается во внимание коэффициент преобразования. Рассчитывается он исходя из показателя силы сигнала.

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

Вольтметры двойного интегрирования

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

Погрешности дискретизации в вольтметрах не учитываются. Таким образом, могут возникнуть моменты несовпадений счетных импульсов. В результате на начало и конец интервала один параметр может сильно отличаться. Однако, как правило, погрешность не является критичной из-за работы преобразователя.

Особая проблема состоит именно в шумовой помехе. В результате она способна значительно искривить показатель напряжения. В конечном счете, это находит свое отображение в величине импульса, а именно его длительности. Таким образом, среди цифровых вольтметров данные типы не пользуются большой популярностью.

В сегодняшнем занятии мы рассмотрим вариант изготовления самодельного цифрового вольтметра для измерения напряжения на одиночном элементе питания. Пределы измерения напряжения 1-4.5 Вольт. Внешнее дополнительное питание, кроме измеряемого, не требуется.

25 лет назад у меня был кассетный плеер. Питал я его Ni-Cd аккумуляторами НКГЦ-0.45 ёмкостью 450мА/ч. Чтобы в дороге определять какие аккумуляторы уже сели, а какие ещё поработают было сделано простое устройство.


Батарейно-аккумуляторный диагностическо-измерительный комплекс.


Он собран по схеме преобразователя напряжения на двух транзисторах. На выход включен светодиод. Параллельно входу, подключаемому к аккумулятору включен резистор, намотанный из нихрома. Таким образом, если аккумулятор способен отдавать около 200мА, то светодиод загорается.

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

Итак, схема проектируемого устройства.

Используемые детали:
1. OLED дисплей с диагональю 0.91 дюйм и разрешением 128x32 (около $3)
2. Микроконтроллер ATtiny85 в корпусе SOIC (около $1)
3. Boost DC/DC Converter LT1308 от компании Linear Technology. ($2.74 за 5 штук)
4. Конденсаторы керамические, выпаяны из неисправной видеокарты.
5. Индуктивность COILTRONICS CTX5-1 или COILCRAFT DO3316-472.
6. Диод Шоттки, я использовал MBR0520 (0.5A, 20V)

Преобразователь напряжения LT1308

Характеристики из описания LT1308:

Обещают 300мА 3.3В с одного элемента NiCd, нам подходит. Выходное напряжение устанавливается делителем, резисторы 330кОм и 120кОм, при указанных номиналах выходное напряжение преобразователя получается около 4.5В. Выходное напряжение выбиралось достаточным для питания контроллера и дисплея, чуть выше максимального измеряемого напряжения на литиевом аккумуляторе.

Для раскрытия всего потенциала преобразователя напряжения нужна индуктивность, которой у меня нет (см. пункт 5 выше), поэтому собираемый мной преобразователь имеет заведомо худшие параметры. Но и нагрузка у меня совсем небольшая. При подключении реальной нагрузки из микроконтроллера и OLED дисплея получается такая нагрузочная таблица.

Прекрасно, идём дальше.

Особенности измерения напряжения микроконтроллером

Микроконтроллер ATtiny85 имеет АЦП разрядностью 10 бит. Поэтому считываемый уровень лежит в диапазоне 0-1023 (2^10). Для перевода в напряжение используется код:
float Vcc = 5.0; int value = analogRead(4); / читаем показания с А2 float volt = (value / 1023.0) * Vcc;
Т.е. предполагается, что напряжение питания строго 5В. Если напряжение питания микроконтроллера изменится, то измеренное напряжение тоже изменится. Поэтому нам нужно узнать точное значение напряжения питания!
Многие чипы AVR включая серию ATmega и ATtiny обеспечивают средства для измерения внутреннего опорного напряжения. Путем измерения внутреннего опорного напряжения, мы можем определить значение Vcc. Вот как:
  • Установить источник опорного напряжения analogReference(INTERNAL).
  • Снять показания АЦП для внутреннего источника 1.1 В.
  • Расчитать значение Vcc основываясь на измерении 1.1 В по формуле:
Vcc * (Показания АЦП) / 1023 = 1.1 В
Из чего следует:
Vcc = 1.1 В * 1023 / (Показания АЦП)
На просторах интернета была найдена функция для измерения напряжения питания контроллера:

Функция readVcc()

long readVcc() { // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high<<8) | low; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts }


Для вывода на экран используется библиотека Tiny4kOLED с включенным шрифтом 16х32. Из шрифта, для уменьшения размера библиотеки, удалены 2 не используемых символа (, и -) и нарисована отсутствующая буква «В». Код библиотеки соответственно изменен.
Так-же для стабилизации выводимых измерений использована функция с , спасибо автору dimax , работает хорошо.

Код я отлаживал на платке Digispark в среде arduino IDE. После чего ATtiny85 была выпаяна и припаяна на макетку. Собираем макетную плату, подстроечным резистором выставляем напряжение на выходе преобразователя (сначала я выставлял на выходе 5В, при этом ток на входе преобразователя был под 170мА, уменьшил напряжение до 4.5В, ток снизился до 100мА). Когда ATtiny85 припаяна на макетку код приходится заливать с помощью программатора, у меня обычный USBash ISP.


Код программы

// НАСТРОЙКА /* * Ставим #define NASTROYKA 1 * Компилируем, заливаем код, запускаем, запоминаем значение на дисплее, например 5741 * Измеряем мультиметром реальное напряжение на выходе преобразователя, например 4979 (это в мВ) * Считаем (4979/5741)*1.1=0.953997 * Считаем 0.953997*1023*1000 = 975939 * Записываем результат в строку 100 в виде result = 975939L * Ставим #define NASTROYKA 0 * Компилируем, заливаем код, запускаем, готово. */ #define NASTROYKA 0 #include #include long Vcc; float Vbat; // тонкая настройка алгоритма сглаживания shumodav() #define ts 5 // *table size* количество строк массива для хранения данных, для девиации ± 2 отсчёта оптимально 4 строки и одна в запас. #define ns 25 // *number samples*, от 10..до 50 максимальное количество выборок для анализа 1й части алгоритма #define ain A2 // какой аналоговый вход читать (А2 это P4) #define mw 50 // *max wait* от 15..до 200 ms ожидать повтора отсчёта для 2 части алгоритма unsigned int myArray, aread, firstsample, oldfirstsample, numbersamples, rezult; unsigned long prevmillis = 0; boolean waitbegin = false; //флаг включённого счётчика ожидания повтора отсчёта void setup() { oled.begin(); oled.clear(); oled.on(); oled.setFont(FONT16X32_sega); } void loop() { for (byte i = 0; i < 5; i++) { Vcc += readVcc(); } Vcc /= 5; shumodav(); Vbat = ((rezult / 1023.0) * Vcc) / 1000; if (Vbat >= 0.95) { oled.setCursor(16, 0);#if NASTROYKA oled.print(rezult); #else oled.print(Vbat, 2); oled.print("/"); #endif } Vcc = 0; } long readVcc() { // чтение реального напряжения питания // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA, ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high << 8) | low; // result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 // индикатор показывал 4990, вольтметр 4576мВ (4576/4990)*1.1=1.008737 result = 1031938L / result; // Calculate Vcc (in mV); 1031938 = 1.008737*1023*1000 return result; // Vcc in millivolts } void shumodav() { // главная функция //заполнить таблицу нолями в начале цикла for (int s = 0; s < ts; s++) { for (int e = 0; e < 2; e++) { myArray[s][e] = 0; } } // основной цикл накопления данных for (numbersamples = 0; numbersamples < ns; numbersamples++) { #if NASTROYKA aread = readVcc(); #else aread = analogRead(ain); #endif // уходим работать с таблицей//// tablework(); } // заполнен массив, вычисляем максимально повторяющееся значение int max1 = 0; // временная переменная для хранения максимумов for (byte n = 0; n < ts ; n++) { if (myArray[n] > max1) { //перебор 2-х элементов строк max1 = myArray[n]; // запомним куда больше всего попало firstsample = myArray[n]; // его 1 элемент = промежуточный результат. } } //*****вторая фаза алгоритма *********///// // если старый отсчёт не равен новому, //и флага включения счёта времени небыло, то if (oldfirstsample != firstsample && waitbegin == false) { prevmillis = millis(); // скидываем счётчик времени на начало waitbegin = true; } // активируем флаг ожидания // если до истечения лимита времени отсчёт сравнялся //со старым, то снимаем флаг if (waitbegin == true && oldfirstsample == firstsample) { waitbegin = false; rezult = firstsample; } // если всё таки отсчёт не сравнялся, а время ожидания вышло if (waitbegin == true && millis() - prevmillis >= mw) { oldfirstsample = firstsample; waitbegin = false; rezult = firstsample; } //то признаём новый отсчёт конечным результатом функции. } // конец главной функции void tablework() { // функция внесения данных в таблицу // если в таблице совпадает отсчёт, то инкрименировать //его счётчик во втором элементе for (byte n = 0; n < ts; n++) { if (myArray[n] == aread) { myArray[n] ++; return; } } // перебираем ячейки что б записать значение aread в таблицу for (byte n = 0; n < ts; n++) { if (myArray[n] == 0) { //если есть пустая строка myArray[n] = aread; return; } } // если вдруг вся таблица заполнена раньше чем кончился цикл, numbersamples = ns; } // то счётчик циклов на максимум


Как упоминалось выше, в контроллерах есть внутренний источник опорного напряжения 1.1В. Он стабильный, но не точный. Поэтому его реальное напряжение скорее всего отличается от 1.1В. Чтобы узнать, сколько на самом деле, необходимо провести калибровку:

* Ставим #define NASTROYKA 1
* Компилируем, заливаем код, запускаем, запоминаем значение на дисплее, например 5741
* Измеряем мультиметром реальное напряжение на выходе преобразователя, например 4979 (это в мВ)
* Считаем (4979/5741)*1.1=0.953997 - это реальное напряжение источника опорного напряжения
* Считаем 0.953997*1023*1000 = 975939
* Записываем результат в строку 100 в виде result = 975939L;
* Ставим #define NASTROYKA 0
* Компилируем, заливаем код, запускаем, готово.

В программе DipTrace разводим плату, размером с OLED дисплей 37х12мм


Полчаса нелюбимого занятия ЛУТом.


Найдите 10 отличий

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



Припаиваем. SMD индуктивность 4,7мкГн была мне любезно предоставлена , большое спасибо, Сергей.


Собираем бутерброд из платы и экрана. На концах проводов я припаял небольшие магниты, вольтметр сам прищелкивается к измеряемому аккумулятору. Неодимовые магниты при нагреве выше 80 градусов теряют магнитные свойства, поэтому паять нужно легкоплавким сплавом Вуда или Розе очень быстро. Еще раз проводим калибровку и проверяем точность измерения:






Обзор понравился +126 +189

Рекомендуем почитать

Наверх