{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[](https://drivetrainhub.com)\n", "\n", "
© 2020 Drivetrain Hub LLC
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Geometry / Involute\n", "---\n", "\n", "**Authors**: [Chad Glinsky](https://www.linkedin.com/in/chad-glinsky-a1840b13/)\n", "\n", "**Description**: Mathematical review of the involute curve and its significance to mechanical gear systems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table of Contents\n", "\n", "1. [Introduction](#Introduction)\n", "2. [Mathematics](#Mathematics)\n", " 1. [Parametric Curve](#Parametric-Curve)\n", " 2. [Curvature](#Curvature)\n", "3. [Gearing](#Gearing)\n", " 1. [Pressure Angle](#Pressure-Angle)\n", " 2. [Involute Function](#Involute-Function)\n", " 3. [Line of Action](#Line-of-Action)\n", " 4. [Conjugate Action](#Conjugate-Action)\n", "4. [References](#References)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide_cell" ] }, "source": [ "#### Notebook imports and settings" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "hide_cell" ] }, "outputs": [], "source": [ "%matplotlib inline\n", "from helper import hide_toggle, round_degrees\n", "from ipywidgets import interact, interactive\n", "import matplotlib.pyplot as plt\n", "from math import pi, hypot, ceil, cos\n", "import numpy as np\n", "\n", "# notebook modules\n", "import involute as inv\n", "\n", "# settings\n", "FIGSIZE = (6, 6) # size of plots\n", "INTERACTIVITY = False # static or interactive plots" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "hide_cell" ] }, "outputs": [], "source": [ "# DEVELOPMENT USE: %autoreload 1\n", "# PRODUCTION USE: %autoreload 0\n", "%load_ext autoreload\n", "%autoreload 0\n", "%aimport involute" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An involute, specifically a circle involute, is a geometric curve that can be described by the trace of unwrapping a taut string which is tangent to a circle, known as the base circle.\n", "\n", "
\n", " The circle involute has attributes that are critically important to the application of mechanical gears.\n", "
\n", "\n", "\"Circle\n", "

Circle involute from an unwrapped string

\n", "Image credit: Wolfram MathWorld" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mathematics\n", "\n", "The mathematics of a circle involute curve is reviewed here.\n", "\n", "### Nomenclature\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SymbolDescription
$r_b$Base radius
$\\psi$Roll angle
$x$Cartesian x-coodinate
$y$Cartesian y-coordinate
$\\kappa$Curvature
$R$Radius of curvature
$\\alpha$Pressure angle
$\\text{inv }\\alpha$Involute function of pressure angle $\\alpha$
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Parametric Curve\n", "\n", "An involute curve can be expressed by parametric equations in planar coordinates.\n", "\n", "$$x = r_b (\\cos\\psi + \\psi \\sin\\psi)$$\n", "\n", "$$y = r_b (\\sin\\psi - \\psi \\cos\\psi)$$\n", "\n", "These equations specifically define an involute for a circle positioned at (0, 0) and the involute base starting at a polar angle of zero in the $xy$ plane" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": false, "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# interactive variable limits\n", "r_base_lim = (1.0, 2.0)\n", "roll_angle_lim = (0.0, 3.0)\n", "r_max = ceil(hypot(*inv.involute_curve(max(r_base_lim), max(roll_angle_lim))))\n", "\n", "# interactive callback function\n", "def f(radius_base, roll_angle):\n", " fig = plt.figure(figsize=FIGSIZE)\n", " ax = fig.add_subplot(1, 1, 1)\n", " \n", " # base circle\n", " x, y = inv.circle_curve(radius_base, np.linspace(0, 2 * pi))\n", " ax.plot(x, y, '--')\n", " \n", " # involute curve\n", " roll_angles = np.linspace(0, roll_angle, num=100)\n", " x, y = inv.involute_curve(radius_base, roll_angles)\n", " ax.plot(x, y, '-', linewidth=2.5)\n", " \n", " # plot format\n", " ax.set_aspect('equal')\n", " plt.ylim(-r_max, r_max)\n", " plt.xlim(-r_max, r_max)\n", " plt.xlabel('x')\n", " plt.ylabel('y')\n", " plt.legend(['base circle', 'involute curve'])\n", " plt.grid()\n", " plt.show()\n", "\n", "if INTERACTIVITY:\n", " print('Slider controls only work when running Jupyter. They do not work in an HTML view.')\n", " interactive(f, radius_base=r_base_lim, roll_angle=roll_angle_lim)\n", "else:\n", " f(r_base_lim[-1], roll_angle_lim[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Curvature\n", "\n", "The curvature, $\\kappa$, of any point on a curve is defined as the reciprocal of the radius of curvature, $R$, at that point. \n", "\n", "$$\\kappa = \\frac{1}{R}$$\n", "\n", "For a circle involute, the center of curvature and radius of curvature at any point is apparent based on its construction via an unwrapping string. Center of curvature always lies on the base circle, making the radius of curvature equal to roll distance.\n", "\n", "
\n", " The curvature of an involute is an important factor in the gear tooth stresses observed in a meshing gear pair.\n", "
" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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9bLBmp6/atUq5syZQ79+/Zg0aRJ5eXkUFBRc7FsihPACPjeCP9+Iu1mgo9bH8/PziQwNrNeI/Vznrt5QSlFcXMztt99Oeno6sbGxPPLII9VL+D744APWrVvHe++9x4IFC/jyyy/RWvPWW2/RvXv3Bh//XGeO+uvicrnYuHEjwcHBF31cIYR3kRG8GzidTjZssKaGXn/9dS677LLqYh4VFUVBQUH1HLnL5SIrK4vU1FQee+wxcnNzKSgoYNy4cfzlL3+pnqffunXrD44zZswYXnnlleo5/tqmaKoMHjyYdevWsW/fvlqfP3bsWP7yl79U3962bVsDf3ohhLeSAu8G3bt357nnnqNnz56cOHGC2267jRYtWjBr1iz69OnDuHHjSElJAayVLTfccAMJCQn079+fu+66ixYtWjB//nzKysro27cvvXv3Zv78+T84zvjx45k0aRLJycn069ePJ5988ry5WrduzaJFi7jmmmtITEysnro50zPPPEN6ejp9+/alV69evPjii+55U4QQxnmsm6QnJCcn6/T09LPu27VrFz179rzofdv1dH+wb3ZP5HbX70Nd1qxZw8iRIz1+HE+wa3a75gbPZldK1dpNUkbwQgjho6TACyGEj5ICL4QQPkoKvBBC+Cgp8EII4aOkwAshhI+SAu8Gl156qdv3GRcXx7Fj578OyuLFizl48KDbjy2E8A1S4N3giy++MHLcxi7w5eXljXYsIcTFkwLvBmFhYcDpkxkmT55Mjx49mD59OlprPvroI6ZMmVL9/DVr1jBx4kQA3njjDRISEujTpw9z5879wb7PvaDIk08+ySOPPMKKFStIT09n+vTpDB06lFOnTpGRkcGIESNISkpi3LhxHDp06Af7O3LkCFdffTWJiYkkJibyxRdf1HoMgJEjR3LPPfeQnJzMggUL6NSpEy6XC7BaHMfGxlJWVsbevXsZP348SUlJDBs2jK+//vri31ghxEXxrWZjK+fB4S8v6KXNKsrBUcvb0TYBrlhYr/1s3bqVr776ivbt2zN06FA+//xzLr/8cmbPnk1hYSGhoaG8+eabXHvttRw8eJC5c+eSkZFBy5YtGTt2LP/+97/58Y9/XOdxJk+ezLPPPsuTTz5J9+7d8ff358477+Sdd96hdevWvPnmmzz00EO8/PLLZ73urrvuYsSIEbz99ttUVFRQUFDAiRMn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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# interactive variable limits\n", "r_base_lim = (1.0, 2.0)\n", "roll_angle_lim = (0.0, 3.0)\n", "r_max = ceil(hypot(*inv.involute_curve(max(r_base_lim), max(roll_angle_lim))))\n", "\n", "# interactive callback function\n", "def f(radius_base, roll_angle):\n", " fig = plt.figure(figsize=FIGSIZE)\n", " ax = fig.add_subplot(1, 1, 1)\n", " \n", " # curvature at curve endpoint\n", " _, _, x_ctr_k, y_ctr_k = inv.involute_curvature(radius_base, roll_angle)\n", " \n", " # base circle\n", " phi_endpoint = np.arctan2(y_ctr_k, x_ctr_k)\n", " x, y = inv.circle_curve(radius_base, np.linspace(0, phi_endpoint))\n", " ax.plot(x, y, '--')\n", " \n", " # involute curve\n", " roll_angles = np.linspace(0, roll_angle, num=100)\n", " x, y = inv.involute_curve(radius_base, roll_angles)\n", " ax.plot(x, y, '-', linewidth=2.5)\n", " \n", " # plot - radius of curvature\n", " ax.plot([x_ctr_k, x[-1]], [y_ctr_k, y[-1]], '-')\n", " \n", " # plot - center of curvature\n", " ax.plot(x_ctr_k, y_ctr_k, 'kx')\n", " \n", " # remaining base circle\n", " x, y = inv.circle_curve(radius_base, np.linspace(phi_endpoint, 2 * pi))\n", " ax.plot(x, y, ':')\n", " \n", " # plot format\n", " ax.set_aspect('equal')\n", " plt.ylim(-r_max, r_max)\n", " plt.xlim(-r_max, r_max)\n", " plt.xlabel('x')\n", " plt.ylabel('y')\n", " plt.legend(['base circle', 'involute curve', 'radius of curvature', 'center of curvature'])\n", " plt.grid()\n", " plt.show()\n", "\n", "if INTERACTIVITY:\n", " print('Slider controls only work when running Jupyter. They do not work in an HTML view.')\n", " interactive(f, radius_base=r_base_lim, roll_angle=roll_angle_lim)\n", "else:\n", " f(r_base_lim[-1], roll_angle_lim[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gearing\n", "\n", "The involute is important to mechanical gears because it enables the *transfer of mechanical power* between rotating bodies without relying on friction as the mechanism of torque transfer, such as a car tire on a road surface. Furthermore, the rotational speed and torque can be modified during this transfer of power, enabling gear systems to change speed and torque between different points in the system.\n", "\n", "\"INVOLUTE\n", "

Involute gearing modeled in Gears App

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pressure Angle\n", "\n", "The pressure angle for an arbitrary point on an involute curve is the angle between its radius vector and line tangent to the involute. As evident in the figure below, the involute base radius is related to the pressure angle at an arbiturary radius on the involute curve.\n", "\n", "$$ r_b = r \\cos\\alpha $$\n", "\n", "
\n", " The pressure angle of an involute is important to how gears transfer mechanical power, including how the forces resolve on the gear teeth.\n", "
\n", "\n", "\"Involute\n", "

Involute curve diagram

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Involute Function\n", "\n", "The involute function is mathematically expressed as a function of pressure angle.\n", "\n", "$$\\text{inv }\\alpha = \\tan\\alpha - \\alpha$$\n", "\n", "The involute function can also be used to express the relationship between pressure angle and roll angle. The previous figure illustrates the involute function in the context of the roll angle and pressure angle.\n", "\n", "$$\\text{inv }\\alpha = \\psi - \\alpha$$\n", "\n", "
\n", " The involute function and its inverse are useful for calculating parameters of involute gearing, as demonstrated in other notebooks.\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false, "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# interactive variable limits\n", "r_base_lim = (1.0, 2.0)\n", "roll_angle_lim = (0.0, 3.0)\n", "r_max = ceil(hypot(*inv.involute_curve(max(r_base_lim), max(roll_angle_lim))))\n", "\n", "# interactive callback function\n", "def f(radius_base, roll_angle):\n", " fig = plt.figure(figsize=FIGSIZE)\n", " ax = fig.add_subplot(1, 1, 1)\n", " \n", " # curvature at curve endpoint\n", " _, _, x_ctr_k, y_ctr_k = inv.involute_curvature(radius_base, roll_angle)\n", " \n", " # base circle\n", " phi_endpoint = np.arctan2(y_ctr_k, x_ctr_k)\n", " x, y = inv.circle_curve(radius_base, np.linspace(0, phi_endpoint))\n", " ax.plot(x, y, '--')\n", " \n", " # involute curve\n", " roll_angles = np.linspace(0, roll_angle, num=100)\n", " x, y = inv.involute_curve(radius_base, roll_angles)\n", " ax.plot(x, y, '-', linewidth=2.5)\n", " \n", " # pressure angle polar lines\n", " ax.plot([x_ctr_k, 0, x[-1]], [y_ctr_k, 0, y[-1]], '-')\n", " \n", " # remaining base circle\n", " x, y = inv.circle_curve(radius_base, np.linspace(phi_endpoint, 2 * pi))\n", " ax.plot(x, y, ':')\n", " \n", " # text - pressure angle, involute fcn\n", " alpha = inv.involute_pressure_angle(radius_base, roll_angle)\n", " inv_alpha = inv.involute_function(alpha)\n", " y_text_base = -r_base_lim[-1] - .75\n", " plt.text(.25, y_text_base, r'roll angle, $\\psi=$' + f'{round_degrees(roll_angle)}$\\degree$')\n", " plt.text(.25, y_text_base - .75, r'pressure angle, $\\alpha=$' + f'{round_degrees(alpha)}$\\degree$')\n", " plt.text(.25, y_text_base - 2 * .75, r'inv $\\alpha = $' + f'{round_degrees(inv_alpha)}$\\degree$')\n", " \n", " # plot format\n", " ax.set_aspect('equal')\n", " plt.ylim(-r_max, r_max)\n", " plt.xlim(-r_max, r_max)\n", " plt.xlabel('x')\n", " plt.ylabel('y')\n", " plt.legend(['base circle', 'involute curve', 'pressure angle',])\n", " plt.grid()\n", " plt.show()\n", "\n", "if INTERACTIVITY:\n", " print('Slider controls only work when running Jupyter. They do not work in an HTML view.')\n", " interactive(f, radius_base=r_base_lim, roll_angle=roll_angle_lim)\n", "else:\n", " f(r_base_lim[-1], roll_angle_lim[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Line of Action\n", "\n", "The line of action refers to the line along which force is applied during the mating of involutes, such as meshing spur gears. This line is also be referred to as the *pressure line* or *generating line*. To understand the line of action, we must introduce the *pitch circle* and *pitch point*.\n", "\n", "**Pitch circle:** Circle along which the involute body, e.g. gear, rotates without slip with a mating involute body.\n", "\n", "**Pitch point:** Point along the line of action that intersects the pitch circle.\n", "\n", "
\n", " In the case of helical gearing, a plane of action must be considered since the involute teeth vary along the gear facewidth, causing the pressure angle at each point of contact to differ. For spur gearing, a plane of action also exists, but its involute teeth do not vary along the facewidth.
\n", "
\n", " ✝ Ignoring any microgeometry modifications.\n", "
" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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P/NMAKIvG4MhLIyKP/9k/92Tibr4YqIuuhBzcrLOKUUwkJHsOpKWlkb79u0ZN24cHTp0YPTo0ZSVlQEwePBgVq1axYMPPkh5eTmpqamMGzcOgI8//piuXbuSkpLC1VdfXdne4sWL6devHy1btjzuqHZVj3388cd58cUXK/u966676NGjB6+99horV66kX79+pKSk0KtXL4qLi49qr7S0lIkTJ9KrVy+6devGd999V2W/Z599tmzyI4SokqZp5E6ZgqeiAkNICIl33UnLObOJGXu5FNjC5yyNG2OKicHati3JTz2F88AB9owcxd4J11IwYyae0lK9I4p6TEay69D27duZMmUK/fv3Z+LEibz99tvce++9lfc/++yzvPnmm6xbtw6AzZs389RTT/H7778THx9PXl5e5bEHDx5kyZIlbNu2jYsuuojRo0cf1deJHnskh8PBqlWrcDgctG/fnunTp9OzZ0+KiooI+ccfvKeffpohQ4bw4YcfUlBQQK9evTjnnHMICwvz0XdICFFfVezeTcWOnUQOPQ9lMuEpLSW0e3e9Y4kgoZQitLt3Y5ukhx+iZOFCCmd+R96HU2gxaxau7GxMcXEyNUn4lIxk16EmTZrQv39/AK666iqWLFlywuN/+eUXxowZQ3x8PACxsbGV940cORKDwUDHjh3Jysqq0WOPdPnllwPeFwDJycn07NkTgMjIyGOmj8yfP59nn32W1NRUBg8ejN1uJz09vTr/dSFEENI0jZKlS0mfNIm914zHmZEBQOz48ZiO85wkRG0zWK1EDhtGk3ffofk336CUIvv11yldsgRPWRkVu3bpHVHUE8E7kr3wP0T8+uyxt4c3gHu3w8L/eL8+6yF4sR2UZB577KAH/75/0iKIPPEcr39uCXs6W8RardbKz0/nYo6ajEJrmsY333xDO1n8XwhxAp6KCormzCHvo49B8xA7fjyN33gDwxHPW0L4A4PFAkDDp55C0zTsW7aQcfMtWNu2JeGuuwjp3EnnhCKQBW+RfdZDFPe47fhzh8966O/P791+4rZOdv9h6enpLFu2jL59+/LZZ58xYMCAY44xm804nU7MZjNDhgxh1KhRTJ48mbi4OPLy8o47Iv1PNX1su3btOHjwICtXrqRnz54UFxcfM11k6NChvPHGG7zxxhsopVi7di3dunWrVh4hRP3nys0FTcNTVkbR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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# interactive variable limits\n", "gear_ratio_lim = (1.0, 2.0)\n", "pressure_angle_lim = (0.0, pi / 4)\n", "\n", "# fixed params\n", "r_pitch1 = 1\n", "phi_circle = np.linspace(0, 2 * pi)\n", "\n", "# interactive callback function\n", "def f(gear_ratio, pressure_angle):\n", " fig = plt.figure(figsize=[2 * x for x in FIGSIZE])\n", " ax = fig.add_subplot(1, 1, 1)\n", " \n", " # common params\n", " roll_angle = pressure_angle + inv.involute_function(pressure_angle)\n", " \n", " # gear 1 params\n", " r_base1 = r_pitch1 * cos(pressure_angle)\n", " x_center1 = 0\n", " y_center1 = 0\n", " \n", " # gear 2 params\n", " r_pitch2 = gear_ratio * r_pitch1\n", " r_base2 = r_pitch2 * cos(pressure_angle)\n", " center_distance = r_pitch1 + r_pitch2\n", " x_center2 = x_center1 + center_distance\n", " y_center2 = y_center1\n", " \n", " # plot - gear1 base circle\n", " phi_roll1 = np.linspace(0, roll_angle)\n", " x_b1, y_b1 = inv.circle_curve(r_base1, phi_roll1, x_center1, y_center1)\n", " ax.plot(x_b1, y_b1, '--')\n", " \n", " # plot - gear1 pitch circle\n", " x, y = inv.circle_curve(r_pitch1, phi_circle, x_center1, y_center1)\n", " ax.plot(x, y, '-.', linewidth=1)\n", " \n", " # plot - gear2 base circle\n", " phi_roll2 = np.linspace(pi, pi + roll_angle)\n", " x_b2, y_b2 = inv.circle_curve(r_base2, phi_roll2, x_center2, y_center2)\n", " ax.plot(x_b2, y_b2, '--')\n", " \n", " # plot - gear2 pitch circle\n", " x, y = inv.circle_curve(r_pitch2, phi_circle, x_center2, y_center2)\n", " ax.plot(x, y, '-.', linewidth=1)\n", " \n", " # plot - line of action\n", " ax.plot((x_b1[-1], x_b2[-1]), (y_b1[-1], y_b2[-1]), linewidth=2)\n", " \n", " # plot - pitch point\n", " ax.plot(r_pitch1, 0, 'k.', markersize=10)\n", " \n", " # plot - gear1 remaining base circle\n", " x1, y1 = inv.circle_curve(r_base1, np.linspace(phi_roll1[-1], 2 * pi), x_center1, y_center1)\n", " ax.plot(x1, y1, ':')\n", " \n", " # plot - gear2 remaining base circle\n", " x2, y2 = inv.circle_curve(r_base2, np.linspace(phi_roll2[-1], 2 * pi + pi), x_center2, y_center2)\n", " ax.plot(x2, y2, ':')\n", " \n", " # plot format\n", " ax.set_aspect('equal')\n", " dlim = r_pitch1 * 0.1\n", " plt.ylim(-r_pitch2 - dlim, r_pitch2 + dlim)\n", " plt.xlim(-r_pitch1 - dlim, center_distance + r_pitch2 + dlim) \n", " plt.xlabel('x')\n", " plt.ylabel('y')\n", " plt.legend(['base circle 1', 'pitch circle 1', 'base circle 2', 'pitch circle 2', 'line of action', 'pitch point'], loc='upper left')\n", " plt.grid()\n", " plt.show()\n", "\n", "if INTERACTIVITY:\n", " print('Slider controls only work when running Jupyter. They do not work in an HTML view.')\n", " interactive(f, gear_ratio=gear_ratio_lim, pressure_angle=pressure_angle_lim)\n", "else:\n", " f(gear_ratio_lim[-1], pressure_angle_lim[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conjugate Action\n", "\n", "A key characterstic of involute gearing is *conjugate action*. Conjugate action results in a constant, i.e. non-flucuating, angular velocity relationship between the two rotating bodies involved. In the case of involute gearing, this constant angular velocity relationship corresponds to the gear ratio.\n", "\n", "A gear pair with mating involute curves achieves conjugate action if the gear teeth have perfect involute geometry and are completely rigid and smooth. The animation below illustrates how the point of contact moves along the line of action for mating involute curves with conjugate action.\n", "\n", "\"Involute\n", "

Gear mesh line of action in Gears App

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Actual gears are never manufactured with perfect involutes, and therefore nominal conjugate action is not achieved. In this case, the two gear bodies will have an angular velocity that fluctuates about its nominal constant value.\n", "
\n", "\n", "The figure below provides a *qualitative* demonstratration of the influence of imperfect involute geometry on the conjugate action of a gear mesh." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": false, "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# interactive variable limits\n", "imperfection_lim = (0.0, 1.0)\n", "\n", "# fixed params\n", "ratio = 2 # w_in / w_out\n", "w_in = 1 # input angular velocity\n", "xlim = [0, 1] # duration\n", "x = np.linspace(*xlim, num=200)\n", "\n", "# interactive callback function\n", "def f(imperfection):\n", " fig = plt.figure(figsize=FIGSIZE)\n", " ax = fig.add_subplot(1, 1, 1)\n", " \n", " imperfection *= 0.1\n", " \n", " # input angular velocity\n", " ax.plot(xlim, [w_in, w_in], '-')\n", " \n", " # nominal output angular velocity (conjugate action)\n", " w_out_nom = w_in / ratio\n", " ax.plot(xlim, [w_out_nom, w_out_nom], '-.')\n", " \n", " # actual output angular velocity (arbitrary signal used)\n", " w1 = 40\n", " h1 = w_out_nom * imperfection * np.sin(w1 * x)\n", " h2 = w_out_nom * imperfection * np.sin(2 * w1 * x + pi/4) / 2\n", " h3 = w_out_nom * imperfection * np.sin(3 * w1 * x - pi/3) / 3\n", " y = w_out_nom + h1 + h2 + h3\n", " ax.plot(x, y)\n", " \n", " # plot format\n", " ax.set_aspect('equal')\n", " plt.ylim(0, w_in * 1.1)\n", " plt.xlabel('time')\n", " plt.ylabel('angular velocity')\n", " plt.legend(['input', 'output nominal', 'output actual'])\n", " plt.grid()\n", " plt.show()\n", "\n", "if INTERACTIVITY:\n", " print('Slider controls only work when running Jupyter. They do not work in an HTML view.')\n", " interactive(f, imperfection=imperfection_lim)\n", "else:\n", " f(imperfection_lim[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lastly, even if gears were manufactured perfectly, they will *not* have conjugate action when loaded, i.e. when the gear teeth are acted upon by a force. Such phenomena are explained in later chapters by gaining an understanding of the forces acting on gear teeth, the elastic properties of gear teeth, and the kinematics of a gear pair." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "
\n", "

Model Gears


\n", " Gears App software is used to accurately model, analyze, and build cylindrical involute gear systems entirely from your web browser.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

Learn More


\n", " Notebook Series is free to learn and contribute knowledge about gears, such as geometry, manufacturing, strength, and more.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

Edit Notebook


\n", " GitHub repos are used to publicly host our notebooks, allowing anyone to view and propose edits.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "1. [Wikipedia - Involute](https://en.wikipedia.org/wiki/Involute)\n", "2. [Wikipedia - Curvature](https://en.wikipedia.org/wiki/Curvature)\n", "3. [Wikipedia - Arc Length](https://en.wikipedia.org/wiki/Arc_length)\n", "4. [Wolfram MathWorld - Involute](http://mathworld.wolfram.com/Involute.html)\n", "5. [Wolfram MathWorld - Circle Involute](http://mathworld.wolfram.com/CircleInvolute.html)\n", "6. [Wolfram MathWorld - Curvature](http://mathworld.wolfram.com/Curvature.html)\n", "7. [Wolfram MathWorld - Arc Length](http://mathworld.wolfram.com/ArcLength.html)\n", "8. [Gears and Gear Drives, 1st Edition. Damir Jelaska](https://www.wiley.com/en-us/Gears+and+Gear+Drives-p-9781119941309)\n", "9. [Shigley's Mechanical Engineering Design, Richard Budynas and Keith Nisbett](https://www.mheducation.com/highered/product/shigley-s-mechanical-engineering-design-budynas-nisbett/M9780073398204.html)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2" }, "pycharm": { "stem_cell": { "cell_type": "raw", "metadata": { "collapsed": false }, "source": [] } } }, "nbformat": 4, "nbformat_minor": 2 }