TT 减速电机入门:1:48 减速比、转速、L298N 接线和小车轮子

Cartoon of a bright yellow TT gear motor standing upright with its silver motor can on top and red and black leads, next to a yellow five-spoke wheel with a black treaded tyre lined up to push onto its white dual-flat shaft

TT 减速电机就是几乎每一辆入门机器人小车上都能看到的那颗黄色 3–6V 齿轮箱电机(很多人直接叫它“黄色 TT 马达”):里面一颗小小的有刷电机转速约 9,600 RPM,再由一组 1:48 的塑料齿轮把速度换成扭力,6V 空载时输出轴大约剩下 200 RPM。它绝不能直接接在 Arduino 引脚上——哪怕只是空转,它的电流也是引脚安全承受能力的好几倍,所以中间要加一块电机驱动板,比如 L298N;它的双扁位输出轴可以直接压进标准的 68mm 黄色小车轮。

TT 减速电机是什么?

TT 减速电机是一颗小型直流电机和齿轮箱合成的一个零件:亮黄色的塑料外壳四角带安装耳,后部是银色的电机外壳,由一个半透明的白色支架固定;白色输出轴有两个削平的面,从机身两侧同时伸出来。电机本身是普通的 130 型有刷电机,就是电池玩具里常见的那种小电机;这个零件真正特别的地方,全在黄色盒子里的那组齿轮。

把 3–6V 当作它的工作范围。电压同时决定电机转得多快,以及轮子卡住时它顶得多猛——Adafruit 的数据显示,从 3V 到 6V,堵转扭力翻了一倍。超过 6V,多出来的那股力全压在塑料齿上,多出来的电流也会加快细小电刷的磨损,现在多换来的一点速度,代价就是以后打齿——我们的带引线 TT 电机额定电压就是 3–6V。普通版本没有任何反馈:通电进去,转动出来,仅此而已。

可选:把台面测试变成一辆小车

ItemPriceQty
2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT2WDSCARRM13.95
Ball Caster Wheel Ball Transfer Eye Ball Roller Caster Bull Eye Wheel For Arduino Smart CarBall Caster Wheel Ball Transfer Eye Ball Roller Caster Bull Eye Wheel For Arduino Smart CarCASTERWRM3.95
18650 Battery Charger 1/2 Slot Li-on Battery Charger USB A Connector 3.7V Universal Charger - 18651 BATTERY CHARGER (2 SLOT)18650 Battery Charger 1/2 Slot Li-on Battery Charger USB A Connector 3.7V Universal Charger - 18651 BATTERY CHARGER (2 SLOT)18UCHA2RM13.95

2WD 小车底盘套件自带 2 个 TT 电机、2 个轮子、一个万向轮、一个 4xAA 电池盒和安装配件,所以如果你会焊接,它可以替代上面的电机和轮子两行:套件里的电机是裸焊片,引线是散装的。电源还是用 18650 电池组,别用套件附带的 AA 电池盒。钢珠万向轮适合自己从零搭的底盘,充电器则在两次运行之间给两节 18650 充满电。

1:48 减速比和 200 RPM 到底是什么意思?

在 TT 电机上,1:48 减速比的意思是电机转 48 圈,输出轴才转 1 圈——所以输出轴 200 RPM(每分钟转数)× 48 = 电机端大约 9,600 RPM,转得飞快却几乎没有扭力:一颗裸电机用手指就能捏停。每一级齿轮都是小齿轮带动大齿轮,同样的齿面推力作用在大齿轮更大的半径上,于是圈数变少、扭力变大。各级齿轮加起来把速度精确地除以 48,把扭力放大很多倍,但不到 48 倍:每一级塑料齿轮都会被摩擦吃掉实实在在的一部分推力。根据 Adafruit 的 TT 电机规格表,最终到达输出轴的是 6V 时约 0.8 kg·cm 的额定堵转扭力。换到 68mm 轮子 3.4cm 的半径上,每个电机只有大约 0.24kg 的推力(0.8 ÷ 3.4),而且这还是堵转时的数字:推一辆轻的小车在光滑地板上走没问题,推一辆重车上地毯就不行了。

