《基于STM32的防酒驾控制系统设计》12000字(论文)_第1页
《基于STM32的防酒驾控制系统设计》12000字(论文)_第2页
《基于STM32的防酒驾控制系统设计》12000字(论文)_第3页
《基于STM32的防酒驾控制系统设计》12000字(论文)_第4页
《基于STM32的防酒驾控制系统设计》12000字(论文)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

III第3章系统的硬件平台设计3.1嵌入式系统结构设计防酒驾嵌入式系统外围输入模块、处理模块和输出模块三个主要环节组成,根据第2章确定的系统架构,以根据单片机为核心,结合外围电路组成嵌入式防酒驾系统。单片机在系统中相当于大脑,是连接输入与输出的桥梁,使得看似没有直接关系的输入/出模块内部形成一定的信息传输路径。系统在运行过程中,缺少任何环节系统都无法正常工作,若没有输入信号,则系统无法输出结果,若系统只有输入没有输出,则该系统无法满足产品需求,下图是本嵌入式防酒驾系统结构图。图:嵌入式系统结构图3.2控制中枢模块与外电源转换电路3.2.1控制中枢模块介绍在防酒驾系统控制中枢核心是ST公司型号STM32单片机芯片,本次选用的是STM32芯片,STM32芯片是STM30的芯片升级版,保持I/O兼容性,但是运行速度更快、内存较丰富,价格便宜等优势。ST公司型号STM32单片机芯片由定时计数器、中断处理器、数据寄存器、数据处理器等四个部分组成。定时计数器是硬件上由触发芯片和定时晶元组成,在系统主要作为定时器与计数器使用,STM32芯片有2个定时器与1个计数器,运用一定软件配置,定时器与计数器可以相互转换;中断处理器在硬件上由SIC片和晶元组成,STM32芯片一共有5个中断处理器,其中中断0优先级最高,中断4优先级最低,中断0一般用在复位信号中,可以无条件响应;数据存储器在硬件由磁头、磁芯和磁盘组成,由内到外像涡流状,上面有上亿个存储小单元空间,每个小空间都有独立的地址,每个小空间可以存储8个字节;数据处理器一般有软件配置而且,当数据从存储器调用出来后会进入处理器进行处理,处理的后结果再次存入存储器,然后由输出模块调用处理后的数据送入显示模块[7]。ST公司的STM32系列单片机芯片与STM32系列芯片供电范围一样,为3.3V±0.2V,芯片内部的通流能力固定,当供电电压低于3.1V时,电源的供电功率达不到单片机芯片最小启动功率,会造成单片机芯片无法正常工作,很多字模块无法运行;当供电电压超过3.5V时,电源的供电功率超过单片机芯片最大的启动功率会造成单片机芯片直接烧毁。ST公司的STM32系列单片机芯片内部嵌入256Kb的随机存储器(SRAM),因此不用外部额外扩展随机存储器,使用STM32芯片的系统在运行速度相比于其它内部不嵌入SARM会更快。另外ST公司的STM32系列单片机芯片很多GPIO具有复合功能,比如PA6与PA7通过软件可以配置成普通GPIO口或者串口,作为普通GPIO可以作为输入输出口,当作为串口时,可以为程序下载口或者通信口。下图是ST公司的STM32系列单片机管脚功能图。图:ST公司的STM32系列单片机管脚功能图3.2.2单片机最小系统电源转换电路一般嵌入式设计系统输入电压为市电AC220V,经过整流降压与滤波稳压输出DC5V,下图是电源转换示意图:图:电源转换示意图ST公司的32系列MCU芯片工作电压为3.1~3.5V,参考标准电压是3.3V,设计系统输入电压为AC220V,经过适配器整流和降压后输出DC5V到设备电源输入端,然后在经过二次降压输出MCU芯片工作电压,采用AMS1117-3.3LDO芯片,可以把DC5V直接转化为3.3V输出,AMS1117-3.3具有低功耗输出稳定等特性,但是对输入电压要求比较高,会随着输入电压变化输出随着变化。下图是电源转换示意图:图:电源转换示意图3.3主要输入与输出信号电路设计3.3.1酒精采集电路设计本文所用的酒精浓度检测的传感器是MQ-3在设计该检测电路的时候只需要运用简易的电路就能把电导率的改变变为与检测酒精气体的浓度变化相对应的信号值。MQ-3型酒精传感器主要特点是灵敏度很高、响应速度快、精度很高而且抗干扰能力强,例外该器件可以长期稳定工作,不会出现老化现象,因此得到了广泛使用。在使用MQ-3型酒精传感器需要注意,酒精传感器在检测信号之前需要启动预热一会才可以使用。本文设计了下图酒精信号采集电路。图:酒精采集电路接线图从上图接线图可知,酒精传感器共有6个引脚,1、2和3号接电源VCC,2号引脚与5号引脚之间有一个电阻丝,随着气体浓度变化,阻值也会发生改变,例外5号引脚串联一个大电阻接GND,形成了分压电路,6号引脚(jiujing)与单片机相连接,4号引脚串联一个电阻接GND。其中6号引脚输出的模拟信号,经过单片机模数转换后再进一步处理。3.3.2LCD1602液晶屏显示电路设计LCD1602液晶屏是在HD44780液晶屏的基础开发而成,主要区别是HD44780是由物理信号控制的,而LCD1602由数字量控制,因此控制准确度更高。LCD1602主要有显示晶元、处理单元和存储器组成。显示晶元是对外设备,人机交互界面;LCD1602由DDRAM、CGRAM与CDROM三类存储组成,分别存储不同的内容,其中DDRAM存储控制中心发送的数据,CGROM存储处理单元输出数据,CDROM存储液晶屏底层显示程序。LCD1602液晶屏的管脚功能如下表所示:表:LCD1602液晶屏的管脚功能LCD1602液晶屏供电电压范围5V±0.5V,额定电压是5V,本系统输入电压为5V,因此不需要额外增加电源转换电本系统使用的是5V电压。该液晶显示模块采用双电源供电,一路是系统硬件单元供电另一路是背光电源,背光电源电路由电位器控制,通过调整电位器阻值控制背光亮度,从而使控制液晶屏的清晰度。LCD1602共有8根数据线,总共可以显示28种类字符,液晶屏处理单元收到控制中心发来的二进制数据,经过字符变量对比输出需要显示的内容。3.3.3蜂鸣器和继电器驱动与控制电路设计在本设计系统选用蜂鸣器作为报警装置,常用的蜂鸣器有两种有源和无源,无源蜂鸣器功耗低、控制电路简单,可以直接用单片机GPIO口直接控制,但是报警声音很低,不适合本设计系统中使用,有源蜂鸣器需要外部供电,因此具有报警声音大与可以用PWM波控制输出动态音量。蜂鸣器供电电压范围为5V±0.5V,额定电压为5V与系统输入电压相同,因此不需要额外增加电源转换电路。另外蜂鸣器的启动功耗为0.3W,但是单片机GPIO最大功耗只有0.2W低于蜂鸣器的启动功耗,为了提高单片机GPIO管脚带载能力,选用三极管进行控制,在设计的电路中三极管工作在放大区,采用8050型号的三极管,放大倍数默认是100,所以满足本系统设计要求,下图是蜂鸣器驱动与控制电路。图:蜂鸣器驱动与控制电路在上图中,当三极管8050处于断开状态下,蜂鸣器供电电源被切断,因此蜂鸣器处于关断状态,反之只要三极管8050导通,则系统供电正常,蜂鸣器启动运行。电阻R1是限流电阻,防止因为三极管突然短路造成电流过大烧毁单片机GPIO口。默认情况下,单片机GPIO口PA4处于低电平,让三极管处于关闭状态,当PA4电平由低电平跳变成高电平,三极管8050导通,蜂鸣器启动运行,本文控制系统蜂鸣器不要动态调整音量,因此蜂鸣器驱动占空比始终保持为1或者0。继电器驱动控制电路同样采用三极管控制,与蜂鸣器相同。3.4系统硬件原理图设计系统功能与元器件选型确定后就进入原理图设计环节,原理图把系统需要的元器件按照功能电路进行电气连接,目前常用的原理图绘制软件有Protel、AltiumDesigner、Candence等工程软件,这些电子线路设计软件都是在TANGO软件包开发的,Protel是TANGO升级版,集成了印制电路板设计与仿真功能,为了简化设计复杂度与增加快捷键,AltiumDesigner是Protel衍生版本,后来Protel逐渐被AltiumDesigner所替代,目前常用的AltiumDesigner版本为AltiumDesigner10与AltiumDesigner15。Candence主要用在高速电路板设计上,集成了强大高度电路仿真能力,一般用在手机主控板、电脑主板等方面上。防酒驾原理图与PCB采用AltiumDesigner10软件进行设计,根据本系统需要实现的功能设计模块电路图,具体绘制步骤如下:列出本系统使用的元器件,根据元器件规格书尺寸图在AltiumDesigner10软件中绘制对应的封装图,若之前所用过的器件则不需要再绘制封装图;建立防酒驾工程文件,并且在工程文件下添加原理图与PCB工作簿,在原理图绘制界面调出本系统需要的元器件;原理图设计完成后,对所有的原理图进行检查,若检查无问题导入到PCB工作簿中;根据产品的内部结构绘制印制电路板的尺寸,确定功能模块布局,并进行走线绘制与辅铜;走线绘制与辅铜完成后进行DRC(电气关系)检查,若没有问题,在接口或者关键部分标出丝印。下图是原理图设计流程图。图:原理图设计流程理图3.5本章总结本章详细阐述了系统的硬件架构组成,介绍了控制中心中最小系统电路与电路设计思路与硬件电路组成,从功能上介绍了系统外围电路组成硬件电路部分,最后对原理图设计。第4章系统软件平台设计4.1嵌入式软件开发环境与工具嵌入式软件结构由一系列功能模块程序与底层模块程序组成,底层模块程序一般MCU在出厂时已经固化在芯片内部,软件设计时直接调用即可,在底层程序基本上进行应用程序和通讯程序设计。4.1.1嵌入式软件开发环境ST公司51/STM32单片机芯片开发软件都可以用Keil软件,51系列使用的KeilC51版本,STM32使用的是KeiluVision版本,Keil软件是德国KeilSoftware推出的,目前意法半导体公司生产的单片机芯片都可以使用Keil软件作为编译环境。Keil软件是图形化界面,快捷方式便利并且可以自定义快捷键,结合仿真器可以对设计软件进行在线编译、仿真与修改。Keil软件层次结构明了,芯片的底层程序已经嵌入到软件中,只要确定芯片种类,底层程序就自动被调用。其中Keil有以下特点:Keil软件可以在多种操作系统中使用,如WINXP、WIN7/10、Linux、Ubuntu等多种操作系统;Keil软件结合仿真器支持在线调试与仿真实验,可以使得软件单点或者多点运行;Keil有多种快捷方式并且可以自定义,极大促进了软件发开效率,常用程序编写错误可以实时提示,当在软件编译出现错误时可以快速定位错误位置,增强软件运行速度。4.1.2嵌入式软件开发工具在嵌入式软件开发过程中,若需要实现软件在线编译、修改与仿真,则需要仿真器工具,其中仿真器相当于虚拟硬件,可以软件进行“跑”,在软件开发初期充当硬件实物使用,另外使用仿真器给系统烧写软件速度很快。4.2嵌入式软件框架和工作流程4.2.1嵌入式软件框架介绍嵌入式软件框架主要包含底层软件架构与应用软件框架,底层模块程序一般MCU在出厂时已经固化在芯片内部,产品的规划时功能模块程序的确定尤其重要,应用软件是系统需要实现的功能进行撰写,下图是嵌入式软件架构。图:嵌入式软件架构4.2.2嵌入式软件工作流程嵌入式软件启动后,首先系统自动复位一次,对变量进行清零,然后进入初始化模块程序,然后控制中下发指令到系统输入模块,把传感器采集到的数据送入控制单元,控制中心对收到的数据经过一些列处理后,处理后的数据送入存储器,当需要数据输出后,控制中心下发输出指令到输出模块,最后数据模块调用刚才存储器里面数据。下图为嵌入式软件工作流程图。图:嵌入式软件工作流程图4.3主要系统信号采集与处理程序设计4.3.1按键检测程序设计当程序中定义的I/O口引脚检测到时低电平,则程序进入按键中断处理程序,延时1ms后,若引脚继续检测到低电平,则确定按键按下,执行相应的子程序,实现功能。按键执行流程图如下图所示。图:按键程序执行流程图4.3.2酒精浓度测量程序设计本文设计的控制系统模块酒精浓度测量使用的是MQ-3传感器,其原理是把采集到的酒精浓度转化为电压信号送入A/D转换器,然后经过A/D处理后转换为相应数字信号发送到单片机,经过控制中心内部处理后输出酒精浓度信号。这里主要阐述单片机内部把采集酒精浓度数字信号时如何转换为相应的酒精浓度信号。下面是转换的核心程度。U8Get_Adc_Average(u8ch,u8times){ U8temp_val=0; u8t; for(t=0;t<times;t++) { temp_val+=Get_Adc(ch); delay_ms(5); } returntemp_val/times;} adcx=Get_Adc_Average(ADC_Channel_0,3); ligh=(float)adcx*(3.3/255)*1.5*100%;其中adcx值就是A/D转换的数值,ligh是转换为对应的酒精浓度值,其中浓度变化范围是0-100%之间。下图是程序运行流程图。图:酒精传感器程序运行流程图4.4本章小结本章前面主要对嵌入式软件开发环境、系统框架与软件开发流程进行定性描述,然后软件结构组成部分进行说明,最后对各个功能模块软件运行流程图进行说明,从功能上介绍了各个子控模块(信号采集、信号处理与信号输出等)软件运行流程图。

