一、基本介绍

项目名:基于单片机的电瓶车监测及防盗系统设计
项目编号:mcuclub-dz-692
单片机:STM32F103C8T6
功能简介:
1、通过4G模块AIR780,手机端APP可远程控制布防、撤防
2、在布防情况下,通过震动检测模块SW-420检测电频车是否发生移动,如果发送移动,通过4G模块发送短信“车辆移动,请速速查看!”,手机APP上也显示相应提示信息,并同时声光报警提醒
3、在布防情况下,通过电压检测检查电瓶是否被偷,如果被偷,通过4G模块发送短信“电瓶被偷,请速速查看!”,手机APP上也显示相应提示信息,并同时声光报警提醒
4、通过胎压检测模块XGZP6847检测胎压,如果胎压异常,通过4G模块发送短信“胎压异常,请速速查看!”,手机APP上也显示相应提示信息,并同时声光报警提醒
5、通过MPU6050模块检测电瓶车是否倾倒,如果倾倒,通过4G模块发送短信“电瓶车倾倒,请速速查看!”手机APP上也显示相应提示信息,
6、通过北斗+GPS模块,可锁定电瓶车位置,手机APP获取电瓶车经纬度信息
7、手机端可以控制电动车的电子锁,通过手机 APP 等方式进行锁车操作
8、低电量提醒,骑电动车时,在上位机app上撤防后,能够检测电动车电量,当电量过低时,通过语音播报模块CN-TTS语言播报“电量过低”,手机 APP上可实时显示电量,并能设置最低电量
9、通过OLED显示电压、胎压

二、资料总览

实物资料

请添加图片描述

三、32单片机部分资料展示

1、实物图展示

单片机型号:STM32F103C8T6
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
请添加图片描述

2、原理图展示

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图
请添加图片描述

3、PCB图展示

由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
请添加图片描述

四、系统框图

绘制软件:VISIO
请添加图片描述
本设计以STM32F103C9T6单片机为核心控制器,加上其他的模块一起组成整个系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STM32F103C9T6单片机,其主要作用是获取输入的部分数据,经过内部处理,控制输出部分。输入由五部分组成,第一部分是震动检测模块检测电频车是否发生移动;第二部分是电压检测检查电瓶是否被偷;第三部分MPU6050模块检测电瓶车是否倾倒;第四部分是GPS模块,可锁定电瓶车位置;第五部分是压力检测模块,可检测车辆胎压值;第六部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分时显示模块,显示电量和胎压信息;第二部分是语音播报模块,当电量过低时,语言播报“电量过低”。第三部分是声光报警模块,检测电频车是否发生移动,电瓶被偷,胎压异常,都会进行声光报警。第四部分是继电器模块,控制车锁打开关闭;除此之外还有4g模块,与手机进行数据通信,系统框图如图3.1所示。

五、部分程序展示

软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件

/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
	if(display_num == 0)								  										//测量界面
	{
		if(flag_defense == 1)                                   //布防模式
		{			
			if(SHOCK == 0)
			{
				if(flag_zd == 0)
				{
					Air_4G_Send_Msg_Chinese(36,"0001000D91688142443606F70008168F668F8679FB52A8FF0C8BF7901F901F67E5770BFF01");          //车辆移动,请速速查看!
					flag_zd = 1;
				}
				upward_zd = 1;
				alarm_zd = 0;
			}
			else
			{
				flag_zd = 0;
			}
			
			if(volt_value <= 40)
			{
				if(flag_dp == 0)
				{
					Air_4G_Send_Msg_Chinese(36,"0001000D91688142443606F7000816753574F688AB5077FF0C8BF7901F901F67E5770BFF01");					//电瓶被偷,请速速查看!
					flag_dp = 1;
				}
				flag_volt = 1;
			}
			else
			{
				flag_volt = 0;
				flag_dp = 0;
			}
		}
		else                                               //撤销布防模式
		{
			if(volt_surplus < volt_surplus_min)
			{
				if(time_num % 200 == 0)
				{
					Huart2_Send_Str("电量过低");
				}
			}
		}
		
		if(pressure_value > pressure_max || pressure_value < pressure_min)
		{
			if(flag_ty == 0)
			{
				Air_4G_Send_Msg_Chinese(36,"0001000D91688142443606F700081680CE538B5F025E38FF0C8BF7901F901F67E5770BFF01");					//胎压异常,请速速查看!
				flag_ty = 1;
			}
		}
		else
		{
			flag_ty = 0;
		}
		
		if(MPU6050_accel_y > 5000 || MPU6050_accel_y < -5000)
		{
			if(flag_qd == 0)
			{
				Air_4G_Send_Msg_Chinese(38,"0001000D91688142443606F7000818753574F68F66503E5012FF0C8BF7901F901F67E5770BFF01");			//电瓶车倾倒,请速速查看!
				flag_qd = 1;
			}
		}
		else
		{
			flag_qd = 0;
		}
		
		if(alarm_zd < 6 || flag_volt == 1 || pressure_value > pressure_max || pressure_value < pressure_min ) 								//任何异常情况声光报警
		{
			if(time_num % 20 == 0)
			{
				ALERT = !ALERT;
				if(upward_zd == 1)                                  //如果因为震动引起,响3次
				{
					alarm_zd++;
				}
			}
		}
		else																																																										//否则声光报警关闭
		{
			ALERT = 0;
		}
		
	}
	else																											//设置界面,关闭加热、制冷及声光报警
	{

		ALERT = 0;
	}
	
	if(flag_finish_5s == 1)																		//5秒上传一次数据
  {
    flag_begin_5s = 0;
    Air_4G_SendData();
    flag_begin_5s = 1;
  }
}
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