微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PIC18F4580的粮食称重系统设计

基于PIC18F4580的粮食称重系统设计

时间:03-09 来源:互联网 点击:

摘要:在粮食品质检测分级过程中,为了测量样品的含杂率和容积密度,设计了一种高精度称重系统。以PIC18F4580为主控单元,采用四臂电桥式负荷传感器,用AD7799进行模数转换及传感器微弱信号的放大。差动式输入参考电压减小电源低频漂移时带来的系统误差。实际测试表明,系统测量重复误差不超过0.005%,系统非线性度误差小于0.007%,可以满足粮食检测过程的需求。
关键词:PIC18F4580;AD7799;称重;负荷传感器

粮食含杂率及容积密度是检测粮食品质的主要技术指标,不仅决定了粮食的等级和价格,还会直接影响其加工品质和食用品质。《GB/T 5494-2008粮油检验粮食、油料的杂质、不完善粒检验》和《GB/T 5498粮食、油料检验容重测定法》中规定称重的精度要达到0.1 g,为了使粮食含杂率及容积密度测量仪器整体的性能达到国标要求,本文设计了基于PIC单片机的高精度称重系统,该系统测量由杂质分离器分离出的大小杂的重量和容积密度测定器中粮食的重量,进而快速得到样品的含杂率及容重等用于粮食分级的关键指标参数。

1 系统工作原理
高精度称重系统的原理如图1所示,在粮食含杂率及容积密度测量仪中,安装在料筒下方的负荷传感器将样品重量转换为电信号,电信号先经过一个无源低通滤波器以滤除线材引入的噪声,再由AD7799自带的仪表放大器对其进行放大并实现AD转换。以PIC18F4580作为主控单元,通过SPI接口读写AD上的各个寄存器来控制AD进行采样。人机界面用LCD液晶显示采样得到的数据,按键实现功能的输入。USART模块用来与上位机进行数据交互、调试和数据存储。低噪声电源用来驱动系统模拟部分及负荷传感器,提供稳定的工作环境以降低系统采样时电源带来的噪声。

2 系统硬件设计
2.1 PIC18F4580核心控制器
PIC18F4580是Microchip公司生产的8位FLASH微控器。片上自带32 K编程空间、1 536 bytes的SRAM和256bytesEEPROM,同时具有mW级低功耗技术,睡眠模式下只消耗0.2μA的工作电流。片上自带系统时钟可达到32 MHz的处理速度,可完全替代外部晶振,简化电路板设计。此外还带有SPI,USART,TIMER等多种外设资源,将复杂的软件命令操作改为对相关寄存器的赋值,简化了设计进程。在软件调试和编程方面,只需占用4个I/O引脚就可以完成程序的下载及在线调试,大大减少在底层硬件调试上花费的时间。
本设计中,PIC18F4580作为核心控制器连接了多个子模块:1)三线SPI接口的AD采集模块;2)USART串口模块;3)用并口操作的12864液晶模块:4)流程控制中用到的的8路扩展I/O口;5)程序下载及调试接口。实际电路原理图中,芯片的引脚连接网络的定义如图2所示。


2.2 传感器及AD转换电路
负荷传感器作为系统信号采集的最前端,其性能直接决定了称重系统的准确性和稳定性。为了满足实际称重时的精度要求,本系统中选用四线电桥式压力传感器,敏感度为1 mV/V,精度等级为0.05、量程为1kg。
AD7799是一款高精度、宽动态范围、△-∑型3通道24位ADC,该芯片自带低噪声、可编程增益的仪表放大器,可以与mV级输出信号的传感器无缝相连,简化电路板设计,提高系统可靠性。此外片上可直接实现内部自校准、系统校准等,可以消除零点误差、满量程误差及温度漂移的影响,为系统软件设计提供方便。
AD7799在2.5 V参考电压,4.17 Hz刷新率,128倍增益时RMS噪声小于27 nV,如果采用敏感度为1 mV/V的传感器,在激励电压为5 V时的满量程输出为5 mV,若要达到0.1 g的精度,最小可分辨的电压为:

因此初步估算可以决定该AD芯片可以满足本系统中转换精度的要求。
实际模数转换部分的电路设计如图3所示,PIC18F4580通过三线SIP接口来读写片上寄存器,实现数据采样和标定等操作,其中AD7799上的SCK、MOSI、MISO信号分别与单片机上的RC3、RC4、RC5相连。数字和模拟部分的电源引脚都接上合适的去耦电容降低系统噪声。参考电压VREF+和VREF-由电源通过电阻分压后得到。差分信号输入端AIN1+及AIN1-通过无源低通滤波器后连接在负荷传感器的差分输出端。

2.3 人机界面及USART电路
LCD显示采用QC12864B汉字图形点阵液晶显示模块,采用并行连接的方式。液晶工作电压及背光电源为5 V供电,数据线DB0-DB7与IC181 74580的RA口相连,控制线RS、RW、E与RE口相连。用来显示相关调试结果,加上单片机的部分RB口作为按键的输入组成人机界面。
USART电路采用MAX232进行电平转换以实现PIC18F4580与上位机之间电压及驱动电流的匹配。在实际调试中,需要通过USART接口向上位机发送数据以调试单片机的实际工作状态以及对AD采样数据进行分析和测试。

3 系统软件设计
系统软件设计采用HI-TECH公司针对PIC18系列设计的C语言编译器进行程序设计,该编译器支持多种数据变量类型和数据存储位置的设定,并能高效的压缩代码长度。提高系统的运行效率。
3.1 系统主程序设计
单片机系统在上电后主程序首先初始化单片机内部资源,包括各个IO的输入输出状态,默认输出值;SPI接口的采样点、数据输出对应的时钟沿、总线空闲时的时钟状态和工作速度;USART接口的工作速度(波特率),片上定时器的定时长度。然后是初始化系统板上资源,包括AD工作状态的设定、AD的自标定,并对LCD屏内容清空并显示初始化界面。初始化完成后根据按键输入产生中断进入采集数据或系统标定,若没有中断则按照定时器设定的15 Hz来刷新LCD显示内容,并清除看门狗以防止程序跑飞。系统主程序流图如图4所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top