logo elektroda
logo elektroda
X
logo elektroda

Designing a Battery Cycling Circuit for 200µA Charge/Discharge Using LM334

282 33
ADVERTISEMENT
  • #31 21665091
    Mark Harrington
    Anonymous  
  • ADVERTISEMENT
  • #32 21665092
    Steve Lawson
    Anonymous  
  • ADVERTISEMENT
  • #33 21665093
    Mark Harrington
    Anonymous  
  • #34 21665094
    ben Jieming
    Anonymous  

Topic summary

✨ The discussion centers on designing a battery cycling circuit capable of charging and discharging small batteries at a constant current of approximately 200µA using an LM334 current source. The main challenge is implementing automatic current direction switching when the battery voltage reaches defined thresholds (0 V discharge and 1 V charge). It is noted that discharging to exactly 0 V is problematic due to measurement inaccuracies and potential battery damage, especially for typical chemistries. However, for silicon-based Li-ion batteries tested against metallic lithium, voltages near 0 V are achievable and relevant. Several contributors recommend using a microcontroller (e.g., Raspberry Pi with ADC) to monitor voltage and control current direction, as analog comparators struggle to detect zero volts accurately without split power supplies. A proposed solution involves a window comparator and RS flip-flop circuit to toggle current direction between charge and discharge states, with adjustable voltage thresholds set by resistor dividers. Using a split supply or negative rails can improve zero-volt detection. Alternatives include employing a Keithley Source Measurement Unit (SMU) for precise current sourcing and sinking with PC control, though cost is a factor. The discussion also touches on logging charge/discharge time and capacity for battery life assessment. Memory effect is mentioned as a reason for deep discharge cycles in some battery types, but Li-ion batteries reportedly do not exhibit this effect.

FAQ

TL;DR: Need a simple way to auto‑cycle coin‑size Li‑ion test cells at 200 µA? “I test batteries for a living.” This FAQ distills a proven split‑supply, window‑comparator approach and logging tips from the thread. [Elektroda, BTInnovations, post #21665061]

Why it matters: Researchers and hobbyists can build a low‑cost, accurate 0–1 V cycling rig without a lab SMU.

Quick Facts

Can an LM334 alone cycle a cell between 0–1 V at 200 µA?

It can set the low current, but it can’t robustly detect or switch exactly at 0 V. You’ll need additional control to sense thresholds and change current direction. Consider a comparator window and a logic latch, or a microcontroller supervising a source/sink pair. “What you want to do sounds like destroying the battery” in normal packs also cautions against 0 V outside lab half‑cells. [Elektroda, Peter Evenhuis, post #21665063]

How do I automatically switch between +200 µA charge and −200 µA discharge?

Use a constant‑current source (≈400 µA) feeding a 200 µA sink and a single switch to reverse net current through the cell. Add a window comparator (≈0 V low, ≈1 V high) driving an RS latch to flip the switch at the thresholds. This delivers repeatable cycling without firmware. [Elektroda, Steve Lawson, post #21665085]

Why is detecting exactly 0 V hard with comparators?

Zero sits at the rail on single‑supply parts, so input common‑mode and offsets limit precision. With a split supply (e.g., ±5–12 V), 0 V falls mid‑range and becomes easy to detect with margin. “Zero volts is as easy to detect as 5 V” when you use split rails. [Elektroda, Steve Lawson, post #21665087]

What’s the best way to detect end‑of‑discharge very near 0 V?

Use an MCU to monitor voltage slope (dV/dt). Switch when slope ≈ 0 and voltage is near your low setpoint. This avoids rail errors and catches flat‑line behavior that indicates depletion or fault. “Watch for zero slope” is a reliable trigger near ground. [Elektroda, Steve Lawson, post #21665076]

Do I really need a split supply for true near‑zero detection?

Yes, if you want analog comparators to trip cleanly near 0 V. A split supply places ground within input range, improving threshold accuracy and hysteresis behavior. Single‑supply designs struggle at the rail. [Elektroda, Steve Lawson, post #21665068]

What’s a window comparator, and why use it here?

A window comparator uses two comparators to assert when a voltage is inside or outside a band. In this rig, set the low window slightly above 0 V and the high window near 1 V to command charge or discharge via an RS latch and switch. [Elektroda, Steve Lawson, post #21665085]

How should I log voltage/current with a Raspberry Pi?

Measure directly across the cell with your ADC and timestamp to CSV. Keep analog ground clean and sample often enough to capture transitions. You can pair this with the analog window‑switcher circuit for autonomous cycling and Pi‑side logging. [Elektroda, Steve Lawson, post #21665088]

How do I reduce noise when working below ~10 mV?

Enclose the current source and cell in a metal shield, route the controller outside, and use short twisted pairs. Avoid simple LSB‑dropping filters; preserve resolution in your ADC code to prevent bias. Small disturbances can exceed your signal at sub‑10 mV. [Elektroda, Peter Evenhuis, post #21665080]

Is it safe to discharge Li‑ion to 0 V?

Not for normal consumer cells. The thread discusses lab half‑cells using silicon anodes versus metallic lithium, where 0 V vs Li is part of research practice. For standard packs, stay within vendor limits. [Elektroda, BTInnovations, post #21665071]

Do Li‑ion batteries suffer from memory effect?

No. Unlike some legacy chemistries, Li‑ion cells do not exhibit memory effect, so forced deep cycling does not restore capacity. Manage cells with correct voltage and current limits instead. [Elektroda, ben Jieming, post #21665094]

What’s an SMU, and when should I use one?

A Source‑Measure Unit sources voltage or current while measuring both precisely. It simplifies cycling, compliance limits, and scripting. Keithley units integrate cleanly with LabVIEW or custom C/C++ and cost about $2k–$3k. [Elektroda, Joe Wolin, post #21665079]

I’m on a budget—what’s the low‑cost path vs an SMU?

Build the analog window‑switcher and log with a Pi. You’ll achieve automated ±200 µA cycling between near‑0 V and ~1 V with off‑the‑shelf op‑amps, transistors, and 1% resistors. Calibrate thresholds with stable pots. [Elektroda, Steve Lawson, post #21665085]

Can I precisely set 200 µA with off‑the‑shelf parts?

Yes. LM334 can source microamp‑range current with a set resistor. Pair it with a matched sink and control logic for direction, since LM334 alone doesn’t solve near‑0 V sensing or reversal. [Elektroda, Peter Evenhuis, post #21665063]

How‑To: build the bidirectional 200 µA cycling circuit (3 steps)

  1. Provide split rails (e.g., ±5 V) for op‑amps and comparators.
  2. Implement a ~400 µA source and a 200 µA sink with op‑amp–BJT stages; add a switch to reverse net flow.
  3. Use a window comparator (~0 V low, ~1 V high) to drive an RS latch that toggles the switch at thresholds. [Elektroda, Steve Lawson, post #21665085]

Any edge cases to watch for at the low threshold?

Comparator offsets can falsely delay switching, stressing cells. Add small hysteresis or slope detection near the low limit, and never require a sub‑millivolt exact 0 V trip. This avoids latch‑up and over‑discharge. [Elektroda, Steve Lawson, post #21665076]

What if I need exact capacity figures across hundreds of cycles?

Timestamp current and voltage, integrate current over time to get capacity per cycle, and store to CSV. A scripted SMU accelerates this, but the Pi plus ADC method works if calibrated and shielded. [Elektroda, BTInnovations, post #21665073]
ADVERTISEMENT