基于stm32的车辆调试自动控制系统设计
2022-02-17胡可狄于亚利李帅李志峰王昆
胡可狄,于亚利,李帅,李志峰,王昆
(北京航天新立科技有限公司,北京,100048)
0 引言
车辆调试是对车辆性能指标的检测和保证,是确保质量的重要一环。特种车辆尤其要求高稳定性和高可靠性,因此调试流程完整且严谨[1]。调试中涉及起车、熄车、液压取力、调节转速等工步,这些固定操作流程需一人操作的同时,另一人发出命令并监视,不仅占用人力,而且操作繁琐,降低了工作效率。
本文设计的车辆调试自动控制系统,包括控制部分、执行部分、监测部分等,将车辆驾驶室内的起车、熄车等操作通过自动控制系统转变为对控制终端的执行,通过操作控制终端实现对车辆动作的控制,同时实时监控车辆状态,确保车辆的性能达标。
1 系统方案选择
为了简化车辆调试过程,保证车辆调试质量,提高车辆调试效率,设计了基于stm32的车辆调试自动控制系统。车辆调试自动控制系统利用stm32实现对电机、舵机的控制,从而完成起车、熄车、液压取力、转动油门踏板等操作,其中对单片机的指令是通过终端控制面板上的按钮传递的。
单片机,由于其集成度高、体积小、可靠性好,而且控制能力强、指令丰富,能满足各种工业控制要求,是控制系统常用控制器[2-3],车辆调试自动控制系统利用stm32实现控制指令的传递。
由于操作环境复杂恶劣,考虑到通信的稳定性和可靠性、反应的及时性、动作的准确性,以及操作过程的需求,对方案中舵机控制方式和控制按钮类型、继电器类型等进行选择。
(1)舵机控制方式选择
舵机,俗称伺服马达,是一种位置(角度)伺服驱动器,适用于需要角度不断变化并可以保持的控制系统。通过PWM控制信号或者TTL单总线通讯的方式,可以对舵机的角度进行控制。PWM控制下,舵机旋转角度由PWM控制信号中高电平占空比进行控制,且每周期均要发送高电平控制信号,才能保持稳定;相比而言,总线舵机是用数据的方式与舵机通信,通过指令包的发送和接收获取舵机当前位置和需要抵达的位置,是一种闭环的控制形式,更加精准、可靠。此外,总线舵机可以串联控制,并可控制速度和加速度,反馈位置、扭矩、温度等信息,节省资源,便于扩展以及对执行过程进行控制[4-5]。鉴于此,本设计选用单总线控制方式,实现舵机SCS2332的角度控制。
(2)控制按钮类型选择
车辆调试自动控制系统的设计需满足调试过程中测试的操作流程。起车、转动油门踏板以及熄车过程,需要执行机构操作结束后自动归位,而取力开关、取力开关保险的操作需要保持执行状态,因此起车按钮、熄车按钮选用自动复位型按钮,液压取力按钮选用自锁型按钮,转速按钮(即油门踏板控制)选用三档自动复位型按钮SCV4-YQ-05R2G四向(双向、万向)。
(3)继电器类型选择
起车、熄车、液压取力、转动油门踏板等工步下,操作按钮,通过控制器控制继电器通断状态,完成对电机施加正、反电压,因此继电器需要有两种不同的状态,且实现正负电压的切换,确定选用有两组转换的继电器。HF115F/005-2ZS4型继电器重量轻,印制板式引出端,安装、使用方便;线圈电阻小,线圈功率小,降低功耗,因此选用HF115F/005-2ZS4型继电器。
2 系统硬件电路设计
车辆调试自动控制系统包括控制部分、执行部分、监测部分等,设计控制板和带有按钮的控制终端。按钮代替车辆驾驶室内的操作手柄,通过控制按钮,实现人车分离;控制终端连接控制板,通过控制板上stm32单片机的控制,实现舵机、直流电机的加电状态控制,以完成起车、熄车、转速控制等操作。
终端控制面板为控制按钮操作板,主要用于控制按钮的操作和车辆状态监测;控制板主要包括stm32单片机最小系统、舵机控制电路、电机控制电路以及按钮控制输入电路等部分,完成与终端控制面板和电机、舵机的通信控制。
(1)终端控制面板
控制面板主要包括系统总开关、起车、熄车、液压取力、转速开关以及急停按钮,布局如图1所示。
图1 控制面板布局
车辆调试时,按下开关按钮,需要执行起车、熄车操作时,按住起车、熄车按钮;起车后需要液压取力时,按下液压取力按钮,获取动力;若发生紧急情况,可以按下急停按钮,切断控制通路,避免意外发生。由于起车、熄车按钮操作后,所控制电机需加反向电压,因此选用自动复位型按钮;液压取力按钮动作一次完成一次操作,因此选用自锁型按钮;转速开关需要实现电机正转、反转以及无动作三种状态,因此选用三档自动复位型按钮。
(2)stm32单片机最小系统
stm32单片机最小系统,主要由stm32f103rct6单片机、复位电路、时钟电路、电源电路以及下载电路等组成。电源电路如图2所示,利用12V电源供电,通过电源模块VRB1205YMD-6WR3,获得5V电压,然后经过线性稳压器AMS1117-3.3获得3.3V电压,为单片机及其外围电路、集成芯片供电。在电路电源电压转换过程中,并联合适容值的贴片电容和电解电容,以达到稳压和滤除杂波的效果。
图2 单片机电源电路
单片机最小系统如图3所示,复位电路由复位芯片MAX809组成,上电时产生复位信号,使单片机处于复位状态,使单片机的程序从头执行,避免单片机程序跑飞。时钟电路由晶振和电容器组成,单片机通过连接32.768kHz晶振和8.0MHz晶振获得时钟源。通电时,外部晶振产生特定频率的振荡,输出频率稳定的时钟信号,驱动单片机工作。
图3 单片机最小系统图
(3)舵机控制电路
舵机选用飞特SCS2332总线舵机,综合考虑工作环境及通信距离,选用单总线控制方式。由于单片机和舵机工作电压不同,设计电平转换电路,利用SN74LVC1G126和SN74LVC1G125驱动,将信号转换到舵机可识别范围,如图4所示。
图4 电平转换电路
单片机串口USART3发出舵机控制信号,经过4针插座,传递到电平转换电路,完成电平变换后传递给舵机,舵机完成操作后反馈信息给单片机,实现闭环控制。控制电路如图5所示。
图5 控制线引出电路接口
(4)电机控制电路
起车、熄车等过程通过控制直流电机完成。工作过程需要实现电机正反转切换,因此需要借助继电器实现直流电机所加电压的正负极换向。此外,为了隔离电气连接上的干扰传导,添加光耦TLP240A隔离,避免极端情况对内部电路的损坏。电路连接如图6所示。
图6 电机控制电路
按下起车、熄车按钮时,光耦输出电压,控制继电器吸合,直流电机接通+12V电压,转动,完成起车操作;按钮恢复后,光耦输入低电平,输出断开,继电器线圈断电,开关断开,直流电机接通-12V。
(5)程序下载电路
JTAG接口是一种特殊的4个引脚接口连到单片机芯片上,利用JTAG进行程序下载。4个引脚如表1所示。
表1 JTAG接口引脚
3 系统软件模块设计
C语言易于编写和移植,模块化的结构便于功能扩展。车辆调试自动控制系统利用C语言进行模块功能的编程,程序流程如图7所示。
图7 电机控制流程图
3.1 舵机通信控制模块
单片机发出控制指令信号,控制舵机动作。通信方式为串行异步方式,一帧数据分为 1 位起始位,8 位数据位和 1 位停止位,无奇偶校验位,模块通信参数设置主要程序为:
3.2 舵机指令
(1)舵机指令包格式为:
字头 ID号 数据长度 指令 参数 校验和
(2)字头固定为:0xFF 0xFF
(3)校验方式为:指令中处校验和外所有字节相加后取反的十六进制值。
(4)SCS内存表:通过查找SCS内存控制表,确定各个参数的地址,如ID地址为0x05,目标位置高位地址为0x2A,目标位置低位地址为0x2B,运行速度高低位地址分别为0x2E、0x2F等。
(5)位置控制指令:SCS2332型舵机旋转角度为270°,电子分辨率达270°/1024,通过控制位置参数在0-1024间变化,实现舵机的准确定位。
4 系统调试
4.1 硬件装配
首先参照原理图对PCB板进行测试,确保连线准确;对元器件进行测试,确保性能和功能的完整性。然后借助SMT流水线进行元器件焊接,完成硬件装配,装配后的示意图如图8所示。
图8 硬件装配示意图
4.2 硬件调试
硬件调试,是电子生产制作的必要流程。测量电路板的电源部分,保证没有短路的情况,然后进行上电,通过下载线连接到电脑,通过JTAG接口进行程序的下载。然后依次拨动各个按钮开关,改变按钮状态,观察连接电机、舵机的动作,和程序设定及需求一致,完成调试。
5 结束语
跟随智能工业的发展,车辆调试自动控制系统更加高效和安全。基于stm32单片机设计的车辆调试自动控制系统,设计功能完全实现,能很好的应用于车辆调试过程,操作便利,效率提高,达到预期效果。但该系统在数据存储和数据库建立方面的探索还需深入,以实现更全面和智能的系统。