基于单片机仓库智能巡检车的设计 您所在的位置:网站首页 基于stm32单片机的智能消防小车系统 基于单片机仓库智能巡检车的设计

基于单片机仓库智能巡检车的设计

2024-06-05 08:30| 来源: 网络整理| 查看: 265

  word完整版可点击如下下载>>>>>>>>     

 基于单片机的仓库智能巡检车的设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/45706262

目  录

摘要- I

ABSTRACT II

1  绪论- 1

1.1  研究的背景及意义- 1

1.2  国内外研究现状- 2

1.3  论文的主要内容- 3

2  系统总体方案设计- 4

2.1  研究任务- 4

2.2  总体方案设计- 4

3  仓库智能巡检车硬件系统设计- 6

3.1  中央处理器模块- 6

3.2  STM32最小系统电路设计- 7

3.3  超声波避障电路设计- 10

3.4  电机驱动电路设计- 11

3.5  温湿度电路设计- 12

3.6  液晶显示屏电路设计- 14

3.7  盗窃预警电路设计- 14

3.8  火情预警电路设计- 15

4  仓库智能巡检车软件系统设计- 17

4.1  STM32中断介绍- 17

4.2  超声波避障程序设计- 18

4.3  电机驱动程序设计- 22

4.4  温湿度程序设计- 25

4.5  液晶显示屏程序设计- 28

4.6  盗窃预警程序设计- 29

4.7  火情预警程序设计- 29

5  软件调试- 30

5.1  开发环镜介绍- 30

5.2  串口调试工具- 32

5.3  系统测试- 32

6  总结及展望- 36

6.1  总结- 36

6.2  展望- 36

参考文献- 37

致谢- 39

附录- 40

摘  要

仓库作为存放物资和产品的地点,历来都受到人们的高度重视,智能自动化技术逐步取代传统人工巡检,成为巡检工作的新趋势。传统巡检采用人机结合方式,存在成本高、监控死角等问题,巡检效果并不理想。而对于某些恶劣的工作环境,例如高温室、冷藏库、化学反应室等,还可能危害巡检人员的人身健康。随着人工智能、微电子技术的发展,无人智能小车在仓库巡检中得到迅速发展。

针对传统巡检方式所存在的隐患,本文对仓库智能巡检车进行了设计与研究,根据设计功能要求,制定了详细的设计方案,完成了电路原理图设计和软件程序设计。智能巡检车系统以STM32微处理器为核心,通过模块电路(避障电路、驱动电路、报警指示电路等)实时采集仓库内环境温湿度的变化,具备火情报警和盗窃报警功能,从而提高巡检车的智能化水平。通过实验环境验证,本文设计的巡检车操作简单、巡检效率高、工作时间长等特点。随着设计功能逐步完善,相信在不久的将来会被广泛的使用。

关键词:STM32  仓库巡检车  PWM电机控制  超声波避障

ABSTRACT

Warehouse as a place to store materials and products, has always been highly valued by people, intelligent automation technology gradually replace the traditional manual inspection, become a new trend of inspection work.  The traditional patrolling inspection adopts man-machine combination method, which has the problems of high cost, dead corner monitoring and so on, and the patrolling effect is not ideal.  And for some harsh working environment, such as high greenhouse, cold storage, chemical reaction room, etc., may also endanger the health of inspectors.  With the development of artificial intelligence and microelectronic technology, unmanned intelligent car has been rapidly developed in warehouse inspection.  

In view of the hidden trouble of the traditional inspection mode, this paper designed and researched the intelligent inspection vehicle of the warehouse. According to the design function requirements, a detailed design scheme was developed, and the circuit schematic diagram design and software program design were completed.  The intelligent inspection vehicle system takes the STM32 microprocessor as the core, collects the changes of ambient temperature and humidity in the warehouse in real time through the module circuit (obstacle avoidance circuit, driving circuit, alarm indicating circuit, etc.), and has the function of fire alarm and theft alarm, so as to improve the intelligent level of the inspection vehicle.  Through the verification of the experimental environment, the design of the inspection vehicle is simple operation, high inspection efficiency, long working time and other characteristics.  With the gradual improvement of the design function, it is believed that it will be widely used in the near future.  

