毕业设计 基于stm32单片机车载连续检测定位系统的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于stm32单片机车载连续检测定位系统的设计

1 系统硬件设计

系统硬件设计主要是对系统各模块电路引脚进行设计,保证各模块可以有效工作,实现设计内容。

1.1 单片机最小系统电路设计

系统中硬件部分电路设计以单片机作为最小控制系统对各模块进行驱动控制,系统硬件部分分为上位机与下位机两部分,上位机作为显示单元的控制系统,主要目的是将下位机接收到的信息接收后转换为数字信号通过显示屏进行信息显示。下位机最小控制系统与电机模块、红外模块、RFID模块、测速模块、信号灯模块、无线传输模块的发送部分进行连接。系统可以实现将检测到电机转动速度反馈给系统进行判定列车是否运行状态正常,在CBTC模式与非CBTC模式下通过检测定位装置是否被触发来确定列车位置信息,同时在非CBTC模式下,信号机模块工作,通过三显示的工作模式将前方区段的状态进行显示,方便司机在手动驾驶模式下确定前方区段是否可以安全通行,同时在非CBTC模式下的RFID模块不仅传递区段信息,也起到列车定位作用。

上位机与下位机中单片机最小系统的控制单元选用的均为STM32F103C8T6单片机,以其中一块单片机为例,对单片机最小系统的接口设计图,如图1.1所示。

图1.1 单片机最小系统的接口设计图

单片机最小系统由STM32F103C8T6型号的单片机、晶振电路与复位电路组成,其中晶振电路与单片机的PA13引脚与PA14引脚连接,晶振电路中含有两个20pF电容用于存储能量以及一个11.0592M晶振元件用于提高作业效率,复位电路中含有复位按键对电路进行复位作用,复位电路中的电容用于存储电能,电阻用于保护电路,电压分流作用。复位电路与单片机的NRST引脚连接。实现单片机的复位功能。单片机的驱动电压为3.3V与单片机VDD引脚连接,GND引脚接地,系统中的各模块与单片机的PA、PB通道进行连接。

1.2 红外模块电路设计

红外模块模拟区间内的无源应答器,无源应答器的作用就是当列车通过时,采集到信息后确定列车位置,系统反馈给列车一个速度信息,列车以规定速度通过,对列车进行控制的同时进行列车定位,无源应答器不与轨旁设备有通信,所需要的报文信息存储在设备中,红外模块对该设备进行模拟可以充分表现其工作原理。当红外模块被触发后,表示列车通过,进行信息交互,确定列车位置信息。红外模块接口设计图,如图1.2所示。

图1.2 红外模块接口设计图

红外模块作为无源应答器的模拟元件,为防止列车丢失,需要连续两个无源应答器方可确定,所以系统中的红外模块由两个红外传感器组成,共用同一个电源进行供电,供电电压为+5V,连接至1引脚。2引脚进行GND接地,3引脚空置,4引脚与单片机连接,红外模块1的A0信号传输引脚与单片机的PB6引脚,红外模块2的A0信号传输引脚与单片机PB7引脚连接,当传感器被触发后发送低电平至单片机,单片机检测到低电平表示当前列车占用该区段。

1.3 定位模块设计

区间内的有源应答器安装于车站的出入站旁,主要是对前方两个车站之间的占用、空闲信息进行存储,通过轨旁设备将前方信号机的状态等区间信息传输给车载应答器,但只有在非CBTC模式下才会工作,进行传输,司机会根据提供的信息判断是否可以进入前方区段,列车的速度可以通过手动驾驶的方式进行驱动。当列车通过时,车载设备与有源应答器进行信息交互,信息内容由轨旁电子单元传输给设备,所以读取的信息不是固定不变的,不仅用于定位,同时也是对前方区间状态的采集。系统中利用RFID模块采集RC522模块,RC522为读卡器原件,当采集到不同的RFID模块时,做出不同的信息反馈,其中RFID模块不与系统连接,RC522模块与单片机连接。RC522模块的电路设计图,如图1.3所示。

图1.3 RC522模块电路设计图

NSS接口与单片机的PB12引脚连接用于数据传输;SCK为时钟引脚与单片机PB13引脚连接;MOSI为SPI通信方式的接口的主出从入输入信号引脚,接单片机的PB15引脚;MISO引脚为SPI通信方式的接口主入从出输出信号引脚,与单片机的PB14引脚连接;IRQ中断信号、PRQ片选引脚悬空;GND引脚接地;RST引脚传输复位信号空置;3.3V引脚外接3.3V驱动电压。信号在数据写入期间保持低电平,在无数据时保持高电平,RST复位引脚、PRQ、IRQ中断请求引脚空置。

1.4 测速模块电路设计

测速模块安装在电机侧面对电机的转速进行监测,在实际的监测系统中,速度传感器安装于车轮无滚动轮轴上,对车速进行检测,并将速度信息传输回单片机系统中。测速模块的主要作用是反馈速度信息,便于司机查看是否符合设定的正常速度范围。测速模块接口设计图,如图1.4所示。

