суббота, 5 апреля 2025 г.

Тестирование измерителя ёмкости аккумуляторов

Очередная запись о проекте измерителя ёмкости аккумуляторов, который уже перерос свою изначальную функцию. В текущей прошивке есть режимы для ручного заряда и разряда аккумуляторов, режим монитора и управление с компьютера по протоколу SCPI (Standard Commands for Programmable Instruments).

После включения устройство переходит в режим главного меню

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

В настройках задаётся напряжение окончания разряда и по его достижении внешняя нагрузка будет отключена от аккумулятора. Этим режимом я пользуюсь когда нужно разрядить аккумуляторы для длительного хранения или измерить ёмкость аккумуляторов которые не подходят к Liitokala Lii-500.

В режиме заряда аккумуляторов требуется лабораторный блок питания с ограничением тока и напряжения. Я использую самодельный ЛБП на 30 В и 3 А. На ЛБП настраивается напряжение окончания заряда аккумулятора (4,2 В или 4,3 В согласно документации производителя аккумулятора) и максимальный ток заряда.

В настройках выбирается ток окончания заряда (обычно 0,05C) и ЛБП будет отключён от аккумулятора когда ток заряда снизится ниже выставленного лимита.

В режиме монитора отображается напряжение, ток, мощность и есть управление режимом измерения напряжения (двухпроводное или четырёхпроводное) и включение/отключение выхода.

Этот режим я использую как дополнительный мультиметр с возможностью одновременно измерять ток и напряжение. В моём настольном мультиметре Agilent U3402A тоже есть возможность одновременно измерять ток и напряжение, но он в таком режиме постоянно щёлкает реле и это изрядно раздражает.

Для управления с компьютера реализован минимальный набор команд протокола SCPI

  • *IDN?
  • MEAS:VOLT?
  • MEAS:CURR?
  • MEAS:MODE?
  • MEAS:MODE [2wire|4wire]
  • SYST:OUT?
  • SYST:OUT [on|off]

Я впервые работаю с протоколом SCPI и не уверен что правильно определил семантику команд - возможно вместо MEAS:MODE должна быть CONF:MODE.

Написал простую программу на Python которая использует библиотеку PyVISA для измерения напряжения и тока

#!/usr/bin/env python3

import pyvisa
import sys
import time

rm = pyvisa.ResourceManager()

def discoverDevice():
    device = None
    for resource in rm.list_resources():
        try:
            print(f"Checking {resource}")
            inst = rm.open_resource(resource)
            time.sleep(2)
            if "Power Monitor" in inst.query("*IDN?"):
                device = inst
                break
            else:
                inst.close()
        except:
            pass
    return device

def main():
    inst = discoverDevice()
    if inst is None:
        print("Unable to detect device")
        sys.exit(1)

    try:
        while True:
            time.sleep(1)
            voltage = inst.query_ascii_values('MEAS:VOLT?')[0]
            current = inst.query_ascii_values('MEAS:CURR?')[0]
            print(f"{voltage}, {current}")
    except KeyboardInterrupt:
        pass
    finally:
        inst.close()

if __name__ == "__main__":
    main()

С помощью этой программы измерил вольт-амперную характеристику стабилитрона BZV85-C3V6 с номинальным напряжением стабилизации 3,6 В. Пришлось отдельно записывать прямую и обратные характеристики, т.к. INA226 не может измерять отрицательное напряжение.

Видно что в положительной области стабилитрон ведёт себя как обычный диод, а после 0,8 В ток начинает резко расти. В отрицательной области ток практически нулевой до 2,9 В а затем начинает расти. Важно что напряжение стабилизации у этого стабилитрона сильно зависит от тока.

Последний пункт меню посвящён настройкам.

Пока тут только настраивается режим измерения напряжения по-умолчанию и есть сброс настроек в EEPROM к "заводским". При изменении настроек запись в EEPROM выполняется только если сохранённое значение отличается от текущего.

Предыдущие записи, связанные с этим устройством:

Комментариев нет:

Отправить комментарий