Keywords:STM32  warehouse inspection vehicle  PWM motor control ultrasonic obstacle avoidance

1  绪论 1.1  研究的背景及意义

随着经济的高速发展,劳动力成本的不断上升。在当今社会,小到小区安保、工厂设备,大到粮库、快递仓储等大型仓库都面临着物资安全等问题......工作效率低等问题,难以满足企业对仓库巡检工作的高质量要求[1]。

随着我国的科研水平的提升,微电子、传感器技术、......呈现只增不减的状况。如图1-1所示。

 1-1  2017-2020年事故发生趋势图

通过以上数据得出,2017年到2020年仓库事故主要原因主要有盗窃、火灾、爆炸三大事故,且事故发生率逐年上升,发生的原因也更加多变,.......

目前国内经济实用、可大规模应用的仓库监测预警的产品和技术可谓是少之又少。因此研究设计一款针对仓库环境监测预警的巡检车是很有必要的,用巡检车代替巡检人员,对仓库进行巡检,监测仓库安全状况,针对不同情况准备不同的预警设置,......

1.2  国内外研究现状

受到经济和技术的限制,与发达国家相比我国智能巡检车的研究起步较晚。但随着经济的高速发展,智能化技术的日益深入人心,我国已成为世界最大的机器人市场之一,......

目前,市面上智能巡检车采用可携带多种传感器,通过硬件设备读取到信息,世界上第一台智能车研究开始于上世纪60年代末,国外研究时间和研究深度领先我国很多年,1968年美国斯坦福研究所推出世界第一台智能车Shakey,Shakey采用目前市面上最常见轮式移动,其结构主要靠两个主动轮带动从动轮移动。为了达到智能控制的效果,它添加了超声波传感器、.......。

1.3  论文的主要内容

本文以轮式移动智能巡检车为研究对象,对超声波避障技术、温湿度检测及报警指示电路进行了深入的研究。论文内容安排如下:

第一章介绍了研究仓库智能巡检车的意义,进行了可行性和实用性的分析。.......

第二章针对研究任务提出了仓库智能巡检车的总体方案设计。

第三章根据系统整体框架,研究与分析了各模块的硬件设计。

第四章介绍了各模块的软件程序设计。

第五章介绍了开发环境的使用,进行了系统调试。

第六章对系统电路进行了总结与展望。

2  系统总体方案设计 2.1  研究任务

我国仓库具有场地面积大、仓库物料多且高、物资复杂等特点,使得传统人工巡检常常疏忽遗漏、难以达到预期的巡检效果。......本文主要有以下几个研究任务:

(1)设计必须具备一定带负载能力,保证巡检车在工作中可以顺利通过多变的路面......

(2)通过温湿度模块使巡检车能够实时检测仓库内温湿度变化,......

(3)设计必须具有重量轻巧、结构紧凑、续航能力强等特点,......

(4)设计在巡检工作中,具备自动移动、及时避让障碍物等功能,......

(5)通过人体感应模块、火焰传感器模块能够及时监测仓库内是否有人闯入、......

2.2  总体方案设计

本系统采用模块化设计,方便了维护和后续的更新换代。系统将传感器采集的信号送入STM32微控制器中,信号经过控制器处理后,控制电机驱动、将环境数据显示到OLED屏上、安全报警等。通过超声波传感器采集方向、距离等信息,作为STM32微控制器信号输入量,......系统设计总体框图如图2-1所示。

图2-1  系统设计总体框图

3  仓库智能巡检车硬件系统设计 3.1  中央处理器模块

STM32F103系列单片机,它是基于ARM Cortex-M3内核微控制器,具有执行代码效率高、控制灵活、成本低等特点。设计所使用STM32F103C8T6单片机具有20K字节SRAM、......部结构框图如图3-1所示。

图3-1  STM32F103内部结构图

STM32F103C8T6单片机具有丰富的内部资源,比如,具有1个高级定时器和3个基本定时器,2个I2C接口:一种接口协议,多向控制总线,最快速度可达400Kpbs。2个SPI接口......

3.2  STM32最小系统电路设计