图1.4 测速模块接口设计图

霍尔传感器作为速度检测模块共有三个引脚,分别为电源的输入端、信号的输出端、接地端,传感器输入电压为5V,与Vin引脚连接,Vout引脚与单片机的PA0引脚连接,将传感器检测的信号传输给单片机最小系统,GND引脚接地,电路中的外接电阻用于保护电路。

1.5 无线传输模块电路设计

无线传输模块是用于传输上位机与下位机的中间传输设备,当下位机检测到所有信息集中于下位机单片机最小系统中后,通过无线传输模块将检测到的信息传输给上位机,通信模块分为传输模块与接收模块两部分,传输模块与下位机连接,接收模块与上位机连接,将检测的信息发送出去后,接收模块将数据接收并处理。无线传输模块电路设计图,如图1.7所示。

图1.5 无线传输模块电路设计图

无线传输模块包括发送端与接收端两部分,如图为与下位机连接的发送端蓝牙模块引脚配置图,蓝牙模块共有四个引脚,GND引脚接地,RX引脚与单片机的PA9引脚连接作为信息的输出端口,TX与引脚PA10引脚连接作为数据的输出端口,通过RX、TX两个引脚实现信息传输。VCC引脚外接5V电源。

1.6 信号灯模块电路设计

在非CBTC模式下,信号灯处于开启状态,根据列车所在位置不同,不同区段的占用空闲状态,通过三显示要求进行信号灯点亮,当信号灯的状态不同时,对应的车速不同。根据系统的设定显示三组信号灯的状态,当触发RFID模块后,读取到当前位置信号机与前方两组信号机的状态。信号灯模块电路设计图,如图1.6所示。

图1.6 信号灯模块电路设计图

信号灯模块按照三显示工作原理进行点亮,在RFID模块工作状态下才会进行工作,当RFID模块触发后,单片机作为联锁系统的模拟元件驱动信号灯工作,当RFID模块触发表示当前区段被占用,单片机通过PA11传递信号驱动信号灯依次点亮红灯、绿灯、绿灯。当无车占用时单片机通过PA12传递信号驱动信号灯依次点亮黄灯、红灯、绿灯。

1.7 显示模块电路设计

显示模块作为VOBC系统中重要组成部分,同时也是监测室内重要组成设备,用于显示列车位置信息,列车速度信息等一系列重要信息,显示模块作为上位机的显示部分,与上位机单片机最小系统进行接口连接,将接受到的重要运行信息传输给显示屏进行显示。显示屏所显示的信息包括当前运行模式为CBTC模式或非CBTC模式,红外模块是否被触发、RFID模块是否被触发,电机运行速度数值等信息,速度信息以数字形式实时显示,RFID模块、两个红外模块触发以1表示,未触发以0表示。显示屏模块作为信息显示工具与上位机连接,将上位机接收到的所有信息通过显示屏进行显示。显示模块电路设计图,如图1.7所示。

图1.7 显示模块电路设计图

显示模块选用的LCD12864模块引脚较多,但实际使用的引脚不多,其中GND接地引脚、PSB并/串行接口选择引脚、LED-K背光源和负极引脚进行接地,VCC模块电源引脚、RS并行的指令/数据选择信号引脚、LED-A背光源正极引脚接+5V电源进行模块驱动,对于模块的信息显示通过与单片机的连接实现信息交互,R/W并行的读写选择信号/串行的数据口引脚接PA4引脚,E并行使能信号/串行的同步时钟引脚接PA5引脚,其余PB0-PB7数据通道引脚空置。

1.8 电机模块电路设计

电机模块作为列车的驱动模拟装置,其目的是为了实现模拟列车的不同速度的运转,为速度传感器提供检测依据。电机模块作为下位机控制的一部分,当列车检测到不同位置的定位装置后,下位机会反馈一个信息给电机,驱动电机以规定速度运行。电机模块接口设计图,如图1.8所示。

图1.8 电机模块接口设计图

电机模块与下位机单片机最小系统连接的接口配置如下,L9110H电机驱动模块的VCC引脚外接5V驱动电压,Aout(A路输出)与Bout(B路输出)引脚连接至电机的两极进行驱动,GND引脚接地,Bin(B路输入)引脚接单片机的PB5引脚,Ain(A路输入)引脚引脚A路输入接单片机PB4引脚,输入端外接引入电压驱动芯片工作。电路驱动电机运转输入端的分别为A路的输入管脚、B路的输入管脚。

2系统分析与调试

2.1系统分析

系统分析主要是各模块的逻辑运算的顺序进行分析,结合地铁CBTC与非CBTC的不同工作原理进行逻辑分析。当处于CBTC模式时,保证红外模块工作,红外模块触发后电机按照设定的速度运转,速度传感器监测速度信息。同时信号灯模块、RFID模块均不工作。

