本节摘要:摩擦力是约束反力里最特别的一位:方向沿切向、大小有上限,没滑动时取值"刚好够用"。库仑模型把上限定成摩擦系数乘法向力,由此推出工程上极重要的一条判据——自锁:反力合矢量被压进摩擦锥时,多大的主动力都推不动。本节用斜面与梯子两台手术把上限、临界角与自锁边界逐项算清。
第三章的约束画像里,光滑面只给法向反力;真实接触面还给一份切向的"修正额度"——静摩擦力。它的记账规则别具一格:平衡需要多少,它就出多少,前提是不超过上限;上限由库仑模型定价,等于摩擦系数乘法向力。这条"刚够用"规则正是摩擦题的解题钥匙:静摩擦永远应当作未知数解出来,解出的值若低于上限,物体不动;一旦需求超过上限,物体开滑,摩擦力换成动摩擦值。
把这条规则倒过来看,就得到自锁:若几何条件使得"维持平衡所需的摩擦"天然低于上限,则无论主动力加多大(只要不破坏法向平衡),系统都纹丝不动——螺纹不松、楔块卡死、夹具夹紧,全是自锁的化身。自锁与否的边界由一个临界角统一定价:接触面法线与反力合矢量的夹角一旦不超过摩擦角(摩擦系数的反正切),滑动在几何上不可能发生。
标准病例:物块放在斜面上,摩擦系数依次取零点一(冰面)、零点三(木板)、零点六(橡胶垫)。让物块恰好不下滑的坡度,由重力沿坡分量与上限摩擦相等定出,临界角的正切恰等于摩擦系数。算出三张"病历"的临界角,再判一个具体坡度滑不滑。
# 手术一:斜面临界角。恰好下滑时 mg*sinθ = μ*mg*cosθ → tanθ = μ import math for mu, tag in ((0.1, "冰面"), (0.3, "木板"), (0.6, "橡胶垫")): theta = math.degrees(math.atan(mu)) print(f"{tag} μ={mu}: 临界角 = {theta:.2f} 度") # 冰面 μ=0.1: 临界角 = 5.71 度 # 木板 μ=0.3: 临界角 = 16.70 度 # 橡胶垫 μ=0.6: 临界角 = 30.96 度 # 判别:μ=0.4 的物块放在 25 度坡上 mu, slope = 0.4, 25.0 crit = math.degrees(math.atan(mu)) need = math.tan(math.radians(slope)) # 维持平衡需求的摩擦系数 print("坡角 25 度 临界角 =", round(crit, 2), "度 需求/上限 =", round(need/mu, 3)) # 坡角 25 度 临界角 = 21.80 度 需求/上限 = 1.166 → 超上限,开滑 # 滑动加速度:a = g*(sinθ - μ*cosθ) a = 9.8 * (math.sin(math.radians(slope)) - mu * math.cos(math.radians(slope))) print("滑动加速度 =", round(a, 4), "m/s²") # 0.5889
需求与上限的比值是判别的定量版:低于一稳如泰山,高于一立刻开滑,开滑后的加速度由重力沿坡分量超出摩擦的部分付账。留意临界角与重量无关——物块换成十倍重,摩擦上限与下滑分量同步放大十倍,坡度判据一字不改,这与刹车距离与质量无关是同一种"约掉"。
换一台双接触面的病例:梯子上端搭在光滑墙上(墙只给法向力),下端踩在有摩擦的地面上。梯子越高越陡,地面需要的摩擦越大;重力力矩、墙的正压力、地面摩擦三本账在力矩方程里咬合,最小安全角由它们联立解出。
# 手术二:梯子长 L 重 W,上靠光滑墙,下端地面摩擦 μ。求最小安全角 import math W, mu = 400.0, 0.35 # 梯重 400 N,地面摩擦系数 0.35 # 平衡:地面 N1=W;墙反力 N2=W/(2*tanθ);摩擦需求 μ_need = N2/W = 1/(2*tanθ) def mu_need(theta_deg): th = math.radians(theta_deg) return 1.0 / (2.0 * math.tan(th)) for th in (80.0, 70.0, 60.0, 55.0): print(f"梯角 {th:.0f} 度 需求摩擦系数 = {mu_need(th):.4f} 判定 =", "安全" if mu_need(th) <= mu else "打滑") # 梯角 80 度 需求摩擦系数 = 0.0882 判定 = 安全 # 梯角 70 度 需求摩擦系数 = 0.1820 判定 = 安全 # 梯角 60 度 需求摩擦系数 = 0.2887 判定 = 安全 # 梯角 55 度 需求摩擦系数 = 0.3501 判定 = 打滑(差一点点!) theta_min = math.degrees(math.atan(1.0 / (2.0 * mu))) print("最小安全角 =", round(theta_min, 3), "度") # 55.008
五十五度附近的读数值得停一停:需求零点三五零一对上限零点三五,差在小数第三位——打滑与否就在这条线上见分晓,工程里"目测差不多陡"是梯子事故的第一大来源。还要留意墙是光滑的这一前提:真实墙面也供摩擦,实际安全角比计算值更低一些,这是模型边界意识的基本功。
⚠️ 常见坑:把静摩擦提前写成 μN 了事。未滑动时摩擦力是未知数,由平衡方程解出,μN 只是它的上限;只有确认滑动(或处于临界状态)才能把等号写死。梯子题若先写死摩擦等于 μN,力矩方程立刻自相矛盾。
库仑模型的两条规则(方向沿切向、大小不超上限)可以合并成一幅几何图像——摩擦锥:以接触面法线为轴做一个半顶角为摩擦角的圆锥,只要约束反力的合矢量落在锥内,静平衡就有解;合矢量贴上锥面,物体处于临界滑动;想让物体动,主动力必须把反力"拽出"锥外。自锁因此有了最直观的定义:无论主动力怎么加,反力合矢量始终被几何条件压在锥内。楔块、螺栓、千斤顶的螺纹升角做得比摩擦角小,就是在几何上保证"永远在锥内"。
# 摩擦锥核对:螺纹升角小于摩擦角即自锁 import math mu = 0.15 # 钢对钢有润滑 phi = math.degrees(math.atan(mu)) # 摩擦角 print("摩擦角 =", round(phi, 3), "度") # 8.531 # 千斤顶螺纹升角设计值 for lead_deg in (5.0, 8.0, 12.0): verdict = "自锁可靠" if lead_deg < phi else "会回松!" print(f"螺纹升角 {lead_deg} 度 → {verdict}") # 螺纹升角 5.0 度 → 自锁可靠 # 螺纹升角 8.0 度 → 自锁可靠 # 螺纹升角 12.0 度 → 会回松!
升角十二度超了摩擦角两度多,千斤顶会在重压下自己回转——螺旋传动的升降机构故意把升角做大换取效率,代价就是必须加装制动,两种设计的取舍全在这条几何边界上。
要点复盘:
摩擦把约束画像补全到真实材料。下一章换一批宏观病例:引力、流体与非惯性系——解剖台抬进更广阔的现场。