Главная » Микроконтроллеры » Простая электронная нагрузка на микроконтроллере Attiny45/85. Схема

Простая электронная нагрузка на микроконтроллере Attiny45/85. Схема

Это простая электронная фиктивная нагрузка постоянного тока построена на микроконтроллере Attiny45/85. Данное устройство может быть отличным инструментом в лаборатории радиолюбителя.

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

Оборудование

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

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

Операционный усилитель LMV358 сравнивает это значение с целевым значением, которое задается с помощью 10-виткового потенциометра на 10 кОм и резистора на 100 кОм, управляя затвором полевого MOSFET-транзистора (IRL540N) с логическим уровнем. Транзистор IRL540N в свою очередь управляет током.

Простая электронная нагрузка на микроконтроллере Attiny45/85. Схема

 

Ток, измеренный на шунте, также усиливается вторым операционным усилителем и измеряется АЦП ATtiny. Напряжение измеряется с помощью делителя напряжения. Температура MOSFET-транзистора измеряется термистором 10кОм 3950B NTC. При необходимости можно включать вентилятор через дополнительный MOSFET-транзистор.

Программное обеспечение

Измерения

Для максимально точного измерения с максимальным разрешением используются как напряжение питания 5 В, так и два внутренних опорных напряжения, подключенных к АЦП ATtiny. Сначала измеряются напряжение питания и опорное напряжение 2,56 В с использованием опорного напряжения 1,1 В и вычисляются соответствующие калибровочные коэффициенты.

Для каждого очередного измерения сначала проверяется, какое из трех опорных напряжений (5 В, 2,56 В или 1,1 В) наиболее подходит. Затем это значение используется для измерения с помощью АЦП микроконтроллера.

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

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

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

Для определения энергии и электрического заряда (емкости) используется внутренний генератор ATtiny. Точность внутреннего генератора составляет +/-10% при заводской калибровке. Точность можно улучшить до +/- 2% или лучше с помощью ручной калибровки.

Реализация I²C OLED

Реализация I²C протокола основана на грубом методе передачи битов. Он был специально разработан для ограниченных ресурсами ATtiny10 и ATtiny13, но он также работает с некоторыми другими AVR (включая ATtiny25 / 45/85). Функции OLED адаптированы для модуля SSD1306 OLED, но их можно легко изменить для использования с другими модулями. В целях экономии ресурсов реализованы только основные функции, необходимые для этого устройства.

Компиляция и загрузка с использованием Arduino IDE

  • Убедитесь, что вы установили ATtinyCore.
  • Перейдите в раздел Инструменты -> Плата ->> ATtinyCore>> и выберите ATtiny25/45/85 (без загрузчика).
  • Перейдите в раздел Инструменты и выберите следующие параметры платы:
  1. Chip: ATtiny45 или 85 (в зависимости от вашего чипа)
  2. Clock: 8 MHz (внутренний)
  3. Millis/Micros: disabled
  4. B.O.D.Level: B.O.D. enabled (2.7V)
  5. Остальное оставьте в настройках по умолчанию
  • Подключите программатор к компьютеру и к разъему ICSP на плате
  • Перейдите в раздел Инструменты -> Программатор> и выберите свой ISP-программатор (например, USBasp ).
  • Перейдите в раздел Инструменты -> Записать загрузчик.
  • Откройте скетч Load.ino и нажмите «Загрузить».

Использование

  • Поверните потенциометр полностью против часовой стрелки.
  • Подключите устройство через разъем Micro-USB к источнику питания 5 В.
  • Подключите тестовый источник питания к клемме блока. Обратите внимание на правильную полярность!
  • Поверните потенциометр по часовой стрелке, чтобы выбрать нужный ток нагрузки.

Калибровка

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

Как откалибровать:

  • Установите в скетче для ULCAL и ILCAL значение «1», скомпилируйте и загрузите код.
  • Выберите стабильное входное напряжение около 5 В и поворачивайте потенциометр, пока на дисплее не отобразится ток около 0,7 А. Измерьте напряжение и ток с помощью надежного мультиметра.

Рассчитайте коэффициенты калибровки следующим образом:

  • ULCAL = напряжение, измеренное мультиметром / напряжение, отображаемое на OLED.
  • ILCAL = ток, измеренный мультиметром / ток, отображаемый на OLED-экране.
  • Установите значения ULCAL и ILCAL в скетче, скомпилируйте и снова загрузите.

Меры предосторожности

  • Используйте хороший радиатор с вентилятором на 5В для силового MOSFET-транзистора!
  • Будьте осторожны с нагрузками высокой мощности!
  • Перед подключением нагрузки всегда поворачивайте потенциометр против часовой стрелки до упора!
  • Максимальный ток нагрузки составляет 4,5А, однако для небольших напряжений он может быть меньше. Не превышайте максимальное напряжение 26В!

Скачать файлы проекта (99,9 KiB, скачано: 373)






Добавить комментарий