- Joined
- Dec 18, 2019
- Messages
- 7,425
I found a link at https://engineering.stackexchange.c...he-tolerance-of-pitch-of-a-thread-standarized which showed a set of equations to allow one to derive thread pitch from pitch diameter and the major diameter, using standard thread dimensioning. It seems to match up with ISO standards. However, if one puts in the mean dimensions of a M14x2 screw from standard tables, (Dmajor and Dpitch) the derived pitch is nearly 10% low (1.908 mm, vs 2mm expected).
I am trying to wrap my head around this. I don't see anything wrong with the math, yet. But I can't see how the thread pitch could vary like that! Mechanically the pitch is pretty well controlled. What is the faulty assumption in this? Perhaps it is that pitch is defined as the line where the solid part of the thread length is equal to the cut out thread length? I don't see this as a constraint in the equations, but it is part of the definitions of pitch.
I found this by accident, trying to figure out cumulative thread pitch error and when threads would bind with a perfect (nominal) pitch.
I am trying to wrap my head around this. I don't see anything wrong with the math, yet. But I can't see how the thread pitch could vary like that! Mechanically the pitch is pretty well controlled. What is the faulty assumption in this? Perhaps it is that pitch is defined as the line where the solid part of the thread length is equal to the cut out thread length? I don't see this as a constraint in the equations, but it is part of the definitions of pitch.
I found this by accident, trying to figure out cumulative thread pitch error and when threads would bind with a perfect (nominal) pitch.
Python:
[FONT=courier new]#!/usr/bin/env python3
# python3 script to evaluate effect % pitch error in metric threads
from numpy import *
"""
From https://engineering.stackexchange.com/questions/1853/is-the-tolerance-of-pitch-of-a-thread-standarized
(1) theta = 60 * pi/180 # radians
(2) 3/8 * H = ( Dmaj - Dpitch )/2
(3) H = P * cos( theta/2 ) # only true for a sharp V pitch!!!!
rewrite (2) solving for H
(4) H = ( Dmaj - Dpitch )/2 * 8/3
substitute expression for H in (4) into (3)
(5) ( Dmaj - Dpitch )/2 * 8/3 = P * cos( theta/2 )
solve for P
(6) P = 8/3 * ( Dmaj - Dpitch )/2 / cos( theta/2 )
P = 4/3 * ( Dmaj - Dpitch ) / cos( theta/2 )
"""
if __name__ == '__main__':
theta = 60.0 * pi/180
myscrew = array([14, 2]) # M14 x 2 6g screw
Dmaj = array([ 13.962, 13.682 ]) # from tables
Dpitch = array([ 12.663, 12.503 ]) # from tables
Dmajmean = mean(Dmaj)
Dpitchmean = mean(Dpitch)
Pmean = 4/3 * (Dmajmean - Dpitchmean) / cos(theta/2)
print("Actual pitch = ", myscrew[1])
print("Derived pitch = ", Pmean)
# you would think the mean Dmaj and Dpitch would give you the correct pitch?[/FONT]