单片机最小系统,是指用最少的元器件构成单片机可以正常工作的系统,供电后单片机能够正常运行且只具备复位、下载程序功能且没有其他任何功能。......STM32最小系统电路如图3-2所示。

图3-2  STM32最小系统电路

(1)晶振电路

晶振电路主要由晶振和陶瓷电容组成,为单片机提供系统时钟信号。时钟电路分为外部时钟电路、内部时钟电路,外部时钟电路是在OSC_IN管脚和OSC_OUT管脚接一个8MHz晶振,......。晶振电路如图3-3所示。

图3-3  时钟电路

(2)复位电路

设计中为避免程序出现跑飞、死机但不能重新上电等情况,添加了手动按键复位电路。单片机复位电路如图3-4所示。

图3-4  STM32复位电路

(3)下载接口电路

该系统板支持多种下载方式,包括SWD下载、USB接口下载、......调试下载接口电路如图3-5所示。

图3-5  调试下载接口电路

(4)启动模式选择电路

如下表3-1所示,通过设置BOOT0、.......

启动模式选择引脚

启动模式

说明

BOOT0

BOOT1

X

0

FLASH存储器

主内存存储器被选为启动区域

0

1

系统存储器

系统存储器被选为启动区域

1

1

内存SRAM

内置SRAM被选为启动区

启动模式电路如图3-6所示。

图3-6  STM32启动模式选择电路

3.3  超声波避障电路设计

随着科技的发展,我国电子超声波传感器种类很多,其中HC-SR04超声波模块备受电子爱好者的喜爱,采用5V供电时,测量距离在2cm-5m范围内,......超声波模块的实物结构如图3-7所示。

 图3-7  超声波模块实物图

超声波是一种频率高于20KHz的声波,超声测距方法是根据蝙蝠仿生由此而来,超声波在空气中几乎沿直线传播、灵敏度高穿透力强。超声波模块具有体积小方便携带、HC-SR04模块电路如图3-8所示。

图3-8  HC-SR04模块电路图

3.4  电机驱动电路设计

L298N电机驱动模块是单片机设计中最常用的电机驱动模块之一,其不但价格低廉、操作方便,芯片采用H桥设计,H桥优点可以实现单路直流电机的控制、.....L298N电机驱动模块实物如图3-9所示。

图3-9  L298N驱动模块实物图

本设计采用STM32微控制器对巡检车进行控制,巡检车运动控制就是对电机控制,......电机驱动模块电路如图3-10所示。

图3-10  L298N电机驱动电路

电机动力驱动部分采用一块L298N电机驱动模块控制,......具体控制状态如表3-2所示。

表3-2  端口与电机运动方向关系表

ENA

IN1

IN2

直流电机工作状态

0

X

X

停止

1

0

0

 制动(刹车)

1

0

1

正转

1

1

0

反转

1

1

1

制动(刹车)

3.5  温湿度电路设计

DHT11数字温湿度传感器是电子设计开发中最常见的温湿度传感器之一,其外形封装采用集成式封装,内部集成了电阻式感湿元件与测温元件......

DHT11是一款数字数字信号输出的温湿度传感器,......实物如图3-11所示。

图3-11  DHT11温湿度模块实物图

DHT11温湿度模块采用单线制串行接口,采用板接3.3V电压。......DHT11模块接口电路如图3-12所示。

图3-12  DHT11温湿度模块接口电路

3.6  液晶显示屏电路设计

OLED液晶屏通常作为嵌入式设备的显示终端,主要用于显示用户编写的关键信息,......OLED显示屏实物图如图3-13所示。

图3-13  OLED显示屏模块实物图

该显示屏模块所用的驱动IC为SSD1306,其具有内部升压功能,......OLED显示屏接口电路如图3-14所示。

图3-14  OLED显示屏接口电路

3.7  盗窃预警电路设计

人体体温一般都恒定在37℃,人体会发出特定的红外线,......HC-SR501人体感应模块实物如图3-15所示。

图3-15  HC-SR501人体感应模块实物图

模块预留光敏电阻位置,在光敏电阻位置加上光敏电阻,HC-SR501人体感应模块接口电路如图3-16所示。

图3-16  HC-SR501人体感应模块接口电路

3.8  火情预警电路设计