200 RPM 是 6V 时的空载转速——也就是输出轴悬空自由转动的速度。到 3V 大约减半,因为直流电机的转速跟着电压走。负载会把它拉得更低,因为转动中的电机同时也是一台发电机:转得越快,产生的反电压(反电动势)就越高,方向和电池相反。悬空时它会一直加速,直到反电压几乎抵消电源电压,只剩约 150mA 流过;让它推一辆车,它就会慢下来,直到流过的电流足以产生负载需要的扭力——转速落在空载的 200 RPM 与堵转的 0 之间某处。空载数字仍然给出一个有用的上限:68mm 轮子每转一圈走 π × 0.068 m ≈ 0.21 m,每分钟 200 圈就是 200 ÷ 60 × 0.21 ≈ 0.7 m/s,约 2.5 km/h——大约是平常走路速度的一半,而且这是额定的上限;每个电机之间都有差异(Adafruit 实测过一个在 6V 空转时达到 250 RPM)。

卡通剖面图:黄色 TT 减速电机内部,银色电机外壳上的深蓝色小齿轮依次带动三个越来越大的白色齿轮,一直传到双扁位输出轴
黄色盒子里面:又小又快的主动齿轮带动更大、更慢的齿轮——电机转 48 圈,变成输出轴有力的 1 圈。

为什么 TT 电机不能直接接在 Arduino 引脚上?

TT 电机需要的电流远远超过 Arduino 引脚能给的,数字一摆出来就知道差多少。根据 ATmega328P 数据手册,ATmega328P 的 I/O 引脚绝对最大值是 40mA,日常稳妥使用大约 20mA。TT 电机光是空转就要约 150–160mA,带负载时约 0.3A——如果轮子卡死,电机就不再产生上面说的反电压,电流只受绕组那几欧姆的电阻限制:Adafruit 测得 6V 时堵转电流约 1.5A,几乎是引脚绝对最大值的 40 倍。引脚里那颗小小的输出晶体管会过热,通常的结局是烧掉一个引脚,甚至整块板。

第二个问题:电机是一个线圈,每当电刷切换绕组或引脚关断时,线圈里塌缩的磁场会把储存的能量以电压尖峰的形式反冲回来,远远高于 5V。L298N 模块把这两个问题都解决了:它用每通道额定 2A 的晶体管,从它自己的电池给电机供电——就连 1.5A 的堵转电流也在这个范围内,不过轮子卡住了要去排除,别让它一直堵着跑——它的续流二极管还给这股电感反冲提供了一条回到电源的安全通路。Arduino 引脚只负责驱动板的输入电流——远低于 1 毫安。

怎样通过 L298N 接线,让电机第一次转起来?

预焊线 TT 电机的引线末端是镀了锡的裸线头,而 L298N 的电机和电源接口都是螺丝端子:不用面包板,不用焊接,一把小螺丝刀就够了。电源用装在双节电池盒里的两节 18650 电池:电池盒两个仓位的弹簧触点和平片触点位置正好相反,所以两节电池是首尾相接、一正一反放进去的;远离引线的那一端有一块金属片把一节的 − 极连到另一节的 + 极,于是两节电池串联——标称 7.4V,充满 8.4V。盒底模压的 3.7V 指的是每一节电池的电压,不是整组的电压。这正好适合 L298N:它的晶体管会压降约 2V(原因见我们的 L298N 调速教程),所以电机得到约 5.4–6.4V,正好在额定范围内。4×AA 电池盒(2WD 套件附带的就是这种)只能当备用:它的 6V 到电机只剩约 4V,而且对板载 5V 稳压器来说余量不够——稳压器需要比输出高大约 2V——所以电机一用力,驱动板的逻辑电源就会跟着往下掉。

L298N 接点 接到 怎么接
OUT1 + OUT2(蓝色 2 位端子) 左电机红线 + 黑线 裸线头压在螺丝下
OUT3 + OUT4(对面一侧) 右电机红线 + 黑线 裸线头压在螺丝下
VS / +12V(3 位端子) 电池盒红线 裸线头压紧
GND(3 位端子中间) 电池盒黑线 + Uno 的地 裸线头和一根杜邦线的公针一起压紧
IN1、IN2、IN3、IN4(公排针) Uno D8、D9、D10、D11 公对母杜邦线:母头套在 L298N 的针上,公头插进 Uno 的插座
ENA、ENB 什么都不接——黑色跳线帽保留 跳线帽插着 = 两个通道全速
5V-EN 跳线 保持插着 板载稳压器从 VS 产生板子自己的 5V 逻辑电源;+5V 端子空着不接,因为 Uno 由 USB 供电,两个 5V 电源接在一起会互相打架