在非CBTC模式下,信号机模块与RFID模块工作,但红外模块不工作,通过判断列车的位置信息,信号灯给出不同的指示,系统采集到RFID模块后,根据采集的结构按设定的速度通过,此时红外模块触发后也不会有任何反馈信息。在此设计过程中要始终遵循地铁的正常运行状态与逻辑,确保系统是可以实现连续检测、定位功能。

同时,要考虑上位机与下位机两部分的接口配置是否足够使用,针对下位机元件多,接口少的问题,选择合适的接口配置,在不影响功能体现的同时,尽可能的保证系统的每一个接口都充分利用。

2.1系统硬件部分调试

系统中硬件部分调试主要是对电机模块、RFID模块、红外模块、显示模块进行调试,包括对硬件元件的选择,判断元件的好坏、元件接口的配置以及引脚是否正常等因素进行排查。电机模块的逻辑通道连接错误会导致与设定程序功能不一致。

RFID模块的调试首先需要通过杜邦线与单片机最小系统进行连接,检查引脚配置是否正确,将串口线USB-RS232连接到计算机与开发板,检查RC522模块是否正常启动。通过判断是否可以搜索到ID来判断是否引脚配置无误。

RC522模块感应距离调试表,如表2.1所示。

表2.1 RC522模块感应距离调试表

RC522铺铜面积

感应距离

感应状态

50%

40%

50%

40%

0.6cm

0.5cm

0.5cm

0.6cm

异常

异常

正常

异常

通过调试可以看出RC522模块的感应极限在铺铜面积50%以上,感应距离0.5cm以内才能正常感应。在各子系统的元件选择无误后,对电路板进行焊接,焊接前需要对电路线路进行设计,规划好元件位置以及引脚走线,待引脚配置无误后进行引脚连接,在焊接过程中需要注意焊点均匀无连接,防止两个焊点短路,防止虚焊现象导致接触不良。电路板焊接完成后需要对电路板进行检验,通过万用表可检验是否焊接导通,上电后元件是否处于准备工作状态。

使理论知识指导实践,从实践中找出自己的欠缺并进行完善。硬件调试的过程往往是去不断实验,发现错误,找原因,想解决方法去解决问题。只有经过尽可能多的调试修补,才能达到预期功能,所以调试环节至关重要。实物调试图,如图2.1所示。

图2.1 实物调试图

2.2系统软件部分调试

电机的转速调节需要液晶、滚轮、PWM输出、定时器等多个模块共同配合完成,液晶是用于显示电机转速,滚轮是用于调节PWM的占空比从而实现对电机转速的控制,PWM输出用于驱动直流电机旋转。在调节LCD模块滚轮或改变代码中PWM波占空比的初始值来调节直流电机的转速,这两种方式可以使电机转速取到转速范围内的任意值。

在逻辑梳理清楚后对程序进行设计,首先是对函数的调用,确定调用的数据程序,在分别对每个模块的程序进行设计,在程序编程的过程中需要注意的是引脚编辑正确,符号为英文模式下,括号等符号需要对称,否则会出现错误提示。程序错误图,如图2.2所示。

图2.2 程序错误图

对于步进电机调节转速的方式而言,它与直流电机调节方式有不同,如果需要改变转速的初始值,则需要改变代码系统时钟分频,产生所需频率的PWM波。

RC522模块的软件调试过程中,程序通过BSL下载到单片机最小系统中,串口线与计算机开发板连接后,打开串口调试设置正确的波特率和串口号,然后按下最小系统的复位按键,在串口的发送区,输入A点击发送,此时为自动寻找卡片模式,如果输入F点击发送后,则为单次寻找卡片模式,将卡片放在读卡器上后可以看到读卡的ID后说明此时的RFID模块调试完毕。

对于LCD12864模块程序编辑过程中GPIO并行输出数据在STM32操作一个I/O口有四种方式进行,分别为带位操作:#define busy PAin(11);寄存器操作:#define busy ((GPIOA->IDR)&(1<<11)?1:0);标准库函数操作为:#define busy GPIO_SetBits(GPIOA,GPIO_Pin_11);HAL库操作:#define busy HAL_GPIOA,GPIO_PIN_11);嵌入式驱动程序开发时,需要根据相关模块技术手册进行编写调试数据。

根据时序图和指令表对LCD的指令书写数据程序图,如图2.3所示:

图2.3 数据程序图

根据程序调试可知,延时时间不能过小,否则会出现乱码。

通过电脑将程序直接下载到单片机中进行调试,并使用从下至上的方式进行调试,每个模块单独调谐后连接到一个完整的系统调试中。程序烧毁后进入单片机,观察各部分的工作是否正常,是否实现系统设定的功能,如果出现不正常的工作,则需要继续对程序中相应的模块进行检查,必要时自上而下重新检查程序。

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值