很多初学者在接触 HJ-4WD 51 智能小车时,最容易卡住的不是程序语法,而是拿到散件后不知道怎么把驱动主板装好、线接对。明明代码下载成功了,小车却一动不动;或者刚接通电源,芯片就发烫甚至冒烟。这类问题大多不是程序 bug,而是驱动主板安装与接线环节出了差错。
本课是 HJ-4WD 51 智能小车系列教程的第 7 课,重点解决“主板怎么装、线怎么接、上电怎么不烧”这三个问题。教程会从硬件组成讲起,逐步拆解驱动主板安装步骤、电机与电源接线方法,再给出通电测试用的最小代码和常见故障排查思路。整个内容按照零基础学习者的节奏设计,跟着步骤做即可,不要求你已经掌握电机驱动原理。每完成一步,先目视检查再进入下一步。
1. 课程背景:为什么驱动主板安装决定了整车能否正常运行
1.1 HJ-4WD 51 智能小车整体构成
HJ-4WD 是一款常见的 51 单片机入门级四轮智能小车套件,名字里的 4WD 表示四轮驱动。它的整体结构大致可以分为四个部分。
第一是车体机械部分,包括底盘、电机支架、轮子、万向轮或支撑轮等。这部分决定小车的结构稳定性,也是安装主板的重要基础。很多套件使用亚克力板或铝合金板作为底盘,板上有成排的安装孔,用来固定电机支架、电池盒和主控板。
第二是动力部分,核心是四个直流减速电机,通常带有塑料齿轮减速箱,转速比普通直流电机低,但扭矩更大,适合驱动小车。四个电机通过导线接入驱动主板。
第三是主控与驱动部分,主控板是 51 单片机系统板,负责运行程序、处理传感器数据和输出控制信号;驱动主板负责把控制信号转换成能够驱动电机的大电流电压信号。
第四是传感器部分,常见的有循迹模块、避障模块、超声波模块、红外遥控接收头等。它们将环境信息传给单片机,让小车实现循迹、避障或遥控功能。
把这几个部分串起来的正是驱动主板。驱动主板安装不正确,后面的所有传感器调试都无法进行,因此它处于整车装配流程里承上启下的位置。
1.2 驱动主板在整车中到底承担什么任务
用一句话概括驱动主板的作用:它是单片机与电机之间的“功率放大器”和“开关切换器”。
51 单片机的 IO 口只能输出几毫安的电流,而且逻辑电平最高只有 5V 左右,根本无法直接驱动直流电机转动。如果强行把电机接到单片机引脚上,轻则单片机重启,重则烧毁引脚。驱动主板内部的驱动芯片会把单片机送来的小信号转换成电机需要的较大电流,同时控制电流方向,从而改变电机的正反转状态。
在 HJ-4WD 套件中,比较常见的驱动方案是 L298N 双 H 桥驱动。H 桥是一种由四个开关管组成的电路结构,它可以自由切换电机两端电压的极性和通断,实现正转、反转、停止和刹车。如果套件使用一体式驱动主板,核心工作原理也一致。
除了电流放大,驱动主板还会承担部分电源分配功能,比如把外部电池电压稳压成 5V 供给单片机或传感器,或者在电源输入端增加滤波电容,减少电机启动时对单片机供电的干扰。
1.3 常见的主板安装方案差异
市面上的 HJ-4WD 套件驱动主板方案并不完全统一,主要分两种形态。
一种是分体式结构,51 单片机最小系统板与 L298N 驱动模块分开,两块板独立固定在底盘上,再通过杜邦线连接。这种方案的优点是灵活性高,板子坏了可以单独更换,适合配合普中、天祥这种常见 51 开发板使用;缺点是线材较多,容易接错。
另一种是一体式主板结构,主控芯片、驱动芯片、电源电路都集中在一张 PCB 上,底部的丝印会直接标注电机接口、电源接口和传感器接口。这种方案接线更简洁,适合初学者,因为不需要自己搭建单片机最小系统。
本课接下来的安装步骤以“分体式驱动模块 + 51 开发板”为例说明,因为这种方案能帮助大家更清楚理解信号线和电源线的走向。如果你使用的是一体式主板,接线更少,但接口定义思路完全一致,完全可以参考本课的方法检查自己的板子。
2. 安装前准备与物料检查
2.1 工具与物料清单
安装驱动主板前,建议先准备好以下工具和材料:
| 类别 | 物品 | 说明 |
|---|---|---|
| 车体物料 | 底盘、四个 TT 电机、车轮、螺栓螺母铜柱、电池盒 | 确认数量齐全,孔位匹配 |
| 电子物料 | 51 核心板、驱动主板、杜邦线若干、电源开关模块 | 最好准备不同颜色杜邦线便于区分 |
| 工具 | 十字螺丝刀、尖嘴钳、剥线钳 | TT 电机引出线一般已剥好,直接接入端子 |
| 检测工具 | 数字万用表 | 建议使用通断蜂鸣档,上电前测电源与地是否短路 |
| 辅料 | 扎带、热缩管或电工绝缘胶带 | 用于整理线束和包裹裸露焊点 |
上面清单里,最容易忽略的是扎带和万用表。很多新手装完主板后,线束搭在一起,小车一跑起来线就被轮子蹭断,或者通电之前没测量,导致正负极短路烧坏驱动芯片。扎带只需要几根,却能让整车的稳定性提升很多。
2.2 安装前先阅读板子丝印
拿到驱动主板后,第一步不是马上拧螺丝,而是先仔细观察 PCB 上的丝印标记。
以 L298N 驱动模块为例,板子上通常会有以下标注:
| 丝印名称 | 含义 | 常见位置 |
|---|---|---|
| MOTOR A、MOTOR B 或 OUT1/OUT2 | 电机输出端子 | 靠近电机线接口 |
| IN1、IN2、IN3、IN4 | 方向控制信号输入 | 靠近单片机接口排针 |
| ENA、ENB | 使能端,可接 PWM 调速 | 接近 IN 引脚 |
| VCC 或 12V | 电机电源正极输入 | 电源接线端子 |
| GND | 公共地 | 电源接线端子附近 |
| 5V | 板载稳压输出(给单片机等供电) | 视不同板型而定 |
不同厂家板子丝印风格不同,有的写成 P1、P2 接口,有的直接用 VBAT 表示电池电压。安装之前先拍一张接口照片,然后对照说明书确认每个端子的功能,不要凭感觉接线,这是避免烧板最有效的方法。
2.3 版本差异提示
L298N 模块本身有并联稳压还是降压稳压的差异,不同版本的 78M05 输出电压能力也不同;51 单片机开发板也有 89C52 与 12C5A60S2 的区别。安装时,需要按你手里的实际板型调整接口顺序,例如有的板子将 ENA、ENB 直接通过跳线帽短接到 5V,有的则需要外部接高电平才能输出电机电压。
后续示例中使用的是 STC89C52 系列单片机常见引脚定义,如果你的板子引脚不同,只需要修改程序里 sbit 定义的引脚即可,不需要改动硬件结构。
3. 驱动主板安装完整分步教程
3.1 第一步:固定电机与安装铜柱
底盘组装是安装主板的前置条件,如果底盘还没固定好,直接上主板容易把铜柱拧歪。
先拿出四个 TT 电机,把电机轴对准底盘预留的电机固定孔,从底盘下方穿入。TT 电机壳体两侧一般带凹槽,需要卡入电机支架上的凸台,防止电机运行中发生位移。之后拧紧固定螺丝,注意不要一次拧死,等四个电机位置都对齐后再统一紧固。
底盘上方通常需要安装铜柱来抬高主板。铜柱的作用不只是支撑,更重要的是让主板与金属底盘之间保持绝缘距离,防止焊接点或裸露走线碰到金属造成短路。铜柱高度不一致会导致主板倾斜,建议先用手拧入两圈,再用螺丝刀适当带紧。安装块状驱动主板时,四角螺丝要交替拧紧,不要单边一次拧到底。
安装电机时还要同步把电机引线理顺。TT 电机的引线通常是一红一蓝或者一红一黑,尽量让四根电机线朝底盘内部走,避免被车轮压到。如果电机线长度不够,不要为了省事去拉扯线皮,建议改用延长线并焊接,然后用热缩管包裹。
3.2 第二步:固定驱动主板与 51 主控板
接下来需要确定驱动主板在底盘上的安装位置。
推荐把驱动主板放在底盘中间偏后的区域,让四个电机的出线方向都能自然朝向主板,避免线材被拉扯。主控板可以架在驱动主板上层,也可以直接放置在一旁。为了降低震动影响,螺丝接触面可以垫绝缘垫片,或者用尼龙柱隔离。
分体式结构中使用铜柱时,顺序参考如下:
- 在底盘安装孔上装尼龙六角柱,柱端朝上。
- 将驱动主板套在铜柱上。
- 用螺丝拧紧主板四角,拧到主板不再晃动即可,不要用过大力气压裂 PCB。
- 如果主控板需要叠装,在驱动主板上再次安装长铜柱,再放主控板。
一体式驱动主板结构更简洁,只要确定它的传感器接口朝前、电机接口朝后即可。把主板放上去时,对准底部固定孔,用 M3 螺丝固定,不要让它悬空只靠线材支撑。
有些同学为了看起来整齐,喜欢把所有板子叠在一起,但要注意:驱动主板在工作时会有一定热量,特别在连续转动情况下,散热条件差会导致芯片保护甚至损坏。所以叠装时尽量让驱动芯片的位置露出,不要被上层板完全盖住。
3.3 第三步:连接四个电机线
电机是整个动力系统的执行端,每个电机只有两根线。驱动主板在电机输出端有四个接线端子,意思是可以接两路电机,每组两个端子对应一个电机。连线时要区分清楚左右电机,后面遥控和循迹程序需要知道哪个方向是前进。
电机接线顺序:
左前电机 + 左后电机(左轮组) -> MOTOR A 端子 右前电机 + 右后电机(右轮组) -> MOTOR B 端子L298N 模块中,MOTOR A 对应的输出端子是一片 H 桥的输出,它可以同时驱动连接在两个端子上的一路负载。为了简化控制,通常把左侧两个电机并联到 MOTOR A,右侧两个电机并联到 MOTOR B。
接线端子如果采用弹簧式压线端子,操作要诀是:先用螺丝刀压下弹片,把电机线芯完全插入,再松开弹片,然后轻轻向外拉一下,确认线不会松脱。不要只把线皮压住,金属线芯没有接触导电片。
这里还要特别强调电机线的方向问题。两个电机并联时,极性必须相同。如果左侧前电机接 OUT1、OUT2 的正反方向和左后电机的方向相反,通电后这两个电机会一个正转一个反转,小车会出现原地抖动或转向异常。遇到这种现象,直接把其中一个电机的两根线对调即可。
3.4 第四步:连接电池盒电源线与总开关
电源是整个系统最容易出问题的地方。HJ-4WD 小车如果没有外接电源,可以靠 51 开发板的 USB 供电,但 USB 供电电流很难满足四个电机同时启动的瞬态电流需求,小车可能上电后程序运行正常,但电机一启动单片机就复位。因此,正式装配时应使用独立的电池盒或锂电池组供电。
电池盒正极一般是红色线,负极是黑色线。驱动主板的电机电源端子上通常标有 VCC、GND,或者 6-12V、+、-。接线原则是红线接正极,黑线接负极。在串入总开关时,优先把开关接在电池正极与主板 VCC 之间,这样断电后整个主板电位都是低电平,比只断负极更符合电气习惯。当然,很多成品套件直接把开关串在两个电池盒线路中间,效果也一样。
不建议在电机电源使用过高电压。HJ-4WD 套件的 TT 电机额定电压一般是 3V 到 6V 左右,如果直接接 12V 电源适配器,电机转速会非常高,电流也很大,不仅容易烧驱动芯片,还会让小车的循迹性能变得极不稳定。如果使用 L298N,逻辑电路由板载 5V 稳压输出时,输入电压不能低于 7V 左右,因为普通线性稳压芯片需要一定压差。这会出现一个矛盾:TT 电机适合低电压,而 L298N 的 5V 稳压需要较高输入电压。解决办法是分开供电,电机电源按电机额定电压选择,控制板另外通过 USB 或低压电源供电;或者使用支持低电压输入的一体式驱动板。因此,接线前一定要先查清楚自己套件里的电池盒总电压与驱动板输入范围。
连接电池盒后,先不要急着通电,用万用表蜂鸣档测量主板 VCC 与 GND 两端是否短路。如果显示短接,说明接线错误或板上有焊锡搭接,必须先排除再通电。
3.5 第五步:连接单片机与驱动板之间的控制信号线
驱动主板只是功率执行层,需要单片机的控制信号来决定电机转不转以及往哪个方向转。信号线才是让小车按程序行动的“大脑神经”。
常见接法是使用母对母杜邦线,把单片机 IO 口接到驱动板的 IN 引脚。以 L298N 为例,接线关系如下:
| 驱动板引脚 | 单片机引脚 | 功能 |
|---|---|---|
| IN1 | P1.0 | MOTOR A 方向控制1 |
| IN2 | P1.1 | MOTOR A 方向控制2 |
| IN3 | P1.2 | MOTOR B 方向控制1 |
| IN4 | P1.3 | MOTOR B 方向控制2 |
| ENA | P1.4 或接高电平 | MOTOR A 使能 |
| ENB | P1.5 或接高电平 | MOTOR B 使能 |
如果不使用 PWM 调速,ENA、ENB 可以通过模块上的跳线帽直接接到 5V,让驱动芯片一直处于使能状态。如果想控制车速,就需要把跳线帽拔掉,将单片机的 PWM 输出接到 ENA、ENB 上。51 单片机本身没有硬件 PWM,通常使用定时器中断翻转引脚模拟 PWM,或者用带有硬件 PWM 的增强型 51 单片机,例如 STC12C5A60S2。
信号线连接时要注意共地。共地是单片机 IO 高电平能够被驱动板正确识别的必要条件。如果没有连接 GND,单片机的控制信号相对驱动板地是浮空的,可能会出现“逻辑高电平但电机不动作”的现象。因此,需要额外用一根杜邦线把单片机板的 GND 接到驱动板的 GND 上。分体式方案中即使两个电源模块各自独立供电,也必须把负极连接在一起。
3.6 第六步:安装传感器与走线整理
前面步骤完成后,小车的主体驱动链路已经具备:单片机发出指令,驱动板放大功率,电机转动。接下来可以顺便把循迹传感器装好。
循迹传感器一般通过支架安装在底盘前方,距离地面约 1cm 到 2cm。传感器离地面太近,遇到轻微起伏容易刮碰;离地面太远,红外反射回光强度不足,导致白线检测误判。旋松支架螺丝,上下调整传感器高度,然后拧紧。循迹传感器的输出端通常是四针:VCC、GND、OUT1、OUT2,分别接到单片机电源和 IO 口。
走线是新手安装时最容易乱的地方。接线完成后,用扎带把相同走向的线束分组:电源线一组、电机线一组、传感器线一组。不要把所有线混在一起,否则后续排查时很难分辨。电源线和电机线属于大电流线,尽量远离循迹传感器的模拟输出线,减少对采集信号的干扰。多余的线可以盘成小圈并用扎带固定在底盘支架上,避免线在运动中被卷入轮轴。
4. 接线原理拆解:为什么这样接才正确
4.1 电机为什么不能直接接 51 单片机 IO 口
直流电机是感性负载,启动瞬间会产生很大的浪涌电流,同时当电刷换向或断电瞬间会产生反向感应电动势。如果直接把电机接到 51 单片机的 IO 口,这几点足以让单片机复位甚至击穿引脚。
51 单片机 P1 口内部是准双向 IO,输出高电平时驱动能力非常弱,只能提供几百微安的拉电流;输出低电平时最多灌入几十毫安。对于工作电流在几百毫安到数安培的直流电机,差距非常大。因此,必须在单片机与电机中间加一级功率驱动电路。
这一级功率驱动电路不仅要有电流放大能力,还要能够承受电机感性负载产生的反向电动势冲击。L298N 等驱动芯片内部已经包含有续流二极管或桥臂寄生二极管,能把关断瞬间反向电动势释放掉,从而保护单片机和电源。
4.2 H 桥驱动与正反转控制
电机正反转的本质是改变电机两端电压的方向。H 桥电路用四个开关管搭建,电机接在桥臂中间,形象来看像一个字母 H。
当 Q1 和 Q4 导通,Q2 和 Q3 关断时,电流从正极经 Q1 入电机一端,再从另一端经 Q4 回到负极,电机正转。当 Q2 和 Q3 导通,Q1 和 Q4 关断时,电流方向相反,电机反转。
L298N 通过 IN1、IN2 的电平组合实现这个逻辑:
| IN1 | IN2 | 电机状态 |
|---|---|---|
| 0 | 0 | 停止(惰性) |
| 1 | 0 | 正转 |
| 0 | 1 | 反转 |
| 1 | 1 | 刹车 |
理解这张表之后,接线时就不会再纠结于“哪个引脚接哪个功能”了,本质上 IN1 和 IN2 只是控制桥臂开通组合的电平输入。
4.3 使能端与 PWM 调速
L298N 的 ENA、ENB 引脚在高电平有效时打开对应通道的输出。很多同学第一次让电机转时,会发现电机一动不动,排查一圈才发现是 ENA 跳线帽没插,或者使能端没有接高电平。
如果只是让电机全速转,可以把 ENA 用跳线帽接到 5V。但全速转的小车很难精确控制直线,这时需要引入 PWM 调速。PWM 是脉冲宽度调制,简单理解就是通过改变一个周期内高电平所占的比例(占空比)来改变电机的平均电压。
当 51 单片机从某引脚输出 100Hz 的方波,占空比 50% 时,电机上的平均电压约为额定的 50%,转速也大约减半。占空比越大,平均电压越高,电机越快。这就是车速控制的底层原理。
用定时器实现 1kHz 左右 PWM 是 51 小车项目常练习的内容。示例代码中先保持使能端为高电平,然后再通过改变定时器初值或中断里比较翻转来控制占空比。
4.4 独立供电时为什么必须共地
对于分体式驱动模块方案,如果电机电源使用电池盒,单片机使用 USB 供电,两个电源之间存在各自独立的参考点。单片机输出的 5V 高电平信号是相对单片机 GND 而言的,而驱动板判断输入高电平是相对驱动板 GND 而言的。两者没有共同参考点时,信号电平无法形成回路,单片机发的高电平在驱动板看来可能是不确定状态。
所以不管电源是否隔离,只要单片机与驱动板之间有信号线,就必须把两边的 GND 接在一起。这是驱动板安装通电之后程序不执行、电机不转的常见根因之一。
部分套件出厂时已经把 5V 稳压输出接到主控电源接口上,看起来似乎已经“共电源”了,但为保险起见,还是需要检查 GND 网络是否真正连通,可用万用表电阻挡测量单片机 GND 与驱动板 GND 之间的阻值,应接近 0 欧姆。
5. 通电测试与最小验证代码
5.1 上电前检查清单
接线完成后不要急着下载程序,按以下顺序做一次快速检查,能避免大部分烧板问题。
- 目视检查电机线是否接到对应通道,每个弹簧端子只压一根线,线芯不外露。
- 检查电源正负极是否接反。再看电池盒电压是否在驱动板和电机允许范围内。
- 用万用表通断档测量驱动板 VCC 与 GND,确认没有短路。
- 确认单片机与驱动板之间有 GND 连线。
- 检查 ENA、ENB 跳线帽或连线是否安装到位。如果需要 PWM 调速,确认跳线帽已拔出并且杜邦线接到 IO 口。
- 把驱动板输入信号初始化为低电平,再接通电源。避免上电瞬间引脚悬空导致误动作。
5.2 电机旋转测试代码
下面这段代码用于测试左右轮电机能否正常正转、反转。项目创建在 Keil C51 环境中,芯片型号选择 AT89C52 或 STC89C52RC 均可。代码中 ENA、ENB 引脚如果接到了跳线帽高电平,就不需要重复赋值;如果接到了 P1.4、P1.5,则写入 1 保持使能。
// 文件路径:main.c // 功能:HJ-4WD 小车电机旋转测试 #include <reg52.h> // 定义电机驱动引脚 sbit IN1 = P1^0; // MOTOR A 左轮控制1 sbit IN2 = P1^1; // MOTOR A 左轮控制2 sbit IN3 = P1^2; // MOTOR B 右轮控制1 sbit IN4 = P1^3; // MOTOR B 右轮控制2 sbit ENA = P1^4; //左轮使能,如跳线帽接高电平可不接 sbit ENB = P1^5; //右轮使能,如跳线帽接高电平可不接 // 简易延时函数,实际项目建议改用定时器 void delay(unsigned int t) { unsigned int i; while (t--) { for (i = 0; i < 110; i++); } } void motor_stop(void) { IN1 = 0; IN2 = 0; IN3 = 0; IN4 = 0; } void motor_forward(void) { IN1 = 1; IN2 = 0; IN3 = 1; IN4 = 0; } void motor_backward(void) { IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1; } void main(void) { ENA = 1; ENB = 1; motor_stop(); while (1) { motor_forward(); delay(1000); motor_backward(); delay(1000); motor_stop(); delay(1000); } }代码里的 delay 只是普通循环延时,精度不高,但用于功能验证可以直观看出电机是否按预期运行。正式项目里,控制周期建议用定时器实现,才会更精确。
5.3 下载与运行结果说明
将单片机板通过 USB 转串口线连接到电脑。打开 STC-ISP 软件,选择芯片型号,加载上面生成的 hex 文件,点击“下载/编程”。STC 单片机是冷启动下载方式,当软件出现“正在检测目标单片机”的提示时,给开发板重新上电一次,程序即可下载。
如果一切正常,你会在运行结果中看到三个阶段:
| 阶段 | 预期现象 |
|---|---|
| forward 阶段 | 四个电机同时向前转动,小车如果悬空则四轮同向旋转 |
| backward 阶段 | 四个电机同时向相反方向转动 |
| stop 阶段 | 电机马上停止,不会出现单侧继续转动的情况 |
测试时建议把小车底盘架空,先不让车轮接触桌面,避免程序出错导致小车冲出去发生危险。等确认方向一致后,再放下地试跑。
6. 常见问题与排查思路
6.1 问题现象汇总表
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 电源指示灯不亮 | 电池开关没开、正负极接反、电池盒内弹簧接触不良 | 万用表直接测量电池盒输出电压 |
| 电机完全不转 | 使能端没接高电平、信号线没接对、电源电压不够 | 先短接 ENA、ENB,再用跳线直接测试 IN 电平 |
| 只有一个电机转 | MOTOR B 通道接线松脱、驱动芯片某路烧坏 | 对调两个电机通道验证,缩小故障范围 |
| 电机转动方向相反 | 左右轮电机线极性接反 | 交换该电机两根线,或把对应 IN 电平取反 |
| 小车原地抖动不走 | 同侧两个电机线极性不一致 | 调整左侧或右侧其中一个电机的两根线 |
| 单片机一启动就复位 | 供电不足,或电机浪涌干扰主控电源 | 改为独立供电并共地,或在电机电源加滤波电容 |
| 驱动芯片发烫 | 电机堵转、输出短路、供电电压过高 | 断电检查电机是否卡死,测量电源电压是否超出范围 |
| 程序运行但电机不按逻辑动 | 信号线接触不良或接反 | 用指示灯程序先测试每个 IO 口是否正常输出 |
6.2 用替换法排查电机不转
当电机完全不转时,建议使用“替换法”快速定位故障。先给驱动板上电,保持 ENA 跳线帽插好,然后用一根杜邦线分别把 IN1、IN2 对接 5V 和 GND。如果 MOTOR A 通道的电机转了,说明驱动板、电机侧硬件正常,问题出在单片机的控制信号引脚,可能引脚定义错误或程序没下载成功;如果电机还是不转,则问题在驱动板输出或电机本身,可把同一组电机换到另一通道再做一次测试。
这种排查方法是硬件调试的基本功,熟练后能快速二分定位:先确定问题在前级信号,还是后级功率输出。
6.3 下载程序后小车没有动作怎么办
程序下载成功但小车不动,优先级最高的检查项是“使能端”。L298N 模块如果没有使能,即使 IN 引脚电平再正确,输出端也不会输出电压。先检查 ENA、ENB 跳线帽是否安装,如果已经安装,再用万用表电压挡测量电机输出端,看 forward 代码运行期间是否有电压输出。
第二个高频原因就是共地问题。把单片机通过 USB 供电时,电脑端 GND 与电池盒 GND 如果没有连接,驱动板无法可靠识别单片机的控制信号。在单片机 GND 和驱动板 GND 之间补接一根黑色杜邦线,多数情况下就能解决。
7. 工程化建议与最佳实践
7.1 从原理图倒推接线图
很多初学者喜欢按“别人说的引脚表”直接照抄,一旦板子型号改变就完全不会接。建议花半小时阅读板子的原理图,至少把三处关键网络找到:单片机 IO 到驱动输入 IN1~IN4 的走线、驱动板 5V 稳压输出到单片机电源网络、电池电源正负极是否经过保护二极管。
看懂原理图后,即使你换了一块不同型号的驱动板,也能立刻判断哪根线要接哪里。这一步对后续学习基于 51 单片机的其他智能车项目非常有帮助。
7.2 上电顺序设计
每次给 HJ-4WD 小车通电时,建议采用以下顺序:
- 先确认总开关处于断开状态。
- 再连接单片机下载线或 USB 供电线。
- 检查小车四周没有障碍物,防止突然动作。
- 最后闭合总开关,给驱动板供电。
关闭时顺序相反:先断开驱动板电源总开关,再拔掉单片机 USB 线。这样做可以避免电机电源先断开时仍由单片机 IO 输出控制信号,造成驱动板输入引脚悬空。
7.3 线束颜色与端口标注规范
在 DIY 小车项目里,线束规范能节省大量排查时间。建议约定:
- 电源正极使用红色,电源负极使用黑色。
- IN 控制信号统一使用细杜邦线,颜色按通道区分。
- 左右电机线使用两组不同颜色,例如左侧用蓝色、黄色,右侧用白、绿色。
- 每个接口旁贴上小标签,标明去向。
有了这些约定,后续接循迹传感器、超声波模块时就不需要每次翻接口表。
7.4 软件驱动的安全边界
程序里要对电机方向做统一封装。不要在 main 函数里随手写 IN1=1,当进行方向优化时,很容易出现前轮正转、后轮反转的混乱状态。建议像前面测试代码那样,把 stop、forward、backward、turn_left、turn_right 封装成独立函数,后续循迹、避障逻辑只需要复用这些函数。
另外,启动 PWM 调速后,要设定一个安全死区。TT 电机在占空比过低时可能无法启动,会产生“嗡嗡”声但是不转动,长时间堵转会发热并增加驱动芯片负担。建议先把占空比设到一定值,例如 30% 以上,再逐步降低到目标转速。
7.5 安全与合规提醒
安装调试过程中,凡是涉及电池连接、电源端子和电机输出端的操作,都要先断开电源再动手。使用万用表测量时,先选直流电压档,不要用电流档直接去测电源两端,否则可能烧表。给锂电池组充电时,请使用配套充电器并有人在场,不要把电池放在易燃物上进行充电。
如果你是为了课程设计或比赛制作这辆 HJ-4WD 小车,建议保留一张安装过程照片和测试记录表,记录每个电机方向、电源空载电流和实际跑直线偏差,这些数据能为后续调参提供重要依据。
8. 课后练习与下一步学习方向
本课完成之后,可以按下面的顺序巩固练习。第一项是“无障碍方向验证”,用前面那段电机测试代码,把小车架空运行一遍,验证左右轮方向一致、四个电机转速差异不大。第二项是“PWM 调速实验”,将 ENA、ENB 跳线帽拔掉,分别接到 P1.4、P1.5,用定时器产生不同占空比,观察车速变化。第三项是“结合循迹传感器测试”,把循迹模块输出的左右传感器状态通过 P0 口点亮 LED,再编写一条最简单的“看到黑线就转向”程序。
完成这些练习后,你基本已经打通了从驱动主板安装到电机控制的核心链路。下一课通常会进入循迹算法或避障程序的设计,到那时你不再需要担心硬件会不会接错,可以把更多精力放在控制逻辑和传感器融合上。本课内容可以用来随时翻阅排查,尤其当你拆装重新接线时,最好按照第 3 章的步骤逐项复核一遍,再给小车通电。