PID tuning is the most under-documented step in bioreactor setup, yet it directly determines whether your dissolved oxygen, pH, and temperature stay at setpoint or oscillate through every culture run. A 2022 study using ambr250 bioreactors showed that sub-optimal PID control settings elevated lactate levels and shifted cell metabolism, even when all other process parameters were identical (Harcum et al., 2022). This guide provides the practical PID tuning parameters, cascade architectures, and troubleshooting steps that bioreactor vendors rarely include in their manuals.
What Is PID Control in Bioreactors?
PID control is a feedback control algorithm that calculates an output signal from three terms: proportional (P), integral (I), and derivative (D). In bioreactors, PID controllers maintain dissolved oxygen, pH, and temperature at their setpoints by adjusting manipulated variables such as agitation speed, gas flow rate, base pump rate, or jacket temperature.
The PID algorithm computes the controller output u(t) as:
PID Equation
u(t) = Kp · e(t) + Ki · ∫ e(t) dt + Kd · de(t)/dt
- Proportional (Kp) responds to the current error. Higher Kp gives faster response but risks overshoot and oscillation.
- Integral (Ki) eliminates steady-state offset by accumulating past error. Too much integral action causes slow, sweeping oscillations (integral windup).
- Derivative (Kd) anticipates future error from the rate of change. In bioreactors, Kd is almost always set to zero because sensor noise dominates the derivative signal.
Most bioreactor controllers express integral action as integral time (Ti, in seconds) rather than integral gain (Ki). The relationship is Ki = Kp / Ti. A longer Ti means slower integral correction. When a vendor manual says "I = 150 s," it means the integral action repeats the proportional correction every 150 seconds.
DO Cascade Architecture and PID Tuning
Dissolved oxygen control in bioreactors uses a cascade architecture where a single DO setpoint drives 3-4 manipulated variables in sequence. The cascade activates each level only after the previous level reaches its maximum, preventing unnecessary sparging or oxygen enrichment at low cell densities.
The standard cascade order for mammalian cell culture is agitation first, then air flow, then O2 enrichment. This minimizes shear stress and gas costs at low cell densities while providing sufficient oxygen transfer capacity at high densities. For microbial fermentation, the order is typically the same, but the ranges are wider (agitation up to 1,200 RPM, air flow up to 2.0 VVM).
Each cascade level needs its own PID tuning. The common mistake is tuning only the overall DO PID and leaving individual level PIDs at defaults. In the ambr250 system, where control levels are segmented and implemented sequentially, Harcum et al. (2022) found that each control level must be tuned independently because the PID settings are specific to each level.
pH PID Tuning: Two-Sided Control with Dead Band
pH control in bioreactors uses a two-sided PID loop: CO2 sparging lowers pH (acid side) and liquid base addition raises pH (alkaline side). Because the two actuators have vastly different response times, each side requires separate PID parameters and a dead band to prevent them from fighting each other.
| Parameter | Acid Side (CO2) | Base Side (Pump) | Notes |
|---|---|---|---|
| Proportional gain (Kp) | 0.5-2.0 | 0.3-1.0 | Base side lower to avoid overshoot |
| Integral time (Ti) | 60-180 s | 120-600 s | Base side slower to limit osmolality buildup |
| Derivative (Kd) | 0 | 0 | Always disabled for pH |
| Dead band (mammalian) | 0.05-0.10 pH units | Asymmetric dead bands increasingly used | |
| Dead band (microbial) | 0.02-0.05 pH units | Tighter control needed for fast metabolizers | |
| Cycle time | 2-5 s | 5-10 s | Base pump pulse duration minimum 0.5 s |
The base side Kp must be lower than the acid side because NaOH/Na2CO3 addition causes an immediate, localized pH spike that can reach 12+ at the addition point before mixing distributes it. A high Kp on the base side causes pH overshoot, which then triggers CO2 correction, creating a sustained oscillation that wastes both reagents and raises osmolality by 5-15 mOsm/kg per day.
Gas-only pH control, using CO2 sparging to lower pH and increased air overlay to strip CO2 and raise pH, eliminates osmolality buildup from base addition entirely. Hoshan et al. (2019) demonstrated successful gas-only pH control at 6.95-7.10 using air sparge feedback control in ambr250 bioreactors across multiple CHO processes.
Temperature PID Tuning: Jacket Cascade Control
Temperature control uses a classic cascade architecture: the primary (outer) PID loop compares measured vessel temperature against the setpoint and outputs a jacket temperature demand, while the secondary (inner) PID loop controls the valve position on the heating/cooling fluid to match that demand.
| Parameter | Primary Loop (Vessel) | Secondary Loop (Jacket) |
|---|---|---|
| Proportional gain (Kp) | 2-8 | 5-20 |
| Integral time (Ti) | 300-1200 s | 30-120 s |
| Derivative time (Td) | 0-15 s | 0-5 s |
| Setpoint range | 25-37 °C | Calculated by primary PID |
| Typical accuracy | ±0.1 °C | ±0.5 °C |
The secondary (jacket) loop must respond 5-10 times faster than the primary (vessel) loop. If the secondary is too slow, the primary PID increases its output demand continuously (integral windup), causing a large overshoot once the jacket eventually responds. The RTD sensor should be placed at the pipeline centerline about 20 pipe diameters downstream of the jacket outlet for the fastest, most uniform secondary-loop measurement.
Temperature is the one bioreactor control loop where a small derivative term can help. Unlike DO and pH sensors, Pt100 RTDs have very low noise (resolution 0.01 °C), so the derivative signal reflects real temperature change rather than sensor noise. A Td of 5-15 s on the primary loop reduces overshoot during biphasic temperature shifts (e.g., 37 °C to 32 °C production phase) from 0.5-1.0 °C to less than 0.2 °C.
Practical PID Tuning Methods for Bioreactors
Three PID tuning methods are commonly used in bioprocessing: step-response (open-loop), Ziegler-Nichols (closed-loop), and sodium sulfite simulation. Each has trade-offs between accuracy, speed, and risk to the culture.
Step-Response (Open-Loop) Method
Set the controller to manual. Apply a step change in the manipulated variable (e.g., increase agitation from 100 to 200 RPM). Record the DO response over time. From the response curve, measure the process gain (Kp), dead time (θ), and time constant (τ). Calculate PID settings using Cohen-Coon or ITAE correlations. This method is safe and does not risk destabilizing the system, but it requires the process to be at near-steady state before the step.
Ziegler-Nichols (Closed-Loop) Method
Set I and D to zero. Increase Kp until the DO trace shows sustained oscillation at constant amplitude. Record the ultimate gain (Ku) and oscillation period (Pu). Calculate PID values: Kp = 0.6 × Ku, Ti = Pu / 2, Td = Pu / 8. This method produces an aggressive, oscillatory response that must be detuned by reducing Kp by 30-50% for bioreactor applications.
Sodium Sulfite Simulation
For DO PID tuning without live cells, a pre-programmed feed of sodium sulfite (Na2SO3) at 0.1-0.5 g/L/h with cobalt chloride catalyst (0.01 mM) creates a repeatable oxygen demand profile. The sulfite reacts stoichiometrically with dissolved oxygen: 2 Na2SO3 + O2 → 2 Na2SO4. By programming the sulfite feed rate to mimic the oxygen uptake rate (OUR) profile of a typical cell culture (rising from 0.5 to 5.0 mmol/L/h over 10-14 days), multiple PID parameter sets can be tested in 4-8 hours instead of waiting for a full culture run.
Worked Example: Tuning DO PID for a 3 L Bioreactor
System: 3 L STR, Rushton impeller, ring sparger, DO setpoint = 40% air saturation
Step 1: Set controller to manual. Agitation = 150 RPM, air = 0.1 VVM. Wait for DO to stabilize at ~85%.
Step 2: Step agitation from 150 to 250 RPM. DO rises from 85% to 92% over 45 seconds, then stabilizes.
Process gain: K = ΔDO/ΔRPM = (92-85)/(250-150) = 0.07 %/RPM
Dead time: θ = 5 s (delay before response begins)
Time constant: τ = 25 s (time to 63% of final change)
Cohen-Coon PI tuning (dimensionless controller):
Kc = (1/K) × (τ/θ) × (0.9 + θ/12τ)
Kc = (1/0.07) × (25/5) × (0.9 + 5/300)
Kc = 14.3 × 5.0 × 0.917 = 65.5 (process-scale)
Controller P gain = Kc × (MV span / PV span)
MV span = 200 RPM (50-250), PV span = 100% DO
P gain = 65.5 × (200/100) = ... too aggressive for biology
Practical detuning: divide by 10-15× for biological process
→ P gain = 4-5 (start conservatively)
Ti = θ × (30 + 3θ/τ) / (9 + 20θ/τ)
Ti = 5 × (30 + 0.6) / (9 + 4.0) = 5 × 2.35 = 11.8 s
Practical: Ti = 60-120 s (detune for biological process)
Result: Start with P = 4.5, I = 100 s, D = 0. After engaging cascade, the DO stabilizes at 40% ± 2% within 3 minutes of a step change in oxygen demand. No sustained oscillation observed.
What Are Typical PID Values for Bioreactor Control?
Typical PID values for bioreactor control depend on the controlled variable, vessel size, and application. The table below provides starting-point values that can be refined using the tuning methods described above. These values are drawn from manufacturer defaults and published bioprocess literature.
| Controlled Variable | Application | P Gain | I Time (s) | D Time (s) | Dead Band |
|---|---|---|---|---|---|
| DO (agitation level) | CHO cell culture | 2-5 | 60-120 | 0 | 1-3% sat. |
| DO (gas flow level) | CHO cell culture | 3-7 | 100-300 | 0 | 1-3% sat. |
| DO (O2 enrichment) | CHO cell culture | 2-4 | 60-200 | 0 | 1-3% sat. |
| DO (agitation) | E. coli HCDF | 3-8 | 30-90 | 0 | 2-5% sat. |
| DO (gas flow) | E. coli HCDF | 5-10 | 60-150 | 0 | 2-5% sat. |
| pH (CO2 acid side) | Mammalian | 0.5-2.0 | 60-180 | 0 | 0.05-0.10 |
| pH (base pump) | Mammalian | 0.3-1.0 | 120-600 | 0 | 0.05-0.10 |
| pH (NH4OH/NaOH) | E. coli | 1.0-3.0 | 30-120 | 0 | 0.02-0.05 |
| Temperature (vessel) | All | 2-8 | 300-1200 | 0-15 | 0.1 °C |
| Temperature (jacket) | All | 5-20 | 30-120 | 0-5 | 0.5 °C |
Troubleshooting PID Oscillations and Drift
PID tuning problems in bioreactors manifest as three distinct signatures: sustained oscillation (excessive P gain), slow drift to a new steady state (insufficient I action), or overshoot followed by ringing (I windup or poorly sequenced cascade levels). Each has a specific fix.
| Symptom | Likely Cause | Fix |
|---|---|---|
| DO oscillates with constant amplitude | Kp too high (at or above ultimate gain) | Reduce Kp by 30-50%. Increase Ti by 50%. |
| DO recovers slowly, never reaches setpoint | Kp too low or Ti too long | Increase Kp by 20-30%. Decrease Ti by 30%. |
| DO overshoots then oscillates with decay | Kp slightly too high, Ti slightly too short | Reduce Kp by 15-20%. Increase Ti by 20%. |
| pH swings between acid and base addition | Dead band too narrow or zero | Increase dead band to 0.05-0.10. Reduce base Kp. |
| pH drifts above setpoint (alkaline) | CO2 stripping rate exceeds PID correction | Increase CO2 side Kp. Reduce overlay air flow. |
| Temperature overshoot after setpoint change | Primary loop Ti too short (integral windup) | Increase primary Ti by 50%. Add anti-windup. Consider Td = 5-10 s. |
| Cascade levels fight each other | Overlapping active ranges, no hysteresis | Add 5-10% hysteresis at cascade handoff points. |
A frequent but hard-to-diagnose problem occurs when two cascade levels fight each other. For example, if the agitation level is at maximum and the gas flow level activates, a small DO increase from the gas flow may cause the agitation PID to reduce speed (because its setpoint error decreased). The gas flow then increases further because agitation dropped, creating a slow oscillation between the two levels. The fix is adding hysteresis (5-10% of range) at cascade handoff points so that once a level activates, it does not deactivate until the DO rises well above setpoint.
OTR/kLa Estimator
Calculate oxygen transfer rates and kLa values for your bioreactor configuration. Matches cascade levels to oxygen demand.
Gas Mixing Calculator
Calculate gas blend ratios for O2 enrichment and CO2 sparging. Set your cascade level 3 parameters accurately.
Scale-Up Calculator
Scale PID-dependent parameters like tip speed and P/V across bioreactor volumes while preserving DO control performance.
Related Tools
- Heat Transfer Calculator — Size jacket cooling capacity for temperature PID cascade control.
- Fed-Batch Calculator — Plan feeding profiles that maintain oxygen demand within your DO cascade capacity.
- Perfusion Calculator — Steady-state oxygen demand calculations for perfusion bioreactors with constant DO load.
References
- Harcum S.W., Elliott K.S., Skelton B.A., Klaubert S.R., Dahodwala H. & Lee K.H. (2022). PID controls: the forgotten bioprocess parameters. Discover Chemical Engineering, 2, 1. doi:10.1007/s43938-022-00008-z
- Hoshan L., Jiang R., Moroney J., Bui A., Zhang X., Hang T.-C. & Xu S. (2019). Effective bioreactor pH control using only sparging gases. Biotechnology Progress, 35(1), e2743. doi:10.1002/btpr.2743
- Kumar M., Prasad D., Giri B.S. & Singh R.S. (2019). Temperature control of fermentation bioreactor for ethanol production using IMC-PID controller. Biotechnology Reports, 22, e00319. doi:10.1016/j.btre.2019.e00319
- Klaubert S.R., Chitwood D.G., Peng D., Redman E., Anderson J.Y.L., Sandoval N.R. & Harcum S.W. (2025). Dynamic pH profiles drive higher cell-specific and volumetric productivity. Biotechnology Progress, e70080. doi:10.1002/btpr.70080
- Chotteau V. & Hjalmarsson H. (2011). Tuning of Dissolved Oxygen and pH PID Control Parameters in Large Scale Bioreactor by Lag Control. In: Proceedings of the 21st ESACT Meeting. Springer. doi:10.1007/978-94-007-0884-6_50
Frequently Asked Questions
What are the default PID values for bioreactor DO control?
Typical default PID values for bioreactor dissolved oxygen control are P (proportional gain) = 3-7, I (integral time) = 100-300 seconds, and D (derivative) = 0 (usually disabled). For example, Eppendorf BioFlo controllers ship with defaults around P = 5 and I = 150 s. These defaults provide stable but conservative control. Optimized values depend on vessel geometry, sparger type, and cell density and should be tuned per vessel using step-response or sodium sulfite simulation methods.
How do I tune a DO cascade controller for cell culture?
Tune each cascade level independently, starting from the innermost loop. First, set agitation to manual and tune the gas flow PID. Then set gas flow to manual and tune agitation. Finally, engage the cascade and verify combined performance. Use a sodium sulfite oxygen scavenger to simulate cell oxygen demand without live cells. Adjust the proportional gain until the DO trace shows critically damped response with no more than 5% overshoot, then increase the integral action until steady-state offset is eliminated within 2-3 time constants.
Why does my bioreactor DO oscillate instead of staying at setpoint?
DO oscillation is almost always caused by excessive proportional gain or insufficient integral time. With a high P gain, the controller over-corrects each deviation, producing a sustained oscillation at the ultimate period. Reduce the P gain by 30-50% and increase the integral time by 50-100%. Another common cause is actuator sequencing conflicts in cascade systems where two manipulated variables (e.g., agitation and gas flow) fight each other. Ensure each cascade level has its own dead band and that the handoff between levels is smooth with no overlap in the active ranges.
Should I use the derivative term in bioreactor PID controllers?
In most bioreactor applications, the derivative term (D or Kd) should be set to zero or left disabled. Derivative action amplifies sensor noise, which is significant with optical DO probes (noise band of 0.3-1.0% air saturation) and electrochemical pH sensors. The biological processes in a bioreactor change slowly relative to the controller cycle time, so anticipatory derivative action provides minimal benefit while introducing instability. The exception is jacket temperature control, where a small derivative term (Td = 5-15 s) can reduce overshoot during setpoint changes.
What dead band should I use for bioreactor pH PID control?
A pH dead band of 0.05-0.10 units is standard for mammalian cell culture. A 0.05 dead band provides tight control but increases CO2 and base consumption and can cause actuator cycling. A 0.10 dead band reduces reagent usage and osmolality buildup with minimal impact on cell growth. For E. coli fermentation, a narrower dead band of 0.02-0.05 is typical because the faster metabolic acid production rate demands quicker correction. Asymmetric dead bands are increasingly used: 0.05 on the alkaline side (to limit base overshoot) and 0.10 on the acid side (tolerating mild acidification from metabolic activity).