火焰传感器模块可以用来探测火源位置,火焰探头起着非常重要的作用,它相当于人的眼睛来探测火源。利用它可以制作灭火机器人、足球机器人等。火焰传感器的探测角度达60℃,对火焰光谱特别灵敏。......火焰传感器实物如图3-17所示。

图3-17  火焰传感器模块实物图

该模块支持供电电压范围3.3V-5V,传感器输出数字信号,.......火焰传感器接口电路如图3-18所示。

图3-18  火焰传感器接口电路

4  仓库智能巡检车软件系统设计 4.1  STM32中断介绍

中断顾名思义就是正在执行某一事件,被另一事件打断。......中断示意图如图4-1所示。

图4-1  中断示意图

STM32具有极其强大的中断功能,中断是程序设计中必不可少的。下面详细介绍STM32中断配置过流程。

(1)首先使能外设中断,使能中断由外设相关中断使能位控制,......

(2)其次初始化NVIC_InitTypeDef函数,配置中断抢占优先级和子优先级,.......

(3)最后编写中断服务函数,用户根据自身需求自行编写并配置中断触发条件,......

4.2  超声波避障程序设计

超声波测距模块工作原理,超声波测距的时序如图4-2所示。

图4-2  HC-SR04测距时序图

由时序图可看出,使用模块只需在Trig引脚输入10us以上的高电平,系统便可发出8个40KHz的脉冲,然后等待检测回波信号。......

根据Echo管脚输出高电平的持续时间可以计算距离值。即距离值为:(高电平时间*340m/s)/2。当测量距离超过HC-SRO4的测量范时,......程序系统设计流程图如图4-3所示。

图4-3  程序设计流程图

利用STM32驱动HC-SR04需要做好几个关键点:引脚的配置、时序的控制、时间差的测量。

(1)引脚的配置

首先进行引脚配置,模块共有4个引脚,......

相关的配置代码如下:

void SR04_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructer;

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructer;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB,ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);

GPIO_InitStructer.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructer.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_InitStructer.GPIO_Pin=GPIO_Pin_8;

GPIO_Init(GPIOB,&GPIO_InitStructer);

GPIO_InitStructer.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_InitStructer.GPIO_Pin=GPIO_Pin_9;

GPIO_Init(GPIOB,&GPIO_InitStructer);

TIM_DeInit(TIM4);

TIM_TimeBaseInitStructer.TIM_Period=999;

TIM_TimeBaseInitStructer.TIM_Prescaler=71;

TIM_TimeBaseInitStructer.TIM_ClockDivision=TIM_CKD_DIV1;

TIM_TimeBaseInitStructer.TIM_CounterMode=TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStructer);

TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);

NVIC_Config();

TIM_Cmd(TIM4,DISABLE);

}

(2)时序控制

其次设定HC-SR04模块的时序:首先给Trig管脚10US以上的高电平,然后等待Echo管脚接受高电平。

(3)时间差测量

最后,时间差测量也是最重要的一步,它关系到最终测量的距离,检测Echo管脚高电平的持续时间可以得出距离信息,......

float Senor_Using(void)

{

float length=0,sum=0;

u16 tim;uint i=0;

while(i!=5)

{

PBout(8)=1;

delay_us(20);

PBout(8)=0;

while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==RESET);

TIM_Cmd(TIM4,ENABLE);

i+=1;

while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==SET);

TIM_Cmd(TIM4,DISABLE);

tim=TIM_GetCounter(TIM4);

length=(tim+overcount*1000)/58.0;

sum=length+sum;

TIM4->CNT=0;

overcount=0;

delay_ms(10);

}

length=sum/5;

return length;

}

4.3  电机驱动程序设计

程序设计首先对各个模块进行初始化,其次通过超声波传感器检测周围环境信息,......电机驱动程序流程图如图4-4所示。

图4-4  电机驱动程序流程图

电机的工作状态由单片机GPIO口控制,首先GPIO初始化,利用GPIOA的1/2/3/4,1/2/3/4输出高低电平,GPIOA配置成推挽输出,需要配置为复用推挽。具体代码如下:

void TIM3_PWM_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);

TIM_TimeBaseStructure.TIM_Period=899;

