{"id":100235,"date":"2026-02-15T20:29:05","date_gmt":"2026-02-15T20:29:05","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100235"},"modified":"2026-02-15T20:29:05","modified_gmt":"2026-02-15T20:29:05","slug":"spindle-unbalance","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/spindle-unbalance\/","title":{"rendered":"Kalkulator for ubalanse i spindelen for maskinverkt\u00f8y"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Machine Tool Spindle Unbalance Calculator\",\"alternateName\":[\"Spindle Balancing Calculator\",\"Toolholder Unbalance Calculator\"],\"description\":\"Free online calculator for machine tool spindle unbalance per ISO 21940. Supports G0.4 to G2.5 for HSK, BT, CAT toolholders. Outputs eccentricity in nanometers and tool deflection estimate.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/spindle-unbalance\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2025-01-01\",\"dateModified\":\"2026-02-15\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"ISO 21940-11 compliant\",\"Eccentricity in nanometers\",\"Tool deflection estimate\",\"HSK\/BT\/CAT presets\",\"Auto-calculation on input change\"],\"keywords\":\"spindle unbalance, toolholder balancing, HSK, BT40, surface finish, eccentricity\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What balance grade is required for high-speed spindles?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"G2.5 is the most common grade for machine tool spindles up to about 20,000 RPM. For spindles running above 20,000 RPM (HSC machining), G1.0 or G0.4 is recommended. The tighter grade reduces centrifugal force and improves surface finish.\"}},\n{\"@type\":\"Question\",\"name\":\"How does spindle unbalance affect surface finish?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Unbalance creates a centrifugal force that deflects the tool. This deflection appears as waviness on the workpiece surface. At high spindle speeds, even a few g\u00b7mm of unbalance can cause micron-level tool deflection, degrading surface finish by several Ra grades.\"}},\n{\"@type\":\"Question\",\"name\":\"Should I balance the toolholder with the tool installed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, for best results the complete assembly (toolholder + tool + retention knob + collet + cutter) should be balanced together. Each component adds its own unbalance contribution, and the total determines the actual vibration during cutting.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between HSK and BT toolholders for balance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"HSK toolholders have a hollow taper shank with face contact, providing better radial stiffness and repeatability than BT (7\/24 taper). HSK is preferred for high-speed applications because its dual contact reduces runout and makes balance more repeatable between tool changes.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I measure spindle unbalance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Spindle unbalance is measured using vibration sensors mounted near the spindle bearings while the spindle runs. A portable balancing instrument (like Vibromera Balanset) measures the 1\u00d7 vibration amplitude and phase, then calculates the required correction mass and angle.\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Spindle Unbalance Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/spindle-unbalance\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root{--vc-bg:#f4f1ec;--vc-surface:#ffffff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-hover:#b04d22;--vc-accent-light:#fdf0ea;--vc-blue:#2a5c8c;--vc-blue-light:#eaf1f8;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-red:#b91c1c;--vc-red-light:#fef2f2;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,0.06),0 4px 12px rgba(26,26,26,0.04);--vc-shadow-lg:0 4px 12px rgba(26,26,26,0.08),0 16px 40px rgba(26,26,26,0.06);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono','Consolas','Monaco',monospace;--vc-display:'Fraunces',Georgia,serif}\n.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px;-webkit-font-smoothing:antialiased}.vc-calculator *,.vc-calculator *::before,.vc-calculator *::after{box-sizing:border-box}\n.vc-header{text-align:center;padding:48px 24px 40px;position:relative}.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}\n.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}.vc-header-title{font-family:var(--vc-display);font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15;color:var(--vc-ink);margin:0 0 16px;letter-spacing:-0.02em}.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:600px}\n.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.vc-badge{font-family:var(--vc-mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:4px;background:var(--vc-surface);border:1px solid var(--vc-border);color:var(--vc-ink-secondary)}\n.vc-card{background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);box-shadow:var(--vc-shadow);overflow:hidden;margin-top:32px}\n.vc-form{padding:24px}.vc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}\n.vc-field{display:flex;flex-direction:column}.vc-field-full{grid-column:1\/-1}\n.vc-label{font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}.vc-label-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--vc-ink-muted);font-size:11px}\n.vc-select,.vc-input{width:100%;padding:10px 12px;border:1.5px solid var(--vc-border);border-radius:6px;font-family:var(--vc-font);font-size:14px;color:var(--vc-ink);background:var(--vc-surface);transition:border-color 0.15s,box-shadow 0.15s}\n.vc-select{padding-right:36px;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 10px center}\n.vc-select:focus,.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,0.12)}.vc-select:hover,.vc-input:hover{border-color:var(--vc-ink-muted)}\n.vc-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--vc-border-light)}.vc-presets-label{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--vc-ink-muted);width:100%;margin-bottom:2px}\n.vc-preset-btn{padding:5px 12px;font-family:var(--vc-font);font-size:12px;font-weight:500;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);cursor:pointer;transition:all 0.15s}.vc-preset-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\n.vc-results{border-top:1px solid var(--vc-border-light);background:var(--vc-surface-alt);padding:0;max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1),padding 0.3s}.vc-results.vc-visible{max-height:2000px;padding:24px}\n.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vc-results-title{font-family:var(--vc-display);font-size:20px;font-weight:700;color:var(--vc-ink);margin:0}\n.vc-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface);font-family:var(--vc-font);font-size:12px;font-weight:500;color:var(--vc-ink-secondary);cursor:pointer;transition:all 0.15s}.vc-copy-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent)}.vc-copy-btn.vc-copied{background:var(--vc-green-light);border-color:var(--vc-green);color:var(--vc-green)}\n.vc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}@media(max-width:500px){.vc-result-grid{grid-template-columns:1fr}}\n.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;transition:transform 0.2s}.vc-rcard:hover{transform:translateY(-1px)}\n.vc-rcard-primary{border-color:var(--vc-accent);border-width:2px;background:linear-gradient(135deg,#fdf6f2 0%,var(--vc-surface) 100%);grid-column:1\/-1}\n.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}\n.vc-rcard-value{font-family:var(--vc-mono);font-size:22px;font-weight:600;color:var(--vc-ink);line-height:1.2}.vc-rcard-primary .vc-rcard-value{font-size:30px;color:var(--vc-accent)}.vc-rcard-unit{font-size:14px;font-weight:400;color:var(--vc-ink-secondary)}\n.vc-section{margin-top:24px;border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);background:var(--vc-surface);box-shadow:var(--vc-shadow);overflow:hidden}\n.vc-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:none;background:transparent;cursor:pointer;font-family:var(--vc-font);text-align:left;transition:background 0.15s}.vc-section-toggle:hover{background:var(--vc-surface-alt)}\n.vc-section-toggle-text{display:flex;align-items:center;gap:10px}.vc-section-icon{font-size:20px;line-height:1}.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;color:var(--vc-ink);margin:0}\n.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform 0.3s;flex-shrink:0}.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}\n.vc-section-body{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)}.vc-section.vc-open .vc-section-body{max-height:20000px}\n.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}\n.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;color:var(--vc-ink);margin:28px 0 10px}.vc-theory h3:first-child{margin-top:20px}\n.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}.vc-theory ul,.vc-theory ol{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 12px 18px;padding:0}.vc-theory li{margin-bottom:5px}\n.vc-formula-box{background:var(--vc-surface-alt);border:2px solid var(--vc-border);border-radius:6px;padding:14px 20px;font-family:var(--vc-mono);font-size:16px;font-weight:500;text-align:center;margin:14px 0;color:var(--vc-ink);overflow-x:auto}\n.vc-info-box{background:var(--vc-blue-light);border-left:3px solid var(--vc-blue);padding:14px 16px;border-radius:0 6px 6px 0;margin:14px 0}.vc-info-box p{margin:0;font-size:14px;color:var(--vc-ink-secondary)}\n.vc-warning-box{background:var(--vc-yellow-light);border-left:3px solid var(--vc-yellow);padding:14px 16px;border-radius:0 6px 6px 0;margin:14px 0}\n.vc-example-box{background:var(--vc-surface-alt);border:1px solid var(--vc-border-light);border-radius:6px;padding:16px;margin:14px 0}.vc-example-title{font-family:var(--vc-mono);font-size:13px;font-weight:600;color:var(--vc-accent);margin-bottom:8px}\n.vc-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}.vc-table th,.vc-table td{padding:10px 12px;border:1px solid var(--vc-border-light);text-align:left}\n.vc-table th{background:var(--vc-surface-alt);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--vc-ink-secondary)}.vc-table tr:nth-child(even){background:var(--vc-surface-alt)}\n@media(max-width:600px){.vc-table{font-size:12px}.vc-table th,.vc-table td{padding:8px}}\n.vc-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.vc-faq-item{border:1px solid var(--vc-border-light);border-radius:6px;overflow:hidden}\n.vc-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:none;background:var(--vc-surface-alt);cursor:pointer;font-family:var(--vc-font);font-size:15px;font-weight:600;color:var(--vc-ink);text-align:left;transition:background 0.15s}.vc-faq-q:hover{background:#ede9e3}\n.vc-faq-chevron{width:16px;height:16px;color:var(--vc-ink-muted);flex-shrink:0;transition:transform 0.25s}.vc-faq-item.vc-open .vc-faq-chevron{transform:rotate(180deg)}\n.vc-faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s}.vc-faq-item.vc-open .vc-faq-a{max-height:1200px}\n.vc-faq-a-inner{padding:14px 16px;border-top:1px solid var(--vc-border-light);font-size:14px;color:var(--vc-ink-secondary)}.vc-faq-a-inner p{margin:0 0 8px}.vc-faq-a-inner p:last-child{margin-bottom:0}.vc-faq-a-inner ul{margin:4px 0 8px 16px;padding:0}.vc-faq-a-inner li{margin-bottom:3px}\n.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vc-related-link{display:inline-block;padding:8px 16px;font-family:var(--vc-font);font-size:13px;font-weight:600;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);border:1px solid var(--vc-border);border-radius:var(--vc-radius);text-decoration:none;transition:all 0.15s}.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\n.vc-promo{margin-top:24px;padding:20px;background:linear-gradient(135deg,var(--vc-accent-light),var(--vc-surface));border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);display:flex;align-items:center;gap:16px}\n.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}.vc-promo-text strong{color:var(--vc-ink)}\n.vc-promo-link{padding:8px 20px;font-size:13px;font-weight:700;color:#fff;background:var(--vc-accent);border-radius:var(--vc-radius);text-decoration:none;white-space:nowrap;transition:background 0.15s}.vc-promo-link:hover{background:var(--vc-accent-hover)}\n.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}.vc-footer a{color:var(--vc-accent);text-decoration:none}.vc-footer a:hover{text-decoration:underline}.vc-footer-links{margin-top:8px;font-size:12px}.vc-footer-links a{margin:0 8px}\n@media print{.vc-section-body{max-height:none!important}.vc-faq-a{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-copy-btn,.vc-section-chevron,.vc-faq-chevron,.vc-presets,.vc-promo{display:none!important}}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-spindle-unbalance\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Machine Tool Spindle Unbalance Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate permissible spindle + toolholder unbalance, eccentricity (nm), centrifugal force, and equivalent tool deflection per ISO 21940.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 21940-11<\/span>\n        <span class=\"vc-badge\">HSK \/ BT \/ CAT<\/span>\n        <span class=\"vc-badge\">G0.4 \u2013 G2.5<\/span>\n    <\/div>\n<\/header>\n\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-mass\">Spindle + Toolholder Mass <span class=\"vc-label-hint\">(kg)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-mass\" inputmode=\"decimal\" step=\"any\" min=\"0.001\" placeholder=\"e.g. 2\" value=\"2\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-speed\">Max Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-speed\" inputmode=\"decimal\" step=\"any\" min=\"1\" placeholder=\"e.g. 24000\" value=\"24000\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-grade\">Balance Grade G<\/label>\n                <select class=\"vc-select\" id=\"vc-grade\">\n                    <option value=\"0.4\">G0.4 \u2014 Ultra-precision spindles<\/option>\n                    <option value=\"1\">G1.0 \u2014 Grinding machine drives<\/option>\n                    <option value=\"2.5\" selected>G2.5 \u2014 General machining centers<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-tooldia\">Tool Diameter <span class=\"vc-label-hint\">(mm, optional)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-tooldia\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 10\" value=\"\">\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"2\" data-s=\"24000\" data-g=\"2.5\" data-td=\"\">HSK-63 2kg 24000RPM G2.5<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"5\" data-s=\"12000\" data-g=\"2.5\" data-td=\"\">BT40 5kg 12000RPM G2.5<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"8\" data-s=\"8000\" data-g=\"1\" data-td=\"\">HSK-100 8kg 8000RPM G1.0<\/button>\n        <\/div>\n    <\/form>\n\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\">Permissible Unbalance<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-ubal\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Eccentricity<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-ecc\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Centrifugal Force<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-force\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Equivalent Tool Deflection Estimate<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-deflect\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Angular Velocity \u03c9<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-omega\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; Formulas<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Permissible Spindle Unbalance (ISO 21940)<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <ul>\n                <li><strong>G<\/strong> \u2014 balance quality grade (mm\/s)<\/li>\n                <li><strong>m<\/strong> \u2014 spindle + toolholder assembly mass (kg)<\/li>\n                <li><strong>\u03c9<\/strong> = 2\u03c0\u00b7n\/60 \u2014 angular velocity (rad\/s)<\/li>\n            <\/ul>\n\n            <h3>Eccentricity (Specific Unbalance)<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <p>For high-speed spindles, eccentricity is often expressed in nanometers (1 \u03bcm = 1000 nm).<\/p>\n\n            <h3>Centrifugal Force &amp; Tool Deflection<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n            <p>The centrifugal force from unbalance acts on the spindle bearings, causing a deflection at the tool tip. The deflection estimate uses a simplified spindle stiffness model (\u2248 20 N\/\u03bcm typical for HSK-63).<\/p>\n\n            <h3>Balance Grades for Machine Tools<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Grade<\/th><th>Application<\/th><th>Typical Speed<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>G0.4<\/td><td>Ultra-precision grinding, optical<\/td><td>> 60,000 RPM<\/td><\/tr>\n                    <tr><td>G1.0<\/td><td>Grinding machines, high-speed milling<\/td><td>15,000\u201340,000 RPM<\/td><\/tr>\n                    <tr><td>G2.5<\/td><td>General machining centers, lathes<\/td><td>5,000\u201324,000 RPM<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 HSK-63 Toolholder at 24,000 RPM<\/div>\n                <p><strong>Given:<\/strong> Mass = 2 kg, Speed = 24,000 RPM, Grade = G2.5<\/p>\n                <p>\u03c9 = 2\u03c0 \u00d7 24000 \/ 60 = 2,513.3 rad\/s<\/p>\n                <p>U<sub>per<\/sub> = 2.5 \u00d7 2 \u00d7 1000 \/ 2513.3 = <strong>1.99 g\u00b7mm<\/strong><\/p>\n                <p>e<sub>per<\/sub> = 2.5 \u00d7 1000 \/ 2513.3 = <strong>0.995 \u03bcm = 995 nm<\/strong><\/p>\n                <p>F = 1.99 \/ 1e6 \u00d7 2513.3\u00b2 = <strong>12.6 N<\/strong><\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Note:<\/strong> Tool deflection estimate uses a simplified stiffness model. Actual deflection depends on bearing preload, spindle design, tool overhang, and clamping. Use this as a rough guide only.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Calculators<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance (ISO 21940)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/separator-balancing\/\">Separator Balancing<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/fan-blade-centrifugal-force\/\">Fan Blade Centrifugal Force<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/propeller-unbalance\/\">Propeller Unbalance<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/shaft-radial-runout\/\">Shaft Radial Runout<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments for machine tool spindles and rotating assemblies. Achieve ISO 21940-11 compliance on-site.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132026 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ISO 21940-11. Calculator #242. Last updated: February 2026<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n    var SLUG = 'spindle-unbalance';\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)||!isFinite(n)) return '\u2014'; var f=n.toFixed(d===undefined?2:d); return f.replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,''); }\n\n    \/\/ Simplified spindle stiffness model: ~20 N\/\u03bcm for typical HSK-63\n    var SPINDLE_STIFFNESS = 20; \/\/ N\/\u03bcm\n\n    function calculate() {\n        var mass = parseFloat($('vc-mass').value);\n        var speed = parseFloat($('vc-speed').value);\n        var grade = parseFloat($('vc-grade').value);\n        var toolDia = parseFloat($('vc-tooldia').value);\n\n        if (!mass || mass <= 0 || !speed || speed <= 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var omega = 2 * Math.PI * speed \/ 60;\n        var eper_um = grade * 1000 \/ omega; \/\/ \u03bcm\n        var eper_nm = eper_um * 1000; \/\/ nm\n        var uper = grade * mass * 1000 \/ omega; \/\/ g\u00b7mm\n        var force = uper \/ 1e6 * omega * omega; \/\/ N\n        var deflection_um = force \/ SPINDLE_STIFFNESS; \/\/ \u03bcm\n\n        $('vc-r-ubal').innerHTML = fmt(uper, uper < 1 ? 3 : 2) + ' <span class=\"vc-rcard-unit\">g\u00b7mm<\/span>';\n\n        if (eper_um < 1) {\n            $('vc-r-ecc').innerHTML = fmt(eper_nm, 0) + ' <span class=\"vc-rcard-unit\">nm<\/span> <span class=\"vc-rcard-unit\">(' + fmt(eper_um, 3) + ' \u03bcm)<\/span>';\n        } else {\n            $('vc-r-ecc').innerHTML = fmt(eper_um, 2) + ' <span class=\"vc-rcard-unit\">\u03bcm<\/span> <span class=\"vc-rcard-unit\">(' + fmt(eper_nm, 0) + ' nm)<\/span>';\n        }\n\n        $('vc-r-force').innerHTML = fmt(force, 2) + ' <span class=\"vc-rcard-unit\">N<\/span>';\n        $('vc-r-deflect').innerHTML = '\u2248 ' + fmt(deflection_um, deflection_um < 1 ? 3 : 2) + ' <span class=\"vc-rcard-unit\">\u03bcm<\/span> <span class=\"vc-rcard-unit\">(at 20 N\/\u03bcm stiffness)<\/span>';\n        $('vc-r-omega').innerHTML = fmt(omega, 1) + ' <span class=\"vc-rcard-unit\">rad\/s<\/span>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        var u = new URL(window.location);\n        u.searchParams.set('mass', mass); u.searchParams.set('speed', speed);\n        u.searchParams.set('grade', grade);\n        if (toolDia && toolDia > 0) u.searchParams.set('tooldia', toolDia);\n        history.replaceState(null, '', u.toString());\n\n        saveHistory({ mass:mass, speed:speed, grade:grade, tooldia:toolDia||'',\n            _summary: 'm=' + mass + 'kg, ' + speed + 'RPM, G' + grade });\n    }\n\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-mass').value = this.getAttribute('data-m');\n            $('vc-speed').value = this.getAttribute('data-s');\n            $('vc-grade').value = this.getAttribute('data-g');\n            $('vc-tooldia').value = this.getAttribute('data-td');\n            calculate();\n        });\n    });\n\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Spindle Unbalance Calculation\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'Mass: ' + $('vc-mass').value + ' kg\\n' +\n            'Speed: ' + $('vc-speed').value + ' RPM\\n' +\n            'Grade: G' + $('vc-grade').value + '\\n' +\n            'Permissible Unbalance: ' + $('vc-r-ubal').textContent + '\\n' +\n            'Eccentricity: ' + $('vc-r-ecc').textContent + '\\n' +\n            'Centrifugal Force: ' + $('vc-r-force').textContent + '\\n' +\n            'Tool Deflection: ' + $('vc-r-deflect').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'vibromera.eu\/calculators\/spindle-unbalance\/';\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn');\n                btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() { btn.classList.remove('vc-copied'); btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy'; }, 2000);\n            });\n        }\n    });\n\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', section.classList.contains('vc-open'));\n        });\n    });\n\n    var faqData = [\n        { q: 'What balance grade is required for high-speed spindles?', a: '<p><strong>G2.5<\/strong> is the standard for general machining centers up to ~20,000 RPM. For high-speed cutting (HSC) above 20,000 RPM, use <strong>G1.0<\/strong>. Ultra-precision grinding and optical machining may require <strong>G0.4<\/strong>.<\/p>' },\n        { q: 'How does spindle unbalance affect surface finish?', a: '<p>Unbalance creates centrifugal force that deflects the tool tip. This deflection appears as waviness on the workpiece surface. At 24,000 RPM, even 2 g\u00b7mm can cause ~0.6 \u03bcm of tool tip deflection, degrading surface finish quality.<\/p>' },\n        { q: 'Should I balance the toolholder with the tool installed?', a: '<p>Yes, for best results the complete assembly (toolholder + collet + tool + retention knob) should be balanced together. Each component contributes unbalance. Pre-balanced toolholders are a good starting point but aren\\'t sufficient alone for high-speed work.<\/p>' },\n        { q: 'What is the difference between HSK and BT toolholders for balance?', a: '<p>HSK (hollow taper shank) provides dual face-and-taper contact, giving better radial stiffness and balance repeatability than BT (7\/24 steep taper). HSK is preferred for high-speed applications because runout is more consistent between tool changes.<\/p>' },\n        { q: 'How do I measure spindle unbalance?', a: '<p>Mount vibration sensors near the spindle bearings, run the spindle, and measure the 1\u00d7 (synchronous) vibration amplitude and phase. A portable balancing instrument like Vibromera Balanset calculates the correction mass and angle from these measurements.<\/p>' }\n    ];\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) { var btn = e.target.closest('.vc-faq-q'); if (!btn) return; btn.closest('.vc-faq-item').classList.toggle('vc-open'); });\n\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG; var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString(); arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        p.forEach(function(v, k) { var el = $(k) || $('vc-' + k); if (el) el.value = v; });\n    }\n\n    function renderFormulas() {\n        try {\n            katex.render('U_{per} = \\\\frac{G \\\\times m \\\\times 1000}{\\\\omega} \\\\quad [g \\\\cdot mm]', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('e_{per} = \\\\frac{G \\\\times 1000}{\\\\omega} \\\\quad [\\\\mu m] \\\\quad \\\\text{or} \\\\quad e_{per} \\\\times 1000 \\\\; [nm]', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('F = \\\\frac{U}{10^6} \\\\times \\\\omega^2 \\\\; [N], \\\\qquad \\\\delta \\\\approx \\\\frac{F}{k_{spindle}} \\\\; [\\\\mu m]', $('vc-katex-3'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    function init() { loadParams(); renderFormulas(); calculate(); }\n    if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Gratis online kalkulator for ubalanse i spindelen i maskinverkt\u00f8yet i henhold til ISO 21940. Skriv inn spindelmasse, maks. hastighet og balanseringsgrad for \u00e5 f\u00e5 tillatt ubalanse i g\u00b7mm, eksentrisitet i nanometer, sentrifugalkraft og estimat av verkt\u00f8yavb\u00f8yning.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100235","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100235\/revisions"}],"predecessor-version":[{"id":100551,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100235\/revisions\/100551"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}