1. Differential 1.1 概述 1.2 缺点 1.3 改良方式 2. 其他用途 2.1 差速器在汽车以外的应用包括模拟 运算。 2.2 车辆悬架 3. 使用Blender构造差速器模型 4. rigid 动画模拟 4.1 参数表 4.2 设置总结 4.3 播放 4.4 合成视频 4.5 小结 5. Drivers 动画模拟 5.1 齿轮旋转关系 5.2 预设一些初始条件 5.3 参数表
1. Differential
1.1 概述
差速器(英语:Differential)是车辆传动系统(英语:Drivetrain)的一个机械部件。
差速器是一种由三个驱动轴组成的齿轮传动装置,其特性是其中一个轴的转速是其他两个轴转速的平均值。
差速器常见于汽车中,使驱动轴两端的车轮在转弯时能够以不同的速度旋转。其他用途包括时钟和模拟计算机。
差速器还可以提供输入轴和输出轴之间的齿轮比(称为“主减速比”或“差速比”)。
例如,许多汽车差速器通过使小齿轮的齿数少于环形齿轮来实现减速。
1.2 缺点
由于差速器允许两侧车轮以不同的速度进行旋转,那么当车辆驱动轮有一侧打滑时,或因剧烈驾驶导致一侧车轮产生离地时,因为差速器的等扭矩作用,全部的动力会传送到那个打滑的半轴上,使得打滑一侧的车轮飞快旋转,而另一侧车轮失去驱动力,这样会令车辆陷入困境并且失去可操控性。
1.3 改良方式
差速锁
在特定情形下,可以自动或手动将同一车轴上的两个车轮“锁定”在一起,如同它们连接在同一根轴上一样。 当不需要此功能时,可以将差速器“解锁”,使其像普通的开放式差速器一样工作。
差速锁主要用于越野车,以克服低附着力和附着力变化的路面。
限滑差速器
限制传递到每个车轮的动力差异。
多数使用摩擦力的方式限制2边转速差异,速度差异越大,摩擦力越大。
托森限滑差速器A型,使用蜗杆和涡轮单向传到的原理,限制差速。
扭矩矢量控制
扭矩矢量控制技术应用于汽车差速器,它能够通过电子系统调节分配到每个半轴的扭矩;在轨道车辆中,则通过独立驱动的车轮实现相同的功能。
2. 其他用途
2.1 差速器在汽车以外的应用包括模拟 运算。
差速器的三个轴中,有两个轴旋转的角度分别代表(与)两个数字成比例,而第三个轴的旋转角度则代表这两个输入数字的和或差。
1720年,人们制造了一个使用差速器进行加法运算的等式钟。
20世纪,由许多差速器组成的大型装置被用作模拟计算机,例如,用于计算枪支的瞄准方向。
这些设备使用差动齿轮系来执行加法和减法运算。
2.2 车辆悬架
火星探测车“勇气号”和“机遇号”(均于2004年发射)在其摇臂式悬架中使用了差速齿轮,以保持探测车车身在左右车轮在不平坦地形上上下运动时的平衡。
“好奇号”和“毅力号”探测车则使用差速杆代替齿轮来实现相同的功能。
3. 使用Blender构造差速器模型
建模参数表如下,详细参数可将表格内必要参数输入到 otvinta 的 bevel 计算器页面获取。
| Axis | Gear | Module | Teeth | 轴角 | 面宽 | 说明 |
| Y | Pinion | 1.5 | 18 | 90 | 10 | Motor 驱动轮 |
| X | Ring | 1.5 | 36 | 90 | 10 | 减速导向大齿轮 |
| X | Side1 | 1 | 20 | 90 | 4.7 | 输出到轮胎1 |
| X | Side2 | 1 | 20 | 90 | 4.7 | 输出到轮胎2 |
| Z | Spider1 | 1 | 20 | 90 | 4.7 | 行星轮1 |
| Z | Spider2 | 1 | 20 | 90 | 4.7 | 行星轮2 |
4. rigid 动画模拟
4.1 参数表
| 刚体 | Axis | 类型 | 物体名称 | ob1 | ob2 |
| p被动 | Y | 圆柱体 | pinion-Axis | ||
| A活动 | Y | 齿轮 | pinion | ||
| Hinge | Y | 空箭头 | pinion-Hinge | pinion | pinion-Axis |
| Motor | Y | 空箭头 | pinion-Motor | pinion | pinion-Axis |
| A活动 | X | 齿轮 | Ring | ||
| Hinge | X | 空箭头 | Ring-Hinge | Ring | Side-Axis |
| p被动 | X | 圆柱体 | Side-Axis | ||
| A活动 | X | 齿轮 | Side1 | ||
| Hinge | X | 空箭头 | Side1-Hinge | Side1 | Side-Axis |
| A活动 | X | 齿轮 | Side2 | ||
| Hinge | X | 空箭头 | Side2-Hinge | Side2 | Side-Axis |
| p被动 | Z | 圆柱体 | Spider-Axis | ||
| A活动 | Z | 齿轮 | Spider1 | ||
| Hinge | Z | 空箭头 | Spider1-Hinge | Spider1 | Ring |
| A活动 | Z | 齿轮 | Spider2 | ||
| Hinge | Z | 空箭头 | Spider2-Hinge | Spider2 | Ring |
4.2 设置总结
- 基本设置:
- 齿轮: 刚体\活动 (齿轮的形状 统一设置为网格,敏感度为0)
- 圆柱体: 刚体\被动 (同一轴向的多个齿轮,只需要1个)
- 空箭头: 刚体约束\ (1个机动,每个齿轮搭配1个铰链)
- 空物体的轴向:
- 空物体(hinge)铰链的 Z 轴必须与旋转轴对齐!
- 空物体(motor)的 X 轴必须与旋转轴对齐!
- 刚体约束的物体的选择:
- [起始点]物体始终是各自对应的齿轮,[第二]物体是齿轮的轴向圆柱体。
- 至于固定在大齿轮盘上的2个Spider行星齿轮,会随着大齿盘公转,所以[第二]物体选择大齿盘Ring.
4.3 播放
- 抖动不顺畅,
- 表面太大,Ctrl R, 环切8左右...
- 表面法向异常,编辑模式,全选,[Shift N] 重置法向。
- 若转速太慢或太快,检查如下参数
- 场景\刚体世界环境\设置\速率
- 若旋转到250帧就停下来,可以到如下位置调整缓存帧数。
- 场景 \ 刚体世界环境 \ 缓存
4.4 合成视频
[Ctrl F12] 渲染动画
如下命令可以将输出的图片合成视频:
ffmpeg -framerate 30 -i %04d.png -c:v libx264 R24.mp4
如下命令可以将输出视频转换为webp格式,类似gif动图。 效果更好,文件更小。但比视频文件大。
ffmpeg -i R24.mp4 -loop 0 r24.webp
比如给齿轮Side2添加重量,模拟阻力增加,从而降低速度。
选中 Side2齿轮,右下角物理面板 \ 刚体 \ 设置 \ 质量。默认1kg,这里改到5kg,再播放。即可看到2边齿轮旋转差异。
4.5 小结
- 使用刚体物理特性模拟,对建模有要求,若建模太过粗糙,齿轮就没法顺畅的啮合转动。
- 参照如上设置即可转动,不用考虑计算齿轮之间的转速差异。
- 完全模拟真实状况,一个驱动小齿轮转起来后,其他齿轮会依照啮合的关系在各自的轴上转动。
- 缺点是,没法精确控制转速,没法精准控制差速比。
5. Drivers 动画模拟
- 使用Blender的驱动器,模拟差速器运行,好处是,对建模没有要求,使用普通的Gear模型,不用太细致的细分。
- 可以精确控制转速,差速比。
- 缺点是,需要计算每个齿轮之间的转动比值。
5.1 齿轮旋转关系
差速器的特性是其中一个轴的转速是其他两个轴转速的平均值:
(Side1 + Side2)/2 = Ring
当前这种结构行星轮特性: 行星轮和2测输出轮大小一样。
Spider1 + Spider2 = 0
|Side1 – Side2| = |Spider1| - |Spider2|
spider = (Side1 – Side2)/2
5.2 预设一些初始条件
- 转速系数: 20
- 车轮直径: 50cm
- 车轮轮距: 150cm
- 前后轴距: 250cm
- 道路宽度: 350cm
- 转弯半径: 500cm
这里的转速系数20,在blender里作为驱动轮Pinion的驱动速度,可以根据需要修改。
以上主要会用到 [转速系数],和 [车轮距离]。调整不同的 [转弯半径] 计算出符合该转弯要求的各个齿轮旋转驱动参数。
5.3 参数表
根据齿轮旋转关系,预设的一些参数,整理出如下驱动器配置表。
可计算任意旋转角度的参数。
| Axis | Teeth | Gear | ∞ | 1200 | 750 | 500 | 150 | 75 | 轮距 | 转弯 | 600 | 计算公式: |
| Y | 18 | Pinion | 20 | 20 | 20 | 20 | 20 | 0 | 150 | 600 | 20 | 指定一个系数 |
| X | 36 | Ring | -40 | -40 | -40 | -40 | -40 | 0 | 150 | 600 | -40 | -2*系数 |
| X | 20 | Side1 | -40 | -42.9 | -45 | -48.57 | 0 | 20 | 150 | 600 | -46.67 | -(2*L4-K4)/(L4-K4)*M2 |
| X | 20 | Side2 | -40 | -37.5 | -36 | -34 | 20 | -20 | 150 | 600 | -35 | -(2*L5-K5)/L5*M2 |
| z. | 20 | Spider1 | 0 | 600 | 360 | 226.67 | 40 | 20 | 150 | 600 | 280 | (L6/(K6/2)-1)*2*M2 |
| z. | 20 | Spider2 | 0 | -600 | -360 | -226.67 | -40 | -20 | 150 | 600 | -280 | -Spider1 |
| 模拟 | 直行 | 左转 | 左转 | 再左转 | 打滑 | 自转 |
参数的使用很简单: 比如模拟转弯半径500的差速器旋转状态。
- 选中齿轮 Pinion,在对应的 Y 轴,输入: #frame/20。
- 选中齿轮 Ring,在对应的 X 轴,输入: #frame/-40。
- 选中齿轮 Side1,在对应的 X 轴,输入: #frame/-49。
- 依此类推,输入全部齿轮的驱动参数...
还有一步: 依次选择 Spider1, Spider2, Ring [Ctrl P] 将 Ring 设置为2个行星轮的父对象。
播放,齿轮已经开始工作了...
- 想要模拟 直行,就输入∞,这一列的参数。
- 后面还有 打滑,就是一个轮子不转,全部动力都给了另一个轮子。
- 至于 自转,则是一个向前转,一个向后转。完全原地打转。
实际上,若要查看不同配置的模拟,6个齿轮中,有3个可以固定配置,只修改另外3个齿轮的公式即可。
- 驱动齿轮 Pinion,这个可以固定为20(一个适当的转速,可以清晰查看齿轮啮合。该数值越小速度越快);
- 大齿轮 Ring,这个可以 手动添加驱动器,选中驱动关系为 Pinion,公式:-1/2转速。其他齿轮不管怎么变,这里都不需要再修改。
- 行星齿轮 Spider2,甚至不用添加驱动器,只需添加复制旋转的约束即可,复制的是Spider1。
所以只需要修改剩下的3个齿轮即可:Side1, Side2, Spider1.