TIM_TimeBaseStructure.TIM_Prescaler=0;

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;

TIM_TimeBaseStructure.TIM_ClockDivision=0;

TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; 

GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;       

GPIO_Init(GPIOB,&GPIO_InitStructure);

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;

TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;

TIM_OCInitStructure.TIM_Pulse=900;

TIM_OC1Init(TIM3,&TIM_OCInitStructure);

TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;

TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;

TIM_OCInitStructure.TIM_Pulse=900;

TIM_OC2Init(TIM3,&TIM_OCInitStructure);

TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;

TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;

TIM_OCInitStructure.TIM_Pulse=900;

}

其次电机运动状态的控制,具体代码如下:

void CarGo(void)

{

TIM_SetCompare1(TIM3,400);

TIM_SetCompare2(TIM3,900);

TIM_SetCompare3(TIM ,400);

TIM_SetCompare4(TIM3,900);

}

void CarStop(void)

{

TIM_SetCompare1(TIM3,900);

TIM_SetCompare2(TIM3,900);

TIM_SetCompare3(TIM3,900);

TIM_SetCompare4(TIM3,900);

}

void CarLeft(void)

{

TIM_SetCompare1(TIM3,900);

TIM_SetCompare2(TIM3,300);

TIM_SetCompare3(TIM3,300);

TIM_SetCompare4(TIM3,900);

}

void CarRight(void)

{

TIM_SetCompare1(TIM3,300);

TIM_SetCompare2(TIM3,900);

TIM_SetCompare3(TIM3,900);

TIM_SetCompare4(TIM3,300);

}

最后是主函数,一直等待中断到来即可。

4.4  温湿度程序设计

要实现对DHT11传感器的控制和数据的读取,需先学会分析DHT11的控制时序。时序主要分为三部分:

(1)触发DHT11采集数据

总线空闲状态为高电平,单片机把总线拉低等待DHT11响应,......

(2)数字0信号时序

当DHT11输出数字0时,......

(3)数字1信号时序

当DHT11输出数字0时,......

DHT11总时序图如图4-5所示。

图4-5  DHT11总时序图

相关的配置代码如下:

void DHT11_IO_IN(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(DHT11_GPIO_CLK,ENABLE);

GPIO_InitStructure.GPIO_Pin=DHT11_GPIO_PIN;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(DHT11_GPIO_PORT, &GPIO_InitStructure);

}

u8 DHT11_Read_Byte(void)

{

u8 i,dat;dat=0;

for (i=0;i

u8 buf[5];u8 i;

DHT11_Rst();

if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])

{

*humi=buf[0];*temp=buf[2];

}

}else return 1;

return 0;

}

u8 DHT11_Init(void)

{

DHT11_Rst();

return DHT11_Check();

}

4.5  液晶显示屏程序设计

设计所使用的4针I²C通信协议蓝色OLED屏,屏幕大小为0.96寸,像素点为128*64。OLED显示屏驱动程序如下:

void OLED_Init(void)

{

GPIO_InitTypeDef  GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8|GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_SetBits(GPIOA,GPIO_Pin_8|GPIO_Pin_9);

OLED_RST_Set();

delay_ms(100);

OLED_RST_Clr();

delay_ms(200);

OLED_RST_Set();

OLED_DC_Clr();

OLED_WR_Byte(0xAE,OLED_CMD);

OLED_WR_Byte(0x00,OLED_CMD);

OLED_WR_Byte(0x80,OLED_CMD);

OLED_WR_Byte(0xD9,OLED_CMD);

OLED_WR_Byte(0xF1,OLED_CMD);

OLED_WR_Byte(0xDA,OLED_CMD);

OLED_WR_Byte(0x12,OLED_CMD);

OLED_WR_Byte(0xDB,OLED_CMD);

OLED_WR_Byte(0x40,OLED_CMD);

OLED_WR_Byte(0x20,OLED_CMD);

OLED_WR_Byte(0x02,OLED_CMD);

OLED_WR_Byte(0xA4,OLED_CMD);

OLED_WR_Byte(0xA6,OLED_CMD);

OLED_WR_Byte(0xAF,OLED_CMD);

OLED_Clear();

}

