找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于PIC16F628单片机的便携式电子秤

[复制链接]
admin 发表于 2013-4-8 02:23:01 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本文介绍了一种基于PIC16F628单片机的便携式电子秤的测量原理,给出了原理框图,重点介绍了传感器单元、单片机单元的硬件电路与重要的软件程序流程图.  
         目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携秤为杆秤或以弹簧、拉伸变形来实现计量的弹簧秤,居民用户使用的基本是杆秤。弹簧盘秤制造工艺要求较高,弹簧的疲劳问题无法彻底解决,一旦超过弹簧弹性限度,弹簧秤就会产生很大误差,以至损坏,影响到称重的准确性和可靠性,只是一种暂时的代用品,也被列入逐渐取消的行列。多年来,人们一直期待测量准确、携带方便、价格低廉的便携式电子秤(袖珍电子秤)投放市场。
         基于电子秤的现状,本项目拟研究一种用单片机控制的高精度智能电子秤设计方案。这种高精度智能电子秤体积小、计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。
          本项目研究的便携式电子秤主要技术指标为:称量范围0~15kg;分度值0.01kg;精度等级Ⅲ级;电源DC1.5V(一节5号电池供电)。主要功能有自检、去皮、计价、累计、单价设定、计量单位选择、过载报警和弱电压指示等。仪器若不进行称量操作,5分钟后自动进入休眠模式,降低电源消耗。
         仪器的测量原理
         本文采用电容传感器进行称重,有别于目前市场上使用的应变式称重传感器。应变式称重传感器设计成本很高,难以普及,而电容传感器具有结构简单、灵敏度高、动态特性好、无接触测量、分辨力强、适应性强和抗干扰力强等优点,最大特点是价格便宜,但它的主要缺点是电容量一般很小,仅几十至几百皮法,甚至只有几个皮法,环境变化将影响电容量发生变化,因而应用受到一定程度的限制。
         在电子称重技术的应用中,可将电子线路紧靠传感器的极板以减小电缆分布电容的影响,利用微处理技术对电容式传感器的温度特性和非线性特性进行补偿。 本文采用变极距式电容传感器,它由一对距离可变的平行极板构成。两板以弹性元件相连,当向一活动板施加拉力时,两极板距离发生变化,从而改变了平板电容器的电容量。经电容-频率转换电路后,电路输出频率与电容成正比。被测物重量与电容量改变成正比,频率的改变即频差与在传感器上所加重物的重量成正比,因而变极距式电容传感器有良好的线性度。测质量时只须测出电容的变化量。然而,电容值的直接测量非常困难。因此,系统将不易测量的电容变化量转换成易于测量的频率信号的变化量,并采用高稳定参考电容生成参考频率信号,消除系统误差,实现高精度测量。电容-频率转换框图如图1所示。两路频率分别送入后级处理电路,经过数据选择、带通滤波传入单片机系统。
   0711141032334602011060819482714709.gif
  图1 电容频率转换框图
         硬件电路设计
         仪器的构成
         本文研究的便携式电子秤硬件系统由电源、电容传感器、高稳定参考电容、ICM7556定时器、MAX325多路开关、PIC16F628单片机系统、控制键盘、LCD显示等组成。测量系统硬件电路框图如图2所示。
   0711141032335712011060819482714710.gif
  图2 仪器结构框图
         PIC16F628的主要功能特点
         PIC16F628单片机是Microchip公司的PIC系列单片机之一。PIC 8位单片机系列是该公司推出采用RISC(Reduced Instruction Set Computer)结构的嵌入式控制器,具有执行速度高、功耗低、体积小巧、工作电压低、驱动能力强、品种丰富等优越性能。其总线结构采取数据总线和指令线分离独立的哈佛(Harvard)结构,具有很高的流水处理速度。与同类8位单片机相比,程序存储器可节省一半,指令运行速度可以提高4倍左右。此外,PIC系列单片机集成了一系列外部功能模块,例如:上电复位电路、I/O引脚上拉电路、看门狗定时器等。这样,在组成系统时,就可以最大限度的简化电路、降低成本,提高系统的可靠性。
         PIC16F628单片机具有直接驱动液晶显示器的能力。输入端口具有跳变中断能力,能方便地接收按键输入,另有多级外部及内部中断,可通过程序禁止主晶振振荡而使单片机进入低功耗状态,适合用于以电池作能源、需液晶驱动的应用场合。
         PIC16F628单片机的工作电压范围为3.0V~5.5V,时钟频率为DC~20MHz,内部具有1K 14(位)片内程序存储器,224字节通用RAM,128字节EEPROM,15根双向I/O线和10个中断源,并带有一个16位定时器/计数器(TMR1)和一个8位定时器/计数器(TMR0)。
         PIC16F628的精简指令集仅有35条指令,除了地址分支跳转指令(GOTO、CALL)为双周期指令外,其余皆为单周期指令,执行速度可调范围宽(DC~200ns),具有8级硬件堆栈,3种寻址方式(直接、间接、相对)。
         PIC16F628的15个I/O口均是独立双向可编程的,并可直接驱动LED数码管,最大拉电流和灌电流分别为25mA和20mA。TMR0带有8位可编程预分频器,可进行1~256分频。
         PIC16F628信息处理单元电路的设计
         PIC16F628是整个系统的信息处理核心。它需要完成键盘输入检测、采样通道选择、信号分析处理、信息显示、欠电报警和过载报警等多种智能功能。单片机信息处理单元电路如图3所示。图中采用的MAX325是MAXIM公司生产的精密单电源SPST(single-pole single-throw)模拟开关,它由一个常开型开关和一个常闭型开关组成,具有低功耗、低导通电阻等特点。该芯片两控制端(IN1、IN2)均连接CPU的RB3引脚,系统两路频率信号输入通道的选择由CPU控制。
        低电压检测信号通过芯片6脚(INT)输入,低压时产生外部中断。键盘检测信号与芯片10~12脚(RB4~RB6)相连,有键按下,就产生RB口电平变换中断,在中断服务程序中,扫描键盘,取得键值。显示缓冲区的写入依靠芯片中通用同步/异步收发器(USART),显示器LCD的数据端和时钟端分别与芯片的7脚(DT)、8脚(CK)相接。
   0711141032339622011060819482714711.gif
  
                                                      图3 信息处理单元电路
         软件设计
         作为便携式仪器,系统在整个设计过程中遵循简化硬件电路,以软件设计代替硬件的设计原则,最大限度的减小仪器的体积和重量,因而系统的软件实现功能丰富。软件设计采用模块化结构,主要有人工校正模块、欠电报警模块、键盘检测模块、采样通道切换模块和数据处理模块。
         系统主程序
         系统主程序控制单片机系统按预定的操作方式运行,它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器的设定,单片机工作方式及各端口的工作状态的规定。系统初始化之后,进行计数器读取、零点校正、过载检测等工作。
          主程序流程图如图4所示。
   0711141032351032011060819482714712.gif
  图4 系统主程序流程图
         中断服务程序设计
         系统程序设计中,键盘检测产生外部中断,采样通道产生内部定时中断。在中断优先级的问题上,因为PIC16F628单片机只有一个中断入口地址0004h,每种中断都要由此进入中断程序,所以中断程序开始现场保护后,要进行各种中断标志位的顺序检测和判断。当判断到中断标志位时,转到相应的中断服务子程序中,根据检测标志位的顺序,定义中断优先级,先判断定时中断优先级最高,其次是键盘检测中断。
         中断服务程序流程图如图5所示。
   0711141032362442011060819482714713.gif
  图5中断服务程序流程
         采样通道切换模块,系统传感器单元含有两个电容-频率转换电路,两个电路输出信号的获取均通过单片机PIC16F628的计数器1实现。利用定时器0的定时中断功能,每隔0.1s切换一次振荡工作电路及模拟开关MAX325通道。
         定时器0中断服务程序流程图如图6所示。
   0711141032379552011060819482714714.gif
  
        图6 定时器0中断服务程序流程图                图7 键盘中断服务程序流程图
          键盘检测模块,系统中按键组合成键盘后排列成3 5矩阵形式,采用RB口中断的方式检测键盘中有无按键。对各列线都送以低电平(称为"全扫描"),若有键按下,则产生中断。进入中断程序后,通过"逐列扫描"(逐列送低电平),查看各行线电平值来鉴别被按下的键,返回键值。对按键的具体处理由主程序中键盘处理子程序完成。键盘检测中断服务程序流程图如图7所示。
         软件抗干扰设计
         测量算法采用数字滤波、曲线拟合两种数据处理方法。数字滤波(软件滤波)复用性好、可实现超低频滤波且修改方便。因此,在硬件滤波设计基础上,系统通过软件滤波进一步滤除有害干扰信号。同时,曲线拟合使系统对测量曲线进行不失真跟踪处理,也保证了测量计算的准确性。
         PIC16F628片内带有看门狗定时器(WDT),它是一个拥有独立的RC 时钟信号源、计时周期约为18ms的CPU片内自激式RC振荡计时器。在烧写程序时借助程序烧写器启用WDT,一旦程序跑飞,WDT将立即强迫程序返回到复位向量处(在复位向量处安排了一段出错程序),即可将系统纳入正轨。
         软件低功耗设计
         因为系统功耗正比于CPU的工作时间,所以尽量缩短CPU的运行时间应是低功耗软件设计的一条重要准则。
         (1) 使用单片机睡眠方式
         PIC16F628设有低功耗模式,即睡眠方式(SLEEP)。便携式电子秤作为随身携带的手持式称量器具,一定不是常处在工作状态。在未关断电源的情况下,当器具闲置了预定的一段时间后,单片机将自动进入SLEEP模式,在"睡眠"方式,耗电小于1 A。
         (2) 使用单片机的中断功能
         系统软件设计应用了三个中断:RB口中断(用于检测键盘输入)、外部中断(用于低电压检测)、定时器0中断(用于切换频率量输入通道)。中断的使用有效地减少了CPU的运行时间,从而降低功耗。
         本系统中,严格选用低功耗的CMOS器件,硬件上的配合简单而有效,软件上的设计周密而层次分明,整个系统能真正的实现低功耗工作。
         结束语
         本文设计研究的准确度等级Ⅲ级、最大称量15kg并集多种智能功能于一体的便携式电子秤,技术指标参考了目前国内市场上使用最多、国内外产量最大的电子衡器的技术指标,由此可预见产品投放市场后将有极大的竞争力。
zhouasas 发表于 2015-9-9 19:08:02 | 显示全部楼层
大幅缩短非定点方法
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-22 02:23 , Processed in 0.060176 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表