APP下载

嵌入式智能实训小车的设计与实现

2022-08-12

设备管理与维修 2022年13期
关键词:串口小车嵌入式

张 睿

(无锡商业职业技术学院,江苏无锡 214153)

0 引言

随着汽车向电动化、网联化、智能化的发展,且智能汽车在部分特定场景商业化应用取得突破,自动驾驶接驳车、工程车、物流车、快递车、环卫车被广泛运用。汽车类嵌入式系统应用技术等课程常被纳入汽车相关专业的课程体系中,以提高学生对汽车智能化方面的认知和技术服务能力。研究设计一款基于STM32 的嵌入式智能实训小车。该智能小车作为汽车类嵌入式系统应用技术等课程开展实训教学的载体,通过任务驱动的项目串起整个课程知识和技能点,符合高职学生的认知习惯,同时保证学生嵌入式开发能力的可持续发展性和终身学习性。

1 设计方案

智能实训小车采用模块化设计,主要由核心板、扩展板、小车底盘和各种传感器模块构成,兼容STM32、树莓派、Arduino等市面上通用的核心板或控制器,在教学过程中,可针对不同的课程更换或增加核心板。扩展板作为智能小车的主板,接口丰富,包含超声波模块、颜色识别模块、蓝牙模块、IMU模块、电机驱动等十余个接口类型,且预留STM32 核心板、树莓派和Arduino 主控板接口。铝合金材质的底盘,是智能小车的运动载体,可安装各类传感器、4 个驱动电机、3 节18650型锂电池仓等,且可根据需要增加为多层结构。智能实训小车整体设计方案如图1 所示。

图1 智能实训小车设计方案

1.1 核心板

智能实训小车兼容STM32、树莓派、Arduino 等多种不同的核心板,可根据课程选择一个或多个核心板开展教学。以嵌入式系统应用技术课程教学为例,采用基于STM32F103C8T6 的通用核心板。核心板由MicroUSB 提供+5 V 供电,经稳压芯片AMS1117 将+5 V 转为3.3 V 给STM32 芯片供电。该核心板选取了8 M 的晶振并配合负载电容来满足高速外部时钟HSE 输入的要求,选择32.867 kHz 的晶振并配合负载电容作为LSE 为低速外部时钟输入。

基于STM32F103C8T6 核心板可独立于扩展板开展基础性实训内容的教学,基于串口下载程序的固件,使用USB 转串口模块及相应的下载软件Mcuisp 即可通过串口下载程序到Flash中。USB 转串口模块与串口引脚连接为:Rx—A9、Tx—A10、GND—G、VCC—3.3 V。核心板各外设资源可满足嵌入式系统应用技术等课程实训教学的需要。在外接按键模块、LED 模块、ADC 模块或USB 转串口模块时,可进行GPIO 控制、外部中断控制、ADC、USART 串行通信等简单的实训项目的教学。硬件方面使用杜邦线进行线路连接,以增强学生对基本的STM32 端口配置及电路的理解。

1.2 扩展板

(1)供电电路。扩展板中的供电电路中采用降压型电源管理单片集成电路LM2596,供电电路如图2 所示,VM 为外部电源输入,同时也作为电机驱动模块中的电机驱动电压,经LM2596电压调节电路输出为5 V 的VCC 电压,并采用稳压芯片AMS1117 将VCC 转为3.3 V 给STM32 主控供电。

图2 VCC 供电电路

电池欠压保护电路和3.3 V 供电电路如图3 所示,该电路利用LM393 比较器对VBAT 电压值进行判断,当VBAT 相对较低时,判断为电池欠压,比较器输出端2596EN 为低电平,使LM2596S 停止工作。其中二极管作用是避免比较器电源电压影响到VM 检测端的工作。

图3 欠压保护电路和3.3 V 供电电路

