Steam and cooling plant for the five-press fleet; utilities re-based
Deploy test site / deploy (push) Successful in 44s

New page docs/steam-cooling.html (site /demos/steam-cooling/): the
utility plant as a clickable process diagram. Steam side: raw water,
softener and dosing, feed tank with heat-pump feedwater recovery, feed
pumps, a bank of two 500 kg/h boilers (third for N+1 as an option),
separator and metering, optional accumulator, blowdown, the 10 bar
header with a valved, metered branch and trap per press, drip legs and
condensate return. Cooling side: Newbilt's press outlets are open (max.
2 bar), so returns drain to a warm tank, pass the heat pump, an optional
dry cooler and a plate heat exchanger to a cold buffer tank, and VFD
pumps feed the 20 to 25 C header at ~10 bar to every press, the
extruders and the central hydraulic oil cooler; the chiller loop
(three 250 kW air-cooled modules at 40 C ambient, fourth as option) stays
closed and clean. Galvanics cooling (12 to 20 C) is a separate circuit.
Operating cases (launch, Duplex system 1, five presses, one module down)
show demand against installed capacity; design basis with sources,
equipment schedule, RFQ questions. Static SVG, no per-frame work.

Design basis at Newbilt's per-machine figures: steam 750 to 900 kg/h,
cooling 652.5 kW (625 presses, 15 extruders, 12.5 hydraulics), 305 to
540 l/min circulating. Also found: Newbilt's 53 l/min at ~60 C out is
~140 kW, above its 125 kW peak; listed as a re-quote question.

Re-based in the same commit:
- scale.md: electrical table (chiller bank ~210 to 325 kW electrical,
  plant peak ~430 to 700 kW, ~950 to 1,330 kW with electric steam),
  grid 800 to 1,000 kVA (1,250 to 1,600 with electric steam, Schedule
  4 past 1,000 kW), tariff 4.5M to 6.8M THB/yr, battery ~1 h of chiller
  peak, boiler and chiller banks, biomass up to ~550 t/yr at 1.5 M
  records, utilities money line.
- sustainability.md, biomass.md: same figures; electric steam 5.2M to
  6.0M THB/yr mature, 1.6M to 1.8M early; fuel saving 4.0M to 5.4M.
- utilities CSV: boiler bank, chiller bank with HX and tanks, softener
  and loop treatment re-sized; baseline 23.98M-41.63M -> 30.07M-51.33M.
- total-investment.md: re-size as an added-scope row (+185k / +294k
  USD); headline 4.7M to 8.9M unchanged until the investment re-base.
- pressing-line, equipment-suppliers, facility-security, fleet
  calculator (boiler 1000 kg/h, chiller 750 kW), plant page detail
  texts; README, landing page, build.sh.
This commit is contained in:
grabowski committed 2026-10-14 09:58:27 +07:00
1 parent 9b03e4de07
commit 7af5d89dd0
14 files changed
+499 -100

No files matched your search