接地这一行很关键:Uno 的 IN 信号所谓的“高电平”,只是相对它自己的地而言,所以两块板必须共地。用清单里的公对母杜邦线:把一根线的公针和电池黑线一起压进 GND 端子,再把它的母头套到 Uno 2×3 ICSP 排针的 GND 针上——就是与第 1 脚标记成对角的那个角上的针;通电前先用万用表的通断档对着任意一个 GND 插座量一下,听到“哔”一声再确认,因为同一排三根针的另一头就是 Uno 的 5V 针。没有万用表?那就改用一根公对公线(比如这种),省掉猜测:一头插端子,一头插任意一个 GND 插座。

引线很细:把每个裸线头拧紧后再对折一次,让螺丝咬得住,然后逐个端子拉一拉——一根滑脱的引线,看起来和坏掉的电机一模一样。所有线都要在电池没装进电池盒的状态下压好,电池最后才装:这些 18650 没有保护板,如果装着电池时电池盒的两个裸线头碰在一起,没有任何东西限制电流,几秒内导线就会烫到足以烧起来。也要先确认红线接 VS、黑线接 GND——L298N 上没有任何防反接保护,电池接反会通过它的续流二极管把电池直接短路。电路里没有电源开关:取出一节电池就是关机。

Uno 用 USB 供电,在电池还没装上时上传这段程序,然后装上电池,并按住两个电机——电机启动时扭动自己机身的力,和它转动输出轴的力一样大。两个输出轴会先正转三秒,停下,再反转:

// 首次转动:两个 TT 电机经 L298N 驱动,只控制方向。
// ENA 和 ENB 的黑色跳线帽保持插着 = 两个通道全速。
// 调速(在 ENA/ENB 上用 PWM)请看我们的 L298N 教程。

