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
- Target window: approx. 0–1 V with ±200 µA constant current; switching at thresholds is feasible with comparators and logic. [Elektroda, Steve Lawson, post #21665085]
- Detecting exact 0 V is unreliable on single‑supply comparators; use a split supply or detect near‑zero. [Elektroda, Steve Lawson, post #21665087]
- LM334 can set low currents directly, but measuring/switching exactly at 0 V is not practical alone. [Elektroda, Peter Evenhuis, post #21665063]
- Shielding matters: below ~10 mV, body and ambient noise can skew readings; use metal enclosure. [Elektroda, Peter Evenhuis, post #21665080]
- Turnkey option: a Keithley SMU works and costs about $2k–$3k; program via LabVIEW or C/C++. [Elektroda, Joe Wolin, post #21665079]
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)
- Provide split rails (e.g., ±5 V) for op‑amps and comparators.
- Implement a ~400 µA source and a 200 µA sink with op‑amp–BJT stages; add a switch to reverse net flow.
- 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]