Простая схема электронной нагрузки до 4.5 А с OLED дисплеем

Microchip ATtiny10 Attiny13 ATtiny24 ATtiny25 ATtiny44 ATtiny45 ATtiny84 ATtiny85

TinyLoad – электронная нагрузка постоянного тока на микроконтроллере серии ATtiny45/85 с OLED дисплеем и максимальным током до 4.5 А

Общие сведения

Устройство, получившее название TinyLoad, представляет собой регулируемую электронную нагрузку постоянного тока, предназначенную для оценки параметров блоков питания или аккумуляторов (Рисунок 1). Прибор выполнен на микроконтроллере (МК) серии ATtiny45/85, который измеряет напряжение, ток и температуру радиатора, вычисляет мощность, энергию, сопротивление и емкость и отображает все перечисленные параметры на OLED дисплее. С помощью кнопки пользователь может переключать режимы отображения параметров (мощность/сопротивление и потребляемая мощность/емкость).

Вебинар «Особенности применения литиевых батареек Fanso (EVE) в популярных решениях» (30.11.2021)

TinyLoad - электронная нагрузка c OLED дисплеем на микроконтроллере ATtiny45/85.
Рисунок 1. TinyLoad – электронная нагрузка c OLED дисплеем на микроконтроллере
ATtiny45/85.

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

Типовая схема управления электронной нагрузкой, состоящая, в основном, из потенциометра, операционного усилителя, силового MOSFET и токоизмерительного резистора, обеспечивает протекание неизменного тока, независимого от приложенного напряжения (Рисунок 2).

TinyLoad - типовая схема узла управления электронной нагрузкой.
Рисунок 2. TinyLoad – типовая схема узла управления электронной нагрузкой.

В нашем устройстве для этой цели в цепи нагрузки включен токоизмерительный резистор 100 мОм, состоящий из трех резисторов по 300 мОм, соединенных параллельно для надлежащего отвода тепла (R3, R4, R5). Rail-to-rail операционный усилитель LMV358 сравнивает это значение с целевым значением, которое задается с помощью многооборотного потенциометра 10 кОм, включенного последовательно с резистором 100 кОм (Рисунок 3), и управляет затвором силового транзистора IRL540N (с логическим уровнем порога), который, в свою очередь, регулирует ток через свое внутреннее сопротивление. Ток, протекающий через токоизмерительный резистор, также усиливается вторым операционным усилителем и измеряется с помощью аналого-цифрового преобразователя (АЦП) МК ATtiny.

Принципиальная схема электронной нагрузки TinyLoad c OLED дисплеем на микроконтроллере ATtiny45/85.
Рисунок 3. Принципиальная схема электронной нагрузки TinyLoad c OLED дисплеем на микроконтроллере
ATtiny45/85.

Напряжение измеряется с помощью делителя напряжения (R10, R11). Для измерения температуры силового MOSFET используется NTC термистор 10 кОм (типа 3950B). При необходимости, можно установить вентилятор охлаждения радиатора, который включается через MOSFET Q2.

Все проектные файлы доступны для скачивания в разделе загрузок, в репозитории на сайте Github [1], а также на сайте EasyEDA [2].

Вид печатной платы электронной нагрузки TinyLoad со стороны установки компонентов.
Рисунок 4. Вид печатной платы электронной нагрузки TinyLoad со стороны
установки компонентов.

Вид нижнего слоя печатной платы с установленными компонентами показан на Рисунке 4.

Измерение основных параметров

Для наиболее точных измерений с максимальным разрешением с помощью АЦП МК ATtiny в качестве источника опорного напряжения используются как напряжение питания 5 В, так и два внутренних источника опорного напряжения. Сначала с использованием внутреннего источника опорного напряжения 1.1 В выполняются измерения напряжения питания МК и опорного напряжения 2.56 В и вычисляются соответствующие калибровочные коэффициенты. При каждом измерении сначала проверяется, какой из трех источников опорного напряжения (5 В, 2.56 В или 1.1 В) является наиболее подходящим. Далее этот источник выбирается для выполнения преобразования. На момент выполнения любого измерения МК переводится в спящий режим с целью снижения шума (ADC noise canceler). Для дальнейшего увеличения разрешающей способности последовательно выполняются 64 измерения (передискретизация), и измеренные значения суммируются. Усреднение значений выполняется только в конце следующих вычислений, чтобы не потерять разрешающую способность измерения. Кроме того, точность измерения существенно зависит от точности источника опорного напряжения 1.1 В, и при необходимости его можно откалибровать вручную.

Протокол I2C для управления OLED дисплеем реализован методом программной эмуляции. Алгоритм специально разрабатывался под ограниченные ресурсы ATtiny10 и Attiny13, но должен работать и на некоторых других микроконтроллерах AVR, включая ATtiny24. Функции управления адаптированы для контроллера OLED дисплея SSD1306, но их можно легко изменить для работы с другими дисплеями. В целях экономии ресурсов реализованы только необходимые для этого проекта функции.

Точность вычисления энергии и мощности

Для тактирования МК и, соответственно, для расчета значений энергии и емкости используется внутренний RC-осциллятор, точность которого после заводской калибровки составляет ±10%. Ее можно улучшить до ±2% с помощью дополнительной ручной калибровки или с помощью специального устройства [3]. Определенное таким образом значение калибровки (OSCCAL) можно прописать в исходном коде.