const int IN1 = 8;   // 左电机,方向输入 1
const int IN2 = 9;   // 左电机,方向输入 2
const int IN3 = 10;  // 右电机,方向输入 1
const int IN4 = 11;  // 右电机,方向输入 2

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void bothForward() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void bothReverse() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void stopMotors() {
  digitalWrite(IN1, LOW);   // ENA/ENB 保持高电平时,两个输入都为 LOW = 电机刹车停下
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

void loop() {
  bothForward();
  delay(3000);
  stopMotors();
  delay(1000);
  bothReverse();
  delay(3000);
  stopMotors();
  delay(1000);
}

因为这些电池是没有保护板的平头电池,只能用正规的 18650 充电器充电,存放时也要确保电极不会被短路——我们的 18650 充电教程讲了让锂电池安安稳稳、不出状况的那些好习惯。

俯视卡通图:两个黄色 TT 电机接到带黑色散热片的红色 L298N 驱动板侧边的螺丝端子上,装着粉色 18650 电池的黑色双节电池盒接到它的 3 位端子,四根彩色杜邦线和一根黑色接地线连到深蓝色 Arduino Uno
首次转动的接线布局:电机引线和电池线都压进 L298N 的螺丝端子;连到 Uno 的只有细细的杜邦线——四根信号线,加一根共地线。

机器人小车的轮子怎么配?

68mm 黄色轮子的轮毂上有一个长条形的孔,正好配合 TT 电机的双扁位轴:直接推进去,由两个削平面传递动力——不用顶丝,也不会打滑。因为输出轴从齿轮箱两侧都伸出来,两个一样的电机可以镜像安装,底盘左右各一个,轮子朝外。

镜像安装的电机朝向相反,所以同样的接线会让一个轮子向前、另一个向后。这很正常,不是故障:哪个轮子反转,就把它的两根引线在螺丝端子上对调——电流反向流过绕组,它对电机壳内固定磁铁的磁推力也随之反向,输出轴就会往另一边转。在程序里对调那个电机的两个引脚号,效果也一样。

一根轴上的两个轮子会像跷跷板一样前后翘,所以需要第三个接触点让车身保持水平:钢珠万向轮,钢珠可以往任何方向滚,所以转弯时从不拖后腿。小车靠两个轮子跑不同速度来转向——慢的那一侧就成了弯道的内侧。2WD 小车底盘套件把这整套方案——底板、两个 TT 电机、轮子、万向轮、配件——打包在一起,比一件件单买更便宜,只有一点要注意:套件里的电机是裸焊片、引线散装,所以要准备焊四个焊点。完整的作品见我们的避障小车,同一个底盘也能做循线小车。

俯视卡通图:机器人小车底盘后部是两个镜像安装的黄色 TT 电机和黄色轮子,前部是一个银色钢珠万向轮,一个青绿色虚线三角形连起三个接触点
两轮加万向轮的布局:镜像安装的 TT 电机负责驱动,钢珠可以往任何方向滚,三个接触点构成的三角形让小车保持稳定。

TT 电机该买哪一款?

TT 电机有两种出货状态,区别就在你开工的头十分钟。预焊线 TT 电机出货时红黑引线已经焊在电刷焊片上,线头剥好并镀了锡——可以直接压进 L298N 的螺丝端子,这也是它成为这份材料清单主角的原因。裸 TT 电机和电机加轮子套装更便宜,但到手是裸电刷焊片、没有引线——如果你有烙铁、每个电机能焊两个点,这是划算的选择(技巧见我们的焊接教程);如果没有,第一天就会卡住。

同系列之外:带编码器版本增加了速度反馈(详见常见问题),金属齿轮的 N20 把减速箱塞进了小得多的机身里;如果你还在直流减速电机、步进电机和舵机之间犹豫,先看该用哪种电机。

我们常见的错误

“只是测试一下”,就把电机直接接到引脚上。它甚至可能会转一下,而引脚正在被烤坏——空转 150mA 对上 40mA 的绝对最大值,第一次堵转更是 1.5A。每一次测试都要经过驱动板。

用 Uno 的 5V 脚给电机供电。电机从静止启动时还没有反电压,所以那一瞬间的电流接近堵转电流,远远超过 Uno USB 保险丝允许的 500mA。5V 电源一跌,Uno 就重启,电机又抽动一下,如此循环,看起来就像程序有 bug。电机要有自己的电池;两块板之间只共地。

一个轮子反转,就以为电机坏了。镜像安装的电机本来就该方向相反;解决办法是把那个电机的两根引线在它的 OUT 端子上对调。

指望在地上跑出 200 RPM。这个额定值是满 6V、空载时的数字。带着负载、电池电压下降、再经过驱动板约 2V 的压降,一辆真实的小车巡航速度会明显低于 0.7 m/s 的上限——这是物理,不是故障。

两节 18650 头对头装。双节电池盒是串联电池盒:两节电池要首尾相接,负极顶着弹簧。两节都朝同一个方向,就等于有一节装反了,而装反的电池是减去电压而不是叠加:两节互相抵消,整组读数接近 0V,而不是约 8V。按每个仓位里模压的 + 和 − 来装;如果你有万用表,电池盒引线在接到板子之前应该量到 7.4–8.4V。

常见问题

TT 电机上的 1:48 是什么意思?

内部电机转 48 圈,输出轴转 1 圈:齿轮组把速度除以 48,把扭力放大很多倍(不到 48 倍,因为塑料齿轮的摩擦会吃掉一部分),于是一颗 9,600 RPM 的玩具级电机,就变成空载约 200 RPM 的输出轴。

TT 电机能直接用 Arduino 驱动吗?

不能。电机空转约 150mA、堵转约 1.5A,远远超过 ATmega328P 引脚 40mA 的绝对最大值,而且线圈在关断时会把电压尖峰打进引脚。任何一块电机驱动板都能解决——这里用的是 L298N,较轻的作品也可以用更小的驱动板。

用 TT 电机的机器人小车能跑多快?

6V 时电机空载最高约 200 RPM,68mm 轮子每转一圈约走 0.21 m,所以上限约 0.7 m/s(2.5 km/h)——大约是平常走路速度的一半。真实的小车会更慢:负载、电池电压下降和驱动板约 2V 的压降都会各分走一部分。

TT 电机能用 9V 电池吗?

电机本身要保持在 3–6V。两节 18650 经过 L298N 刚好合适,因为驱动板会压降约 2V。长方形的 9V PP3 电池则是双重不合适:电压对电机来说太高,供电流的能力又太弱——电机一加载,它的电压就立刻垮下来。

我需要带编码器的 TT 电机吗?

第一辆机器人小车不需要。编码器版本在电机尾部加了一块小传感器板,回报电机实际转得多快;当小车必须走得笔直或要测距离时,这就很重要——两个普通 TT 电机的转速永远不会完全一样。等你发现自己在凭肉眼微调电机速度时,再换编码器版本。

最后更新:2026 年 11 月。有问题?WhatsApp 联系我们。

Leave a Reply

Your email address will not be published. Required fields are marked *