4.6  盗窃预警程序设计

首先将模块信号线连接在PB12上,在HC-SR501.h文件中进行宏定义,方便程序的移植。

定义完了之后,再对HC-SR501.c文件中的对PB12引脚进行初始化。

#define GPIO_HCSR501_PORT          GPIOB

#define GPIO_HCSR501_CLK_B         RCC_APB2Periph_GPIOB

#define GPIO_HCSR501_PIN            GPIO_Pin_12

void GPIO_HCSR501_config(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(GPIO_HCSR501_CLK_B,ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_HCSR501_PIN;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIO_HCSR501_PORT,&GPIO_InitStructure);

}

4.7  火情预警程序设计

我们可以根据火焰传感器工作原理加上蜂鸣器的配合,当检测到火焰时,D0引脚输出的低电平,然后让蜂鸣器响。这样就能大致模仿火灾报警。D0口与PA15管脚相连,以下对火焰传感器引脚配置。

void Fire_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(GPIOA,ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

}

5  软件调试

本章根据设计中所使用的模块进行相应的程序设计。硬件电路通过Altium Designer16进行电路绘制,程序设计部分通过Keil uVision5开发环境进行设计,......

5.1  开发环镜介绍

程序设计使用Keil uVision5 MDK集成开发环境,Keil uVision5软件是美国Keil软件公司推出的支持ARM内核、Cortex内核微控制器的一款集成开发环境(IDE)。......Keil uVision5集成开发界面如图5-1所示。

图5-1  Keil MDK集成开发界面

Keil uVision5集成开发环境主要分为:主菜单区、工具栏、工作窗口和编辑窗口五大部分,......开发环镜工具栏如图5-2所示。

图5-2  开发环镜工具栏

Keil uVision5集成开发环镜支持多文档窗口操作,用户可以根据个人需求,在编辑界面同时打开多个文件窗口,程序开发界面如图5-3所示。

图5-3  程序开发界面

5.2  串口调试工具

STC-ISP是一款集单片机下载编程烧录、串口调试一体的软件,......该软件启动界面如图5-4所示。

图5-4  STC-ISP启动界面

5.3  系统测试

在软、硬件系统设计完毕后,对智能巡检车整体结构进行搭建,智能巡检车整体设计实物图如下5-5所示。

图5-5  智能巡检车实物图

当巡检车超声波传感器检测到前方20cm内有障碍时,通过STM32控制舵机左右转动,检测左前方、右前方是否有障碍物,......巡检车检测左右障碍物距离图如图5-6所示。

图5-6  巡检车检测障碍图

本设计可以检测仓库内温湿度环境变化、火情警报、夜间人体检测等,通过串口发送到上位机报警,若出现火情,警示灯亮、蜂鸣器警报响起,“0”代表无火情、无人闯入。仓库环境检测如图5-7所示。

图5-7  仓库环境检测图

当有人闯入仓库时,单片机通过串口发送有人闯入,并进行报警指示。串口调试如图5-8所示,火情警报图如图5-9所示。

图5-8  串口调试图

图5-9  火情报警图

6  总结及展望 6.1  总结

近年来,仓库智能巡检车在科学研究领域日益火热,体现了如今社会人工智能技术与信息科学的最新成果,其具有极其广阔的应用发展前景。

本文以一个简单的轮式移动智能巡检车为研究对象,......

6.2  展望

仓库智能巡检车设计虽然已经达到一般仓库巡检功能的标准......,在未来的工作中将进行以下几点改进:

(1)设计虽然达到了所需要的功能要求,......

(2)仓库巡检车在机械结构方面......

(3)巡检车对复杂结构环境......

在设计中出现很多问题都得到逐步解决,还有很多的问题和工作在今后的学习中有待继续进行。

为方便参考,一起打包的资料如下,可在下面链接下载!

基于单片机的仓库智能巡检车的设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/45706262

      

        本文介绍了在设计的过程的关键点,供大家参考学习,如需获取实物、或者下载链接失效、对其他单片机硬件设计感兴趣、有不明白的或者错误的,可以添加徽信biyezhan007 

 郑重声明,此文章提供给大家做参考模板,杜绝一切不良学术不良行为。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有