(2)扩展板电路模块。扩展板内部资源丰富,包括有USB转串口模块、蜂鸣器、陀螺仪、NRF24L01 模块、CAN 收发模块、IMU 模块、电机驱动模块等。结合各类传感器,可进行嵌入式系统应用技术的基础实验教学,也可开展智能车寻迹、避障、蓝牙控制、APP 控制、SLAM 建图、自主导航等综合性实训项目的教学。

设计中电机驱动模块采用直流电机驱动器件TB6612FNG和接口电路,如图4 所示。利用STM32 的定时器产生的两组PWM 由IO 端口PB7、PB6 输出至电机驱动电路的PWMA 和PWMB 引脚,分别控制小车左右两边电机的转速。并通过PB8、PB9、PB4、PB5 端口的输出以确定AIN1、AIN2、BIN1、BIN2 状态以控制电机正反转和启停状态。

图4 电机驱动电路和接口电路

由于CAN 通信在汽车产业中被广泛运用,以CAN 通信为代表的车载网络在汽车类专业知识结构体系中通常作为核心知识点进行教学(图5)。实训小车扩展板中STM32 的CAN 通过PA2 和PA3 连接到TJA1050 收发芯片,然后通过CAN 接线端子同外部的CAN 总线。CAN 和USART2 共用PA2 和PA3,不可同时使用,在使用过程中可利用跳线帽进行切换。CAN 电路模块中带有120 Ω 的终端电阻,整个CAN 网络中需要两个终端电阻。通过CAN 通信模块电路,学生可以自主开发实现多台实训小车之间的CAN 通信功能,能更加深入的理解CAN 通信的实现原理及方法。

图5 CAN 通信模块电路

(3)接口电路。扩展板作为智能小车的主板,设计了丰富的接口,包括巡线模块、红外避障、超声波模块、颜色识别模块、4 路巡线传感器模块、蓝牙模块、线性CCD 模块、舵机、电机等十余种接口类型,且兼容STM32F103C8T6 核心板、树莓派和Arduino 主控板。教学过程中,根据不同的实训项目选择相应的传感器模块进行连接。充分利用STM32CubeMX、HAL库和Proteus 仿真软件,实现高效的且适合于汽车类专业的实训项目的教学。以STM32CubeMX 图形化界面来实现项目所涉及的初始化配置并生成相关代码,用户只需通过调用HAL 库函数组织编写程序代码以完成具体功能的实现。STM32 核心板接口电路如图6 所示,超声波及蓝牙模块接口电路如图7 所示。

图6 STM32 核心板接口电路

图7 超声波及蓝牙模块接口电路

1.3 小车底盘

小车底盘根据功能实现的需要可安装一到多层,各层底盘之间利用M3×28 mm铜柱和M3×8 mm 螺丝进行搭建。底层为铝合金底盘,包括有多功能扩展板安装区、直流减速电机金属安装支架、4 路巡线传感器模块安装孔、电池盒安装区、超声波模块安装区等。二层为亚克力底盘,可安装红外避障、超声波模块、颜色识别模块、舵机等多种传感器模块。此外,还可根据需要构建以树莓派为上位机、STM32 为底层控制的室内定位智能小车,实现SLAM 建图、自主避障、自主导航等功能。

2 结束语

研究设计的基于STM32 的嵌入式智能实训小车,作为汽车类嵌入式系统应用技术等课程开展实训教学的载体,该实训小车配备STM32F103C8T6 核心板、扩展板、各种传感器模块和底盘。扩展板兼容多种主控芯片,所有传感器模块和电机接口均已引出,方便在不同的实训教学内容中进行更换。在实训教学过程中,可根据实训内容及所实现的功能选择相应的主控模块及传感器模块进行智能小车的搭建。

无锡商业职业技术学院校级科研课题:基于ROS 的SLAM智能实训小车,课题批准号:KJXJ20419。

猜你喜欢

串口小车嵌入式
浅谈AB PLC串口跟RFID传感器的通讯应用
大车拉小车
自制小车来比赛
刘老师想开小车
两轮自平衡小车的设计与实现
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
Altera加入嵌入式视觉联盟