第5章系统调试与数据分析5.1系统调试环境搭建在软硬件系统设计完成后,可以先用万用板(面包板)焊接出实物,确定系统满足设计要求后把设计好的PCB进行打样与焊接,调试环境主要包括焊接实物、供电电源、示波器和万用表等工具。其中实物焊接主要分为以下步骤:把元器件进行功能模块分类,如单片机最小系统、电源转换电路、信号采集电路和信号输出电路所用的元器件放在一起,并且用万用表测量电阻阻值、电容容值、二极管极性是否在正常范围内;在万用板(面包板)上确定结构布局,纵向一般采用输入信号靠近板子下端,板子中间为单片机最小系统,最上端为输出信号端;横向一般采用左侧信号输入端,中间为信号处理端,右侧为信号输出端,所以本系统布局为:下方为电源输入接口,中间为单片机控制中心;防酒驾系统布局完成后,把各个功能模块元器件依次插入到在面包板上;元器件放置在面包板上后用电烙铁进行焊接,首先把元器件固定在面包板上,然后用斜口钳剪去元器件多余的管脚,最后根据电气关系进行系统线路焊接;最后一步检查,主要包括虚焊、漏焊接不良检查、短路检查、功能模块电路检查、电气关系检查等。如下图为焊接的硬件实物图。图:系统调试平台由于系统输入电压为DC5V电压,嵌入式设计系统输入电压为市电AC220V,经过整流降压与滤波稳压输出DC5V,然后DC5V到防酒驾系统电源输入口。5.2防酒驾系统调试系统调试主要分为软件调试、关键器件调试与硬件调试,其中软件测试包括系统在线仿真(运用仿真器)、功能模块运行参数确定和中断优先级判断等方面;关键器件调试包括电源转换芯片参数调试、输入与输出信号灵敏度调试;硬件调试主要包括系统功能性验证。5.2.1系统软件调试系统软件编译没有问题后,进入在线仿真后,首先单步运行查看系统流程是否满足设计要求,若不满足则需要调整软件结构,当满足设计要求后,判断各个功能模块默认参数是否正确,子函数定义是否合理,最后给程序打不同的断点确认中断优先级是否正确。经实际调试后防酒驾都满足系统要求5.2.2关键器件验证启动系统电源,测量系统各处电压是否正常,实际测试所有电压都正常,按键复位按键,让系统手动复位一次。经过实际测试,单片机芯片可以正常工作。5.2.3系统硬件调试在本次撰写的软件编译无Bug后,用下载器或者放置器烧写到单片机芯片中,开始进行功能与性能验证,主要从以下三个方面调试。(1)功能验证:经过上步验证没有问题后,进入功能验证,对着系统功能设计要求,逐一验证所有所有功能,经过实际功能验证,设计的系统完全满足设计需求;(2)可靠性验证:把产品实物放在高温40度环境中运行8小时,经测试,本设计系统可以在高温40度环境稳定运行。5.3系统整体调试结果分析5.3.1调试数据分析防酒驾系统在实际环境运行时,会因为环境系数(温湿度、噪音等)参数或者人为操作不当带人的动作误差或者系统本身特性会影响系统的系统运行,在测试设备和测试方法上造成一定的干扰因素从而影响系统的输出结果不满足设计要求,从而在某一当面会干扰到系统采集到的输入参数与实际输入的参数有差距。防酒驾系统在实际环境中运行时,输入信号经过采集端到数据处理中心由于系统自身原因有一定时间的延时,从而造成系统处理的参数不精确产生一定量的误差。由于误差量的存在使得系统输出结果不是真实值,因此需要去除误差,在现代系统控制中主要运用修正的策略来弥补现实环境中的误差,因此需要找出适合本系统的修正值,修正值的确定有以下几种方案。查找书籍、影像资料或者相关手册资料,看之前相关方面数据出现误差是如何修改得到准确的修正值;经过大数据模拟分析,寻找一条适合本系统的修正系数,然后使用该修正系数反推原始值,看原始值与系统输入信号值是否相近,反复进行迭代直到找到本系统的修正系数;选取多个测试样本,在不同的环境下进行试验,看得出的结果是否一致,若不一致则系统属于离散系统,否则属于线性系统。在离散系统需要采用动态参数进行修正,在线性系统中可以采用固定系统进行修正,从而保证测试结果符合预期结果。本系统属于智能控制简单的系统,对控制要求不高,因此采用方案一就能得适合系统的修正值,从而确定系统的输出结果满足要求。5.3.2测试问题定位与解决电源异常:系统首次上电,发现系统无法启动,然后立马切换电源进行对供电系统检查。首先拔掉系统电源线,然后用万用表阻抗档位测量系统电源正负极有没有短路,测试发现是正常的,然后单独给电源线供电,并用万用表直流电压档测量5V电源是否正常,测试同样正常,可以排除外部供电电源问题;接下来把电源线接入到系统并且去掉单片机芯片和液晶模块,然后接入5V电源,测得系统开关处5V电源正常,断电后;接下来把液晶模块接入系统中,接入5V电源,同样测得5V电源正常同是液晶屏正常显示;但是把单片机芯片接入系统中,发现系统电源无法工作,经测量发现单片机芯片管脚电源正负极短路了,主要是焊接连锡造成的,当用电烙铁把连锡去掉,系统电源工作正常。(2)系统频繁死机:系统在运行时,当输入连续采集信号,极易造成系统死机,而且系统也不会启动自复位程序。经过程序在线仿真发现当系统在一个周期内连续给定两次输入采集信号,造成软件在两种中断出不来,进行反复循环运行。造成此种Bug是因为两种中断采用同一定时器原因,当把中断1采用定时器0,中断2采用定时器1,此种问题就可以解决。(3)按键失灵:当系统启动后,按下按键有时候会出现指令无效,经查发现按键2脚与1脚连锡了,一直处理导通过程中,软件判断为无效输入。5.4本章小结本章详细阐述了系统调试环境的搭建,软件、关键器件与硬件系统的调试,以及对测试结果结果进行分析以及提出可以解决的措施。第6章总结防酒驾系统从选题、确定系统方案、软硬件设计到最后系统测试是一个产品完整的设计流程,本次嵌入式智能系统设计完成后,当多次系统输出结果都满足设计要求后,给我内心动力提高很深。在智能系统开题时,无法想象自己的所学水平能否完成整个系统设计,经过去网上搜集资料与请教老师同学把系统的实现方案确定了、关键器件选型确定了、软硬件部分到最终调试。通过防酒驾系统的设计使我掌握了很多课本上无法学到的知识,很好的把理论与实际相结合,为了走上工作岗位上打下坚实的基础。本文主要阐述防酒驾系统研究背景与意义、系统架构与方案确定、硬件与软件设计,在系统硬件与软件设计完成后进入系统调试与功能性验证,再到系统调试环境搭建、软硬件调试、关键器件测试、测试数据与问题分析等方面。智能控制器STM32单片机为系统控制中枢开发的防酒驾产品主要包括系统嵌入式硬件模块部分和嵌入式软件部分组成。嵌入式硬件由STM32系列MCU最小组成架构、和电源电路等组成。通过外部电路采集到的信息传输到控制中枢,经过MCU处理后把处理后的结果输出到执行机构,从而执行结构执行系统输出的结果。嵌入式软件主要包括总系统运行流程,总流程里面嵌入各个子控模块运行流程图。因此智能防酒驾产品的出现,推动了此产品和相关行业快速发展。参考文献马钧元.基于ZigBee技术的智能家居网关节点的设计与实现[D].重庆邮电大学,2012.吴必造.基于Linux的智能家居控制终端系统的设计与实现[D].电子科技大学,2013.张祥忠.矿井WLAN终端设计及其漫游切换技术研究[D].中国矿业大学,2015.陈海川.基于小型无人机的GPS数据及图像采集系统[D].电子科技大学,2009.周浩.嵌入式软件测试的研究与实现[D].大连理工大学,2009.张献忠.操作系统实用教程[M].北京:电子工业出版社,2010.胡志刚,谭长庚.计算机操作系统[M].湖南:中南大学出版社,2005.王晶.基于PowerPC的嵌入式通信平台的研究与实现[D].西安电子科技大学,2008.包依勤.基于物联网技术的智能家居系统的研究与探讨[J].物联网技术,2013,7(10):38-41.高绍斌.基于声波的近距离无线通信系统研究与设计[D].太原理工大学,2014.WeiX.TheapplicationofZigbeetechnologyinthede

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论