{"id":3467,"date":"2026-06-16T11:44:43","date_gmt":"2026-06-16T09:44:43","guid":{"rendered":"https:\/\/www.rocketronics.de\/en\/?page_id=3467"},"modified":"2026-06-16T11:44:43","modified_gmt":"2026-06-16T09:44:43","slug":"jmc-torque-calculator","status":"publish","type":"page","link":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/","title":{"rendered":"JMC Torque calculator"},"content":{"rendered":"<!-- ============================================================\r\n     JMC TORQUE CALCULATOR (English) \u2014 readable version\r\n     Insert into a Custom HTML block on the English page.\r\n     Requires wpautop to be disabled (plugin already installed).\r\n     ============================================================ -->\r\n\r\n<div class=\"tq-calc\" id=\"tqCalc\">\r\n  <h2 class=\"tq-h\">Torque Calculator for CNC Axes<\/h2>\r\n  <p class=\"tq-intro\">Calculate the required motor torque for a single axis \u2014 depending on drive type, moving mass, feed rate and acceleration. Move the sliders and see the result instantly. Hover over the <span class=\"tq-help\">?<\/span> icons for explanations.<\/p>\r\n\r\n  <!-- Result (sticky, on top) -->\r\n  <div class=\"tq-result tq-result-top\">\r\n    <div class=\"tq-result-main\">\r\n      <div class=\"tq-result-box\">\r\n        <span class=\"tq-result-label\">Required torque<\/span>\r\n        <span class=\"tq-result-val\" id=\"tqResT\">\u2013 Nm<\/span>\r\n      <\/div>\r\n      <div class=\"tq-result-box\">\r\n        <span class=\"tq-result-label\">at speed<\/span>\r\n        <span class=\"tq-result-val\" id=\"tqResRpm\">\u2013 rpm<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"tq-result-sub\" id=\"tqResDetail\"><\/div>\r\n    <div class=\"tq-suggest\" id=\"tqSuggest\"><\/div>\r\n    <p class=\"tq-note\">\u26a0 Important: The motor must deliver the stated torque <strong>at the stated speed<\/strong> \u2014 not the holding torque at standstill! Stepper motors lose torque at higher speeds. Always check the torque-speed curve in the datasheet. This calculation is a sizing aid and does not replace a detailed engineering design.<\/p>\r\n  <\/div>\r\n\r\n  <!-- Drive type -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Drive type\r\n      <span class=\"tq-help\" data-tip=\"Determines how the motor's rotation is converted into linear motion \u2014 and with what efficiency. Ball screws are very efficient (~90%), trapezoidal lead screws much less so (~40%), timing belts efficient (~90%).\">?<\/span>\r\n    <\/label>\r\n    <div class=\"tq-seg\" id=\"tqDrive\">\r\n      <button type=\"button\" class=\"tq-seg-btn tq-active\" data-drive=\"ball\">Ball screw<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-drive=\"trap\">Lead screw (trapezoidal)<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-drive=\"belt\">Timing belt<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-drive=\"rack\">Rack &amp; pinion<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Drive-specific: screw -->\r\n  <div class=\"tq-field tq-screw-only\" id=\"tqLeadField\">\r\n    <label class=\"tq-label\">Screw lead\r\n      <span class=\"tq-help\" data-tip=\"The travel per revolution (lead). A lead of 5 mm means the axis moves 5 mm per motor revolution. Higher lead = higher speed, but more torque required.\">?<\/span>\r\n      <output id=\"tqLeadOut\">5 mm\/rev<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqLead\" min=\"1\" max=\"40\" step=\"1\" value=\"5\">\r\n  <\/div>\r\n\r\n  <!-- Drive-specific: belt -->\r\n  <div class=\"tq-field tq-belt-only\" id=\"tqPulleyField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Pulley diameter (pitch)\r\n      <span class=\"tq-help\" data-tip=\"The effective diameter of the driving pulley. Per revolution the axis moves by the circumference (\u03c0 \u00d7 diameter). Larger diameter = higher speed, but more torque required.\">?<\/span>\r\n      <output id=\"tqPulleyOut\">20 mm<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqPulley\" min=\"10\" max=\"120\" step=\"1\" value=\"20\">\r\n  <\/div>\r\n\r\n  <!-- Drive-specific: rack & pinion -->\r\n  <div class=\"tq-field tq-rack-only\" id=\"tqRackGearField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Gear type\r\n      <span class=\"tq-help\" data-tip=\"Spur: simpler, slightly higher efficiency. Helical: smoother, quieter running and higher load capacity, but generates axial forces and has a slightly larger effective diameter.\">?<\/span>\r\n    <\/label>\r\n    <div class=\"tq-seg\" id=\"tqRackType\">\r\n      <button type=\"button\" class=\"tq-seg-btn tq-active\" data-gear=\"spur\">Spur<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-gear=\"helical\">Helical<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"tq-field tq-rack-only\" id=\"tqModuleField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Module\r\n      <span class=\"tq-help\" data-tip=\"The module (in mm) describes the tooth size of the rack and pinion. Together with the number of teeth it defines the pitch diameter of the pinion. Common CNC modules: 1; 1.5; 2; 2.5; 3.\">?<\/span>\r\n      <output id=\"tqModuleOut\">2 mm<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqModule\" min=\"0.5\" max=\"6\" step=\"0.5\" value=\"2\">\r\n  <\/div>\r\n\r\n  <div class=\"tq-field tq-rack-only\" id=\"tqTeethField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Pinion teeth\r\n      <span class=\"tq-help\" data-tip=\"Number of teeth on the driving pinion. Pitch diameter d = teeth \u00d7 module (for helical gears divided by the cosine of the helix angle). More teeth = larger diameter = higher speed, but more torque required.\">?<\/span>\r\n      <output id=\"tqTeethOut\">20 teeth<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqTeeth\" min=\"10\" max=\"40\" step=\"1\" value=\"20\">\r\n  <\/div>\r\n\r\n  <div class=\"tq-field tq-rack-only tq-helical-only\" id=\"tqBetaField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Helix angle \u03b2\r\n      <span class=\"tq-help\" data-tip=\"The angle of the helical teeth (typically 15\u201330\u00b0). It increases the effective pitch diameter by the factor 1\/cos(\u03b2) and thus slightly affects speed and torque.\">?<\/span>\r\n      <output id=\"tqBetaOut\">20\u00b0<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqBeta\" min=\"0\" max=\"45\" step=\"1\" value=\"20\">\r\n  <\/div>\r\n\r\n  <!-- Calculated pitch diameter display -->\r\n  <div class=\"tq-field tq-rack-only\" id=\"tqPitchInfo\" style=\"display:none\">\r\n    <p class=\"tq-pitchinfo\">Calculated pitch diameter of the pinion: <strong id=\"tqPitchVal\">40.0 mm<\/strong> &nbsp;(= <span id=\"tqPitchFormula\">20 \u00d7 2 mm<\/span>)<\/p>\r\n  <\/div>\r\n\r\n  <!-- Efficiency -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Drive efficiency\r\n      <span class=\"tq-help\" data-tip=\"The share of motor power that actually reaches the axis as feed. Friction losses reduce it. Typical values: ball screw 0.90; trapezoidal lead screw 0.40; timing belt 0.90. Adjustable if needed.\">?<\/span>\r\n      <output id=\"tqEffOut\">0.90<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqEff\" min=\"0.30\" max=\"0.98\" step=\"0.01\" value=\"0.90\">\r\n  <\/div>\r\n\r\n  <!-- Moving mass -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Moving mass\r\n      <span class=\"tq-help\" data-tip=\"The total weight moved by this axis \u2014 including the carriage, the spindle unit and any further axes mounted on top. The heavier it is, the more torque is needed for acceleration.\">?<\/span>\r\n      <output id=\"tqMassOut\">15 kg<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqMass\" min=\"1\" max=\"300\" step=\"1\" value=\"15\">\r\n  <\/div>\r\n\r\n  <!-- Feed rate -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Feed rate (target speed)\r\n      <span class=\"tq-help\" data-tip=\"The desired travel speed. Milling machines: typically 500\u20136000 mm\/min, rapid traverse up to ~15000. Laser machines: up to ~30000 mm\/min. Determines the required motor speed.\">?<\/span>\r\n      <output id=\"tqFeedOut\">3000 mm\/min<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqFeed\" min=\"100\" max=\"30000\" step=\"100\" value=\"3000\">\r\n    <div class=\"tq-presets\">\r\n      <button type=\"button\" class=\"tq-preset\" data-feed=\"2000\" data-acc=\"0.2\">Milling standard<\/button>\r\n      <button type=\"button\" class=\"tq-preset\" data-feed=\"6000\" data-acc=\"0.5\">Milling fast<\/button>\r\n      <button type=\"button\" class=\"tq-preset\" data-feed=\"20000\" data-acc=\"1.5\">Laser<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Acceleration -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Acceleration\r\n      <span class=\"tq-help\" data-tip=\"How quickly the axis reaches speed. This is usually the largest contributor to the torque requirement. Milling: 0.1\u20130.5 g (professional up to ~1 g). Laser: up to ~2 g, due to low mass. 1 g = 9.81 m\/s\u00b2.\">?<\/span>\r\n      <output id=\"tqAccOut\">0.30 g<\/output>\r\n      <button type=\"button\" class=\"tq-unit\" id=\"tqAccUnit\" title=\"Toggle unit\">\u2192 m\/s\u00b2<\/button>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqAcc\" min=\"0.05\" max=\"2\" step=\"0.05\" value=\"0.30\">\r\n  <\/div>\r\n\r\n  <!-- Axis orientation -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Axis orientation\r\n      <span class=\"tq-help\" data-tip=\"Horizontal axes (X\/Y) don't have to lift any weight. Vertical axes (Z) must additionally hold and lift the full weight force of the mass \u2014 this increases the required torque significantly.\">?<\/span>\r\n    <\/label>\r\n    <div class=\"tq-seg\" id=\"tqOrient\">\r\n      <button type=\"button\" class=\"tq-seg-btn tq-active\" data-incl=\"0\">Horizontal (X\/Y)<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-incl=\"90\">Vertical (Z)<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Friction -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Guide friction\r\n      <span class=\"tq-help\" data-tip=\"Friction coefficient \u00b5 of the linear guide. Profiled rail guides (recirculating ball): ~0.01\u20130.05. Plain\/dovetail guides: ~0.1\u20130.2. Higher value = more friction = more torque.\">?<\/span>\r\n      <output id=\"tqMuOut\">0.03<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqMu\" min=\"0\" max=\"0.25\" step=\"0.01\" value=\"0.03\">\r\n  <\/div>\r\n\r\n  <!-- Gearbox \/ reduction -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Gearbox between motor and drive\r\n      <span class=\"tq-help\" data-tip=\"A reduction gearbox between motor and drive multiplies the torque by the reduction ratio, reducing the required motor torque \u2014 but increases the required motor speed by the same factor. Enable it if a gearbox is fitted.\">?<\/span>\r\n    <\/label>\r\n    <div class=\"tq-seg\" id=\"tqGearbox\">\r\n      <button type=\"button\" class=\"tq-seg-btn tq-active\" data-gear-on=\"0\">No gearbox (direct drive)<\/button>\r\n      <button type=\"button\" class=\"tq-seg-btn\" data-gear-on=\"1\">With gearbox<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"tq-field tq-gearbox-only\" id=\"tqRatioField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Reduction ratio\r\n      <span class=\"tq-help\" data-tip=\"The reduction ratio i = motor speed \u00f7 output speed. A 5:1 reduction means: the motor turns 5\u00d7 faster but delivers only 1\/5 of the torque acting at the drive. Typical values: 3:1 to 10:1.\">?<\/span>\r\n      <output id=\"tqRatioOut\">3.0 : 1<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqRatio\" min=\"1\" max=\"20\" step=\"0.5\" value=\"3\">\r\n  <\/div>\r\n\r\n  <div class=\"tq-field tq-gearbox-only\" id=\"tqGearEffField\" style=\"display:none\">\r\n    <label class=\"tq-label\">Gearbox efficiency\r\n      <span class=\"tq-help\" data-tip=\"Losses in the gearbox. Typical values: planetary gearbox 0.90\u20130.97; spur gearbox 0.95\u20130.98; worm gearbox much lower (0.5\u20130.8). Reduces the transmitted torque.\">?<\/span>\r\n      <output id=\"tqGearEffOut\">0.95<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqGearEff\" min=\"0.50\" max=\"0.98\" step=\"0.01\" value=\"0.95\">\r\n  <\/div>\r\n\r\n  <!-- Safety factor -->\r\n  <div class=\"tq-field\">\r\n    <label class=\"tq-label\">Safety factor\r\n      <span class=\"tq-help\" data-tip=\"Reserve for effects not directly calculated: inertia of the motor rotor and screw, tuning, wear, voltage drops. Common practice 1.5\u20132.0. The final result is multiplied by this factor.\">?<\/span>\r\n      <output id=\"tqSafeOut\">1.8 \u00d7<\/output>\r\n    <\/label>\r\n    <input type=\"range\" id=\"tqSafe\" min=\"1\" max=\"3\" step=\"0.1\" value=\"1.8\">\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n\r\n\/* ============================================================\r\n   JMC TORQUE CALCULATOR  \u2014  readable version\r\n   Functionally identical to the minified version.\r\n   Requirement for embedding: wpautop must be disabled\r\n   (otherwise WordPress breaks the line breaks in the script).\r\n   ============================================================ *\/\r\n(function(){\r\n\r\n  \/* ---------- MOTOR DATABASE ----------\r\n     Each motor: n=name, size=frame size, info=power\/holding torque,\r\n     url=shop link, c=torque curve as support points [[rpm,Nm],...].\r\n     Servos: peak (instantaneous) curve (plateau up to 3000 rpm, then drop).\r\n     Closed-loop: speed-dependent curve (early drop). *\/\r\n\r\n  var TQ_DB_SERVO = [\r\n    {n:\"iHSV42-40-05-24\", size:\"NEMA17\", info:\"52 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/Servomotor--IHSV42-40-05-24.html\", c:[[0,0.19],[3000,0.19],[5200,0.075]]},\r\n    {n:\"iHSV42-40-07-24\", size:\"NEMA17\", info:\"72 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/Servomotor-IHSV42-40-07-24.html\", c:[[0,0.275],[3000,0.275],[5200,0.11]]},\r\n    {n:\"iHSV57-30-10-36\", size:\"NEMA23\", info:\"100 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/Servomotor-IHSV57-30-10-36.html\", c:[[0,0.44],[3000,0.44],[4200,0.22]]},\r\n    {n:\"iHSV57-30-14-36\", size:\"NEMA23\", info:\"140 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-servomotor-140w-ihsv57-30-14-36-21-38.html\", c:[[0,0.67],[3000,0.67],[4200,0.33]]},\r\n    {n:\"iHSV57-30-18-36\", size:\"NEMA23\", info:\"180 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-servomotor-180w-ihsv57-30-18-36-21-38.html\", c:[[0,0.90],[3000,0.90],[4200,0.42]]},\r\n    {n:\"iHSV60-30-20-36\", size:\"NEMA24\", info:\"200 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/Servomotor-iHSV60-30-20-36.html\", c:[[0,0.97],[3000,0.97],[4200,0.48]]},\r\n    {n:\"iHSV60-30-40-48\", size:\"NEMA24\", info:\"400 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-servomotor-400w-ihsv60-30-40-48.html\", c:[[0,1.90],[3000,1.90],[4200,0.90]]},\r\n    {n:\"iHSV86-30-44-48\", size:\"NEMA34\", info:\"440 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/iHSV86-30-44-48.html\", c:[[0,2.10],[3000,2.10],[4200,1.00]]},\r\n    {n:\"iHSV86-30-66-72\", size:\"NEMA34\", info:\"660 W\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-servomotor-660w-ihsv86-30-66-72.html\", c:[[0,3.05],[3000,3.05],[4200,1.50]]}\r\n  ];\r\n\r\n  var TQ_DB_CL = [\r\n    {n:\"iHSS42-24-05\", size:\"NEMA17\", info:\"0.48 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/iHSS42-24-05.html\", c:[[100,0.385],[200,0.347],[300,0.316],[400,0.268],[500,0.205],[600,0.189]]},\r\n    {n:\"iHSS42-24-07\", size:\"NEMA17\", info:\"0.70 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/iHSS42-24-07.html\", c:[[100,0.60],[200,0.58],[400,0.52],[500,0.47],[600,0.42],[700,0.38],[800,0.31],[900,0.205],[1000,0.18],[1100,0.16]]},\r\n    {n:\"iHSS57-36-10-21-38\", size:\"NEMA23\", info:\"1.0 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-closed-loop-steppermotor-1-nm-ihss57-36-10-21-38.html\", c:[[100,0.75],[200,0.73],[290,0.64],[380,0.52],[470,0.39],[580,0.32],[680,0.30],[780,0.23],[870,0.20],[990,0.185],[1180,0.16],[1430,0.13]]},\r\n    {n:\"iHSSC57-36-20-21-38\", size:\"NEMA23\", info:\"2.0 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-closed-loop-steppermotor-2-nm-ihss57-36-20-21-38.html\", c:[[90,1.42],[200,1.40],[280,1.20],[380,0.94],[470,0.75],[580,0.62],[670,0.54],[760,0.46],[840,0.41],[970,0.38],[1110,0.30],[1430,0.25]]},\r\n    {n:\"iHSSC60-36-30-21-38\", size:\"NEMA24\", info:\"3.0 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-closed-loop-steppermotor-ihss60-36-30-21-38.html\", c:[[90,2.13],[190,1.94],[290,1.86],[380,1.45],[480,1.20],[580,1.01],[670,0.92],[790,0.75],[890,0.75],[980,0.60]]},\r\n    {n:\"iHSSC60-36-35-21-38\", size:\"NEMA24\", info:\"3.5 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/IHSS60-36-35-21-38-539.html\", c:[[90,2.40],[190,2.20],[290,2.10],[380,1.65],[480,1.36],[580,1.14],[670,1.04],[790,0.85],[890,0.85],[980,0.68]]},\r\n    {n:\"iHSS60-36-30-31\", size:\"NEMA24\", info:\"3.0 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/IHSS60-36-30-31.html\", c:[[90,2.13],[190,1.94],[290,1.86],[380,1.45],[480,1.20],[580,1.01],[670,0.92],[790,0.75],[890,0.75],[980,0.60]]},\r\n    {n:\"iHSS86-60-45\", size:\"NEMA34\", info:\"4.5 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-closed-loop-steppermotor-4-5-nm-ihss86-60-45.html\", c:[[100,3.16],[200,3.18],[300,3.17],[400,3.14],[500,3.11],[600,2.74],[700,2.65],[800,2.44],[900,2.11],[1000,1.89],[1100,1.66],[1200,1.53],[1500,1.16]]},\r\n    {n:\"iHSS86-80-100\", size:\"NEMA34\", info:\"9.5 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/jmc-closed-loop-steppermotor-10-nm-ihss86-80-100.html\", c:[[100,7.48],[200,5.80],[300,4.42],[400,3.18],[500,2.42],[600,1.90],[700,1.58],[800,1.17],[900,0.98],[1000,0.88],[1100,0.67],[1200,0.55],[1290,0.50],[1400,0.38],[1500,0.26]]},\r\n    {n:\"iHSS86-80-120\", size:\"NEMA34\", info:\"12.2 Nm\", url:\"https:\/\/www.rocketronics.de\/shop\/en\/IHSS86-80-120.html\", c:[[100,9.57],[200,7.42],[300,5.66],[400,4.07],[500,3.10],[600,2.43],[700,2.02],[800,1.50],[900,1.25],[1000,1.13],[1100,0.86],[1200,0.70],[1290,0.64],[1400,0.49],[1500,0.33]]}\r\n  ];\r\n\r\n  \/* Torque of a motor at a given speed (linear interpolation on the curve) *\/\r\n  function tqTorqueAt(curve, rpm){\r\n    if(rpm <= curve[0][0]) return curve[0][1];\r\n    var last = curve[curve.length-1];\r\n    if(rpm >= last[0]) return last[1];\r\n    for(var i=0; i<curve.length-1; i++){\r\n      var a = curve[i], b = curve[i+1];\r\n      if(rpm >= a[0] && rpm <= b[0]){\r\n        var f = (rpm - a[0]) \/ (b[0] - a[0]);\r\n        return a[1] + f * (b[1] - a[1]);\r\n      }\r\n    }\r\n    return last[1];\r\n  }\r\n\r\n  \/* Maximum speed the motor reaches according to the curve *\/\r\n  function tqMaxRpm(curve){ return curve[curve.length-1][0]; }\r\n\r\n  \/* Returns up to 3 smallest motors that deliver the required torque at the\r\n     requested speed (sorted smallest -> largest). *\/\r\n  function tqFindMotors(list, reqNm, reqRpm){\r\n    var fits = [];\r\n    list.forEach(function(m){\r\n      if(reqRpm > tqMaxRpm(m.c)) return;          \/\/ motor cannot reach this speed\r\n      var av = tqTorqueAt(m.c, reqRpm);           \/\/ available torque at this speed\r\n      if(av >= reqNm) fits.push({m:m, avail:av, reserve:av\/reqNm});\r\n    });\r\n    fits.sort(function(a,b){ return a.avail - b.avail; });\r\n    return fits.slice(0,3);\r\n  }\r\n\r\n  \/* ---------- CORE SETUP ---------- *\/\r\n  var c = document.getElementById('tqCalc');\r\n  if(!c) return;\r\n  var g = 9.81;\r\n  var accInG = true;     \/\/ acceleration unit (true = g, false = m\/s\u00b2)\r\n  var drive = 'ball';    \/\/ current drive type\r\n  var incl = 0;          \/\/ axis orientation: 0 = horizontal, 90 = vertical\r\n  var gearType = 'spur'; \/\/ rack: spur = straight, helical = angled\r\n  var gearboxOn = false; \/\/ gearbox active?\r\n\r\n  function $(id){ return document.getElementById(id); }\r\n\r\n  \/* Number formatting (en-US) *\/\r\n  function de(n, dec){\r\n    return n.toLocaleString('en-US', {minimumFractionDigits:dec, maximumFractionDigits:dec});\r\n  }\r\n\r\n  \/* Default efficiency per drive type *\/\r\n  var effDefault = {ball:0.90, trap:0.40, belt:0.90, rack:0.97};\r\n\r\n  \/* ---------- SWITCH DRIVE TYPE ---------- *\/\r\n  function setDrive(d){\r\n    drive = d;\r\n    c.querySelectorAll('#tqDrive .tq-seg-btn').forEach(function(b){\r\n      b.classList.toggle('tq-active', b.dataset.drive === d);\r\n    });\r\n    \/\/ show\/hide drive-specific fields\r\n    $('tqLeadField').style.display   = (d==='ball' || d==='trap') ? '' : 'none';\r\n    $('tqPulleyField').style.display = (d==='belt') ? '' : 'none';\r\n    var rackShow = (d==='rack') ? '' : 'none';\r\n    ['tqRackGearField','tqModuleField','tqTeethField','tqPitchInfo'].forEach(function(id){ $(id).style.display = rackShow; });\r\n    $('tqBetaField').style.display = (d==='rack' && gearType==='helical') ? '' : 'none';\r\n    \/\/ set matching default efficiency\r\n    $('tqEff').value = effDefault[d];\r\n    calc();\r\n  }\r\n\r\n  \/* ---------- MAIN CALCULATION ---------- *\/\r\n  function calc(){\r\n    var mass   = parseFloat($('tqMass').value);\r\n    var feed   = parseFloat($('tqFeed').value);   \/\/ mm\/min\r\n    var accRaw = parseFloat($('tqAcc').value);    \/\/ slider value (in g)\r\n    var a      = accRaw * g;                       \/\/ internally always m\/s\u00b2\r\n    var eff    = parseFloat($('tqEff').value);\r\n    var mu     = parseFloat($('tqMu').value);\r\n    var safe   = parseFloat($('tqSafe').value);\r\n\r\n    \/\/ update displays\r\n    $('tqMassOut').textContent = de(mass,0)+' kg';\r\n    $('tqFeedOut').textContent = de(feed,0)+' mm\/min';\r\n    $('tqEffOut').textContent  = de(eff,2);\r\n    $('tqMuOut').textContent   = de(mu,2);\r\n    $('tqSafeOut').textContent = de(safe,1)+' \u00d7';\r\n    $('tqAccOut').textContent  = accInG ? de(accRaw,2)+' g' : de(a,2)+' m\/s\u00b2';\r\n\r\n    \/\/ forces (linear, in Newton)\r\n    var rad = incl * Math.PI\/180;\r\n    var Fg = mass*g*Math.sin(rad);        \/\/ weight force (Z axis only)\r\n    var Ff = mu*mass*g*Math.cos(rad);     \/\/ friction\r\n    var Fa = mass*a;                      \/\/ acceleration\r\n    var F  = Fg + Ff + Fa;\r\n\r\n    \/\/ force -> torque (at output) depending on drive type\r\n    var T, rpm;\r\n    if(drive==='belt'){\r\n      var d_mm = parseFloat($('tqPulley').value);\r\n      $('tqPulleyOut').textContent = de(d_mm,0)+' mm';\r\n      var r    = (d_mm\/1000)\/2;            \/\/ m\r\n      var circ = Math.PI*(d_mm\/1000);      \/\/ m per revolution\r\n      T   = F*r\/eff;\r\n      rpm = (feed\/1000)\/circ;\r\n    } else if(drive==='rack'){\r\n      var mod  = parseFloat($('tqModule').value);\r\n      var z    = parseFloat($('tqTeeth').value);\r\n      var beta = parseFloat($('tqBeta').value);\r\n      $('tqModuleOut').textContent = de(mod,1)+' mm';\r\n      $('tqTeethOut').textContent  = de(z,0)+' teeth';\r\n      $('tqBetaOut').textContent   = de(beta,0)+'\u00b0';\r\n      \/\/ pitch diameter: spur d=z*m; helical d=z*m\/cos(beta)\r\n      var dpitch;\r\n      if(gearType==='helical'){\r\n        dpitch = z*mod\/Math.cos(beta*Math.PI\/180);\r\n        $('tqPitchFormula').textContent = de(z,0)+' \u00d7 '+de(mod,1)+' mm \u00f7 cos('+de(beta,0)+'\u00b0)';\r\n      } else {\r\n        dpitch = z*mod;\r\n        $('tqPitchFormula').textContent = de(z,0)+' \u00d7 '+de(mod,1)+' mm';\r\n      }\r\n      $('tqPitchVal').textContent = de(dpitch,1)+' mm';\r\n      var rr    = (dpitch\/1000)\/2;\r\n      var circr = Math.PI*(dpitch\/1000);\r\n      T   = F*rr\/eff;\r\n      rpm = (feed\/1000)\/circr;\r\n    } else {\r\n      \/\/ ball screw \/ trapezoidal lead screw\r\n      var lead_mm = parseFloat($('tqLead').value);\r\n      $('tqLeadOut').textContent = de(lead_mm,0)+' mm\/rev';\r\n      var lead = lead_mm\/1000;            \/\/ m\r\n      T   = F*lead\/(2*Math.PI*eff);\r\n      rpm = feed\/lead_mm;\r\n    }\r\n\r\n    \/\/ gearbox conversion (T and rpm are at the output)\r\n    var Tload = T, rpmLoad = rpm;\r\n    var ratio = 1, gearEff = 1;\r\n    if(gearboxOn){\r\n      ratio   = parseFloat($('tqRatio').value);\r\n      gearEff = parseFloat($('tqGearEff').value);\r\n      $('tqRatioOut').textContent   = de(ratio,1)+' : 1';\r\n      $('tqGearEffOut').textContent = de(gearEff,2);\r\n      \/\/ motor torque = output torque \/ (i * eta);  motor speed = output * i\r\n      T   = Tload\/(ratio*gearEff);\r\n      rpm = rpmLoad*ratio;\r\n    }\r\n\r\n    \/\/ output result (incl. safety factor)\r\n    var Tsafe = T*safe;\r\n    $('tqResT').textContent   = de(Tsafe,2)+' Nm';\r\n    $('tqResRpm').textContent = de(rpm,0)+' rpm';\r\n    $('tqResDetail').innerHTML =\r\n      'Pure torque without reserve: '+de(T,2)+' Nm &nbsp;\u00b7&nbsp; '+\r\n      'Feed force: '+de(F,0)+' N &nbsp;\u00b7&nbsp; '+\r\n      'of which acceleration: '+de(Fa,0)+' N'+\r\n      (incl===90 ? (' &nbsp;\u00b7&nbsp; Weight force: '+de(Fg,0)+' N') : '')+\r\n      (gearboxOn ? (' &nbsp;\u00b7&nbsp; <strong>Gearbox '+de(ratio,1)+':1<\/strong> (at output: '+de(Tload,2)+' Nm at '+de(rpmLoad,0)+' rpm)') : '');\r\n\r\n    tqRenderSuggest(Tsafe, rpm);\r\n  }\r\n\r\n  \/* ---------- RENDER MOTOR SUGGESTION ---------- *\/\r\n  function tqRenderSuggest(reqNm, reqRpm){\r\n    var box = $('tqSuggest');\r\n    if(!reqNm || !isFinite(reqNm) || !isFinite(reqRpm)){ box.innerHTML = ''; return; }\r\n\r\n    var servos = tqFindMotors(TQ_DB_SERVO, reqNm, reqRpm);\r\n    var cls    = tqFindMotors(TQ_DB_CL, reqNm, reqRpm);\r\n\r\n    function card(item){\r\n      var m = item.m;\r\n      return '<a class=\"tq-mcard\" href=\"'+m.url+'\" target=\"_blank\" rel=\"noopener\">'+\r\n        '<span class=\"tq-mcard-name\">'+m.n+'<\/span>'+\r\n        '<span class=\"tq-mcard-meta\">'+m.size+' \u00b7 '+m.info+'<\/span>'+\r\n        '<span class=\"tq-mcard-torque\">'+de(item.avail,2)+' Nm at '+de(reqRpm,0)+' rpm<\/span>'+\r\n        '<span class=\"tq-mcard-reserve\">Reserve \u00d7'+de(item.reserve,1)+'<\/span>'+\r\n        '<span class=\"tq-mcard-btn\">To the shop \u2192<\/span><\/a>';\r\n    }\r\n    function col(title, list, emptyMsg){\r\n      var inner = list.length ? list.map(card).join('') : '<div class=\"tq-mcard-empty\">'+emptyMsg+'<\/div>';\r\n      return '<div class=\"tq-mcol\"><h4 class=\"tq-mcol-title\">'+title+'<\/h4>'+inner+'<\/div>';\r\n    }\r\n\r\n    box.innerHTML =\r\n      '<div class=\"tq-suggest-head\">Suitable JMC motors for '+de(reqNm,2)+' Nm at '+de(reqRpm,0)+' rpm:<\/div>'+\r\n      '<div class=\"tq-mcols\">'+\r\n        col('Servo motors', servos, 'No servo motor covers this requirement. Consider a gearbox or a higher power class.')+\r\n        col('Closed-loop stepper motors', cls, 'No closed-loop motor fits \u2014 usually because the speed is too high (stepper motors up to approx. 1500 rpm). Use a servo or a gearbox.')+\r\n      '<\/div>';\r\n  }\r\n\r\n  \/* ---------- EVENT HANDLERS ---------- *\/\r\n\r\n  \/\/ drive type buttons\r\n  c.querySelectorAll('#tqDrive .tq-seg-btn').forEach(function(b){\r\n    b.addEventListener('click', function(){ setDrive(b.dataset.drive); });\r\n  });\r\n\r\n  \/\/ orientation buttons (horizontal \/ vertical)\r\n  c.querySelectorAll('#tqOrient .tq-seg-btn').forEach(function(b){\r\n    b.addEventListener('click', function(){\r\n      incl = parseFloat(b.dataset.incl);\r\n      c.querySelectorAll('#tqOrient .tq-seg-btn').forEach(function(x){ x.classList.toggle('tq-active', x===b); });\r\n      calc();\r\n    });\r\n  });\r\n\r\n  \/\/ gear type buttons (spur \/ helical)\r\n  c.querySelectorAll('#tqRackType .tq-seg-btn').forEach(function(b){\r\n    b.addEventListener('click', function(){\r\n      gearType = b.dataset.gear;\r\n      c.querySelectorAll('#tqRackType .tq-seg-btn').forEach(function(x){ x.classList.toggle('tq-active', x===b); });\r\n      $('tqBetaField').style.display = (gearType==='helical') ? '' : 'none';\r\n      $('tqEff').value = (gearType==='helical') ? 0.96 : 0.97;\r\n      calc();\r\n    });\r\n  });\r\n\r\n  \/\/ gearbox on\/off\r\n  c.querySelectorAll('#tqGearbox .tq-seg-btn').forEach(function(b){\r\n    b.addEventListener('click', function(){\r\n      gearboxOn = (b.dataset.gearOn === '1');\r\n      c.querySelectorAll('#tqGearbox .tq-seg-btn').forEach(function(x){ x.classList.toggle('tq-active', x===b); });\r\n      var disp = gearboxOn ? '' : 'none';\r\n      $('tqRatioField').style.display   = disp;\r\n      $('tqGearEffField').style.display = disp;\r\n      calc();\r\n    });\r\n  });\r\n\r\n  \/\/ all sliders\r\n  ['tqLead','tqPulley','tqEff','tqMass','tqFeed','tqAcc','tqMu','tqSafe','tqModule','tqTeeth','tqBeta','tqRatio','tqGearEff'].forEach(function(id){\r\n    var el = $(id);\r\n    if(el) el.addEventListener('input', calc);\r\n  });\r\n\r\n  \/\/ toggle acceleration unit (g <-> m\/s\u00b2)\r\n  $('tqAccUnit').addEventListener('click', function(){\r\n    accInG = !accInG;\r\n    this.textContent = accInG ? '\u2192 m\/s\u00b2' : '\u2192 g';\r\n    calc();\r\n  });\r\n\r\n  \/\/ presets (feed rate + acceleration)\r\n  c.querySelectorAll('.tq-preset').forEach(function(b){\r\n    b.addEventListener('click', function(){\r\n      $('tqFeed').value = b.dataset.feed;\r\n      $('tqAcc').value  = b.dataset.acc;\r\n      calc();\r\n    });\r\n  });\r\n\r\n  \/\/ initialization\r\n  setDrive('ball');\r\n\r\n})();\r\n\r\n<\/script>\r\n\r\n<style>\r\n\r\n.tq-calc{font-family:inherit;color:#1a2330;max-width:760px;margin:1.5em 0;padding:1.4em 1.5em;border:1px solid #dde3ea;border-radius:12px;background:#fbfcfe}\r\n.tq-h{margin:0 0 .3em;font-size:1.45rem;color:#1a2330}\r\n.tq-intro{font-size:.96rem;color:#445;margin:0 0 1.4em;line-height:1.55}\r\n.tq-field{margin:0 0 .7em}\r\n.tq-label{display:flex;align-items:center;gap:.5em;font-weight:600;font-size:.96rem;margin-bottom:.2em;flex-wrap:wrap}\r\n.tq-label output{margin-left:auto;font-weight:700;color:#2a6db0;font-variant-numeric:tabular-nums;background:#eef3f9;padding:.12em .6em;border-radius:5px;font-size:.95rem}\r\n.tq-calc input[type=range]{-webkit-appearance:none!important;appearance:none!important;width:100%!important;margin:-8px 0!important;padding:0!important;border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important;cursor:pointer;vertical-align:middle}\r\n.tq-calc input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none!important;height:6px!important;min-height:0!important;max-height:6px!important;background:#dde6ef!important;border-radius:4px!important;border:0!important}\r\n.tq-calc input[type=range]::-moz-range-track{height:6px!important;background:#dde6ef!important;border-radius:4px!important;border:0!important}\r\n.tq-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:20px!important;height:20px!important;margin-top:-7px!important;border-radius:50%!important;background:#2a6db0!important;cursor:pointer!important;border:2px solid #fff!important;box-shadow:0 1px 3px rgba(0,0,0,.3)!important}\r\n.tq-calc input[type=range]::-moz-range-thumb{width:20px!important;height:20px!important;border-radius:50%!important;background:#2a6db0!important;cursor:pointer!important;border:2px solid #fff!important;box-shadow:0 1px 3px rgba(0,0,0,.3)!important}\r\n.tq-seg{display:flex;flex-wrap:wrap;gap:.4em}\r\n.tq-seg-btn{flex:1;min-width:120px;padding:.55em .7em;border:1px solid #cdddee;background:#fff;border-radius:7px;cursor:pointer;font-size:.92rem;font-weight:600;color:#445;transition:.15s}\r\n.tq-seg-btn:hover{background:#f0f5fb}\r\n.tq-seg-btn.tq-active{background:#2a6db0;color:#fff;border-color:#2a6db0}\r\n.tq-unit{margin-left:.4em;padding:.1em .5em;font-size:.8rem;border:1px solid #cdddee;background:#fff;border-radius:5px;cursor:pointer;color:#2a6db0;font-weight:600}\r\n.tq-unit:hover{background:#eef3f9}\r\n.tq-presets{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.5em}\r\n.tq-preset{padding:.3em .7em;font-size:.82rem;border:1px dashed #b8cbe0;background:#fff;border-radius:14px;cursor:pointer;color:#36598a}\r\n.tq-preset:hover{background:#eef3f9;border-style:solid}\r\n.tq-help{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#9fb4cc;color:#fff;font-size:.72rem;font-weight:700;cursor:help;position:relative}\r\n.tq-help[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:50%;bottom:140%;transform:translateX(-50%);width:240px;background:#222f3e;color:#fff;font-weight:400;font-size:.8rem;line-height:1.45;padding:.6em .75em;border-radius:7px;z-index:10;box-shadow:0 3px 12px rgba(0,0,0,.25)}\r\n.tq-help[data-tip]:hover::before{content:\"\";position:absolute;left:50%;bottom:140%;transform:translateX(-50%) translateY(100%);border:6px solid transparent;border-top-color:#222f3e;z-index:10}\r\n.tq-result{margin-top:1.5em;padding:1.2em 1.3em;background:#f4f8fc;border:1px solid #d4e2f0;border-radius:10px}\r\n.tq-result-main{display:flex;gap:1em;flex-wrap:wrap}\r\n.tq-result-box{flex:1;min-width:180px;text-align:center;background:#fff;border:1px solid #dbe6f2;border-radius:8px;padding:.9em}\r\n.tq-result-label{display:block;font-size:.85rem;color:#667;margin-bottom:.25em}\r\n.tq-result-val{display:block;font-size:1.7rem;font-weight:800;color:#1d5a96;font-variant-numeric:tabular-nums}\r\n.tq-result-sub{font-size:.86rem;color:#556;margin:.9em 0 0;text-align:center;line-height:1.6}\r\n.tq-note{font-size:.84rem;color:#7a5a14;background:#fff8ec;border:1px solid #e8c98a;border-radius:7px;padding:.7em .9em;margin:1em 0 0;line-height:1.5}\r\n@media(max-width:560px){\r\n  .tq-label output{margin-left:0;width:100%}\r\n  .tq-help[data-tip]:hover::after{width:180px;left:auto;right:0;transform:none}\r\n  .tq-result-val{font-size:1.4rem}\r\n}\r\n.tq-result-top{margin:0 0 1.4em!important;position:sticky;top:8px;z-index:5;box-shadow:0 2px 10px rgba(20,60,110,.10)}\r\n.tq-result-top .tq-note{margin-top:.7em;font-size:.78rem;padding:.5em .7em}\r\n.tq-pitchinfo{font-size:.88rem;color:#2a5d8f;background:#eef3f9;border:1px solid #d4e2f0;border-radius:6px;padding:.55em .8em;margin:0}\r\n.tq-suggest{margin-top:1em}\r\n.tq-suggest-head{font-size:.9rem;font-weight:700;color:#1d5a96;text-align:center;margin-bottom:.7em}\r\n.tq-mcols{display:grid;grid-template-columns:1fr 1fr;gap:1em}\r\n.tq-mcol-title{font-size:.85rem;font-weight:700;color:#334;margin:0 0 .5em;padding-bottom:.3em;border-bottom:2px solid #d4e2f0;text-align:center}\r\n.tq-mcard{display:block;background:#fff;border:1px solid #dbe6f2;border-radius:8px;padding:.6em .75em;margin-bottom:.55em;text-decoration:none;color:#1a2330;transition:.15s}\r\n.tq-mcard:hover{border-color:#2a6db0;box-shadow:0 2px 8px rgba(42,109,176,.15);transform:translateY(-1px)}\r\n.tq-mcard-name{display:block;font-weight:700;font-size:.92rem;color:#1d5a96}\r\n.tq-mcard-meta{display:block;font-size:.78rem;color:#778;margin-top:.1em}\r\n.tq-mcard-torque{display:block;font-size:.82rem;color:#334;margin-top:.3em;font-variant-numeric:tabular-nums}\r\n.tq-mcard-reserve{display:inline-block;font-size:.76rem;color:#3a8a4e;background:#eef6ee;border-radius:4px;padding:.05em .45em;margin-top:.3em;font-weight:600}\r\n.tq-mcard-btn{display:block;font-size:.8rem;color:#2a6db0;font-weight:600;margin-top:.4em}\r\n.tq-mcard-empty{font-size:.82rem;color:#889;line-height:1.5;margin:.3em 0;padding:.5em;background:#f6f8fa;border-radius:6px}\r\n@media(max-width:560px){.tq-mcols{grid-template-columns:1fr}}\r\n\r\n<\/style>","protected":false},"excerpt":{"rendered":"Torque Calculator for CNC Axes Calculate the required motor torque for a single axis \u2014 depending on drive type, moving mass, feed rate and acceleration. Move the sliders and see the result instantly. Hover over the ? icons for explanations. Required torque \u2013 Nm at speed \u2013 rpm \u26a0 Important: The motor must deliver the&hellip;","protected":false},"author":1,"featured_media":0,"parent":140,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3467","page","type-page","status-publish","hentry","no-wpautop","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JMC Torque calculator - Rocketronics English<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JMC Torque calculator - Rocketronics English\" \/>\n<meta property=\"og:description\" content=\"Torque Calculator for CNC Axes Calculate the required motor torque for a single axis \u2014 depending on drive type, moving mass, feed rate and acceleration. Move the sliders and see the result instantly. Hover over the ? icons for explanations. Required torque \u2013 Nm at speed \u2013 rpm \u26a0 Important: The motor must deliver the&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Rocketronics English\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/rocketronics\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/jmc-torque-calculator\\\/\",\"url\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/jmc-torque-calculator\\\/\",\"name\":\"JMC Torque calculator - Rocketronics English\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#website\"},\"datePublished\":\"2026-06-16T09:44:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/jmc-torque-calculator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/jmc-torque-calculator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/jmc-torque-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Produkte\",\"item\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/products\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JMC Torque calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/\",\"name\":\"Rocketronics English\",\"description\":\"Electronics and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#organization\",\"name\":\"Rocketronics\",\"url\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/3\\\/2019\\\/07\\\/raketenlogo_retina_logo_360.png\",\"contentUrl\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/3\\\/2019\\\/07\\\/raketenlogo_retina_logo_360.png\",\"width\":360,\"height\":53,\"caption\":\"Rocketronics\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rocketronics.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/rocketronics\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JMC Torque calculator - Rocketronics English","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/","og_locale":"en_US","og_type":"article","og_title":"JMC Torque calculator - Rocketronics English","og_description":"Torque Calculator for CNC Axes Calculate the required motor torque for a single axis \u2014 depending on drive type, moving mass, feed rate and acceleration. Move the sliders and see the result instantly. Hover over the ? icons for explanations. Required torque \u2013 Nm at speed \u2013 rpm \u26a0 Important: The motor must deliver the&hellip;","og_url":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/","og_site_name":"Rocketronics English","article_publisher":"https:\/\/www.facebook.com\/rocketronics\/","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/","url":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/","name":"JMC Torque calculator - Rocketronics English","isPartOf":{"@id":"https:\/\/www.rocketronics.de\/en\/#website"},"datePublished":"2026-06-16T09:44:43+00:00","breadcrumb":{"@id":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rocketronics.de\/en\/products\/jmc-torque-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.rocketronics.de\/en\/"},{"@type":"ListItem","position":2,"name":"Produkte","item":"https:\/\/www.rocketronics.de\/en\/products\/"},{"@type":"ListItem","position":3,"name":"JMC Torque calculator"}]},{"@type":"WebSite","@id":"https:\/\/www.rocketronics.de\/en\/#website","url":"https:\/\/www.rocketronics.de\/en\/","name":"Rocketronics English","description":"Electronics and more","publisher":{"@id":"https:\/\/www.rocketronics.de\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rocketronics.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rocketronics.de\/en\/#organization","name":"Rocketronics","url":"https:\/\/www.rocketronics.de\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rocketronics.de\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.rocketronics.de\/en\/wp-content\/uploads\/sites\/3\/2019\/07\/raketenlogo_retina_logo_360.png","contentUrl":"https:\/\/www.rocketronics.de\/en\/wp-content\/uploads\/sites\/3\/2019\/07\/raketenlogo_retina_logo_360.png","width":360,"height":53,"caption":"Rocketronics"},"image":{"@id":"https:\/\/www.rocketronics.de\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/rocketronics\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/pages\/3467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/comments?post=3467"}],"version-history":[{"count":1,"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/pages\/3467\/revisions"}],"predecessor-version":[{"id":3468,"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/pages\/3467\/revisions\/3468"}],"up":[{"embeddable":true,"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/pages\/140"}],"wp:attachment":[{"href":"https:\/\/www.rocketronics.de\/en\/wp-json\/wp\/v2\/media?parent=3467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}