ICQ: 111111
E-mail: faq@sitename.com
В сегодняшнем занятии мы рассмотрим вариант изготовления самодельного цифрового вольтметра для измерения напряжения на одиночном элементе питания. Пределы измерения напряжения 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 штук) LT1308 manual
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()


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

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




Как упоминалось выше, в контроллерах есть внутренний источник опорного напряжения 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мкГн была мне любезно предоставлена SS_SerG, большое спасибо, Сергей.

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



Бонус
Обманул, бонуса нет, простите.
Предвидя комментарии, что устройство с подобным и даже лучшим функционалом можно купить на Али сразу соглашусь без торговли. Вот оно, ищется по названию BT-168D. Стоит около $4.



Код программы, библиотеку OLED дисплея и печатную плату можно скачать ПО ССЫЛКЕ

Спасибо за внимание, всем добра

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Категории

Облако популярных тегов

3D ПРИНТЕРЫ И 3D ПЕЧАТЬ AERMOO.COM ASMODUS.COM BANGGOOD.COM CAFAGO.COM DD4.COM EVERZON.COM FASTTECH.COM GEARBEST.COM ITEAD.CC JOYBUY.COM LIGHTINTHEBOX.COM RCMOMENT.COM ROSEGAL.COM TOMTOP.COM TVC-MALL.COM USB КАМЕРЫ АВТОМОБИЛИСТАМ АККУМУЛЯТОРЫ И БАТАРЕЙКИ АКСЕССУАРЫ Аудиотехника ВЕРТОЛЁТЫ И МУЛЬТИКОПТЕРЫ ВИДЕОТЕХНИКА ДЛЯ КУХНИ ЖЕНСКАЯ ОДЕЖДА ЗАРЯДНЫЕ УСТРОЙСТВА ИГРУШКИ И ПОДАРКИ ИЗМЕРИТЕЛЬНЫЙ ИНСТРУМЕНТ ИНСТРУМЕНТЫ КАБЕЛИ КАРТЫ ПАМЯТИ КОМПЛЕКТУЮЩИЕ КОМПЛЕКТУЮЩИЕ И АКСЕССУАРЫ КОМПЬЮТЕРЫ И ПЛАНШЕТЫ КРАСОТА И ЗДОРОВЬЕ МИКРОСКОПЫ МОБИЛЬНЫЕ ТЕЛЕФОНЫ МУЖСКАЯ ОДЕЖДА НАУШНИКИ И ГАРНИТУРЫ НОЖИ НОСИТЕЛИ ИНФОРМАЦИИ: ФЛЕШ-ПАМЯТЬ ОХОТЫ И ТУРИЗМА ПРИНАДЛЕЖНОСТИ ДЛЯ РЫБАЛКИ РАДИОТОВАРЫ РАДИОУПРАВЛЯЕМЫЕ МОДЕЛИ РУЧНОЙ ИНСТРУМЕНТ СДЕЛАНО РУКАМИ СЕТЕВОЕ ОБОРУДОВАНИЕ СПОРТ И ЗДОРОВЬЕ СУМКИ И АКСЕССУАРЫ ТОВАРЫ ДЛЯ ДОМА И ДАЧИ ТОВАРЫ ПРОФЕССИОНАЛЬНОГО ИСПОЛЬЗОВАНИЯ ФОНАРИКИ И СВЕТОДИОДНЫЕ ЛАМПЫ ФОТОТЕХНИКА ХОББИ ЧАСЫ И ТАЙМЕРЫ ШТАТИВЫ ЭЛЕКТРОННЫЕ СИГАРЕТЫ