Introduction
Build a working model steam turbine demonstrating the Rankine cycle with boiler, expander, condenser, and efficiency measurement. This comprehensive guide covers everything from design through implementation, testing, and deployment.
Build a working model steam turbine demonstrating the Rankine cycle with boiler, expander, condenser, and efficiency measurement.
Build a working model steam turbine demonstrating the Rankine cycle with boiler, expander, condenser, and efficiency measurement. This comprehensive guide covers everything from design through implementation, testing, and deployment.
Ideal Rankine cycle: (1→2) Feed pump isentropically compresses condensate to boiler pressure. (2→3) Boiler: constant pressure heat addition, water → saturated steam → superheated steam. (3→4) Turbine: isentropic expansion, steam does work, temperature and pressure drop. (4→1) Condenser: constant pressure heat rejection, steam → condensate. Cycle efficiency: η = W_net / Q_boiler = (W_turbine - W_pump) / Q_boiler. Typical model efficiency: 5–15% (simple construction, no superheating, poor sealing).
10 components required for this project.
| # | Component | Purpose | Qty |
|---|---|---|---|
| 1 | Copper boiler (custom fabricated, 200ml) | Steam generation | x1 |
| 2 | Impulse turbine wheel (machined aluminum) | Steam expansion and shaft rotation | x1 |
| 3 | Precision bearings (6mm ID) | Turbine shaft support | x2 |
| 4 | Copper condensing coil (5mm OD, 2m) | Steam condensation | x1 |
| 5 | Bronze nozzle (1mm orifice) | Steam jet directing onto turbine | x1 |
| 6 | Pressure gauge (0–5 bar) | Boiler pressure monitoring | x1 |
| 7 | Safety valve (2.5 bar setpoint) | Overpressure protection | x1 |
| 8 | Electric immersion heater (600W) | Boiler heating | x1 |
| 9 | Tachometer (optical, 1000 RPM range) | Turbine speed measurement | x1 |
| 10 | Torque measurement (string and spring scale) | Power output measurement | x1 |
Follow these 4 steps carefully.
Ideal Rankine cycle: (1→2) Feed pump isentropically compresses condensate to boiler pressure. (2→3) Boiler: constant pressure heat addition, water → saturated steam → superheated steam. (3→4) Turbine: isentropic expansion, steam does work, temperature and pressure drop. (4→1) Condenser: constant pressure heat rejection, steam → condensate. Cycle efficiency: η = W_net / Q_boiler = (W_turbine - W_pump) / Q_boiler. Typical model efficiency: 5–15% (simple construction, no superheating, poor sealing).
Boiler design is safety-critical. NEVER build a pressure vessel without proper engineering — explosions can be fatal. Design for safety factor 5× working pressure. Use seamless copper tube (not soft copper) for boiler shell. All joints: silver-brazed (not soft soldered — inadequate strength). Hydraulic pressure test: fill completely with water (no air), pressurize to 3× working pressure — hold 10 minutes, check for leaks. Install safety valve before any steam test. Working pressure limit: 2 bar for this model. Mark maximum pressure on boiler permanently.
Impulse turbine: steam accelerates through nozzle (converts pressure energy to kinetic energy), jet hits turbine buckets, momentum transfer rotates wheel. Bucket shape: curved, shaped to turn steam 180° relative to bucket motion. Design: wheel diameter 80mm, 20 buckets, bucket pitch = wheel circumference / bucket count. Optimal efficiency: blade speed = 0.5 × steam jet velocity. With 2 bar steam, jet velocity ≈ 400 m/s → blade speed ≈ 200 m/s → RPM = 60 × 200 / (π × 0.08) ≈ 47,746 RPM (far too high for simple bearing — use nozzle choked to subsonic flow).
Prony brake measurement: attach string around output shaft, string over pulley to hanging weight, other end attached to spring scale. Apply brake by adding weights. Power = torque × angular velocity = (F_spring - F_weight) × r × 2π × RPM / 60. Alternatively: connect to small DC motor acting as generator, measure voltage and current into a resistor load. Electrical power = mechanical power × generator efficiency (typically 70–80% for small motors).
Core code for rankine_cycle.py:
# Ideal Rankine Cycle Analysis using steam tables # Install: pip install pyXSteam from pyXSteam.XSteam import XSteam steam = XSteam(XSteam.UNIT_SYSTEM_MKS) # m/kg/sec/°C/bar/W def rankine_analysis(P_boiler_bar, P_condenser_bar=0.1, T_superheat_C=None): """ Analyze ideal Rankine cycle. State 1: Pump inlet (condenser outlet) - saturated liquid State 2: Pump outlet (boiler inlet) - compressed liquid State 3: Turbine inlet (boiler outlet) - superheated steam State 4: Turbine outlet (condenser inlet) - wet or dry steam """ # State 1: Saturated liquid at condenser pressure h1 = steam.hL_p(P_condenser_bar) v1 = steam.vL_p(P_condenser_bar) s1 = steam.sL_p(P_condenser_bar) # State 2: After pump (isentropic) - liquid compression h2 = h1 + v1 * (P_boiler_bar - P_condenser_bar) * 1e5 / 1000 # kJ/kg # State 3: After boiler/superheater if T_superheat_C: h3 = steam.h_pt(P_boiler_bar, T_superheat_C) s3 = steam.s_pt(P_boiler_bar, T_superheat_C) else: # Saturated steam h3 = steam.hV_p(P_boiler_bar) s3 = steam.sV_p(P_boiler_bar) # State 4: After turbine (isentropic expansion) # At condenser pressure with same entropy as state 3 sf = steam.sL_p(P_condenser_bar) sfg = steam.sV_p(P_condenser_bar) - sf x4 = (s3 - sf) / sfg # Quality (dryness fraction) h4 = steam.hL_p(P_condenser_bar) + x4 * (steam.hV_p(P_condenser_bar) - steam.hL_p(P_condenser_bar)) W_turbine = h3 - h4 W_pump = h2 - h1 Q_boiler = h3 - h2 W_net = W_turbine - W_pump eta = W_net / Q_boiler * 100 print(f"Rankine Cycle Analysis: {P_boiler_bar} bar boiler") print(f"Turbine work: {W_turbine:.1f} kJ/kg") print(f"Pump work: {W_pump:.2f} kJ/kg") print(f"Net work: {W_net:.1f} kJ/kg") print(f"Boiler heat: {Q_boiler:.1f} kJ/kg") print(f"Cycle efficiency: {eta:.1f}%") print(f"Quality at turbine exit: {x4:.3f} (1.0 = dry steam)") return eta rankine_analysis(10, T_superheat_C=250)
Test Steam Turbine / Engine Model by verifying each subsystem individually before full integration.
Verify power voltages, check ground connections, use serial monitor for debug.
An interactive simulator will be available here — simulate circuits and run code in-browser without hardware.