+19 -13
View File
@@ -10,16 +10,21 @@ and duty cycle.
## Demand: what the boiler would burn
The 400 kg/h boiler is roughly 300 kW thermal at full fire. With the heat
recovery architecture trimming the load and realistic duty cycles:
The five-press fleet draws 750 to 900 kg/h of steam at full demand, ~510
to 610 kW thermal, from a proposed bank of two 500 kg/h boilers
([steam and cooling](steam-cooling.html)). Fuel follows records pressed,
not presses installed. With the heat recovery architecture trimming the
load and realistic duty cycles:
- Mature plant (semi-auto plus automated lines, two shifts, ~300 days/yr):
roughly **350 to 400 tonnes of air-dry wood per year** (at ~80% boiler
efficiency and ~4 kWh/kg air-dry wood)
- Mature plant (two shifts, ~300 days/yr, about 1.0 to 1.1 million
records): roughly **350 to 400 tonnes of air-dry wood per year** (at
~80% boiler efficiency and ~4 kWh/kg air-dry wood); the start fleet at
its full ~1.5 million records needs up to **~550 t/yr**
- Early operations (one press line, single shift): roughly a quarter of
that, **~90 to 100 t/yr**
- Bought as fresh wood chips (~45 % moisture, ~2.6 kWh/kg) the same heat
is **~540 to 620 t/yr**, which is what the fuel store and the monsoon
is **~540 to 620 t/yr**, up to ~840 t/yr at 1.5 million records, which
is what the fuel store and the monsoon
stock have to be sized for (estimate)
## The 60 rai: own-grown fuelwood
@@ -31,7 +36,8 @@ proven in Thailand (eucalyptus, acacia, leucaena, bamboo) yield roughly 8 to
about **80 to 135 t/yr**:
- Enough to cover **most or all of early operations**
- About **a quarter to a third of mature two-shift demand**
- About **a fifth to a third of mature two-shift demand** at ~1.0 million
records, a seventh to a quarter at the start fleet's full 1.5 million
That makes the land a meaningful supplement and a strong brand story
("records pressed with steam from our own trees"), not a complete fuel
@@ -139,10 +145,10 @@ storage are additional.
- The 60 rai tilts the economics and the story further toward biomass, but
only after the land-title check clears
- The electric boiler remains the alternative: cleanest permitting, no fuel
logistics, but effectively grid-powered steam at a ~300 kW draw. On
PEA's time-of-use tariff that costs ~4.7M to 5.5M THB a year at mature
load against ~0.6M to 1.2M of fuel for biomass, and ~1.4M to 1.7M
against ~0.15M to 0.3M at early load, because the demand charge follows
logistics, but effectively grid-powered steam at a ~520 to 625 kW draw
for the five presses. On PEA's time-of-use tariff that costs ~5.2M to
6.0M THB a year at mature load against ~0.6M to 1.2M of fuel for
biomass, and ~1.6M to 1.8M (one 500 kg/h module) against ~0.15M to 0.3M at early load, because the demand charge follows
the boiler's full-power draw (estimates; see the
[grid tariff](sustainability.md#grid-tariff-pea-and-what-it-decides)).
The electric boiler is the more efficient machine; biomass is the far
@@ -151,6 +157,6 @@ storage are additional.
the coppice now (first harvest in 2 to 4 years), and add the biomass
boiler at the automated-line expansion when demand and the fuel supply
have both matured. At the tariff above that is a permitting and logistics
choice, not a cost one: every year on electric steam costs roughly 1.1M
to 4.9M THB more than biomass, so the switch should come as soon as the
choice, not a cost one: every year on electric steam costs roughly 1.4M
to 5.4M THB more than biomass, so the switch should come as soon as the
permit and a fuel contract are in place
+11 -8
View File
@@ -78,14 +78,17 @@ automated candidate). What it means:
two shifts, the range the [revenue model](../finance/revenue-model.md)
uses: four semi-automatic presses at 60 to 80 records an hour (estimate)
and the Classic at ~128 an hour (28 s cycle, vendor figure).
- **Utilities do not scale from the old figures.** At Newbilt's per-press
figures (steam 150 to 180 kg/h, cooling up to 125 kW per press), five
presses draw ~750 to 900 kg/h of steam and up to ~625 kW of cooling,
against the ~400 kg/h steam generator and ~250 kW cooling system that the
2024 quote's exclusions describe for one Duplex. The boiler, chiller,
electrical connection and [utilities CSV](../finance/utilities-investment.csv)
are **not yet re-sized** for this fleet; that waits for the re-quote's
figures ([scale](../scale.md)).
- **Utilities, re-based for this fleet (October 2026).** At Newbilt's
per-machine figures (steam 150 to 180 kg/h, cooling up to 125 kW per
press) the five presses draw ~750 to 900 kg/h of steam and up to ~650 kW
of cooling with extruders and hydraulics, against the ~400 kg/h steam
generator and ~250 kW cooling system that the 2024 quote's exclusions
describe for one Duplex. The proposal is a bank of two 500 kg/h boilers
and three 250 kW chillers, one module per press stage; the layout, the
operating cases and the open RFQ questions are in
[steam and cooling](../steam-cooling.html), the electrical consequences in
[scale](../scale.md) and the costs in the
[utilities CSV](../finance/utilities-investment.csv).
- **Investment**: the fleet change is carried in the added-scope table of
[total investment](../finance/total-investment.md) until the next
re-base.
+2 -1
View File
@@ -28,7 +28,8 @@ option per room.
sensors logging in every zone, with alarms on excursions, tied into the
plant monitoring below.
- **Energy design**: conditioning a whole factory in a tropical climate is
a major electrical load on top of the 250 kW process cooling, and it must
a major electrical load on top of the process cooling (up to ~650 kW for
the five presses), and it must
be included in the solar PV and battery sizing from the start. Heat
recovery from the press hall (steam, hydraulics, and hot PVC all reject
heat) and from compressors should feed the design rather than fight it.
+4 -3
View File
@@ -23,7 +23,7 @@ July 2026; the underlying THB estimates are unchanged, because EUR/THB at
| Stamper prep (Sibert VSP, VSF, VSC) | 60k – 170k | 1.9M – 5.7M | estimate kept until the re-base; Sibert has since confirmed USD 250k for the three (its time, spares, shipping and travel extra), the difference is in the table below |
| Mastering and cutting room (Agnew or Sillitoe lathe system, cutter amps, console, room treatment) | 290k – 580k | 9.6M – 19.1M | estimate, bespoke market; the Sillitoe SDMS lists at USD 125k for lathe, head, amplifier and automation (ex tax, shipping), which makes the low end reachable; band kept until both quotes exist |
| Metrology and QC stack (confocal, profiler, XRF, inline vision, audio station) | 350k – 810k | 11.5M – 26.7M | estimate, phaseable |
| Utilities, solar, HVAC, racking baseline | 730k – 1,270k | 24.0M – 41.6M | reviewed [utilities CSV](utilities-investment.csv), THB-native |
| Utilities, solar, HVAC, racking baseline | 730k – 1,270k | 24.0M – 41.6M | reviewed [utilities CSV](utilities-investment.csv), THB-native; sized for one Duplex, the five-press re-size is in the table below |
| Building ~1,500 m² plus civil works | 650k – 1,100k | 21.4M – 36.2M | estimate at 12,000–20,000 THB/m² Thai industrial construction plus ~20% site works |
| Land 6–8 rai, if purchased | 360k – 970k | 12.0M – 32.0M | estimate at 2–4M THB/rai industrial; leasing cuts this to near zero upfront |
| Traceability and factory software | 60k – 170k | 1.9M – 5.7M | estimate |
@@ -47,8 +47,9 @@ building, software and stamper prep lines, and the contingency on top).
| Artist platform, public side (calculator, campaigns, payments) | 40k – 90k | 1.3M – 3.0M | estimate, [artist platform](../artist-platform.md) |
| PVC material lab, day-one tier (incl. plaque press and sample conditioning) | 55k – 150k | 1.8M – 5.0M | estimate, [quality automation](../quality-automation.md); not costed in the metrology block above. The mature tier (torque rheometer, DSC, FTIR, ~120k – 240k) is deferred, with partner labs in between |
| Stamper prep re-priced: USD 250k for VSP, VSF and VSC against the 60k – 170k block above | +190k (low case) / +80k (high case) | +6.3M / +2.6M | Sibert's budget confirmation, email of 5 October 2026 ([galvanics and stamper prep](../equipment/galvanics.md)); itemised quotation to follow. Its time, spare parts, shipping and travel are extra and fall into the freight/installation and spares blocks above |
| Press fleet changed (October 2026) to two Newbilt Duplex systems (two presses each, EX 50 main extruder and EX 35 colour extruder) plus one Newbilt Classic, replacing the two blocks above (930k – 1,290k): Duplex system 1 as the first block (350k – 370k; the quote's second-extruder option becomes the EX 35), system 2 ~230k – 300k (two presses at the quoted ~115k per press and extruder set as the yardstick, plus hydraulic unit and EX 35, estimate; no EX 35 price on file), the Classic ~290k – 460k (the AD12 band per press as a placeholder; no Newbilt price on file) | −60k (low case) / −160k (high case) | −2.0M / −5.3M | estimate, [pressing line](../equipment/pressing-line.md); the Newbilt re-quote replaces it. The utilities for five presses are not re-sized yet ([scale](../scale.md)) |
| **Added so far** | **~420k – 610k** | **~13.8M – 20.2M** | about 8 to 10% on the full-vision subtotal |
| Press fleet changed (October 2026) to two Newbilt Duplex systems (two presses each, EX 50 main extruder and EX 35 colour extruder) plus one Newbilt Classic, replacing the two blocks above (930k – 1,290k): Duplex system 1 as the first block (350k – 370k; the quote's second-extruder option becomes the EX 35), system 2 ~230k – 300k (two presses at the quoted ~115k per press and extruder set as the yardstick, plus hydraulic unit and EX 35, estimate; no EX 35 price on file), the Classic ~290k – 460k (the AD12 band per press as a placeholder; no Newbilt price on file) | −60k (low case) / −160k (high case) | −2.0M / −5.3M | estimate, [pressing line](../equipment/pressing-line.md); the Newbilt re-quote replaces it. The utilities for five presses are re-sized in the row below |
| Utilities re-sized for the five-press fleet (October 2026): boiler bank 2 × 500 kg/h, chiller bank 3 × 250 kW with plate heat exchanger and tanks, larger softener and loop treatment ([steam and cooling](../steam-cooling.html)) | +185k (low case) / +294k (high case) | +6.1M / +9.7M | estimate, [utilities CSV](utilities-investment.csv) re-based from 24.0M – 41.6M to 30.1M – 51.3M THB |
| **Added so far** | **~605k – 905k** | **~19.9M – 29.9M** | about 12 to 15% on the full-vision subtotal |
## Phased entry
+15 -15
View File
@@ -1,18 +1,18 @@
category,item,spec_summary,candidate_thai_suppliers,cost_low_thb,cost_high_thb,cost_basis,notes
steam,Electric/gas once-through boiler package,"~400-500 kg/h at 10 bar / 180 C incl. softener, feed tank, economizer, installed","Miura Thailand (Chachoengsao); Bangkok Industrial Boilers; STE Thailand",2500000,4000000,engineering estimate,"Miura-class modular once-through; BIB budget option ~2.0-3.5M; service is Bangkok-centric, confirm northern dispatch SLA"
steam,Biomass/wood-fired boiler package (option),"~0.5 t/h solid fuel (wood chips/pellets/rice husk) incl. fuel feed, grate, dust control, softener, installed",Getabec PCL (Thai fabrication and service),4000000,7000000,engineering estimate,"Sustainability path matching Deepgrooves NL precedent; Viessmann has no strong Thai channel; higher capex, lower fuel opex in the North; NOT included in baseline total"
steam,Steam balance of plant,"Traps, accumulator, condensate return",Forbes Marshall Thailand,0,0,included,"Largely included in boiler package rows; line kept for RFQ completeness"
compressed_air,Screw compressor skid (oil-injected),"~7.5 kW VSD screw + refrigerated dryer (3 C PDP) + coalescing filters + ~500 L receiver, installed","Atlas Copco Thailand; Kaeser Thailand (SM-T/Aircenter); Ingersoll Rand Thailand",350000,600000,engineering estimate,"14-30 m3/h demand is small (5-10 hp class); oil-injected + filter train meets 5 micron / 3 C spec"
compressed_air,True oil-free class-0 (option),Same duty in oil-free class-0,"Atlas Copco (ZR/ZT); Kaeser",1200000,1800000,engineering estimate,"Only if air contacts product stream; NOT included in baseline total"
cooling,Process chiller package 250 kW,"~71 RT air-cooled screw/scroll chiller + pumps + buffer tank + controls, installed, closed loop","Trane Thailand; Carrier Thailand; Daikin Applied Thailand; Hitachi Thailand",2500000,4000000,engineering estimate,"Newbilt spec: 220 l/min peak, 20-25 C supply; chiller is the safe choice for hot-season wet-bulb"
cooling,Cooling tower + HX loop (alternative),"FRP tower ~250-300 kW reject + plate HX + pumps + tanks + water treatment","Liang Chi Thailand (tower, large service org); Process Cooling Solutions; Tasaki (integrators)",1000000,2000000,engineering estimate,"Cheaper capex but wet-bulb-limited; hybrid tower + trim chiller is the efficiency-optimal design; NOT included in baseline total"
water,Boiler feedwater duplex softener,~0.5-0.8 m3/h feedwater duty,"Veolia Water Technologies Thailand; Hydrotek; local RO/softener integrators",80000,200000,market estimate,May suffice alone for a small fire-tube boiler
water,RO skid (option),0.5-1 m3/h low-TDS feed,"Veolia; Hydrotek; local integrators",200000,500000,market estimate,"Only if low-TDS feed needed; NOT included in baseline total"
water,Closed-loop cooling water treatment,"Side-stream filtration + dosing + conductivity blowdown control",Veolia; Hydrotek; local integrators,150000,400000,engineering estimate,Chemicals are ongoing opex on top
steam,Electric/gas once-through boiler bank,"2 x 500 kg/h modules at 10.5 bar / 180 C, lead/lag, shared feed tank, feed pumps, economizer, installed",Miura Thailand (Chachoengsao); Bangkok Industrial Boilers; STE Thailand,4500000,7000000,engineering estimate,"Five-press fleet 750-900 kg/h (steam-cooling.html); B-1 with the launch press, B-2 with Duplex 2; a third module for N+1 is an RFQ option; Miura-class modular once-through; service is Bangkok-centric, confirm northern dispatch SLA"
steam,Biomass/wood-fired boiler package (option),"~1 t/h solid fuel (wood chips/pellets/rice husk) incl. fuel feed, grate, dust control, softener, installed",Getabec PCL (Thai fabrication and service),6000000,10000000,engineering estimate,"Sized for the five-press fleet (was ~0.5 t/h for one Duplex); sustainability path matching Deepgrooves NL precedent; higher capex, lower fuel opex in the North; NOT included in baseline total"
steam,Steam balance of plant,"Traps, accumulator, condensate return",Forbes Marshall Thailand,0,0,included,Largely included in boiler package rows; line kept for RFQ completeness
compressed_air,Screw compressor skid (oil-injected),"~7.5 kW VSD screw + refrigerated dryer (3 C PDP) + coalescing filters + ~500 L receiver, installed",Atlas Copco Thailand; Kaeser Thailand (SM-T/Aircenter); Ingersoll Rand Thailand,350000,600000,engineering estimate,14-30 m3/h demand is small (5-10 hp class); oil-injected + filter train meets 5 micron / 3 C spec
compressed_air,True oil-free class-0 (option),Same duty in oil-free class-0,Atlas Copco (ZR/ZT); Kaeser,1200000,1800000,engineering estimate,Only if air contacts product stream; NOT included in baseline total
cooling,Process chiller bank 3 x 250 kW,"3 x ~71 RT air-cooled screw/scroll chillers rated at 40 C ambient + primary pumps + plate HX + warm and cold tanks + VFD supply pumps + controls, installed",Trane Thailand; Carrier Thailand; Daikin Applied Thailand; Hitachi Thailand,6500000,10500000,engineering estimate,"Five-press fleet up to ~650 kW and 305-540 l/min (Newbilt site requirements, 20-25 C supply); one module per press stage; 3 x 350 kW for N+1 as the alternative (steam-cooling.html)"
cooling,Cooling tower + HX loop (alternative),Dry cooler or FRP tower ~650-750 kW reject + plate HX + pumps + tanks + water treatment,"Liang Chi Thailand (tower, large service org); Process Cooling Solutions; Tasaki (integrators)",2000000,3500000,engineering estimate,Cheaper capex but wet-bulb-limited; hybrid tower + trim chiller is the efficiency-optimal design; NOT included in baseline total
water,Boiler feedwater duplex softener,~1.0-1.2 m3/h feedwater duty (five-press boiler bank),Veolia Water Technologies Thailand; Hydrotek; local RO/softener integrators,120000,300000,market estimate,May suffice alone for a small fire-tube boiler
water,RO skid (option),0.5-1 m3/h low-TDS feed,Veolia; Hydrotek; local integrators,200000,500000,market estimate,Only if low-TDS feed needed; NOT included in baseline total
water,Closed-loop cooling water treatment,Side-stream filtration + dosing + conductivity blowdown control,Veolia; Hydrotek; local integrators,200000,500000,engineering estimate,"Sized for the five-press loop with its open return tank (Newbilt press outlets are open, max. 2 bar); chemicals are ongoing opex on top"
water,Galvanics ZLD evaporator (future),"Small MVR or low-temp vacuum evaporator for plating rinse, installed","Core unit imported (WTEYA, Greenlan, Fred); Thai integration via Veolia or Hydrotek",3000000,8000000,market estimate,"For the future galvanics line, zero-discharge requirement; NOT included in baseline total"
storage,Pallet racking and shelving,"100-200 pallet positions selective/heavy-duty (beams sized 1000-1500 kg/pallet, records are dense) + archive and finished-goods shelving, installed","Jenbunjerd; local fabricators (Sahawatthanakit, UPR, SD Shelf); SSI Schaefer (premium)",800000,1500000,published list prices + engineering estimate,"SSI Schaefer premium tier ~1.5-3M for same scope; ~1000-2000 THB per pallet position at local tier"
storage,Pallet racking and shelving,"100-200 pallet positions selective/heavy-duty (beams sized 1000-1500 kg/pallet, records are dense) + archive and finished-goods shelving, installed","Jenbunjerd; local fabricators (Sahawatthanakit, UPR, SD Shelf); SSI Schaefer (premium)",800000,1500000,published list prices + engineering estimate,SSI Schaefer premium tier ~1.5-3M for same scope; ~1000-2000 THB per pallet position at local tier
hvac,Whole-factory HVAC,"~1500 m2 at 20-26 C, 35-60% RH, ePM1/F7-F9 filtration sized for burning-season PM2.5, ducting and controls","Daikin Thailand; Trane; Mitsubishi Electric; Carrier; filtration: Camfil Thailand, AAF",7500000,15000000,engineering estimate at 5000-10000 THB/m2,"RH low end of 35% is aggressive for tropics and drives desiccant cost; if 45-60% RH acceptable, cost drops materially"
hvac,Clean-room-grade zone adder,"Cutting room + galvanics clean room, ~2 x 60 m2, ISO 7/8 with HEPA terminals, positive pressure, airlocks","Same HVAC vendors + clean-room contractors; Camfil HEPA",1200000,3400000,engineering estimate at 10000-28000 THB/m2 adder,Applied only to the two tight zones
solar,PV rooftop EPC (illustrative 300 kWp),"Turnkey C&I rooftop EPC incl. Deye hybrid inverters, at 25000-35000 THB/kWp","Solar Nicolo (Deye tier-1 distributor); Banpu NEXT; SCG Cleanergy; Sermsang; local Chiang Mai installers",7500000,10500000,market rate per kWp; size illustrative,"Final kWp open until site selection; PEA TOU 3.2.2 plus Ft (Sep-Dec 2026): self-consumed PV worth ~3.7 THB/kWh, ~4.5-7 yr payback (sustainability.md, grid tariff)"
solar,Battery stack 271 kWh (Gobel),"GP-SRA-HV314 HV LiFePO4 rack, 15 x 18 kWh packs, direct from Shenzhen, 50-60 day lead",Gobel Power (no Thai distributor; integration by solar EPC),1400000,2030000,vendor listed price USD 39900-58000 at ~35 THB/USD,"Confirm Deye BMS protocol compatibility and that the EPC warrants a mixed-vendor DC bus; certs (UN38.3/IEC 62619/CE) to be requested"
total,BASELINE TOTAL,"Electric steam + oil-injected air + chiller + softener + loop treatment + local racking + HVAC + clean zones + 300 kWp solar + 271 kWh BESS",,23980000,41630000,sum of baseline rows,"~630k-1100k EUR at 38 THB/EUR; excludes options rows (biomass premium, oil-free, tower alternative, RO, ZLD evaporator, SSI premium tier); all figures budgetary +/- 30%, get RFQs before BOI/finance filings"
hvac,Clean-room-grade zone adder,"Cutting room + galvanics clean room, ~2 x 60 m2, ISO 7/8 with HEPA terminals, positive pressure, airlocks",Same HVAC vendors + clean-room contractors; Camfil HEPA,1200000,3400000,engineering estimate at 10000-28000 THB/m2 adder,Applied only to the two tight zones
solar,PV rooftop EPC (illustrative 300 kWp),"Turnkey C&I rooftop EPC incl. Deye hybrid inverters, at 25000-35000 THB/kWp",Solar Nicolo (Deye tier-1 distributor); Banpu NEXT; SCG Cleanergy; Sermsang; local Chiang Mai installers,7500000,10500000,market rate per kWp; size illustrative,"Final kWp open until site selection; PEA TOU 3.2.2 plus Ft (Sep-Dec 2026): self-consumed PV worth ~3.7 THB/kWh, ~4.5-7 yr payback (sustainability.md, grid tariff)"
solar,Battery stack 271 kWh (Gobel),"GP-SRA-HV314 HV LiFePO4 rack, 15 x 18 kWh packs, direct from Shenzhen, 50-60 day lead",Gobel Power (no Thai distributor; integration by solar EPC),1400000,2030000,vendor listed price USD 39900-58000 at ~35 THB/USD,Confirm Deye BMS protocol compatibility and that the EPC warrants a mixed-vendor DC bus; certs (UN38.3/IEC 62619/CE) to be requested
total,BASELINE TOTAL,Electric steam bank + oil-injected air + chiller bank + softener + loop treatment + local racking + HVAC + clean zones + 300 kWp solar + 271 kWh BESS,,30070000,51330000,sum of baseline rows,"Five-press fleet (October 2026; was 23.98M-41.63M THB for one Duplex); ~790k-1350k EUR at 38 THB/EUR; excludes options rows (biomass premium, oil-free, tower alternative, RO, ZLD evaporator, SSI premium tier); all figures budgetary +/- 30%, get RFQs before BOI/finance filings"
1 category item spec_summary candidate_thai_suppliers cost_low_thb cost_high_thb cost_basis notes
2 steam Electric/gas once-through boiler package Electric/gas once-through boiler bank ~400-500 kg/h at 10 bar / 180 C incl. softener, feed tank, economizer, installed 2 x 500 kg/h modules at 10.5 bar / 180 C, lead/lag, shared feed tank, feed pumps, economizer, installed Miura Thailand (Chachoengsao); Bangkok Industrial Boilers; STE Thailand 2500000 4500000 4000000 7000000 engineering estimate Miura-class modular once-through; BIB budget option ~2.0-3.5M; service is Bangkok-centric, confirm northern dispatch SLA Five-press fleet 750-900 kg/h (steam-cooling.html); B-1 with the launch press, B-2 with Duplex 2; a third module for N+1 is an RFQ option; Miura-class modular once-through; service is Bangkok-centric, confirm northern dispatch SLA
3 steam Biomass/wood-fired boiler package (option) ~0.5 t/h solid fuel (wood chips/pellets/rice husk) incl. fuel feed, grate, dust control, softener, installed ~1 t/h solid fuel (wood chips/pellets/rice husk) incl. fuel feed, grate, dust control, softener, installed Getabec PCL (Thai fabrication and service) 4000000 6000000 7000000 10000000 engineering estimate Sustainability path matching Deepgrooves NL precedent; Viessmann has no strong Thai channel; higher capex, lower fuel opex in the North; NOT included in baseline total Sized for the five-press fleet (was ~0.5 t/h for one Duplex); sustainability path matching Deepgrooves NL precedent; higher capex, lower fuel opex in the North; NOT included in baseline total
4 steam Steam balance of plant Traps, accumulator, condensate return Forbes Marshall Thailand 0 0 included Largely included in boiler package rows; line kept for RFQ completeness
5 compressed_air Screw compressor skid (oil-injected) ~7.5 kW VSD screw + refrigerated dryer (3 C PDP) + coalescing filters + ~500 L receiver, installed Atlas Copco Thailand; Kaeser Thailand (SM-T/Aircenter); Ingersoll Rand Thailand 350000 600000 engineering estimate 14-30 m3/h demand is small (5-10 hp class); oil-injected + filter train meets 5 micron / 3 C spec
6 compressed_air True oil-free class-0 (option) Same duty in oil-free class-0 Atlas Copco (ZR/ZT); Kaeser 1200000 1800000 engineering estimate Only if air contacts product stream; NOT included in baseline total
7 cooling Process chiller package 250 kW Process chiller bank 3 x 250 kW ~71 RT air-cooled screw/scroll chiller + pumps + buffer tank + controls, installed, closed loop 3 x ~71 RT air-cooled screw/scroll chillers rated at 40 C ambient + primary pumps + plate HX + warm and cold tanks + VFD supply pumps + controls, installed Trane Thailand; Carrier Thailand; Daikin Applied Thailand; Hitachi Thailand 2500000 6500000 4000000 10500000 engineering estimate Newbilt spec: 220 l/min peak, 20-25 C supply; chiller is the safe choice for hot-season wet-bulb Five-press fleet up to ~650 kW and 305-540 l/min (Newbilt site requirements, 20-25 C supply); one module per press stage; 3 x 350 kW for N+1 as the alternative (steam-cooling.html)
8 cooling Cooling tower + HX loop (alternative) FRP tower ~250-300 kW reject + plate HX + pumps + tanks + water treatment Dry cooler or FRP tower ~650-750 kW reject + plate HX + pumps + tanks + water treatment Liang Chi Thailand (tower, large service org); Process Cooling Solutions; Tasaki (integrators) 1000000 2000000 2000000 3500000 engineering estimate Cheaper capex but wet-bulb-limited; hybrid tower + trim chiller is the efficiency-optimal design; NOT included in baseline total
9 water Boiler feedwater duplex softener ~0.5-0.8 m3/h feedwater duty ~1.0-1.2 m3/h feedwater duty (five-press boiler bank) Veolia Water Technologies Thailand; Hydrotek; local RO/softener integrators 80000 120000 200000 300000 market estimate May suffice alone for a small fire-tube boiler
10 water RO skid (option) 0.5-1 m3/h low-TDS feed Veolia; Hydrotek; local integrators 200000 500000 market estimate Only if low-TDS feed needed; NOT included in baseline total
11 water Closed-loop cooling water treatment Side-stream filtration + dosing + conductivity blowdown control Veolia; Hydrotek; local integrators 150000 200000 400000 500000 engineering estimate Chemicals are ongoing opex on top Sized for the five-press loop with its open return tank (Newbilt press outlets are open, max. 2 bar); chemicals are ongoing opex on top
12 water Galvanics ZLD evaporator (future) Small MVR or low-temp vacuum evaporator for plating rinse, installed Core unit imported (WTEYA, Greenlan, Fred); Thai integration via Veolia or Hydrotek 3000000 8000000 market estimate For the future galvanics line, zero-discharge requirement; NOT included in baseline total
13 storage Pallet racking and shelving 100-200 pallet positions selective/heavy-duty (beams sized 1000-1500 kg/pallet, records are dense) + archive and finished-goods shelving, installed Jenbunjerd; local fabricators (Sahawatthanakit, UPR, SD Shelf); SSI Schaefer (premium) 800000 1500000 published list prices + engineering estimate SSI Schaefer premium tier ~1.5-3M for same scope; ~1000-2000 THB per pallet position at local tier
14 hvac Whole-factory HVAC ~1500 m2 at 20-26 C, 35-60% RH, ePM1/F7-F9 filtration sized for burning-season PM2.5, ducting and controls Daikin Thailand; Trane; Mitsubishi Electric; Carrier; filtration: Camfil Thailand, AAF 7500000 15000000 engineering estimate at 5000-10000 THB/m2 RH low end of 35% is aggressive for tropics and drives desiccant cost; if 45-60% RH acceptable, cost drops materially
15 hvac Clean-room-grade zone adder Cutting room + galvanics clean room, ~2 x 60 m2, ISO 7/8 with HEPA terminals, positive pressure, airlocks Same HVAC vendors + clean-room contractors; Camfil HEPA 1200000 3400000 engineering estimate at 10000-28000 THB/m2 adder Applied only to the two tight zones
16 solar PV rooftop EPC (illustrative 300 kWp) Turnkey C&I rooftop EPC incl. Deye hybrid inverters, at 25000-35000 THB/kWp Solar Nicolo (Deye tier-1 distributor); Banpu NEXT; SCG Cleanergy; Sermsang; local Chiang Mai installers 7500000 10500000 market rate per kWp; size illustrative Final kWp open until site selection; PEA TOU 3.2.2 plus Ft (Sep-Dec 2026): self-consumed PV worth ~3.7 THB/kWh, ~4.5-7 yr payback (sustainability.md, grid tariff)
17 solar Battery stack 271 kWh (Gobel) GP-SRA-HV314 HV LiFePO4 rack, 15 x 18 kWh packs, direct from Shenzhen, 50-60 day lead Gobel Power (no Thai distributor; integration by solar EPC) 1400000 2030000 vendor listed price USD 39900-58000 at ~35 THB/USD Confirm Deye BMS protocol compatibility and that the EPC warrants a mixed-vendor DC bus; certs (UN38.3/IEC 62619/CE) to be requested
18 total BASELINE TOTAL Electric steam + oil-injected air + chiller + softener + loop treatment + local racking + HVAC + clean zones + 300 kWp solar + 271 kWh BESS Electric steam bank + oil-injected air + chiller bank + softener + loop treatment + local racking + HVAC + clean zones + 300 kWp solar + 271 kWh BESS 23980000 30070000 41630000 51330000 sum of baseline rows ~630k-1100k EUR at 38 THB/EUR; excludes options rows (biomass premium, oil-free, tower alternative, RO, ZLD evaporator, SSI premium tier); all figures budgetary +/- 30%, get RFQs before BOI/finance filings Five-press fleet (October 2026; was 23.98M-41.63M THB for one Duplex); ~790k-1350k EUR at 38 THB/EUR; excludes options rows (biomass premium, oil-free, tower alternative, RO, ZLD evaporator, SSI premium tier); all figures budgetary +/- 30%, get RFQs before BOI/finance filings
+3 -3
View File
@@ -473,7 +473,7 @@ grp("Stamper making", [
grp("Energy", [
["kwhPrice", "Electricity, blended", 3.81, "THB/kWh", "doc", "scale.md: PEA TOU 3.2.2 at two shifts, before the demand charge (Ft September to December 2026)"],
["demandPrice", "Demand charge", 132.93, "THB/kW a month", "doc", "PEA 3.2.2 (scale.md)"],
["restKW", "Rest of the plant while running", 120, "kW", "est", "Estimate: HVAC, lighting, galvanics, finishing, offices; puts the start fleet in scale.md's 4.3 to 6.4M THB a year before PV"],
["restKW", "Rest of the plant while running", 120, "kW", "est", "Estimate: HVAC, lighting, galvanics, finishing, offices; puts the start fleet in scale.md's 4.5 to 6.8M THB a year before PV"],
["pvKWp", "Roof PV", 247, "kWp", "doc", "scale.md"],
["pvYield", "PV yield, all self-consumed", 1400, "kWh/kWp", "doc", "scale.md: 1,400 to 1,500 kWh/kWp a year in northern Thailand"],
["heatPrice", "Steam heat from biomass", 0.7, "THB/kWh", "doc", "biomass.md: 0.5 to 0.9 at 1.35 to 2 THB/kg delivered"],
@@ -506,8 +506,8 @@ grp("Workwear: Engelbert Strauss for all staff", [
["wwDuty", "Thai import duty on workwear", 14, "%", "doc", "HS 6203 work trousers 13.8 % (customs-compliance.ai, March 2026); BOI does not cover clothing; import VAT reclaimable"],
]);
grp("Planned plant, for the checks", [
["boiler", "Steam boiler", 400, "kg/h", "doc", "scale.md: sized for one Duplex system"],
["chiller", "Chiller", 250, "kW", "doc", "scale.md: sized for one Duplex system"],
["boiler", "Steam boiler bank", 1000, "kg/h", "doc", "steam-cooling.html and scale.md: 2 × 500 kg/h modules (proposal, estimate)"],
["chiller", "Chiller bank", 750, "kW", "doc", "steam-cooling.html and scale.md: 3 × 250 kW air-cooled modules (proposal, estimate)"],
["hall", "Payap press hall", 870, "m²", "doc", "site-candidates.md, Payap scenario model"],
]);
const A0 = Object.fromEntries(AS.map(r => [r[1], r[3]]));
+3 -3
View File
@@ -949,13 +949,13 @@ const DETAILS={
finish:{t:'7b · Finishing',w:'Inner sleeve and, once assembled, the shrink wrapper. The labels are already on: they were pressed in.',c:['Inner sleeve scuff check per lot','Shrink wrap sampled'],f:['2 to 3 days per order (production timeline)']},
pack:{t:'8 · Packaging and assembly',w:'The runout matrix code is scanned against the jacket barcode, so the wrong record in the right jacket is caught every time.',c:['Matrix code vs jacket barcode on every unit','Barcode verification'],f:['Packaging and finished goods ~300 to 500 m²']},
ship:{t:'9 · Fulfillment',w:'Bulk pallets, or per-parcel dropship for the label; carrier tracking joins the traceability record. Test pressings leave here for the artists.',c:['Consignment vs bill of materials','Tracking per shipment or per end customer'],f:['Quoted lead time 7 to 9 weeks mature, 2 to 3 weeks for a repress']},
boiler:{t:'Steam boiler',w:'Saturated steam at 10 bar / 180 °C heats the moulds; each press draws ~1.3 kg per cycle. Four presses need 600 to 720 kg/h at Newbilt\'s 150 to 180 kg/h per press, so the boiler is shown at 800 kg/h. That is an estimate: scale.md sizes the boiler at 400 kg/h, which covers the Duplex alone. Below 9.5 bar the presses hold in STEAM (Steam dip button).',c:['Pressure held between 9.5 and 10.5 bar at the press','Feedwater treatment, condensate return'],f:['Fuel decision open: biomass, LPG or electric','Detached boiler hall with a 14 m flue','scale.md\'s 400 kg/h is the Duplex figure; to be re-based for the four-press fleet']},
chiller:{t:'Process cooling',w:'Cooling water sets the vinyl after the steam phase. The four presses here can need up to 125 kW each, so the chiller is shown at 500 kW (estimate; scale.md\'s 250 kW is the Duplex figure). If the supply water runs warm, the Classics stretch their cooling and their cycle. The galvanics plating units take a small branch at 12 to 20 °C.',c:['Supply 20 to 25 °C, closed loop','Up to 100 l/min per press, ~53 l/min average (site requirements)'],f:['~80 to 125 kW electrical per 250 kW of cooling','PDPU coil: 10 L/min at 12 to 20 °C (2024 flyer)']},
boiler:{t:'Steam boiler',w:'Saturated steam at 10 bar / 180 °C heats the moulds; each press draws ~1.3 kg per cycle. Four presses need 600 to 720 kg/h at Newbilt\'s 150 to 180 kg/h per press, so the boiler is shown at 800 kg/h. That is an estimate for this four-press page; the five-press plan (scale.md, steam-cooling.html) is a bank of two 500 kg/h modules. Below 9.5 bar the presses hold in STEAM (Steam dip button).',c:['Pressure held between 9.5 and 10.5 bar at the press','Feedwater treatment, condensate return'],f:['Fuel decision open: biomass, LPG or electric','Detached boiler hall with a 14 m flue','Five-press plan: 750 to 900 kg/h on a 2 × 500 kg/h boiler bank (steam-cooling.html)']},
chiller:{t:'Process cooling',w:'Cooling water sets the vinyl after the steam phase. The four presses here can need up to 125 kW each, so the chiller is shown at 500 kW (estimate for this four-press page; the five-press plan is a 3 × 250 kW chiller bank, steam-cooling.html). If the supply water runs warm, the Classics stretch their cooling and their cycle. The galvanics plating units take a small branch at 12 to 20 °C.',c:['Supply 20 to 25 °C, closed loop','Up to 100 l/min per press, ~53 l/min average (site requirements)'],f:['~80 to 125 kW electrical per 250 kW of cooling','PDPU coil: 10 L/min at 12 to 20 °C (2024 flyer)']},
comp:{t:'Compressed air',w:'Dry, filtered air for the press and extruder actuators, the Sibert machines and the silvering unit.',c:['Dew point max 3 °C, impurities max 5 µm'],f:['14 m³/h for a Duplex system (site requirements)','Sibert: 6 to 8 bar, 3.1 to 4.5 L/s per machine in use; PASU 6 bar']},
hyd:{t:'Hydraulic aggregate (Duplex)',w:'One aggregate supplies ~150 t to both Duplex presses at 180 bar from a gas-loaded accumulator. A larger central supply shared by several systems is possible (Duplex flyer); how the Classics are supplied is a re-quote question.',c:['Oil temperature and pressure logged'],f:['200 l HLP 46, 15 kVA, 12 kW average, 600 kg (site requirements)']},
diro:{t:'RO / DI water',w:'Plating rinses need deionised water: the PMPB bench has a DI connection and the silvering chemistry is made up with it.',c:['Conductivity logged'],f:['The RO skid in the utilities CSV is an option row sized for boiler feed, not for this (galvanics.md)','0.2 m³/h make-up here (estimate)']},
zld:{t:'Water treatment, zero discharge',w:'Galvanics rinse water and the VSF\'s nickel-bearing loop water go through closed-loop treatment and metal recovery with an evaporator; nothing goes to the drain. Neither Pheenix nor Digital Matrix supplies this; it is a separate vendor.',c:['Rinse conductivity, evaporator state'],f:['Zero contaminated water commitment (sustainability.md)','USD 90k to 240k (total investment)']},
energy:{t:'Energy',w:'247 kWp of roof PV, a 271 kWh battery for peak shaving and ride-through, and a medium-voltage PEA connection. Solar follows the clock; the battery covers the evening.',c:['Plant peak 300 to 450 kW without an electric boiler'],f:['Galvanics ~27 kVA connected per line, far less drawn (galvanics.md)','PV covers roughly 28 to 45 % of consumption without electric steam']},
energy:{t:'Energy',w:'247 kWp of roof PV, a 271 kWh battery for ride-through, and a medium-voltage PEA connection. Solar follows the clock; the battery covers the evening.',c:['Plant peak ~430 to 700 kW without an electric boiler (five-press plan, scale.md)'],f:['Galvanics ~27 kVA connected per line, far less drawn (galvanics.md)','PV covers roughly 28 to 45 % of consumption without electric steam']},
trace:{t:'Traceability',w:'Every step logs at the source: press and rectifier PLCs, the lab, the XRF, the vision station; manual steps check in. Append-only, kept for the life of the customer relationship.',c:['Record key: stamper + press + cycle timestamp + side','Every part knows its parents: stamper, mother, father, lacquer'],f:['The part of the plan the industry responded to at Making Vinyl Europe 2026']},
hvac:{t:'Plant HVAC',w:'The press hall at 20 to 26 °C and 35 to 60 % RH; galvanics, archive and audio rooms in their own zones, logged on the production timeline.',c:['T, RH and PM per zone'],f:['~100 to 200 kW peak (estimate)']},
exh:{t:'Galvanics extraction',w:'Every tank unit is extracted (Ø63 mm per plating unit, Ø125 mm at 150 m³/h on the silvering unit) through a scrubber. The interlock is hard-wired: no extraction, no plating.',c:['Fan status logged, interlock hard-wired'],f:['Facility security: fume-extraction interlocks']},
+39 -28
View File
@@ -174,34 +174,36 @@ conversion, which forestry land generally does not.
| Load | Rough figure |
|---|---|
| Pressing machinery (two Duplex systems + the Classic) | ~90 to 120 kW installed (estimate: 32 kVA per Duplex system by Newbilt's requirements; the second extruders and the Classic not yet published) |
| Process chiller (250 kW cooling) | ~80 to 125 kW electrical |
| Pressing machinery (two Duplex systems + the Classic, central hydraulics) | ~118 kVA connected, ~73 kW average while running (Newbilt per-machine figures; the EX 35 and the Classic counted like the EX 50 and an HRP 12 until published) |
| Chiller bank (up to ~650 kW cooling) | ~210 to 325 kW electrical at the peak (~80 to 125 kW per 250 kW of cooling, air-cooled, hot season; estimate) |
| Whole-factory HVAC | ~100 to 200 kW peak (estimate) |
| Electric steam boiler (if chosen over biomass/LPG) | ~300 kW |
| Electric steam boiler bank (if chosen over biomass/LPG) | ~520 to 625 kW for 750 to 900 kg/h |
| Compressed air, lighting, IT, misc | ~30 to 50 kW |
| **Plant peak demand** | **~300 to 450 kW without electric boiler; ~600 to 750 kW with it** |
| **Plant peak demand** | **~430 to 700 kW without electric boiler; ~950 to 1,330 kW with it** |
Grid connection: a medium-voltage connection with a transformer in the
**500 to 1,000 kVA** class from PEA, sized by the boiler decision.
Grid connection: a medium-voltage connection from PEA with a transformer in
the **800 to 1,000 kVA** class without electric steam, **1,250 to 1,600 kVA**
with it; past 1,000 kW of demand the plant moves to PEA Schedule 4, whose
time-of-use rates are the same.
**Not yet re-based for the five-press fleet** (October 2026). The chiller
and peak rows above are sized for one Duplex's ~250 kW of cooling; at
Newbilt's up to 125 kW of cooling per press, five presses need up to ~625
kW, so the chiller's electrical draw and the plant peak rise accordingly.
Re-size with the Newbilt re-quote figures, together with the steam below
([pressing line](equipment/pressing-line.md)). The presses share one
central hydraulic plant and one compressed-air plant; their draw replaces
the per-system hydraulic units in the pressing row above. The optional
ten more Classics would need up to ~1.9 MW of cooling and ~2.3 to 2.7 t/h
of steam: a utility phase of its own.
**Re-based for the five-press fleet** (October 2026; the concept is drawn
in [steam and cooling](steam-cooling.html)). At Newbilt's per-machine
figures the two Duplex systems and the Classic need 750 to 900 kg/h of
steam and up to ~650 kW of cooling (625 kW presses, 15 kW extruders, 12.5
kW hydraulic oil cooler) at 305 to 540 l/min of circulating water. The
peak rows assume all five presses cooling hard on a hot afternoon; the
Classic counts as one HRP 12 press plus one extruder until Newbilt states
its figures. The presses share one central hydraulic plant and one
compressed-air plant. The optional ten more Classics would need up to ~1.9
MW of cooling and ~2.3 to 2.7 t/h of steam: a utility phase of its own.
Tariff: PEA Schedule 3.2.2, Medium General Service on time of use at
22 kV (the flat rate is closed to new customers): 132.93 THB/kW demand
charge on the peak-hour maximum, 4.1839 THB/kWh peak (09:00 to 22:00 on
weekdays) and 2.6037 THB/kWh off-peak, plus Ft (0.1623 THB/kWh for
September to December 2026) and VAT. Two-shift production lands at a
blended ~3.81 THB/kWh before the demand charge, roughly 4.3M to 6.4M THB a
year without electric steam (estimate); the deposit for the connection is
blended ~3.81 THB/kWh before the demand charge, roughly 4.5M to 6.8M THB a
year without electric steam, 0.7M to 1.1M of it demand charge (estimate); the deposit for the connection is
400 THB per kVA. Detail and what it decides for steam, PV and the battery
in [sustainability](sustainability.md#grid-tariff-pea-and-what-it-decides).
@@ -225,19 +227,28 @@ small against the connection, but its own feeder and meter.
without electric steam, falling to **~17%** with it; a bigger array
shifts that up
- Battery: **271 kWh** Gobel stack (ride-through, roughly
two to three hours of the chiller's electrical draw; peak shaving earns
an hour of the chiller bank's peak electrical draw; peak shaving earns
little under PEA's time-of-use tariff, see
[sustainability](sustainability.md#grid-tariff-pea-and-what-it-decides))
## Steam and fuel
- Boiler: **400 kg/h at 10 bar / 180 °C** (~300 kW thermal), sized for
one Duplex. The current five-press fleet draws **~750 to 900 kg/h** at
Newbilt's 150 to 180 kg/h per press: not yet re-based, and the fuel
figures below scale with it
- If biomass: **~350 to 400 t/yr** air-dry wood at mature operation, of
which the 60 rai coppice could supply **~80 to 135 t/yr**
- If LPG: **~2.5 to 5 t** bulk tank on site (no gas pipeline in the North)
- Boiler bank: the five-press fleet draws **~750 to 900 kg/h at 10 bar /
180 °C** (~510 to 610 kW thermal) at Newbilt's 150 to 180 kg/h per press.
Proposed: **two 500 kg/h modules** (B-1 with the launch press and Duplex
system 1, B-2 with system 2 and the Classic), 1,000 kg/h installed; a
third module for N+1 is an RFQ option
([steam and cooling](steam-cooling.html)). The 2024 Newbilt quote's
~400 kg/h covers one Duplex system
- Chiller bank: up to **~650 kW** of cooling; proposed **three 250 kW
air-cooled modules** rated at 40 °C ambient, one per press stage, behind a
plate heat exchanger with warm and cold tanks (estimate)
- If biomass: **~350 to 400 t/yr** air-dry wood at ~1.0 to 1.1 million
records a year, up to **~550 t/yr** at the start fleet's full ~1.5
million (fuel follows records pressed, not presses installed); the 60 rai
coppice could supply **~80 to 135 t/yr**
- If LPG: a bulk tank on site sized with the boiler bank (the ~2.5 to 5 t
first estimated was for one Duplex; no gas pipeline in the North)
## People
@@ -258,8 +269,8 @@ keep their original currency alongside.
- Newbilt semi-auto line: **~USD 232k (~7.7M THB)**, from the June 2024
quote of EUR 200,500 — expired, in
[pressing-line](equipment/pressing-line.md)
- Thai-sourced utilities, HVAC, racking, solar, BESS baseline: **~24M to
42M THB (~USD 730k to 1.27M)**, detail in the
- Thai-sourced utilities, HVAC, racking, solar, BESS baseline: **~30M to
51M THB (~USD 910k to 1.56M)** for the five-press fleet, detail in the
[utilities CSV](finance/utilities-investment.csv)
- Not yet priced: the second Duplex system and the Newbilt Classic
(estimates in [total investment](finance/total-investment.md)),
+345
View File
@@ -0,0 +1,345 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CNX Vinyl · Steam and cooling plant (five-press fleet)</title>
<script>
(function(){var t=null;try{t=localStorage.getItem("cnx-theme")}catch(e){}
if(t!=="light"&&t!=="dark")t=window.matchMedia&&matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";
document.documentElement.setAttribute("data-theme",t);})();
</script>
<style>
:root{color-scheme:dark;
--bg:#0a0f1a;--card:#0f1626;--box:#121a2b;--stroke:#2a3a56;--head:#1a2640;--fg:#d6deeb;--mute:#8a97b0;--ink:#e6ecf7;
--sel:#7fb2ff;--warn:#ffbf1f;--alarm:#ff3b3b;--ok:#3ddc84;
--st:#ff5a3c;--cd:#c96a4e;--fw:#2fb5a0;--rw:#8aa3c0;--cws:#3aa0ff;--cwr:#7fc0ff;--pri:#2e7fd0;--prw:#9c7bd9;--hr:#f5a623;--bd:#b48ead;
--mono:ui-monospace,"Cascadia Mono",Consolas,"Liberation Mono",monospace}
html[data-theme=light]{color-scheme:light;
--bg:#eef2f7;--card:#ffffff;--box:#ffffff;--stroke:#c3cede;--head:#e3e9f3;--fg:#1b2533;--mute:#5b6880;--ink:#1b2533;
--sel:#1f5fbf;--warn:#c98a00;--alarm:#e0352b;--ok:#16a35a;
--st:#e2462a;--cd:#b0573c;--fw:#14907e;--rw:#6d86a3;--cws:#1f84e0;--cwr:#4f9be0;--pri:#2468b0;--prw:#7b5cc0;--hr:#d48600;--bd:#8e6a8a}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font:14px/1.5 -apple-system,"Segoe UI",Roboto,Arial,sans-serif}
header{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--stroke);position:sticky;top:0;z-index:2}
h1{font-size:16px;font-weight:600}h1 span{color:var(--mute);font-weight:400}
.ctl{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
button{background:var(--head);color:var(--fg);border:1px solid var(--stroke);border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer}
button.on{border-color:var(--sel);box-shadow:inset 0 0 0 1px var(--sel)}
main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;padding:12px 16px}
.card{background:var(--card);border:1px solid var(--stroke);border-radius:6px;padding:10px 14px;min-width:0}
.card h2{font-size:14px;margin-bottom:6px}.card h3{font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 2px}
.card p,.card li{font-size:13px}.card ul{padding-left:18px}
.wrap{overflow-x:auto}
svg{display:block;width:100%;min-width:1100px;height:auto}
.side{display:flex;flex-direction:column;gap:12px}
table{border-collapse:collapse;width:100%;font-size:12.5px}
td,th{border-bottom:1px solid var(--stroke);padding:3px 6px;text-align:left;vertical-align:top}
th{color:var(--mute);font-weight:600}
td.n{font-family:var(--mono);white-space:nowrap}
td.low{color:var(--warn);font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px;padding:0 16px 16px}
.b{display:inline-block;font-size:10px;border-radius:3px;padding:0 4px;margin-left:4px;border:1px solid var(--stroke);color:var(--mute)}
.b.v{border-color:var(--ok);color:var(--ok)}.b.e{border-color:var(--warn);color:var(--warn)}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;font-size:12.5px}
.legend i{display:inline-block;width:26px;border-top:3px solid;margin-right:6px;vertical-align:middle}
.legend i.d{border-top-style:dashed}
.note{color:var(--mute);font-size:12px;margin-top:6px}
@media (max-width:1100px){main{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
/* diagram */
.bx{fill:var(--box);stroke:var(--stroke);stroke-width:1}
.hd{fill:var(--head)}
.bt{fill:var(--ink);font-size:12px;font-weight:600}
.bl{fill:var(--fg);font:10.5px var(--mono)}
.eq{cursor:pointer}.eq:hover .bx{stroke:var(--sel)}
.eq.sel .bx{stroke:var(--sel);stroke-width:1.5}
.eq.opt .bx{stroke-dasharray:5 4}
.eq.dim{opacity:.38}
.eq.out .bx{stroke:var(--alarm);stroke-width:1.5}
.eq.out .bl:last-of-type{fill:var(--alarm)}
.p{fill:none;stroke-width:2.2;stroke-linejoin:round}
.p.st{stroke:var(--st);stroke-width:3}.p.cd{stroke:var(--cd);stroke-dasharray:7 4}.p.fw{stroke:var(--fw)}.p.rw{stroke:var(--rw)}
.p.cws{stroke:var(--cws);stroke-width:2.6}.p.cwr{stroke:var(--cwr);stroke-dasharray:7 4}.p.pri{stroke:var(--pri)}.p.prw{stroke:var(--prw);stroke-dasharray:7 4}
.p.bd{stroke:var(--bd);stroke-dasharray:3 3}.p.opt{stroke-dasharray:3 5;opacity:.8}
.ar{stroke:none}.ar.st{fill:var(--st)}.ar.cd{fill:var(--cd)}.ar.cws{fill:var(--cws)}.ar.cwr{fill:var(--cwr)}.ar.pri{fill:var(--pri)}.ar.prw{fill:var(--prw)}
.vv{fill:var(--card);stroke:var(--fg);stroke-width:1.2}
.trap{fill:var(--card);stroke:var(--cd);stroke-width:1.4}
.tt{fill:var(--fg);font:bold 7px var(--mono);text-anchor:middle}
.ib{fill:var(--card);stroke:var(--mute);stroke-width:1.2}
.lead{stroke:var(--mute);stroke-width:1;stroke-dasharray:2 2}
.lane{fill:var(--mute);font-size:10.5px;font-weight:600;letter-spacing:.14em}
.lbl{fill:var(--mute);font-size:9.5px;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
</style>
</head>
<body>
<header>
<h1>CNX Vinyl <span>· Steam and cooling plant · five-press fleet · proposed concept</span></h1>
<div class="ctl" id="cases">
<button data-case="launch">Launch</button>
<button data-case="d1">Duplex system 1</button>
<button data-case="full" class="on">Start fleet, 5 presses</button>
<button data-case="down">One module down</button>
<button id="themeBtn" title="Switch light / dark mode">☀</button>
</div>
</header>
<main>
<div class="card">
<div class="wrap">
<svg id="svg" viewBox="0 0 1800 1000" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Steam and process cooling diagram">
<g id="gPipe"></g><g id="gSym"></g><g id="gBox"></g><g id="gTxt"></g>
</svg>
</div>
<p class="note">Concept for the RFQs, not a construction drawing. Machine figures are Newbilt's published site requirements per press, extruder and hydraulic unit; boiler and chiller banks, tank sizes and pump duties are this repository's proposals and estimates until vendors quote. Click any piece of equipment.</p>
</div>
<div class="side">
<div class="card" id="caseCard"></div>
<div class="card" id="detail"><h2>Click any equipment</h2><p>Each box explains what it does, the figures behind it with their source, and what the RFQ still has to settle. The buttons above switch between operating cases: which presses run, which modules are installed, and whether the plant covers the demand.</p></div>
</div>
</main>
<div class="grid">
<div class="card">
<h2>Design basis</h2>
<table>
<tr><th>Item</th><th>Figure</th><th>Source</th></tr>
<tr><td>Fleet</td><td>2 Duplex systems (4 HRP 12, 2 EX 50, 2 EX 35) + 1 Classic with built-in extruder; one central hydraulic and one air plant</td><td>pressing-line.md<span class="b">doc</span></td></tr>
<tr><td>Steam per press</td><td class="n">150 to 180 kg/h, min. 10 bar, 9.5 to 10.5 bar operating</td><td>Newbilt site requirements 3.2.3<span class="b v">vendor</span></td></tr>
<tr><td>Press cooling water</td><td class="n">up to 100 l/min, ~53 l/min used, in 20 to 25 °C at 10 bar, out ~60 °C, max. 2 bar (open)</td><td>site requirements 3.2.2<span class="b v">vendor</span></td></tr>
<tr><td>Press cooling capacity</td><td class="n">up to 125 kW per press, by cycle time</td><td>site requirements 3.2.2<span class="b v">vendor</span></td></tr>
<tr><td>Extruder cooling</td><td class="n">~4 l/min, 2 to 3 kW, in 20 to 25 °C, 5 to 10 bar</td><td>site requirements 3.3.3<span class="b v">vendor</span></td></tr>
<tr><td>Hydraulic oil cooler</td><td class="n">~8 l/min, up to 5 kW per aggregate (2.5 kW per press)</td><td>site requirements 3.4.2<span class="b v">vendor</span></td></tr>
<tr><td>Cooling water quality</td><td class="n">7 to 8 °dH, pH 7 to 9, ≤ 200 µm, ≤ 500 µS/cm, Cl ≤ 20 mg/l</td><td>site requirements 3.1.2<span class="b v">vendor</span></td></tr>
<tr><td>Classic</td><td>counted as one HRP 12 + one extruder; Toolex Alpha cross-check 1.2 kg steam, 15 l water per cycle</td><td>fleet calculator<span class="b e">estimate</span></td></tr>
<tr><td>Five presses, full demand</td><td class="n">steam 750 to 900 kg/h · cooling 652.5 kW · water 305 to 540 l/min</td><td>sum of the above<span class="b">doc</span></td></tr>
<tr><td>Chiller electrical input</td><td class="n">~80 to 125 kW per 250 kW of cooling (air-cooled, hot season)</td><td>scale.md<span class="b e">estimate</span></td></tr>
<tr><td>Electric boiler alternative</td><td class="n">~0.68 kWh per kg of steam at 98 %</td><td>fleet calculator<span class="b e">estimate</span></td></tr>
<tr><td>Annual steam heat</td><td class="n">~1,170 MWh at 1.0 M records, ~1,750 MWh at the start fleet's full ~1.5 M</td><td>fleet calculator, biomass.md<span class="b e">estimate</span></td></tr>
</table>
<p class="note">Circulating water is not consumption: the loop recirculates. Boiler make-up is about 0.75 to 0.9 m³/h before condensate return, much less with it.</p>
</div>
<div class="card">
<h2>Equipment schedule (proposed)</h2>
<table>
<tr><th>Tag</th><th>Item</th><th>Duty</th><th>Phase</th><th>Status</th></tr>
<tr><td>WT-1</td><td>Duplex softener, dosing</td><td class="n">~1.0 to 1.2 m³/h</td><td>launch</td><td>estimate</td></tr>
<tr><td>T-1</td><td>Feed tank / hotwell</td><td class="n">~1.5 m³, 90 to 95 °C</td><td>launch</td><td>estimate</td></tr>
<tr><td>P-1</td><td>Feed pumps, duty/standby</td><td class="n">~1 m³/h, ~13 bar</td><td>launch</td><td>estimate</td></tr>
<tr><td>B-1, B-2</td><td>Boiler modules, lead/lag</td><td class="n">2 × 500 kg/h, 10.5 bar</td><td>B-1 launch, B-2 with Duplex 2</td><td>proposal</td></tr>
<tr><td>B-3</td><td>Third module for N+1</td><td class="n">500 kg/h</td><td>option</td><td>RFQ option</td></tr>
<tr><td>ACC-1</td><td>Steam accumulator</td><td class="n">by cycle overlap</td><td>option</td><td>Newbilt option</td></tr>
<tr><td>HP-1</td><td>Heat-recovery heat pump</td><td class="n">feed to 90 to 95 °C</td><td>launch or later</td><td>proposal</td></tr>
<tr><td>CH-1 to CH-3</td><td>Air-cooled chillers at 40 °C ambient</td><td class="n">3 × 250 kW</td><td>one per press stage</td><td>proposal</td></tr>
<tr><td>CH-4</td><td>Fourth module for N+1</td><td class="n">250 kW</td><td>option</td><td>RFQ option</td></tr>
<tr><td>HX-1</td><td>Plate heat exchanger</td><td class="n">~650 kW, ~2 K approach</td><td>launch, sized for 5</td><td>estimate</td></tr>
<tr><td>TK-3, TK-2</td><td>Warm return / cold buffer tanks</td><td class="n">~5 m³ each</td><td>launch</td><td>estimate</td></tr>
<tr><td>P-2, P-3, P-4</td><td>Transfer, VFD supply, primary pumps</td><td class="n">up to ~540 l/min</td><td>launch, staged</td><td>estimate</td></tr>
<tr><td>TC-1</td><td>Dry cooler ahead of HX-1</td><td class="n">~650 to 750 kW reject</td><td>option</td><td>RFQ option</td></tr>
<tr><td>GC</td><td>Galvanics cooling, separate</td><td class="n">12 to 20 °C, 10 L/min per PDPU</td><td>phase 5</td><td>open</td></tr>
</table>
</div>
<div class="card">
<h2>Open for the RFQs</h2>
<h3>Newbilt (re-quote)</h3>
<ul>
<li>Classic: steam, cooling, power, weight; can it run from the central hydraulic plant?</li>
<li>Press return temperature over the cycle: 53 l/min at ~60 °C out of 20 to 25 °C is ~140 kW, more than the stated 125 kW peak. The real profile sizes HP-1, HX-1 and TC-1.</li>
<li>Is the accumulator needed with a modular boiler bank, and how big?</li>
<li>Steam trap and condensate return at the press: Newbilt's or ours?</li>
</ul>
<h3>Boilers (Miura, Bangkok Industrial Boilers, STE)</h3>
<ul>
<li>2 × 500 kg/h against 3 × 500 kg/h and 1 × 1 t/h: price, footprint, lead/lag control, service from Chiang Mai.</li>
<li>Fuel: electric, biomass or LPG (sustainability.md, biomass.md); the electric bank draws ~520 to 625 kW.</li>
<li>Blowdown cooling to the effluent limit; boiler registration and licensed operator (facility-security.md).</li>
</ul>
<h3>Chillers (Trane, Carrier, Daikin Applied, Hitachi)</h3>
<ul>
<li>3 × 250 kW against 3 × 350 kW (N+1), rated at 40 °C ambient; part-load efficiency.</li>
<li>Plate heat exchanger and tanks in scope; dry cooler TC-1 as a priced option.</li>
</ul>
<h3>Site</h3>
<ul>
<li>Water analysis before either RFQ: it decides softener or RO and the loop treatment.</li>
<li>Grid: ~800 to 1,000 kVA without electric steam, 1,250 to 1,600 kVA with it (scale.md).</li>
</ul>
</div>
<div class="card">
<h2>Legend</h2>
<div class="legend">
<div><i style="border-color:var(--st)"></i>Saturated steam 10 bar</div>
<div><i class="d" style="border-color:var(--cd)"></i>Condensate return</div>
<div><i style="border-color:var(--fw)"></i>Treated feedwater</div>
<div><i style="border-color:var(--rw)"></i>Raw / make-up water</div>
<div><i style="border-color:var(--cws)"></i>Process cooling supply 20 to 25 °C</div>
<div><i class="d" style="border-color:var(--cwr)"></i>Process cooling return, open</div>
<div><i style="border-color:var(--pri)"></i>Chiller loop, cold</div>
<div><i class="d" style="border-color:var(--prw)"></i>Chiller loop, warm</div>
<div><i style="border-color:var(--hr)"></i>Heat recovery feedwater loop</div>
<div><i class="d" style="border-color:var(--bd)"></i>Blowdown, drains</div>
</div>
<p class="note">Dashed boxes are options. Bow-ties are isolation or control valves (a stem marks a control valve), squares strainers, T a steam trap. Circles are instruments: PT pressure, TT temperature, FT flow; every one is logged to the plant data platform (digital-factory.md). Flow times supply and return temperature on each branch gives that press's cooling load; steam flow against records pressed gives steam per record.</p>
</div>
</div>
<script>
(function(){
'use strict';
const NS='http://www.w3.org/2000/svg',$=id=>document.getElementById(id);
const L={pipe:$('gPipe'),sym:$('gSym'),box:$('gBox'),txt:$('gTxt')};
function el(t,a,p,txt){const e=document.createElementNS(NS,t);for(const k in a)e.setAttribute(k,a[k]);if(txt!=null)e.textContent=txt;(p||L.box).appendChild(e);return e;}
// header band with top corners concentric with the box (rx 4, inset 1)
const headD=(x,y,w)=>`M${x+1},${y+19}V${y+4}a3,3 0 0 1 3,-3H${x+w-4}a3,3 0 0 1 3,3V${y+19}Z`;
const BOX={};
function box(id,x,y,w,h,title,lines,o){o=o||{};const g=el('g',{class:'eq'+(o.opt?' opt':''),id:'b_'+id});
el('rect',{x,y,width:w,height:h,rx:4,class:'bx'},g);el('path',{d:headD(x,y,w),class:'hd'},g);
el('text',{x:x+7,y:y+14,class:'bt'},g,title);
const t=lines.map((s,i)=>el('text',{x:x+7,y:y+32+i*13,class:'bl'},g,s));
BOX[id]={g,x,y,w,h,t,det:o.det||id};g.addEventListener('click',()=>select(id));return BOX[id];}
const pipe=(d,c)=>el('path',{d,class:'p '+c},L.pipe);
function arrow(x,y,dir,c){const s=5,P={e:`${x-s},${y-s} ${x+s},${y} ${x-s},${y+s}`,w:`${x+s},${y-s} ${x-s},${y} ${x+s},${y+s}`,
n:`${x-s},${y+s} ${x},${y-s} ${x+s},${y+s}`,s:`${x-s},${y-s} ${x},${y+s} ${x+s},${y-s}`}[dir];el('polygon',{points:P,class:'ar '+c},L.sym);}
function valve(x,y,v){el('polygon',{points:v?`${x-5},${y-6} ${x+5},${y-6} ${x-5},${y+6} ${x+5},${y+6}`:`${x-6},${y-5} ${x-6},${y+5} ${x+6},${y-5} ${x+6},${y+5}`,class:'vv'},L.sym);}
function cvalve(x,y){valve(x,y,true);el('line',{x1:x,y1:y,x2:x+10,y2:y,class:'vv'},L.sym);el('rect',{x:x+10,y:y-4,width:6,height:8,class:'vv'},L.sym);}
function strainer(x,y){el('rect',{x:x-4,y:y-4,width:8,height:8,class:'vv'},L.sym);el('line',{x1:x-4,y1:y-4,x2:x+4,y2:y+4,class:'vv'},L.sym);}
function trap(x,y){el('circle',{cx:x,cy:y,r:5.5,class:'trap'},L.sym);el('text',{x,y:y+2.5,class:'tt'},L.sym,'T');}
const BUB=[];
function bubble(x,y,tag,lx,ly){if(lx!=null)el('line',{x1:lx,y1:ly,x2:x,y2:y,class:'lead'},L.sym);el('circle',{cx:x,cy:y,r:9,class:'ib'},L.sym);el('text',{x,y:y+2.5,class:'tt'},L.sym,tag);BUB.push({x,y});}
const lbl=(x,y,s)=>el('text',{x,y,class:'lbl'},L.txt,s);
const lane=(x,y,s)=>el('text',{x,y,class:'lane'},L.txt,s);
/* ---------------- band A: steam generation */
lane(20,28,'STEAM AND CONDENSATE');
box('RW',20,70,150,64,'RW · raw water',['mains or well','analysis first']);
box('WT1',200,64,170,76,'WT-1 · treatment',['duplex softener','dosing · RO if needed','~1.0 to 1.2 m³/h']);
box('T1',400,60,170,90,'T-1 · feed tank',['condensate + make-up','held at 90 to 95 °C','~1.5 m³ (estimate)']);
box('P1',600,80,140,64,'P-1 · feed pumps',['duty / standby','~13 bar']);
box('B1',780,50,190,64,'B-1 · boiler',['500 kg/h · 10.5 bar','running'],{det:'boiler'});
box('B2',780,124,190,64,'B-2 · boiler',['500 kg/h · 10.5 bar','running'],{det:'boiler'});
box('B3',780,198,190,64,'B-3 · boiler',['500 kg/h · for N+1','RFQ option'],{opt:true});
box('SEP1',1030,120,170,64,'SEP-1 · separator',['FT-101 · PT-101','dry steam to header']);
box('BD1',1030,230,170,64,'BD-1 · blowdown',['flash, cooled to drain','safety valves vent out']);
box('ACC1',1240,40,170,64,'ACC-1 · accumulator',['option (Newbilt)','rides cycle peaks'],{opt:true});
box('HP1',400,196,170,74,'HP-1 · heat pump',['heat recovery','feed to 90 to 95 °C','from warm press return']);
pipe('M170,102 H200','rw');pipe('M370,102 H400','fw');pipe('M570,112 H600','fw');
pipe('M740,112 H760 M760,82 V156 M760,82 H780 M760,156 H780','fw');pipe('M760,156 V230 H780','fw opt');
pipe('M970,82 H1000 V156 M970,156 H1000 M1000,152 H1030','st');pipe('M970,230 H1000 V156','st opt');
pipe('M970,104 H985 M970,178 H985 M985,104 V250 H1030','bd');pipe('M1200,262 H1240','bd');lbl(1246,266,'to drain, cooled');
pipe('M1325,104 V152','st opt');
pipe('M450,150 V196 M520,196 V150','hr');
pipe('M1200,152 H1740 V350 H620','st');arrow(1500,152,'e','st');arrow(1740,250,'s','st');arrow(1150,350,'w','st');
lbl(1430,172,'steam main 10 bar · insulated · falls with the flow');
/* ---------------- band B: consumers */
lane(20,336,'CONSUMERS · FIVE PRESSES, EXTRUDERS, HYDRAULICS');
lbl(700,340,'steam header, branch from top');
const PR=[['D1A','D1-A · HRP 12','Duplex 1 · EX 50 + EX 35'],['D1B','D1-B · HRP 12','Duplex 1 · shared extruders'],
['D2A','D2-A · HRP 12','Duplex 2 · EX 50 + EX 35'],['D2B','D2-B · HRP 12','Duplex 2 · shared extruders'],['C1','C · Classic, automatic','built-in extruder']];
PR.forEach(([id,t,s],i)=>{const px=640+i*220,c=id==='C1';
box(id,px,420,190,120,t,[s,c?'steam 150 to 180 (est.)':'steam 150 to 180 kg/h',c?'cooling ≤ 125 kW (est.)':'cooling ≤ 125 kW',c?'water ≤ 100 l/min (est.)':'water 53 to 100 l/min','running'],{det:c?'classic':'press'});
pipe(`M${px+40},350 V420`,'st');valve(px+40,364,true);strainer(px+40,382);cvalve(px+40,402);bubble(px+72,390,'PT',px+56,398);
pipe(`M${px+50},540 V580`,'cd');trap(px+50,558);
pipe(`M${px+130},650 V540`,'cws');valve(px+130,600,true);
pipe(`M${px+160},540 V690`,'cwr');valve(px+160,566,true);bubble(px+180,598,'FT',px+160,598);bubble(px+180,622,'TT',px+160,622);});
pipe('M620,350 V580','cd');trap(620,372);pipe('M1740,350 V580','cd');trap(1740,372);
pipe('M1740,580 H590 V135 H570','cd');arrow(1110,580,'w','cd');lbl(642,598,'condensate return to T-1');
box('EX1',30,400,180,76,'EX · extruder cooling',['~4 l/min · 2 to 3 kW each','2 EX 50, 2 EX 35, Classic']);
box('HY1',230,400,180,76,'HY · oil cooler',['central hydraulic plant','~8 l/min per aggregate']);
pipe('M90,650 V476 M270,650 V476','cws');pipe('M170,476 V690 M350,476 V690','cwr');
/* ---------------- band C: process cooling */
lane(20,624,'PROCESS COOLING');
pipe('M60,650 H1700','cws');arrow(1550,650,'e','cws');lbl(835,644,'supply 20 to 25 °C, ~10 bar');
pipe('M1700,690 H115 V760','cwr');arrow(1550,690,'w','cwr');lbl(835,706,'return, open, ≤ 2 bar');bubble(140,725,'TT',115,725);
box('TK3',30,760,170,76,'TK-3 · warm tank',['open, vented return','~5 m³ (estimate)']);
box('P2',230,770,150,56,'P-2 · pumps',['duty / standby','constant flow']);
box('WT2',290,880,170,64,'WT-2 · loop treatment',['side-stream filter','dosing · make-up']);
box('GC1',30,880,240,76,'GC · galvanics cooling',['separate: 12 to 20 °C, 5 bar','10 L/min per PDPU','own chiller or HX branch'],{opt:true});
box('TC1',560,860,170,64,'TC-1 · dry cooler',['option, ahead of HX-1','when ambient allows'],{opt:true});
box('HX1',760,760,170,76,'HX-1 · plate HX',['separates chiller loop','process side open','approach ~2 K (est.)']);
box('TK2',960,760,160,76,'TK-2 · cold tank',['buffer, 20 to 25 °C','~5 m³ (estimate)']);
box('P3',1150,770,150,56,'P-3 · supply',['VFD duty / standby','~10 bar at presses']);
box('P4',1150,860,150,56,'P-4 · primary',['duty / standby','constant flow']);
[['CH1',712],['CH2',776],['CH3',840],['CH4',904]].forEach(([id,y])=>box(id,1380,y,190,56,id.replace('CH','CH-')+' · chiller',
id==='CH4'?['250 kW · for N+1','RFQ option']:['250 kW · air-cooled','running'],id==='CH4'?{opt:true}:{det:'chiller'}));
box('AS1',1625,900,160,56,'AS-1 · air separator',['expansion vessel','pressurised, closed']);
pipe('M200,798 H230','cwr');pipe('M380,798 H440 V270','cwr');pipe('M530,270 V798 H760','cwr');arrow(440,560,'n','cwr');arrow(530,560,'s','cwr');
pipe('M410,880 V798','cwr');pipe('M600,798 V860 M690,860 V798','cwr opt');
pipe('M930,798 H960 M1120,798 H1150 M1225,770 V650','cws');
bubble(1258,712,'PT',1225,712);bubble(1258,738,'TT',1225,738);bubble(1192,725,'FT',1225,725);
pipe('M1380,730 H1350 M1380,794 H1350 M1380,858 H1350 M1350,730 V888 H1300 M1150,888 H900 V836','pri');pipe('M1380,922 H1350 V870','pri opt');arrow(1050,888,'w','pri');
pipe('M800,836 V975 H1600 V750 H1570 M1600,814 H1570 M1600,878 H1570 M1600,928 H1625','prw');pipe('M1600,942 H1570','prw opt');arrow(1200,975,'e','prw');
lbl(1000,992,'chiller loop, closed and clean');
/* ---------------- details */
const D={
RW:{t:'RW · Raw water',w:'Mains or well water feeds the boiler make-up and the cooling loop make-up. Which one depends on the site, and the water analysis decides how much treatment both need.',f:['Boiler make-up ~0.75 to 0.9 m³/h at full output before condensate return, far less with it (estimate)','Cooling make-up is small: the chillers are closed, losses are the open return tank and side-stream blowdown'],q:['Water analysis (hardness, silica, TDS, chloride) for the site, before the boiler and chiller RFQs']},
WT1:{t:'WT-1 · Boiler feedwater treatment',w:'A duplex softener (one regenerates while the other works) and chemical dosing (oxygen scavenger, pH) protect the boilers. RO only if the analysis demands low TDS; it is an option row, not the baseline.',f:['Duplex softener 120k to 300k THB, sized up for the five-press fleet (utilities CSV, market estimate)','RO skid 200k to 500k THB, option only (utilities CSV)'],q:['Softener alone or softener plus RO, after the water analysis']},
T1:{t:'T-1 · Feed tank and hotwell',w:'Collects the condensate returning from the presses and the treated make-up, warmed by HP-1, and holds the feedwater at 90 to 95 °C so little oxygen stays dissolved. The boiler then only does the final lift to 180 °C.',f:['Feedwater at 90 to 95 °C and the boiler only doing the final lift (sustainability.md)','Heat recovery plus condensate return save roughly 10 to 15 % of steam energy (sustainability.md)','~1.5 m³, about 1.5 h of feed at full output (estimate); level LT logged'],q:['Atmospheric hotwell or pressurised deaerator: boiler vendor\'s call at this size']},
P1:{t:'P-1 · Boiler feed pumps',w:'Duty and standby multistage pumps feed every boiler module through one manifold, so a pump failure never stops steam.',f:['~1 m³/h each against ~13 bar (estimate, above the 10.5 bar boiler pressure)'],q:['Supplied with the boiler bank or separately']},
boiler:{t:'B-1 and B-2 · Boiler modules, 500 kg/h each',w:'Two modules run lead and lag at ~10.5 bar so the presses see 9.5 to 10.5 bar after the line. B-1 comes with the launch press and covers all of Duplex system 1 (300 to 360 kg/h); B-2 comes with Duplex system 2 and also carries the Classic. Fuel is open: electric, biomass or LPG.',f:['Newbilt: 150 to 180 kg/h per press, Duplex up to 360 kg/h, min. 10 bar, 9.5 to 10.5 bar operating (site requirements 3.2.3, vendor)','Five presses: 750 to 900 kg/h, against 1,000 kg/h installed (111 to 133 %)','The 2024 Newbilt quote excludes a ~400 kg/h steam generator: one Duplex system (pressing-line.md)','Electric alternative ~350 kW input per module, 520 to 625 kW at full demand (0.68 kWh/kg at 98 %, estimate)','With one module down, 500 kg/h runs about three presses','Boiler bank 4.5M to 7M THB installed (utilities CSV, estimate)'],q:['2 × 500 kg/h against 3 × 500 kg/h (B-3) and a single 1 t/h boiler: price, footprint, the cost of a lost shift','Fuel decision (biomass.md, sustainability.md)','Service response from Chiang Mai: the candidates are Bangkok-based']},
B3:{t:'B-3 · Third boiler module (option)',w:'A third 500 kg/h module keeps all five presses running with any one module out. Without it a boiler fault costs about two presses until it is fixed.',f:['3 × 500 kg/h = 1,500 kg/h, full demand with one module out'],q:['Priced as an option in the boiler RFQ; decided against measured cycle overlap and the cost of a lost shift']},
BD1:{t:'BD-1 · Blowdown vessel and safety-valve discharge',w:'Boiler blowdown and drains flash in a vessel; the flash steam vents outside, the water is cooled before it reaches the drain. Safety valves discharge to a safe place outside the boiler hall.',f:['Boiler in its own room, Department of Industrial Works rules, licensed boiler operator (facility-security.md)','Detached boiler hall of ~66 m² with a 14 m flue (scale.md)'],q:['Drain temperature and quality against the industrial effluent limit']},
SEP1:{t:'SEP-1 · Separator and steam metering',w:'Removes entrained water so the moulds get dry steam. FT-101 and PT-101 log steam flow and pressure: steam per record pressed becomes a plant KPI next to the traceability record.',f:['Telegraf/MQTT acquisition into the plant data platform (digital-factory.md)'],q:['Meter type and turndown for 150 to 1,000 kg/h']},
ACC1:{t:'ACC-1 · Steam accumulator (option)',w:'Each press draws steam in bursts during its steam phase. An accumulator rides those peaks so the boilers see a steadier load. It does not add capacity: the bank must still cover the hourly demand.',f:['Already a Newbilt option (sustainability.md)'],q:['Needed at all with two modules? Size from the presses\' cycle overlap (Newbilt re-quote)']},
HP1:{t:'HP-1 · Heat-recovery heat pump',w:'A water-to-water heat pump takes heat from the warm press return before it reaches the chillers and lifts the boiler feedwater to 90 to 95 °C. Each kWh it uses cuts boiler work and chiller load at the same time.',f:['Press return ~60 °C, feedwater 90 to 95 °C, 10 to 15 % steam saving with condensate return (sustainability.md)','Heating all make-up from 20 to 90 °C at full output is only ~70 kW thermal, small against ~650 kW of cooling (estimate)'],q:['Real return temperature profile from Newbilt: it sets the heat pump\'s lift and COP','Second use for recovered heat: label oven, HVAC reheat (sustainability.md)']},
press:{t:'Duplex presses · HRP 12 (Newbilt)',w:'Each press takes steam from the top of the header through an isolation valve, strainer and control valve, with its own pressure transmitter, and returns condensate through its own trap. Cooling water comes from the 10 bar supply header and drains open to the warm tank; flow and return temperature on each branch give that press\'s cooling load.',f:['Steam 150 to 180 kg/h, min. 10 bar, G 1 connection (site requirements 3.2.3, vendor)','Cooling water up to 100 l/min, ~53 l/min used, in 20 to 25 °C at 10 bar, out max. 2 bar open, average outlet ~60 °C, up to 125 kW (site requirements 3.2.2, vendor)','Water quality 7 to 8 °dH, pH 7 to 9, particles ≤ 200 µm, ≤ 500 µS/cm (site requirements 3.1.2, vendor)'],q:['53 l/min warming from 20 to 25 °C to ~60 °C is ~140 kW, above the stated 125 kW peak: ask for the measured return profile over a cycle']},
classic:{t:'Classic · automatic press (Newbilt)',w:'Fully automatic, with its own extruder. Newbilt has published no steam, cooling or power figures, so it is drawn and counted as one HRP 12 press plus one extruder.',f:['Toolex Alpha leaflet (the Classic\'s base): 1.2 kg steam and 15 l cooling water per cycle, ~144 kg/h of steam at 2 cycles a minute (fleet calculator, cross-check)','Monitors steam temperature, cooling water temperature and flow; cooling by time or delivered volume (2024 flyer)'],q:['Steam, cooling, power and weight for the re-quote; whether it runs from the central hydraulic plant']},
EX1:{t:'EX · Extruder cooling',w:'Every extruder needs a little cooling water at the same 20 to 25 °C. The EX 35 and the Classic\'s built-in extruder are counted like the EX 50 until Newbilt states theirs.',f:['~4 l/min, 2 to 3 kW, in 20 to 25 °C at 5 to 10 bar, outlet nearly without pressure (site requirements 3.3.3, vendor)','Five extruders at the start fleet: ~20 l/min, ~15 kW'],q:['EX 35 and Classic extruder cooling figures']},
HY1:{t:'HY · Hydraulic oil cooler (central plant)',w:'The central hydraulic plant feeding all presses rejects its heat through one oil cooler on the same loop.',f:['Per aggregate ~8 l/min, ΔT max ~10 °C, up to 5 kW (site requirements 3.4.2, vendor); 2.5 kW per press in the calculator','~12.5 kW and ~20 l/min for five presses (estimate)'],q:['Central plant cooler duty from Newbilt']},
TK3:{t:'TK-3 · Warm return tank',w:'Newbilt\'s press outlets run open at max. 2 bar with ideally no back pressure, so the returns drain into a vented tank instead of a pressurised header. Transfer pumps take it on through heat recovery and the heat exchanger.',f:['Outlet max. 2 bar, open system (site requirements 3.2.2, vendor)','~5 m³ (estimate); level and TT-302 logged'],q:['Height of the return header above the tank, from the hall layout']},
P2:{t:'P-2 · Transfer pumps',w:'Duty and standby pumps move the warm return at a steady flow through HP-1, the optional dry cooler and HX-1 into the cold tank, so neither the heat exchanger nor the chillers see the presses\' flow swings.',f:['Up to ~540 l/min for five presses (estimate)'],q:[]},
TC1:{t:'TC-1 · Dry cooler (option)',w:'With returns near 40 to 60 °C, outside air removes much of the heat for most of the year before the chillers trim the rest. A hybrid of tower or dry cooler plus trim chiller is the efficiency-optimal design; the chiller is the safe choice for the hot-season wet bulb.',f:['Utilities CSV: tower + HX alternative 2M to 3.5M THB at ~650 to 750 kW reject, not in the baseline'],q:['Priced as an option with the chillers; savings against Chiang Mai weather']},
HX1:{t:'HX-1 · Plate heat exchanger',w:'Separates the open process side (air and dust get in at the warm tank) from the closed, clean chiller loop, so the chiller evaporators never see dirty, oxygenated water.',f:['~650 kW at ~2 K approach (estimate)'],q:['Single or two plates for maintenance without stopping production']},
TK2:{t:'TK-2 · Cold buffer tank',w:'Holds water at 20 to 25 °C between the steady chiller side and the bursty presses: overlapping cooling phases draw from the tank, and the chillers do not short-cycle.',f:['Newbilt inlet 20 to 25 °C (site requirements 3.2.2, vendor)','~5 m³ (estimate)'],q:[]},
P3:{t:'P-3 · Supply pumps',w:'Variable-speed duty and standby pumps hold ~10 bar at the press inlets however many presses run. PT-301, TT-301 and FT-301 log the supply.',f:['Press inlet 10 bar, extruders and oil cooler 5 to 10 bar (site requirements, vendor)','Up to ~540 l/min for five presses (estimate)'],q:[]},
P4:{t:'P-4 · Primary pumps',w:'Duty and standby pumps circulate the closed chiller loop between the chiller bank and HX-1.',f:['Sized with the chiller bank (estimate)'],q:[]},
chiller:{t:'CH-1 to CH-3 · Air-cooled chillers, 250 kW each',w:'Three modules phased with the presses: CH-1 with the launch press and Duplex system 1, CH-2 with system 2, CH-3 with the Classic. Rated at 40 °C ambient, because Chiang Mai\'s April afternoons are when all presses cool hardest.',f:['Five presses up to 652.5 kW (625 presses, 15 extruders, 12.5 hydraulics) against 750 kW installed (115 %)','Electrical input ~80 to 125 kW per 250 kW: ~210 to 325 kW at the peak (scale.md, estimate)','One 250 kW module matches the ~250 kW cooling system the 2024 quote excludes for one Duplex (pressing-line.md)','Chiller bank 6.5M to 10.5M THB installed with HX, tanks and pumps (utilities CSV, estimate)'],q:['3 × 250 kW against 3 × 350 kW for N+1; part-load efficiency; derating at 40 °C']},
CH4:{t:'CH-4 · Fourth chiller (option)',w:'Without it one chiller out leaves 500 kW, ~77 % of the peak: the cold tank and the presses\' cycle diversity carry most hours, not the hottest afternoons. A fourth module, or 3 × 350 kW, makes it N+1.',f:['4 × 250 kW = 1,000 kW'],q:['Priced as an option']},
AS1:{t:'AS-1 · Air and dirt separator, expansion vessel',w:'Keeps the closed chiller loop pressurised and free of air and debris.',f:[],q:[]},
WT2:{t:'WT-2 · Loop treatment',w:'The open return tank picks up air and dust, so side-stream filtration and dosing keep the process water inside Newbilt\'s limits. Make-up comes softened from WT-1.',f:['7 to 8 °dH, pH 7 to 9, particles ≤ 200 µm, ≤ 500 µS/cm, chlorine ≤ 20 mg/l (site requirements 3.1.2, vendor)','200k to 500k THB (utilities CSV, estimate)'],q:[]},
GC1:{t:'GC · Galvanics cooling (separate circuit)',w:'The Pheenix PDPU wants colder water than the presses and very little of it, so it does not share the press loop: either a small dedicated chiller or a separately controlled branch through its own heat exchanger. Phase 5.',f:['PDPU: 12 to 20 °C at 5 bar, 10 L/min through its titanium coil (galvanics.md, vendor)','OMS thinks passive cooling may do; open whether that holds above 30 °C ambient (galvanics.md)'],q:['Galvanics vendor\'s final requirement; HVAC for the clean room is separate']},
};
const CASES={
launch:{t:'Launch',s:'One press (Newbilt Single 2.1, the first half of Duplex system 1)',P:['D1A'],E:1,B:['B1'],C:['CH1'],out:[],ex:'EX 50'},
d1:{t:'Duplex system 1',s:'Two presses on the EX 50 with the EX 35 for colour',P:['D1A','D1B'],E:2,B:['B1'],C:['CH1'],out:[],ex:'EX 50 + EX 35'},
full:{t:'Start fleet, five presses',s:'Two Duplex systems and the Classic, all cooling on a hot afternoon',P:['D1A','D1B','D2A','D2B','C1'],E:5,B:['B1','B2'],C:['CH1','CH2','CH3'],out:[],ex:'2 EX 50, 2 EX 35, Classic'},
down:{t:'One module down',s:'Start fleet with B-2 and CH-2 out at once (worst-case drill)',P:['D1A','D1B','D2A','D2B','C1'],E:5,B:['B1'],C:['CH1','CH3'],out:['B2','CH2'],ex:'2 EX 50, 2 EX 35, Classic'}};
const f0=v=>Math.round(v).toLocaleString('en-US');
function setCase(k){const c=CASES[k];
document.querySelectorAll('#cases [data-case]').forEach(b=>b.classList.toggle('on',b.dataset.case===k));
PR.forEach(([id])=>{const on=c.P.includes(id);BOX[id].g.classList.toggle('dim',!on);BOX[id].t[4].textContent=on?'running':'not yet installed';});
['B1','B2'].forEach(id=>{const out=c.out.includes(id),on=c.B.includes(id);BOX[id].g.classList.toggle('out',out);BOX[id].g.classList.toggle('dim',!on&&!out);
BOX[id].t[1].textContent=out?'OUT (fault drill)':on?'running':'with Duplex 2';});
['CH1','CH2','CH3'].forEach(id=>{const out=c.out.includes(id),on=c.C.includes(id);BOX[id].g.classList.toggle('out',out);BOX[id].g.classList.toggle('dim',!on&&!out);
BOX[id].t[1].textContent=out?'OUT (fault drill)':on?'running':'later stage';});
BOX.EX1.t[1].textContent=c.ex;
const P=c.P.length,E=c.E,st=[150*P,180*P],cool=125*P+3*E+2.5*P,fl=[53*P+4*E+4*P,100*P+4*E+4*P];
const bc=500*c.B.length,cc=250*c.C.length,pc=(a,b)=>Math.round(100*a/b);
const stLo=bc<st[1],ccLo=cc<cool;
$('caseCard').innerHTML=`<h2>${c.t}</h2><p>${c.s}.</p><table>
<tr><th></th><th>Demand</th><th>Installed</th><th>Covers</th></tr>
<tr><td>Steam</td><td class="n">${f0(st[0])} to ${f0(st[1])} kg/h</td><td class="n">${f0(bc)} kg/h</td><td class="n${stLo?' low':''}">${pc(bc,st[1])} to ${pc(bc,st[0])} %</td></tr>
<tr><td>Cooling, peak</td><td class="n">${f0(cool)} kW</td><td class="n">${f0(cc)} kW</td><td class="n${ccLo?' low':''}">${pc(cc,cool)} %</td></tr>
<tr><td>Circulating water</td><td class="n" colspan="3">${f0(fl[0])} to ${f0(fl[1])} l/min</td></tr>
<tr><td>Chiller input at peak</td><td class="n" colspan="3">~${f0(cool*0.32)} to ${f0(cool*0.5)} kW electrical</td></tr>
<tr><td>Electric boilers instead</td><td class="n" colspan="3">~${f0(st[0]*0.68/0.98)} to ${f0(st[1]*0.68/0.98)} kW electrical</td></tr></table>
<p class="note">${ccLo&&k==='d1'?'Just under the peak: the cold tank carries overlapping cooling phases, or CH-2 comes forward. ':''}${k==='down'?'The cold tank and cycle diversity carry most hours; a boiler fault costs about two presses until fixed, which is what B-3 and CH-4 would buy back. ':''}Demand at Newbilt's per-machine figures; installed capacity is the proposal on this page.</p>`;}
let sel=null;
function select(id){const b=BOX[id];if(sel)sel.g.classList.remove('sel');sel=b;b.g.classList.add('sel');const d=D[b.det];const p=$('detail');p.innerHTML='';
const add=(t,txt)=>{const e=document.createElement(t);e.textContent=txt;p.appendChild(e);return e;};
add('h2',d.t);add('p',d.w);
[['Figures and sources',d.f],['Open for the RFQ',d.q]].forEach(([h,a])=>{if(!a||!a.length)return;add('h3',h);const ul=document.createElement('ul');a.forEach(x=>{const li=document.createElement('li');li.textContent=x;ul.appendChild(li);});p.appendChild(ul);});}
document.querySelectorAll('#cases [data-case]').forEach(b=>b.addEventListener('click',()=>setCase(b.dataset.case)));
setCase('full');
window.__sc={BOX,BUB,D,CASES,setCase};
})();
(function(){
var b=document.getElementById("themeBtn"),de=document.documentElement;
function set(t,save){de.setAttribute("data-theme",t);if(save){try{localStorage.setItem("cnx-theme",t)}catch(e){}}
b.textContent=t==="light"?"☾":"☀";b.title="Switch to "+(t==="light"?"dark":"light")+" mode";}
set(de.getAttribute("data-theme")||"dark",false);
b.addEventListener("click",function(){set(de.getAttribute("data-theme")==="light"?"dark":"light",true);b.blur();});
var mq=window.matchMedia&&matchMedia("(prefers-color-scheme: light)");
if(mq&&mq.addEventListener)mq.addEventListener("change",function(e){var s=null;try{s=localStorage.getItem("cnx-theme")}catch(_){}if(!s)set(e.matches?"light":"dark",false);});
})();
</script>
</body>
</html>
+6 -4
View File
@@ -92,10 +92,12 @@ What we need (target fleet: 50% fully automated, 50% semi-automatic):
- Semi-automatic press line: extruder, presses, hydraulic aggregate, molds
(12" 140/180 g, 7" and 10" insert sets), trimmer
- Fully automated press line: automatic presses incl. extruders, molds
- Steam generator (~400 kg/h for the semi-auto Duplex alone; grows with the
automated line), local sourcing planned
- Cooling water system (~250 kW for the semi-auto Duplex alone; closed loop),
local sourcing planned
- Steam generator: 750 to 900 kg/h for the five-press fleet (~400 kg/h for
one Duplex), proposed as two 500 kg/h modules, local sourcing planned
([steam and cooling](../steam-cooling.html))
- Cooling water system: up to ~650 kW for the five-press fleet (~250 kW for
one Duplex), proposed as three 250 kW chillers, closed loop, local
sourcing planned
- Workshop compressor / compressed air supply
- PVC grinder (recycling loop)
- Record separator plates, buffer spindles
+32 -22
View File
@@ -11,9 +11,10 @@ from day one.
## Renewable energy: large solar installation
The pressing machinery itself is a modest electrical load: 32 kVA connected,
~21 kW average for a full Duplex line. The real energy demand sits in the
utilities around it, above all the steam generator (400 kg/h saturated steam
at 10 bar / 180 °C) and the 250 kW cooling system.
~21 kW average for a full Duplex line, ~118 kVA for the five-press fleet.
The real energy demand sits in the utilities around it, above all the steam
(750 to 900 kg/h of saturated steam at 10 bar / 180 °C for five presses) and
process cooling (up to ~650 kW), drawn in [steam and cooling](steam-cooling.html).
- A large rooftop/ground PV installation is planned. Northern Thailand's solar
irradiance is favorable, and daytime-heavy production shifts align well with
@@ -28,7 +29,8 @@ at 10 bar / 180 °C) and the 250 kW cooling system.
can exceed the 800 V window of the smaller Deye series), and obtaining
Gobel's safety certifications (not published) for a Thai commercial
install. At 271 kWh the stack is a ride-through buffer, not full
off-grid autonomy, against loads like the 250 kW cooling system; under
off-grid autonomy, against loads like the chiller bank's ~210 to 325 kW
peak draw; under
PEA's time-of-use tariff it earns little from peak shaving
([grid tariff](#grid-tariff-pea-and-what-it-decides)).
- The machine load and cooling system are straightforward PV targets.
@@ -108,9 +110,11 @@ the electric-boiler route is chosen.
The deepest efficiency in this plant comes from its own thermodynamics: the
steam's job is to heat the molds, and the cooling water's job is to remove
that same heat again, so roughly 98% of the 250 kW cooling load is heat
leaving the press molds, put there almost entirely by the steam, and the
press cooling return exits at ~60 °C. That
that same heat again, so roughly 98% of the press cooling load (up to 125 kW a
press, ~650 kW for the five-press fleet) is heat leaving the press molds,
put there almost entirely by the steam, and the press cooling return exits
at ~60 °C (Newbilt site requirements; the concept is drawn in
[steam and cooling](steam-cooling.html)). That
warm return is a premium heat source, and the architecture is built around
reusing it before generating anything new:
@@ -163,7 +167,8 @@ PEA's [Ft page](https://www.pea.co.th/en/our-services/tariff/ft), both
checked 7 October 2026. Plant consumption and demand are this repo's
estimates ([scale](scale.md)).
**Which tariff applies.** At 300 to 750 kW of peak demand the plant is
**Which tariff applies.** At ~430 to 700 kW of peak demand without
electric steam (five presses, [scale](scale.md)) the plant is
Schedule 3, Medium General Service (30 to under 1,000 kW and at most
250,000 kWh a month on a three-month average). The flat-rate 3.1 is closed
to customers classified after November 2015, so a new plant is on **3.2,
@@ -183,35 +188,39 @@ transformer adds 2 % to kW and kWh, so meter at 22 kV; the minimum bill is
70 % of the highest demand charge of the last twelve months; a power factor
below about 0.85 (reactive demand above 61.97 % of active) costs 56.07 THB
per kVAR, so the motor loads need correction. With electric steam the plant
would average ~210,000 kWh a month (estimate) and busy months could cross
250,000, which moves it to Schedule 4; that schedule's TOU rate 4.2.2 is
would average ~210,000 kWh a month (estimate) and its ~950 to 1,330 kW
peak crosses 1,000 kW, which moves it to Schedule 4; that schedule's TOU rate 4.2.2 is
identical, so the price does not change. Connecting a high-voltage meter
below 69 kV costs a 15,000 THB inspection fee plus a security deposit of
400 THB per kVA (PEA tariff page, rates from January 2020): 200k to 400k
THB for a 500 to 1,000 kVA transformer.
400 THB per kVA (PEA tariff page, rates from January 2020): ~320k to 400k
THB for the 800 to 1,000 kVA transformer the five-press plant needs
without electric steam, 500k to 640k THB for 1,250 to 1,600 kVA with it.
**What it costs the plant.** Two shifts from 06:00 to 22:00 on ~300 days
(about 243 weekdays and 57 Saturdays, estimate) put ~66 % of process energy
into peak hours: a blended **~3.81 THB/kWh** including Ft, before the
demand charge. Without electric steam (1,000 to 1,500 MWh a year, 300 to
450 kW peak) the bill comes to roughly **4.3M to 6.4M THB a year** before
solar, 0.5M to 0.7M of it demand charge (estimate).
demand charge. Without electric steam (1,000 to 1,500 MWh a year, 430 to
700 kW peak) the bill comes to roughly **4.5M to 6.8M THB a year** before
solar, 0.7M to 1.1M of it demand charge (estimate).
**Electric versus biomass steam**, for the same heat as in
[biomass](biomass.md): 350 to 400 t of wood at 80 % boiler efficiency,
~1,120 to 1,280 MWh of heat a year at maturity.
~1,120 to 1,280 MWh of heat a year at maturity (about 1.0 million records;
the start fleet at its full ~1.5 million needs ~1,750 MWh, and both
columns scale with it).
| | Electric boiler (~98 %) | Biomass boiler (~80 %) |
|---|---|---|
| Price of heat | ~3.9 THB/kWh, plus the demand charge | ~0.5 to 0.9 THB/kWh at 1.35 to 2 THB/kg delivered ([reported market prices](biomass.md#fuel-prices-market-check-october-2026), October 2026; no supplier quote yet) |
| Running cost, mature two shifts | **~4.7M to 5.5M THB/yr**: 1,140 to 1,310 MWh plus 200 to 300 kW of extra peak demand (0.3M to 0.5M) | **~0.6M to 1.2M THB/yr** of fuel, plus fuel handling and ash |
| Boiler package ([utilities CSV](finance/utilities-investment.csv)) | 2.5M to 4M THB | 4M to 7M THB, plus the fuel store |
| Grid | peak demand 600 to 750 kW: bigger transformer and deposit | unchanged |
| Running cost, mature two shifts | **~5.2M to 6.0M THB/yr**: 1,140 to 1,310 MWh plus 520 to 625 kW of extra peak demand for the five-press boiler bank (0.8M to 1.0M) | **~0.6M to 1.2M THB/yr** of fuel, plus fuel handling and ash |
| Boiler package ([utilities CSV](finance/utilities-investment.csv)) | 4.5M to 7M THB for 2 × 500 kg/h | ~6M to 10M THB, plus the fuel store |
| Grid | peak ~950 to 1,330 kW: Schedule 4, 1,250 to 1,600 kVA transformer and deposit | unchanged (~800 to 1,000 kVA) |
The electric boiler is the more efficient machine; biomass is by far the
cheaper heat. At maturity the fuel saving of ~3.5M to 4.9M THB a year
cheaper heat. At maturity the fuel saving of ~4.0M to 5.4M THB a year
repays the biomass premium in under a year (estimate). Even early, at a
quarter of the heat, electric steam costs ~1.4M to 1.7M THB a year against
quarter of the heat, electric steam costs ~1.6M to 1.8M THB a year (one 500 kg/h
module) against
~0.15M to 0.3M of fuel, because the demand charge is set by the boiler's full-power
draw, not by its average. Moving electric steam to off-peak hours barely
helps: the presses need steam while they run, and the peak window covers
@@ -286,7 +295,8 @@ either tank is ordered.
The reference process schematic shows a conventional open "dirty water"
cooling loop. We will not build it that way.
- Cooling (up to 250 kW, 220 l/min peak, roughly 98% of it mold cooling) will
- Cooling (up to ~650 kW and 540 l/min for the five presses, roughly 98% of
it mold cooling) will
run as a closed loop with a cooling tower/chiller, so process water is
recirculated rather than discharged.
- Steam condensate will be recovered and returned to the treated feedwater