【立创开发板】基于梁山派打造多功能智能小车循迹、避障与多模遥控实战一最近有不少朋友在问想用立创EDA社区的梁山派开发板做个智能小车但不知道从哪下手。正好我前段时间用这块板子完整地做了一辆集成了循迹、避障、遥控这些经典功能。今天我就把这个项目的硬件方案和设计思路掰开揉碎了讲给你听手把手带你从零开始搭建一辆属于你自己的智能小车。这篇文章是系列教程的第一篇咱们先不急着写代码而是把整个小车的“骨架”和“器官”搞清楚。我会详细拆解每个功能模块的硬件选型、电路原理和它们是如何与梁山派开发板连接的。看完之后你就能清楚地知道需要买哪些元器件电路该怎么搭为后续的软件编程打下坚实的基础。1. 小车的“大脑”与核心功能概览咱们这辆小车的核心控制器就是立创EDA社区的梁山派开发板。你可以把它理解成小车的大脑负责接收各种传感器传来的信息然后思考、决策最后指挥电机、灯光等执行部件行动。基于这块“大脑”我们为小车设计了五大核心功能这也是智能小车最经典、最实用的几个玩法循迹功能让小车能自动沿着地面上画好的黑线行走这是很多自动化场景的基础。避障功能给小车装上“眼睛”让它能发现前方的障碍物并自动绕开防止撞车。多模遥控通过2.4G无线、蓝牙或者Wi-Fi用遥控器或手机APP远程控制小车想让它去哪就去哪。电机驱动核心的动力部分控制两个N20减速电机实现小车的前进、后退、转弯。辅助功能包括LED车灯、按键、蜂鸣器提示音和电池电压监测让小车更完整、更智能。下面我们就一个个模块来详细讲解。2. 硬件模块详解与电路设计2.1 “眼睛”之一循迹模块循迹功能的原理其实很简单就是利用黑色吸收光线、白色反射光线的特性。我们用的是ITR9909红外对管配合LM393电压比较器的方案性价比高效果稳定。工作原理小白也能懂红外对管中的发射管一直向外发射红外光。当红外光照射到白色地面时光线会被反射回来被接收管接收到接收管导通输出信号变化。当红外光照射到黑色轨迹线时光线被吸收接收管收不到反射光输出另一种信号。LM393芯片就是一个“裁判”它会把接收管输出的信号和一个我们设定的参考电压进行比较然后输出一个干净利落的数字信号高电平或低电平给单片机的IO口。电路连接通常我们会并排安装5组这样的红外对管覆盖小车前方的区域。每组对管的输出端LM393的输出脚分别连接到梁山派开发板的5个普通IO口上。单片机程序里只需要读取这5个IO口是高电平1还是低电平0就能判断出黑线在小车底下的具体位置。例如中间三个传感器检测到黑线输出高电平两边是白色输出低电平说明黑线在正中间小车应该直行。如果只有左边两个传感器检测到黑线说明小车正在向右偏需要向左转来校正。提示在LM393旁边通常会配一个LED指示灯当检测到黑线输出高电平时LED亮起非常方便调试一眼就能看出哪个传感器被触发了。2.2 “眼睛”之二超声波避障模块如果说循迹是看着地面走那避障就是看着前面走。这里我们选用最经典、资料最多的HC-SR04超声波模块。工作原理触发单片机给HC-SR04的Trig引脚一个至少10us的高电平脉冲信号相当于喊一声“开始”发射模块自动发出8个40kHz的超声波脉冲。接收与回响模块开始等待回波。如果超声波遇到障碍物反射回来模块的Echo引脚会输出一个高电平。计算距离这个高电平的持续时间就是超声波从发射到返回所花的时间。单片机从发送Trig信号开始计时到检测到Echo变为高电平结束计时得到时间t单位微秒。距离S (t * 340 m/s) / 2。因为声音在空气中速度约340m/s而t是来回的时间所以要除以2。实际编程时换算成厘米更方便S厘米 ≈ t / 58。电路连接HC-SR04模块有4个引脚VCC、GND、Trig、Echo。VCC和GND接小车的5V电源和地。Trig引脚连接梁山派的一个IO口单片机通过这个引脚发送启动脉冲。Echo引脚连接梁山派的另一个IO口单片机通过这个引脚检测高电平脉冲的宽度。这个IO口最好配置成输入捕获模式或者支持外部中断这样测距更精确。2.3 “双腿”电机驱动模块小车跑起来全靠两个N20减速电机。单片机IO口的电流太小直接驱动电机会烧掉所以必须用电机驱动芯片。我们选用的是BDR6122T这是一款双H桥驱动芯片一片就能驱动两个直流电机非常方便。什么是H桥你可以把它想象成一个由四个开关组成的电路通过控制不同开关的闭合能轻松让电机两端的电压方向改变从而实现电机的正转、反转和刹车。BDR6122T控制逻辑每个电机需要两个控制信号IN1, IN2和一个PWM速度信号。具体控制逻辑如下表所示IN1IN2PWMENA电机状态高低高电平脉冲正转低高高电平脉冲反转低低X任意停止滑行高高X任意刹车电路连接芯片的电源VM接电池电压比如7.4VVCC接逻辑电源5V。两个电机的输出端分别接在OUT1/OUT2和OUT3/OUT4上。梁山派开发板需要提供6个IO口给一片BDR6122TIN1, IN2, ENA 控制电机AIN3, IN4, ENB 控制电机B其中INx引脚控制方向用普通高低电平即可ENx引脚控制速度需要连接梁山派的PWM输出引脚通过改变PWM的占空比来调节电机转速。2.4 “遥控器”三种无线通信方案为了让控制方式更灵活我们设计了三种无线遥控方案你可以根据手头的模块和需求选择一种或多种。1. 2.4G遥控M-BK2461U模块特点专用遥控方案响应快延迟低抗干扰好适合做遥控车。连接模块通过串口UART与梁山派连接。单片机只需要通过串口发送简单的指令数据模块就会以2.4G无线信号发送出去。对应的遥控器接收后再通过另一个串口把控制数据发给接收端。你需要编写简单的串口收发解析程序。2. 蓝牙遥控HC-05模块特点通用性强可以直接用手机APP控制。基于SPP串口透传协议用起来最简单。连接HC-05模块同样通过串口UART与梁山派连接。手机APP如蓝牙串口助手连接上HC-05后你在APP上发送的数据比如‘F’代表前进会原封不动地通过串口传给梁山派。单片机程序里解析这些字符命令即可。3. Wi-Fi遥控ESP32-C3模块特点功能最强大可以通过网页Web控制距离远可玩性高。连接ESP32-C3本身就是一个功能强大的Wi-Fi单片机。在这里我们把它当作一个“Wi-Fi转串口”的模块来用。它通过串口连接梁山派并在ESP32-C3上运行一个Web服务器。当你用手机或电脑连接到ESP32-C3创建的Wi-Fi热点并打开控制网页时网页上的操作会通过WebSocket技术实时转换成数据再通过串口发送给梁山派。注意梁山派的串口资源有限如果你要同时接多个无线模块需要注意引脚复用或者考虑使用软串口。通常一个项目中选择一种无线方式就足够了。2.5 其他辅助功能电路LED车灯最简单的外设。将LED的正极通过一个限流电阻如220Ω连接到梁山派的IO口负极接地。程序里让这个IO口输出高电平LED就亮输出低电平LED就灭。可以用来做前照灯、转向指示灯或者状态灯。按键用于手动控制或模式切换。按键一端接梁山派的IO口该IO配置为上拉输入模式另一端接地。当按键未按下时IO口被内部上拉到高电平按下时IO口被拉到低电平。程序通过检测这个电平变化来识别按键动作。蜂鸣器我们用的是TMB12A03有源蜂鸣器。所谓“有源”就是给它一个直流电压它就会一直响控制简单。由于蜂鸣器工作电流较大不能直接用IO口驱动所以我们用了一个SS8550PNP型三极管作为电子开关。IO口输出低电平时三极管导通蜂鸣器响输出高电平时三极管关闭蜂鸣器静音。可以用来做启动提示、报警音等。ADC电压采集用来监测电池电量防止小车跑到没电。2S锂电池满电约8.4V而梁山派的ADC引脚只能承受3.3V电压。所以我们需要用电阻分压。电路用了3个10K电阻串联电池电压接在串联电阻的两端从中间两个电阻的连接点取电压即1/3的电池电压送到ADC引脚。程序里读取12位的ADC值再根据公式反推就能算出当前的电池电压。电源管理小车动力部分电机驱动直接用2S锂电池7.4V供电。而梁山派开发板、传感器、逻辑芯片都需要稳定的5V或3.3V。这里提供了两种方案LDO线性稳压主方案使用ME78M05芯片将电池的7.4V转为5V。优点是电路简单纹波小。缺点是效率不高压差大的时候芯片会发热。DC-DC开关稳压“凤尾”扩展在扩展板上预留了DC-DC降压电路。它的优点是效率高可达90%以上发热小能让电池更耐用。缺点是电路稍复杂成本略高。3. 机械结构与整体布局硬件电路设计好了还得把它们合理地装到小车上。底盘我们模仿了经典的田宫FMA-CHASSIS迷你四驱车底盘。这种底盘结构紧凑强度好非常适合改装智能小车。“龙头凤尾”设计这是一个非常有趣且实用的创意。我们把循迹电路板做成了传统四驱车“龙头”前导轮支架的形状把扩展电源板DC-DC做成了“凤尾”尾翼的形状。这样不仅外观炫酷更重要的是充分利用了空间让电路板本身成为了车体结构的一部分既牢固又美观。布局要点循迹传感器“龙头”安装在最前方贴近地面。超声波模块安装在车头较高位置视野开阔。电机和驱动芯片靠近车轮减少驱动线长度。主控板梁山派和无线模块放在车身中部便于布线。电池可以放在底盘下方或后方平衡重心。好了到这里咱们这辆智能小车的所有硬件家当和设计思路就全部介绍完了。你可以根据这个方案去立创商城采购元器件并在立创EDA里绘制电路图、设计PCB。当所有的板子焊接好模块都组装到底盘上之后一辆有模有样的智能小车硬件部分就诞生了。在下一篇教程里我们将正式进入软件部分我会带你一步步配置梁山派的开发环境并编写第一个让小车动起来的程序。咱们先从最基础的电机驱动和PWM调速开始一步步把循迹、避障这些智能功能都给实现。如果大家在硬件制作过程中遇到问题欢迎在评论区留言讨论。