Это простая электронная фиктивная нагрузка постоянного тока построена на микроконтроллере Attiny45/85. Данное устройство может быть отличным инструментом в лаборатории радиолюбителя.
В данном устройстве микроконтроллер ATtiny измеряет напряжение, ток, температуру радиатора, вычисляет мощность, энергию и емкость батареи, управляет вентилятором и отображает все соответствующие данные на OLED-дисплее. Кнопка используется для переключения между отображением мощности/сопротивления и энергии/емкости.
Оборудование
Часть электронной схемы, отвечающая за управление нагрузкой, которая по существу состоит из потенциометра, операционного усилителя, MOSFET-транзистора и шунтирующего резистора, обеспечивает протекание одинакового тока независимо от приложенного напряжения.
Для измерения протекающего тока в цепи нагрузки установлен шунт сопротивлением 100 миллиом, состоящий из трех параллельно соединенных резисторов по 300 миллиом для лучшего отвода тепла.
Операционный усилитель LMV358 сравнивает это значение с целевым значением, которое задается с помощью 10-виткового потенциометра на 10 кОм и резистора на 100 кОм, управляя затвором полевого MOSFET-транзистора (IRL540N) с логическим уровнем. Транзистор IRL540N в свою очередь управляет током.
Ток, измеренный на шунте, также усиливается вторым операционным усилителем и измеряется АЦП 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 (без загрузчика).
- Перейдите в раздел Инструменты и выберите следующие параметры платы:
- Chip: ATtiny45 или 85 (в зависимости от вашего чипа)
- Clock: 8 MHz (внутренний)
- Millis/Micros: disabled
- B.O.D.Level: B.O.D. enabled (2.7V)
- Остальное оставьте в настройках по умолчанию
- Подключите программатор к компьютеру и к разъему 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)