Компиляция и загрузка

При использовании Arduino IDE

  • Удостоверьтесь, что в Arduino IDE установлено ядро ATtinyCore [4].
  • Пройдите Tools -> Board -> ATtinyCore и выберите Attiny25/45/85 (No Bootloader).
  • Откройте Tools и выберите следующие опции платы:
    • Chip: ATtiny45 или ATtiny85 (в зависимости от того, какой МК вы используете в схеме);
    • Clock: 8 MHz (internal);
    • Millis/Micros: disabled;
    • B.O.D.Level: B.O.D. enabled (2.7V);
    • Остальные опции оставьте без изменений.
  • Подключите программатор к ПК и разъему внутрисхемного программирования на плате.
  • Перейдите к Tools -> Programmer и выберите свой внутрисхемный программатор (то есть, USBAsp).
  • Перейдите к Tools -> Burn Bootloader для записи фьюзов.
  • Откройте скетч TinyLoad и кликните Upload.

При использовании предварительно скомпилированного hex-файла

  • Удостоверьтесь, что консольная программа AVRDude [5] установлена.
  • Подключите программатор к ПК и ATtiny.
  • Откройте терминальную программу.
  • Перейдите в папку с hex-файлом.
  • Выполните следующую команду (при необходимости замените «t85» на обозначение используемого МК и «usbasp» – на имя того программатора, который используете вы):

avrdude -c usbasp -p t85 -U lfuse:w:0xe2:m -U hfuse:w:0xd5:m -U efuse:w:0xff:m -U flash:w:tinyload.hex

Работа с прибором

  • С помощью потенциометра установите минимальный ток нагрузки (поверните до упора против часовой стрелки).
  • Подключите прибор с помощью кабеля microUSB к источнику питания 5 В.
  • Подключите к тестовым клеммам прибора испытуемый источник питания (или испытуемый аккумулятор) с соблюдением полярности.
  • Поворачивайте потенциометр по часовой стрелке для установки требуемого тока нагрузки.

Калибровка прибора

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

  • В скетче установите значения ULCAL и ILCAL, равные «1», скомпилируйте и загрузите скетч в МК;
  • Подайте на прибор стабильное входное напряжение 5 В и поворачивайте потенциометр до тех пор, пока на дисплее не отобразится значение тока 0.7 А. Измерьте напряжение и ток с помощью проверенного и точного мультиметра (или хорошего лабораторного источника питания);
  • Рассчитайте калибровочные коэффициенты следующим образом: ULCAL = UM/UTL, ILCAL = IM/ITL (UM – напряжение, измеренное мультиметром, UTL – напряжение, отображаемое на OLED дисплее прибора, IM – ток, измеренный мультиметром, ITL – ток, отображаемый на OLED дисплее прибора);
  • Установите полученные значения коэффициентов в скетче, скомпилируйте и снова загрузите в МК.

Предостережения

  • Используйте хороший радиатор с вентилятором (с напряжением питания 5 В) для силового MOSFET;
  • Будьте осторожны с нагрузкой большой мощности – это устройство не зря называется TinyLoad;
  • Перед подключением нагрузки всегда устанавливайте потенциометром минимальное значение (до упора против часовой стрелки);
  • Из-за входного напряжения смещения операционного усилителя минимальный ток нагрузки составляет 17 мА. Вы можете использовать операционный усилитель лучшего качества, например OPA2330 или OPA2333;
  • Максимальный ток нагрузки составляет 4.5 А, однако для малых напряжений он может быть меньше;
  • Не превышайте максимальное входное напряжение 26 В.

Ссылки

  1. Страница проекта на сайте Github
  2. Проект в онлайн среде EasyEDA
  3. TinyCalibrator - устройство для калибровки встроенных осцилляторов 8-выводных микроконтроллеров ATtiny и сброса Fuse-битов
  4. Ядро ATtinyCore для Arduino IDE
  5. Программатор AVRDude

Загрузки

  1. Принципиальная схема, проект печатной платы (Gerber), скетч, исходные коды и файл прошивки

Материалы по теме

  1. Datasheet Microchip ATtiny10
  2. Datasheet Microchip Attiny13
  3. Datasheet Microchip ATtiny24/44/84
  4. Datasheet Microchip Attiny25/45/85
  5. Datasheet Vishay IRL540
  6. Datasheet Texas Instruments LMV358
  7. Datasheet Texas Instruments OPA2330
  8. Datasheet Texas Instruments OPA2333

github.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: TinyLoad - Simple Electronic Load based on ATtiny45/85

Изготовление 1-4 слойных печатных плат за $2

41 предложений от 26 поставщиков
Корпус SOT236 , Ядро AVR , Максимальная частота ядра 12 МГц, Объём памяти программ 1.02 кБайт, Объём оперативной памяти 32 Байт,...
ATtiny10-TSHR
Atmel
20 ₽
T-electron
Россия и страны СНГ
ATtiny10-TSHR
Microchip
21 ₽
AliExpress
Весь мир
1 шт./лот ATTINY10-TSHR ATTINY10 T10E СОТ-23-6 лет, в наличии
79 ₽
Romstore
Россия, Беларусь
ATtiny10-TSHR Atmel
от 100 ₽
Запись вебинара «Микросхемы для защиты цепей питания: ограничители всплесков напряжения и тока, контроллеры горячей замены, идеальные диоды»
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя