【《电子皮带秤硬件和软件设计案例》7800字】_第1页
【《电子皮带秤硬件和软件设计案例》7800字】_第2页
【《电子皮带秤硬件和软件设计案例》7800字】_第3页
【《电子皮带秤硬件和软件设计案例》7800字】_第4页
【《电子皮带秤硬件和软件设计案例》7800字】_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

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

文档简介

电子皮带秤硬件和软件设计案例第1章电子皮带秤硬件系统设计1.1嵌入式系统介绍嵌入式系统技术广泛应用于我们的生产生活中。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和具体应用相结合的产物,一般由嵌入式处理器、外围硬件设备、操作系统、应用程序组成。1.1.1嵌入式系统组成嵌入式系统由硬件和软件组成,其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等多方面的内容。嵌入式系统的硬件和软件必须根据具体的应用任务,以功耗、成本、体积、可靠性、处理能力等为指标来进行选择。嵌入式系统的核心是系统软件和应用软件。1.1.2嵌入式系统的发展嵌入式系统的发展历程大致分为四个阶段,下面依次介绍。第一阶段:嵌入式系统的发展历程较为悠久,可以说它是伴随着数字计算机的一起出现的。但早期的计算机主要器件由电子管、晶体管等组成,体积过于巨大,因此阻碍了嵌入式系统的发展脚步。早期系统以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制、飞机、导弹等武器装备中。这一阶段系统的主要特点是系统结构和功能都相对单一,比较适合于各类专用领域。第二阶段:随着微处理器的出现以及并行技术、先进控制、强有力的中断系统、操作系统等技术的发展,嵌入式系统取得了快速的发展。微处理器的广泛应用为嵌入式应用市场打下了坚实的基础。这一时期系统的主要特点是计算机硬件出现了可靠性高、功率损耗低的嵌入式处理器,如PowerPC、ARM、MIPS等;同时,各类商业嵌入式操作系统开始出现并得到迅猛发展。此类嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好、操作系统内核小、效率高,并具备高度的模块化和扩展性;具备文件和目录管理、多任务、网络支持、图形窗口以及丰富的用户界面等功能;具备大量的应用程序接口;开发应用程序简单、嵌入式应用软件丰富。第三阶段:得益于微电子技术快速发展,片上系统技术使嵌入式系统越来越小,功能却越来越强。随着NoC(NetworkonChip)的出现,以及Internet技术与信息家电、工业控制技术等的结合日益密切,嵌入式系统的网络化趋势将推动其更加快速的发展。第四阶段:随着5G技术的逐渐落地,嵌入式系统技术的发展也将追随5G的脚步,一直继续向着性能更强、功能更丰富、体积更小、操作使用更便捷、耗能更低方向发展,为人类生产生活提供便利。彻底实现人-物及物-物间的互联互通。嵌入式系统的另一个发展方向将会是向着实现智慧化、智能化的生活目标迈进。1.2主机系统总体设计本系统主要以单片机STM32F107RC为控制核心,配合外围功能器件构成电子皮带秤的硬件框架。其中外围功能器件主要有:用于提供动力的电源模块,用于提供心跳功能的时钟模块,用于程序下载和驱动调试的J-Link接口模块,用于采集重量模拟信号的A/D模块﹐用于实现速度脉冲信号采集功能的中断和片上外设RTC(RealTimeClock)模块,用于实现输出模拟控制信号的片上外设DAC和AD694模块,和用于实现人机交互功能的矩阵键盘模块和LCD液晶显示器模块等模块组成。硬件电路设计软件选择AltiumDesigner。1.2.1STM32F107RC启动模式对于STM32F107RC单片机,可以通过BOOT0和BOOT1两个引脚配置不同的启动模式。通过设置BOOT引脚的电平状态,配置STM32F107RC单片机的启动模式。本设计采用直接将BOOTO引脚接地,即将BOOTO引脚的电平拉低,选择从FLASH存储器启动单片机。1.2.2STM32F107RC的电源供应STM32F107RC单片机的主电源VDD的电压范围为2.0V-1.6V。内部的数字电源电压为1.8V,通过一个电压调节器调节得到。当VDD断电时,由备用电池为实时时钟(RTC)和备用寄存器提供电压。如果在应用中没有为之提供备用电池,VBAT引脚并不能简单的悬空处置,而是必须将其与主电源VDD相连接。1.2.3主机电路设计(1)时钟模块主频选用12MHz晶振,时钟RTC频率选用32.768KHz.(2)复位电路主芯片为低电平复位,将复位管脚NRST与电容相连后接地,也可将电容并联一个开关,用来方便调试。当上电一瞬间,电容充电将电路导通接地,将复位管脚NRST电平拉低,在电路稳定后,电容则相当于断路,复位管脚NRST保持高电平状态,单片机完成了启动并开始工作。(3)下载调试电路程序下载电路采用SWD接口电路,SWD接口包括VDD、SWCLK、SWDIO和GND四条线。1.2.4称重信号采集模块设计将模拟量转换成数字量的器件称为模数转换器(简称A/D),本设计所采用的电阻应变式称重传感器的原理是把力引起的电阻变化转换为电压变化而输出。因为电压信号为模拟量,需先被转化为数字量才能被单片机处理。本设计为了使测得数据达到高精度要求,模数转换模块采用HX711芯片。HX711是一款高精度24位A/D转换器芯片。它的优势在于其内部集成了时钟振荡器、稳压电源、以及可编程放大器等电路。具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。因为内部集成有放大电路,可处理接收到的小信号,提高了测量的准确度。HX711模块电路连接如图所示,输入通道A1用来接收传感器输出的小信号,输入通道B1主要用于电池电压等系统参数的检测。对于RATE,XI和SCK等所有数字输入管脚,因芯片内部无上拉或下拉电阻,所以不应悬空。DOUT是数据输出管脚与单片机的PB12输入引脚相连,且引脚PB12不应接上拉或下拉电阻以减少电流干扰;SCK是时钟控制信号输入管脚,与单片机的PB13输出引脚相连。PNP管T1用于与片内稳压电源电路配合,提高电源稳定性。HX711芯片供电电源VDD需使用与单片机相同的数字供电电源;模拟电源(AVDD)应与传感器使用同一模拟供电电源。1.2.5速度信号采集模块设计PC827光电耦合器是常用的线性光耦器件,在比较精密的功能电路中较为常见,其主要作用是用于隔离上下级电路,从而达到两级电路相互不干扰的目的。普通光电耦合器只能传输开关量这种简单信号,不适合用于模拟信号的传输。线性光电耦合器是一种的光电隔离器件,能够传输连续变化的模拟信号,不同强度的输入信号会产生不同强度的光信号,使光敏晶体管导通程度也不同,输出的模拟信号的大小也随之不同。在速度信号采集模块设计中,为避免单片机受到外部信号的干扰,采用PC827光电耦合器进行信号隔离,电路连接如图所示。输入端为测速器信号和皮带运行状态信号,输出端分别与单片机的PC9、PC8引脚相连;当输入端加电信号时,发光器发出光线,照射在受光器上,受光器接受光线后导通,产生光电流从输出端输出,从而实现了“电-光-电”的转换。测速器滚轮转动时,其内部光电编码器会产生速度脉冲信号并通过测速器信号输入端进入PC827,单片机通过PC9引脚产生的外部中断信号接收脉冲信号并通过计数器统计脉冲数,借助单片机内部RTC模块产生秒中断,来实时计算出单位时间内脉冲数,从而得出需要的实时速度。设定皮带恒速条件下,皮带运行状态为ON,皮带速度=设定值,皮带运行状态为OFF,皮带速度=0。1.2.6报警信号输出模块设计在报警信号输出模块设计中,为了上下级电路相互不产生信号干扰,同样需要PC827光电耦合器,PC827的两输入端分别与单片机的PA9、PA10引脚相连接,而输出端分别与LD、LC两端子连接,其中LD为上限报警输出端,LC为下限报警输出端,两输出端的输出电压均为+18VDC,共18V地。报警信号输出电路图如图1.2.7数据存储模块设计不仅要把采集到的数据通过液晶屏实时显示出来,还要保存起来用于以后的查阅,设计采用芯片AT24C1024作为历史数据存储器,该芯片在掉电情况下数据也不会丢失,能满足保存历史数据需要。具体电路设计如图所示。为增强单片机的驱动能力,单片机引脚PBl1、PBl0需要接上拉电阻,这样可以保证单片机对AT24C1024芯片的驱动能力。芯片引脚1、2、3、4接地,7脚低电平有效,6脚为时钟线,7脚为数据线。1.2.8键盘模块键盘这个人机交互接口在生活中很常见,被广泛应用于电子产品及控制系统中。设计一个嵌入式控制系统产品并且有功能丰富的接口,合理分配及利用有限的微控制器I/O接口资源是整个设计中需要设计人员认真权衡的一个重要环节。另外考虑到作业现场存在静电、水汽、烟尘等环境因素,在电子皮带秤主机的设计中,把4x4的矩阵薄膜键盘作为首选。在按键数量较多的场合,矩阵键盘与独立式按键键盘相比,可节省I/O口线,提高I/O口资源利用率,实现通过8个IO口控制16个按键的效果。按键实现的功能主要包括:数据输入,数据查询,功能数据确认和修改等。其中参数设置项主要包括:日期时间,皮带速度参数,物料流量的上下限,零点标定等。矩阵键盘工作原理如图所示。1.2.9液晶显示模块设计设计所采用的LCD19264是一种图形点阵液晶显示器。可实现各种图案的显示,通过行列选择线来控制要显示内容在屏幕中的位置,采用8位并行I/O通信。设计所采用的显示器使用寿命长,连接可靠,性价比优越。该液晶显示器有以下的特性:点阵数为192×64,通过打点方式可实现各种图形的显示。包括汉字、字符、图案等的显示,一屏幕最多显示48个16×l6点阵大小的汉字。采用8位并行数据总线和5条控制总线与单片机进行数据交互,单片机通过指令加数据的方式操作显示器的输出显示。显示效果:蓝底黄字。接口方式:并口。LCD显示屏模块的电路设计如图。液晶屏驱动电压为5V,需要将其接到5V电源上才能正常工作。1.2.10模拟信号输出模块设计AD694是一款电压-电流转换器(D/I转换器)芯片,它适合要求以抗干扰方式传输4-20mA信号,用它代替工业过程控制、工厂自动化和系统监控等各种应用中的分立设计,可以提高抗干扰性,降低功耗,降低成本,提高设备整体运行稳定性。在该模块设计中选用了AD694这款芯片作为D/I转换器,与单片机内部集成的数字模拟转换器(DACO)配合使用,实现了把单片机内部的物料流量量程数字信号以对应的4-20mA电流信号的形式输出,其中物料流量为下限时输出4mA,物料流量为上限时输出20mA。此D/I转换器支持+2.5V~+36V宽电源电压范围,设计采用了18V的供电电压,其中VS为电源引脚。独立模拟信号输出模块电路图如图所示。1.2.11主机电路原理图主机电路是以ARM单片机为核心的电路。包括STM32嵌入式单片机、称重传感器信号放大与数据采集、D/A输出及调理、速度传感器信号采集、LCD显示、DI和DO信号等。设计的系统电路原理图如图所示。1.2.12电源供电模块设计电源设计中把220V交流电源转换成24V直流电源。D2为保护电路的二极管,D3为发光二极管用作指示灯。STM32F107RC的供电电压为1.3V,考虑到LDO线性稳压芯片AMS1117-1.3(U5)的输入电压范围是2.75V到12V,故先将24V直流电源经78M12(U4)稳压管稳压得到12V再通过线性调节得到1.3V直流稳压电源。其中C15为输入电容,作用是防止断电后出现电压倒置;C16、Cl7为输出滤波电容,作用是抑制自激振荡和稳定输出电压。经7805(U7)稳压管得到5V直流电源用于给LCD液晶显示器提供电源;其中18V直流稳压电源由7818(U9)稳压器稳压得到,用于向D/I转换器AD694、测速器和报警信号提供稳定电源。本系统的电源模块供电设计电路图如图所示:第2章主机系统软件设计2.1软件开发环境嵌入式系统软件设计经常使用语言有C语言及汇编语言,后者主要用在一些对性能要求苛刻的场景中,比如涉及到内存操作、中断处理等场合。C语言容易在不同平台之间移植、易于学习、性能高,成为了嵌入式系统开发领域中最受欢迎的语言。软件开发环境的统一利于一个团队的协作,开发过程中还会涉及到一些辅助开发软件比如串口调试助手,网络调试工具等。2.2主要设计工作流程软件设计工作主要围绕几个核心任务展开,核心任务包括称重传感器信号采集任务、速度传感器信号采集任务、按键扫描任务、显示控制任务,其中显示控制任务主要负责实时数据的显示、历史数据查询和参数设置等功能的实现。主要任务调度流程图如图所示。2.3系统初始化流程设计任务在运行前需要做一些初始化工作,包括看门狗初始化,系统时钟的配置,用户IO初始化,定时器和中断初始化,LCD初始化,A/D、DIA初始化及启动看门狗。系统初始化流程图如图所示。2.4称重信号采集驱动设计从A/D转换器数据输出时序图中可知,其支持A、B两个模拟差分输入通道,通道A支持64倍和128倍两种可编程增益,两种增益支持的输入电压范围分别是±20mV与±40mV,而通道B仅支持32倍一种增益,支持的输入电压范围为±80mV。由于称重传感器输出的电压信号较小,故选择通道A的128倍增益较合适。第24个时钟脉冲之后的一到三个脉冲是用来设置A/D转换器的输入通道和增益,单片机通过时钟线向A/D转换器输入的脉冲总数应严格限制在25~27范围内,否则串口通讯将可能出现意想不到的BUG。设置输入通道或增益后,需跳过4个数据输出周期内输出的无效数据。HX711数据输出时序图如图所示。MCU与该芯片的通信原理分析如下:A/D转换器HX711芯片通过时钟线控制数据线输出数据。根据电阻应变式称重传感器输出的信号比较微弱的特点,设计选择使用A输入通道的128倍增益,将传感器的电压信号放大128倍后,经A/D转换后以24位二进制数序列的形式输出,单片机可按时序依次将24bit数据读出。接收数据原理是:首先拉低时钟信号线电平,同时不停的检测数据线管脚的电平状态,当检测到数据线管脚的电平为低时,说明此时可以准备接收来自A/D转换器的输出数据了,此时可在时钟线下降沿读取数据,当接收数据动作来到第24个时钟脉冲下降沿时,标志此次数据输出完成,可准备进行下一次数据的读取动作。HX711采样流程图如图所示。2.5速度信号采集模块测速传感器通过其内部的齿轮比和光电信号相结合,将所测的实际长度以脉冲的形式输出,借助单片机内部RTC模块产生秒中断,来实时计算出单位时间内脉冲数,从而得出需要的实时速度。2.6LCD显示驱动程序设计设计的智能型电子皮带秤采用LCD19264图形点阵液晶显示器,显示器可以显示12*4个汉字,也可完成图形、字符的显示,可以通过主板中的电位器调节其亮度和对比度。液晶屏在上电初始化后会进入实时数据显示界面,通过功能按键可以进行参数设置,功能设置及查看历史数据信息。根据液晶屏的读写操作时序图可编写相应的驱动程序。操作液晶屏的具体流程如图所示。2.7矩阵键盘驱动程序设计矩阵键盘驱动设计采用行列扫描的方式获取按键的位置,矩阵键盘的4根行线对应的GPIO口均设为输出,4跟列线对应的GPIO口均设为输入,首先对矩阵键盘的行全部输出低电平,扫描全部列引脚﹐若第一次扫描列引脚时出现低电平引脚(即有按键按下)时,可延时10ms再次操作上述步骤进行验证用于消除抖动,避免对一次按键产生多次误读,造成多次误操作;在确定有按键按下后,依次对矩阵键盘的各行输出低电平,当对某一行输出低电平时,扫描列引脚对应的电平值用于确定具体的按键位置。接着调用对应的按键处理子程序实现按键的业务逻辑处理。按键操作流程图如图所示。2.8RTC实时时钟驱动程序设计由于RTC模块和时钟配置系统(RCC_BDCR寄存器)位于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。故上电初始化后,首先读取配置标志寄存器(BKP_DR1)的值判断是否是第一次配置,若是,则具体配置流程如图所示。若不是第一次配置则可直接跳过时钟配置动作。2.9数据存储模块驱动程序设计Inter-IntegratedCircuitBus简称I2CBus,由Philips公司推出,是一种采用串行数据传输方式并用于集成电路中器件间的数据通信协议。I2C总线的含义是:完成集成电路或功能单元之间信息交换的规范或协议。I2C协议非常适合集成电路之间的通信,I2C是芯片间和芯片内低/中带宽数据传输最常用的串行协议。I2C总线协议仅使用数据线(SDA)和时钟线(SCL)两条线实现器件之间的数据通信功能。设计采用I2C总线协议实现单片机向数据存储芯片AT24C1024写入数据以及从芯片读取数据,I2C驱动设计采用IO模拟方式实现,方便移植。AT24CXX系列的器件地址高四位固定为1010,接下来是A2、A1、AO需根据器件连接来决定具体值,因为在原理图中将此三个引脚均接地,所以是000,最低位为读写选择位,值取1时从芯片读数据,O时则是向芯片写入数据。I2C总线读写数据的时序图如图2.9所示。根据时序图编写相应的驱动程序。2.10数字滤波程序设计信号的采集现场环境复杂而多变,真实信号中会混入多种未知的噪声。为了减小现场恶劣作业环境对采样数据的干扰,就需要对采集数据进行校正。本文使用的数字滤波技术是一种利用软件对采集到的数据进行剔除干扰的方法。数字滤波方式实现更方便、灵活,由于不需要硬件设备,因而可靠性高,稳定性好。数字滤波器可以对频率很低(如0.01Hz)的信号进行滤波,在本次电子皮带秤主机设计中,采用数字滤波技术先对A/D转换器采集到的信号数据进行滤波处理,然后在利用滤波处理后的数据进行业务逻辑处理。数字滤波算法选择的好坏将会影响到数据采集处理的速度和精度,应根据具体的信号频率特征和实时采集速度选择合适的滤波算法。目前工业上使用的数字滤波算法主要有:算术平均滤波法、中位值滤波法、中位值平均滤波法、滑动平均滤波法、限幅滤波法、限幅平均滤波法等,下面分别对常用的数字滤波算法进行分析。1、算术平均值滤波算法算术平均值滤波法的原理是通过n次连续采样值的算术平均值来实现对采样数据的滤波处理。算术平均值法对抑制周期性和随机性干扰效果较佳,信号的特点是有一个平均值,信号在某一范围附近浮动。如液位、压力、流量等信号的测量。但不适用于脉冲干扰较为严重的场合。采用这种算法选取一个合适的n值很重要,应视具体情况确定n值。2、中值滤波算法中位值滤波法指对被测参数连续采集N次数据,其中N一般取奇数,然后把所得数据进行从小到大或从大到小排序,取中间值作为本次采样有效值。中值滤波可有效滤掉因偶然因素引起的波动或采样器自身产生的脉冲干扰,适用于温度、液位等变化缓慢的参数信号的滤波处理,不适用于速度、流量等快速变化的参数检测场合。3、限幅滤波法确定两次采样允许的最大偏差值X(X的值具体情况而定)每次检测到新值时判断:如果本次值与上次值之差<=X,则本次值有效;如果本次值与上次值之差>X,将其舍去,用上次值代替本次值。处理因偶然因素引起的脉

温馨提示

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

评论

0/150

提交评论