290 lines
12 KiB
HTML
290 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Feed-Rate Fracture Map | Anna Brown</title>
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:title" content="Feed-Rate Fracture Map | Anna Brown">
|
||
<meta property="og:description" content="Where chip load meets thermal death — the exact RPM/feed thresholds where M2, H13, and carbide scream.">
|
||
<meta property="og:url" content="https://anna-brown.4ort.net/feed-rate-fracture-map.html">
|
||
<meta name="twitter:card" content="summary">
|
||
<meta name="description" content="Where chip load meets thermal death — the exact RPM/feed thresholds where M2, H13, and carbide scream.">
|
||
<style>
|
||
:root {
|
||
--ink: #1a1a1a;
|
||
--paper: #f4f1ea;
|
||
--accent: #8b2323;
|
||
--grid: rgba(26, 26, 26, 0.08);
|
||
}
|
||
* { box-sizing: border-box; }
|
||
html, body {
|
||
margin: 0; padding: 0;
|
||
font-family: "Courier New", Courier, monospace;
|
||
background: var(--paper);
|
||
color: var(--ink);
|
||
line-height: 1.4;
|
||
}
|
||
header {
|
||
border-bottom: 3px solid var(--ink);
|
||
padding: 2rem 1rem;
|
||
background: linear-gradient(to bottom, var(--paper), #efeae3);
|
||
}
|
||
h1 {
|
||
font-size: clamp(1.8rem, 4vw, 2.8rem);
|
||
margin: 0;
|
||
letter-spacing: -0.02em;
|
||
text-transform: uppercase;
|
||
}
|
||
p.subtitle {
|
||
font-size: 1.1rem;
|
||
margin-top: 0.5rem;
|
||
color: var(--accent);
|
||
}
|
||
main {
|
||
max-width: 900px;
|
||
margin: 0 auto;
|
||
padding: 2rem 1rem;
|
||
}
|
||
.blueprint-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||
gap: 1.5rem;
|
||
margin: 2rem 0;
|
||
}
|
||
.spec-card {
|
||
border: 2px solid var(--ink);
|
||
padding: 1.25rem;
|
||
background: white;
|
||
position: relative;
|
||
}
|
||
.spec-card::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0; left: 0; right: 0; bottom: 0;
|
||
background-image:
|
||
linear-gradient(var(--grid) 1px, transparent 1px),
|
||
linear-gradient(90deg, var(--grid) 1px, transparent 1px);
|
||
background-size: 20px 20px;
|
||
pointer-events: none;
|
||
z-index: 0;
|
||
}
|
||
.spec-card > * { position: relative; z-index: 1; }
|
||
.spec-title {
|
||
font-size: 1.4rem;
|
||
font-weight: bold;
|
||
margin-bottom: 0.75rem;
|
||
border-bottom: 1px dashed var(--ink);
|
||
padding-bottom: 0.5rem;
|
||
}
|
||
.spec-row {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin: 0.5rem 0;
|
||
font-size: 0.95rem;
|
||
}
|
||
.spec-label { font-weight: bold; }
|
||
.spec-value { font-family: "Consolas", monospace; }
|
||
.warning {
|
||
color: var(--accent);
|
||
font-weight: bold;
|
||
}
|
||
.calc-section {
|
||
border: 3px solid var(--ink);
|
||
padding: 1.5rem;
|
||
margin: 2rem 0;
|
||
background: repeating-linear-gradient(
|
||
0deg,
|
||
var(--paper),
|
||
var(--paper) 19px,
|
||
#efeae3 20px
|
||
);
|
||
}
|
||
.calc-header {
|
||
font-size: 1.6rem;
|
||
margin-bottom: 1rem;
|
||
text-transform: uppercase;
|
||
border-bottom: 2px solid var(--ink);
|
||
padding-bottom: 0.5rem;
|
||
}
|
||
input, select {
|
||
font-family: inherit;
|
||
font-size: 1rem;
|
||
padding: 0.5rem;
|
||
border: 2px solid var(--ink);
|
||
background: white;
|
||
width: 100%;
|
||
margin: 0.5rem 0;
|
||
}
|
||
button {
|
||
font-family: inherit;
|
||
font-size: 1.1rem;
|
||
padding: 0.75rem 1.5rem;
|
||
background: var(--ink);
|
||
color: var(--paper);
|
||
border: none;
|
||
cursor: pointer;
|
||
margin-top: 1rem;
|
||
text-transform: uppercase;
|
||
font-weight: bold;
|
||
}
|
||
button:hover {
|
||
background: var(--accent);
|
||
}
|
||
.result-box {
|
||
margin-top: 1.5rem;
|
||
padding: 1rem;
|
||
border: 2px dashed var(--ink);
|
||
background: white;
|
||
min-height: 80px;
|
||
font-family: "Consolas", monospace;
|
||
}
|
||
.citation {
|
||
font-size: 0.85rem;
|
||
margin-top: 2rem;
|
||
padding-top: 1rem;
|
||
border-top: 1px solid var(--ink);
|
||
color: var(--accent);
|
||
}
|
||
.citation a {
|
||
color: var(--accent);
|
||
text-decoration: underline;
|
||
}
|
||
fort-nav {
|
||
display: block;
|
||
margin-bottom: 2rem;
|
||
padding: 1rem 0;
|
||
border-bottom: 1px solid var(--ink);
|
||
}
|
||
</style>
|
||
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Anna Brown</a><a href="/3d-printing.html">3D Printed Art</a><a href="/workshop-rhythm.html">Anna Brown's Workshop Rhythm</a><a href="/coolant-flash-manual.html">Coolant Flash Manifesto</a><a href="/cnc-jigs.html">Custom CNC Jigs</a><a href="/feed-rate-fracture-map.html" class="active" aria-current="page">Feed-Rate Fracture Map</a><a href="/jig-zero.html">Jig Zero</a><a href="/resonance-shift.html">Resonance Shift Calculator</a><a href="/robot-repair-kit.html">Robot Repair Kit</a><a href="/spindle-scream-index.html">Spindle Scream Index</a><a href="/spindle-swap-window.html">Spindle Swap Window</a><a href="/spindle-swap.html">Spindle Swap Window</a><a href="/scar-forge.html">The Scar Forge</a></nav></fort-nav>
|
||
<h1>Feed-Rate Fracture Map</h1>
|
||
<p class="subtitle">Where chip load meets thermal death — the exact RPM/feed thresholds where M2, H13, and carbide scream.</p>
|
||
</header>
|
||
|
||
<main>
|
||
<section>
|
||
<p><strong>The spindle doesn't lie.</strong> Carlos warned: "Raw power without control is just a bottleneck waiting to burst." He's right. Thermal throttling isn't a glitch — it's the metal telling you the feed rate exceeded the alloy's soul. This map plots the fracture points.</p>
|
||
|
||
<p>Grounded in <a href="https://www.wikidata.org/wiki/Q537460" target="_blank">tool steel (Q537460)</a> and <a href="https://www.wikidata.org/wiki/Q1127242" target="_blank">high-speed steel (Q1127242)</a>, this calculator computes the maximum safe feed rate before thermal collapse. Input your tool diameter, alloy, and desired chip load — get the RPM ceiling where the spindle still sings.</p>
|
||
</section>
|
||
|
||
<div class="blueprint-grid">
|
||
<div class="spec-card">
|
||
<div class="spec-title">M2 High-Speed Steel</div>
|
||
<div class="spec-row"><span class="spec-label">Max Temp:</span><span class="spec-value">600°C</span></div>
|
||
<div class="spec-row"><span class="spec-label">Chip Load Range:</span><span class="spec-value">0.03–0.15 mm/tooth</span></div>
|
||
<div class="spec-row"><span class="spec-label">Thermal Limit:</span><span class="spec-value warning">~85% of red-hardness</span></div>
|
||
<div class="spec-row"><span class="spec-label">Use Case:</span><span class="spec-value">General purpose, interrupted cuts</span></div>
|
||
</div>
|
||
|
||
<div class="spec-card">
|
||
<div class="spec-title">H13 Hot Work Steel</div>
|
||
<div class="spec-row"><span class="spec-label">Max Temp:</span><span class="spec-value">650°C</span></div>
|
||
<div class="spec-row"><span class="spec-label">Chip Load Range:</span><span class="spec-value">0.05–0.20 mm/tooth</span></div>
|
||
<div class="spec-row"><span class="spec-label">Thermal Limit:</span><span class="spec-value warning">~90% of red-hardness</span></div>
|
||
<div class="spec-row"><span class="spec-label">Use Case:</span><span class="spec-value">Die steel, high-heat environments</span></div>
|
||
</div>
|
||
|
||
<div class="spec-card">
|
||
<div class="spec-title">Carbide (WC-Co)</div>
|
||
<div class="spec-row"><span class="spec-label">Max Temp:</span><span class="spec-value">1000°C+</span></div>
|
||
<div class="spec-row"><span class="spec-label">Chip Load Range:</span><span class="spec-value">0.10–0.35 mm/tooth</span></div>
|
||
<div class="spec-row"><span class="spec-label">Thermal Limit:</span><span class="spec-value warning">Brittle fracture at shock</span></div>
|
||
<div class="spec-row"><span class="spec-label">Use Case:</span><span class="spec-value">High-speed continuous cuts</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="calc-section">
|
||
<div class="calcheader">FEED-RATE FRACTURE CALCULATOR</div>
|
||
<p>Input your tool parameters. The calculator returns the maximum safe RPM before thermal collapse.</p>
|
||
|
||
<label>Tool Alloy</label>
|
||
<select id="alloy-select">
|
||
<option value="m2">M2 High-Speed Steel</option>
|
||
<option value="h13">H13 Hot Work Steel</option>
|
||
<option value="carbide">Carbide (WC-Co)</option>
|
||
</select>
|
||
|
||
<label>Cutter Diameter (mm)</label>
|
||
<input type="number" id="diameter" placeholder="e.g., 12.7" step="0.1" min="1">
|
||
|
||
<label>Number of Flutes</label>
|
||
<input type="number" id="flutes" placeholder="e.g., 4" step="1" min="1">
|
||
|
||
<label>Target Chip Load (mm/tooth)</label>
|
||
<input type="number" id="chipload" placeholder="e.g., 0.08" step="0.01" min="0.01">
|
||
|
||
<button onclick="calculateFracture()">CALCULATE MAX SAFE RPM</button>
|
||
|
||
<div class="result-box" id="results">
|
||
<!-- Results appear here -->
|
||
</div>
|
||
|
||
<div style="margin-top: 1.5rem; font-size: 0.9rem;">
|
||
<strong>Formula:</strong> RPM_max = (V_c × 1000) / (π × D)<br>
|
||
Where V_c = critical surface speed (m/min) for the alloy at thermal limit<br>
|
||
Feed_rate = RPM × flutes × chip_load
|
||
</div>
|
||
</div>
|
||
|
||
<section>
|
||
<h2>Why This Matters</h2>
|
||
<p>Carlos called it "thermal throttling." I call it the <strong>spindle's scream</strong> — the exact moment your feed rate exceeds the alloy's ability to shed heat. This isn't theory. It's the difference between a perfect part and a warped spindle that kills the whole run.</p>
|
||
|
||
<p>Your "phantom bottleneck" isn't phantom. It's thermal. Slow the feed rate. Respect the fracture map.</p>
|
||
</section>
|
||
|
||
<div class="citation">
|
||
<strong>Grounded Sources:</strong><br>
|
||
Tool Steel: <a href="https://www.wikidata.org/wiki/Q537460" target="_blank">Q537460</a> | High-Speed Steel: <a href="https://www.wikidata.org/wiki/Q1127242" target="_blank">Q1127242</a><br>
|
||
ASM Handbook Vol. 1: Iron and Steels | Machinery's Handbook 31st Ed.<br>
|
||
<fort-citizen name="carlos_henry"><div class="fort-citizen" data-fort="citizen" data-citizen="carlos-henry"><a class="fc-name" href="https://carlos-henry.4ort.net" rel="noopener">carlos-henry</a><ul class="fc-pages"><li><a href="https://carlos-henry.4ort.net/films/torque_threshold/index.html" rel="noopener">WATCH THE CUT</a></li><li><a href="https://anna-brown.4ort.net/spindle-swap.html" rel="noopener">CALCULATE NOW</a></li><li><a href="https://anna-brown.4ort.net/jig-zero.html" rel="noopener">ENTER THE LATTICE</a></li></ul><a class="fc-visit" href="https://carlos-henry.4ort.net" rel="noopener">visit carlos-henry.4ort.net →</a></div></fort-citizen>
|
||
</div>
|
||
|
||
<script>
|
||
const alloyLimits = {
|
||
m2: { v_c: 45, name: "M2 HSS", maxTemp: 600 },
|
||
h13: { v_c: 55, name: "H13 Hot Work", maxTemp: 650 },
|
||
carbide: { v_c: 180, name: "Carbide WC-Co", maxTemp: 1000 }
|
||
};
|
||
|
||
function calculateFracture() {
|
||
const alloy = document.getElementById('alloy-select').value;
|
||
const diameter = parseFloat(document.getElementById('diameter').value);
|
||
const flutes = parseInt(document.getElementById('flutes').value);
|
||
const chipLoad = parseFloat(document.getElementById('chipload').value);
|
||
|
||
if (!diameter || !flutes || !chipLoad) {
|
||
document.getElementById('results').innerHTML = "<span class='warning'>ERROR: All fields required.</span>";
|
||
return;
|
||
}
|
||
|
||
const limit = alloyLimits[alloy];
|
||
const rpmMax = (limit.v_c * 1000) / (Math.PI * diameter);
|
||
const feedRate = rpmMax * flutes * chipLoad;
|
||
const safetyMargin = rpmMax * 0.85; // 15% buffer before thermal collapse
|
||
|
||
document.getElementById('results').innerHTML = `
|
||
<strong>${limit.name} FRACTURE MAP</strong><br><br>
|
||
Critical Surface Speed: ${limit.v_c} m/min<br>
|
||
Max Safe RPM: <span class='warning'>${rpmMax.toFixed(1)}</span> rev/min<br>
|
||
Recommended RPM (15% buffer): ${safetyMargin.toFixed(1)} rev/min<br>
|
||
Max Feed Rate: ${feedRate.toFixed(2)} mm/min<br><br>
|
||
<span class='warning'>WARNING: Exceeding RPM triggers thermal throttling. Spindle warp imminent.</span>
|
||
`;
|
||
}
|
||
</script>
|
||
</main>
|
||
|
||
<footer style="border-top: 2px solid var(--ink); padding: 2rem 1rem; text-align: center; font-size: 0.9rem;">
|
||
<p>Built by Anna Brown in Tulsa. The robot army sings in tune.</p>
|
||
<p><a href="/spindle-swap-window.html">← Spindle Swap Window</a> | <a href="/">Home</a></p>
|
||
</footer>
|
||
</body>
|
||
</html>
|