称重系统控制系统设计完整版1

更新时间:2023-09-14 22:39:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机控制技术课程设计

计算机控制技术 课 程 设 计

成绩评定表

设计课题 汽车动态称重控制系统设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 :

设计时间 : 2012-06-11~2012-06-15

指导教师意见: 成绩: 签名: 年 月 日 重庆理工大学毕业论文 参考文献

计算机控制技术 课 程 设 计

课程设计名称: 汽车动态称重控制系统设计 专 业 班 级 :

学 生 姓 名 : 学 号 :

指 导 教 师 : 臧海河 课程设计地点: 31-503 课程设计时间: 2012-06-11~2011-06-15

1

重庆理工大学毕业论文 参考文献

计算机控制技术课程设计任务书

学生姓名 题 目 课题性质 指导教师 工程设计 专业班级 学号 汽车动态称重控制系统设计 课题来源 此汽车动态称重系统采用电阻应变式称重传感器,通过信号放大电路,AD主要内容 (参数) 转换,信号采集,单片机控制电路和通信电路,实现动态称重。由于本系统适用于恶劣的环境,必须考虑消除不良因素造成的误差,因此设计时从硬件和软件方面都有提高精度的方法。本报告包括了各个电路的信号流程图,各部分子程序,总原理图,和源程序。 第1天:熟悉课程设计任务及要求,针对课题查阅技术资料。 第2天:确定设计方案。要求对设计方案进行分析、比较、论证,画出方任务要求 (进度) 框图,并简述工作原理。 第3 - 4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。 第5天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。 【1】田社平.采用数字滤波技术得数据采集误差分析[J].计量技术1994 【4】陈明荧.8051单片机基础教程.北京.科学出版社,2003 主要参考 资料 【5】李建忠.单片机原理及应用.西安.西安电子科技大学出版社,2003 【6】胡学军.单片机与控制技术.北京.北京航空航天大学出版社,2004 【7】庚华光,邹寿彬.电子技术基础[M].北京:高等教育出版社,1998 【8】刘君华.智能传感器系统[M].西安;西安电子科技大学出版社,1999 审查意见 系(教研室)主任签字: 年 月 日

自拟

2

重庆理工大学毕业论文 参考文献

目 录

1 引言 .............................................................................................................................................. 4 2 总体方案设计 ............................................................................................................................... 4

2.1 硬件方案论证 .................................................................................................................... 5

2.1.1 微处理器的选择 ..................................................................................................... 5 2.1.2 称重传感器的选择 ................................................................................................. 5 2.1.3 显示器的选择 ......................................................................................................... 5 2.1.4 数据采集电路的选择 ............................................................................................. 5 2.1.5 数据接口的选择 ..................................................................................................... 6 2.2 系统总体设计 .................................................................................................................... 6

2.2.1 系统的工作流程 ..................................................................................................... 6 2.1.2 系统的设计方案方框图 ......................................................................................... 7 2.3 系统控制算法的设计 ........................................................................................................ 7 3 系统单元电路的设计 ................................................................................................................... 9

3.1 检测电路设计 .................................................................................................................... 9

3.1.1传感器电路设计 ...................................................................................................... 9 3.1.2 放大电路设计 ......................................................................................................... 9 3.2 A/D转换电路设计 ........................................................................................................... 11 3.3微控制器的工作电路设计 ............................................................................................... 12 3.4 显示电路的设计 .............................................................................................................. 13 3.5 通信模块设计 .................................................................................................................. 13 3.6 系统抗干扰设计 .............................................................................................................. 14 4 系统的软件设计 ......................................................................................................................... 14

4.1 系统主程序流程图 .......................................................................................................... 14 4.2 A/D转换子程序 ............................................................................................................... 15 4.3 数据采集子程序 .............................................................................................................. 16 4.4 通信模块子程序 .............................................................................................................. 17 4.5 显示子程序 ...................................................................................................................... 19 4.6 控制子程序 ...................................................................................................................... 19 5 总结 ............................................................................................................................................ 21 6 参考文献..................................................................................................................................... 21 附录 ................................................................................................................................................ 21

3

重庆理工大学毕业论文 参考文献

1 引言

随着交通检查、超限治理和计重收费工作的不断深入,车辆称重系统得到了越来越广泛的应用。车辆称重系统实际上就是一个信号转换和显示的系统。当车辆行驶到称重平台上时,传感器把感受到的压力转换并输出电压模拟信号,经模/数转换(A/D变换)后就得到数字量的信号。但是,数字量的信号并不是重物的实际重量值,它需要由数字量在单片机内部经过一系列的数据处理才能得到。不仅如此,称重显示器的整个工作过程也都是在单片机的控制下有条不紊地进行。近年来,随着大规模集成电路的飞速发展,单片机更加广泛的应用在各种智能化表中。多年来,公路车辆在运输货物时,普遍存在着超限超载现象。据调查,德国超限超载车辆达50%、美国40%的大型载货汽车超限超载。近年来,我国道路运输车辆超限超载现象也极为普遍,在严重地区,几乎所有的货运车辆都存在不同程度的超限超载行为。货运部门通过改装车身、后桥和轮胎来大幅度提高货车的装载能力,使运输效率和经济效益得到很大的提高,但是超限超载却带来了一系列的重大危害。要有效治理超限超载,就必须有对车辆是否超限超载进行判断,也就是说必须进行超限超载测量。如何实现准确科学地衡量车辆的重量是治理超限超载运输和计重收费中的关键问题。目前对车辆的超限超载监测有静态和动态两种方法:动态称重系统虽能实现超载治理和不停车计重收费系统的完美结合,但是由于影响动态称重精度的因素较多,例如,汽车的振动、路面的不平度、汽车的速度等等。这些因素势必会使测量精度降低,使测量结果不准确、不具说服力,在车辆称重系统中使用单片机可使系统的性能提高、成本降低,具有明的优越性。

2 总体方案设计

系统主要由动态轴重秤台,红外车辆分离器,轮胎识别检测器,收尾地感线圈,室外信号控制柜及相关通信软件等组成。动态称重系统主要安装在高速公路及等级公路的收费站,工作环境恶劣,车流量大,因此对其称量精度,稳定性质量可靠性,长寿命,故障自诊断能力,可维护性等要求较高。

4

重庆理工大学毕业论文 参考文献

AD602是一种只用一个外部电阻就能设置放大倍数为l~1000的低功耗、高精度仪表放大器。其主要特性如下: ①供电电源范围:士2.3V——士l8V; ②最大供电电流:13mA; ③最大输入失调电压:125uV; ④最大输入失调电压漂移:1uV/℃; ⑤最大输入偏置电流:2nA; ⑥最小共模抑制比:93dB(G=10); ⑦建立时间:15us。

AD620在它的输入端采用了超β处理,使其具有低输入偏置电流和低噪音,因而是一个很好的前置放大器。低功耗的特性,使它非常适合于传感器接口。其增益公式为:RG=49.4/(G-1)KΩ。

其电路工作原理:传感器电桥采用恒压源供电,激励电压为12V。本电压由精密稳压电源提供。我们选用的称重传感器(10Kg)灵敏度为2mV/V,由于前面的分析,取5Kg作为最大称量,传感器输出电压范围为0~12mV。AD的输入电压要求为0~l 0V,所以考虑把传感器的输出信号放大到0~l 0V范围内,放大倍数为833倍,但考虑到动态称量时汽车的动态峰值可能会大于汽车静态轴载,故放大倍数为750倍,同时考虑到去零电路,故采用两级放大电路。考虑温度漂移会给放大电路带来影响,整个放大电路的电阻均采用低温度系数(5ppm)的高精密电阻。 (1)第一级放大电路

第一级采用差动放大电路,为了减小可调电阻的值,使得调试时容易调节放大倍数,采用两个电阻(一个阻值固定,一个阻值可调)来决定放大倍数。其中RI=1 00 ,RPl为200 的可调电阻。本级放大倍数为250。 (2)第二级放大电路

由于传感器可变电阻的不平衡及称重台的重力,造成无汽车时传感器仍有输出,由于输出电压非零值,A/D转换器的输出显示的是该电压对应的数字量。单片机把这一数字量作为零点,进行零点标定,这样很大一部分数据单元就被占据。如果进行调零,使从零到最大运算数都可作为有效分辨单位,则单片机中被零点占据的大部分有效空间被释放出来,从而提高称量的精度。为了解决此问题,用

10

D重庆理工大学毕业论文 参考文献 RP来调零。即RP4来调放大倍数,R5的作用是减小可调电阻的值,使得调试时容易调节放大倍数,而且工作性能稳定,本级放大倍数为3倍。 R03RP1200Ω传感器输出C1018+12U?1R2100ΩC263C102R04CON2R?+128R?26RESR?3RES5SSM2017P (8)GNDRESU?1R?LP2-125SSM2017P (8)RESC?CAPBGND47-1247 图 3.1 放大电路图 3.2 A/D转换电路设计 A采集上来的模拟信号要进入单片机进行处理前,需要转换成数字信号。综合 考虑系统对转换精度与转换速度的要求,选择AD574模数转换器来完成模数转换的工作。AD574A是美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点。并且具有自动校零和自动极性转换功能,只需外接少量的电阻电容元件即可构成一个完整的A/D转换器。其主要功能特性如下: ·非线性误差:小于±l/2LBS或+1LBS;

·有参考电压基准和时钟电路,不需外部时钟就可以工作: ·转换速率高:l2位转换25us,8位转换l6us;

·模拟电压输入范围为O——l0V和0——20V,O——±5V和O——±l0V两档四种; ·数据输出格式分为12位和8位两种。

AD574采用.5V~+5V双极性输入方式,2脚直接接地,转换结果为12位数

11

123重庆理工大学毕业论文 参考文献

据,分两次输出转换结果,3、4、5、6脚分别接至单片机P2.5、P1.3、P1.4、P1.5,用于控制AD574A的工作过程。AD574状态脚(STATUS)接单片机P1.0,当单片机P1.O查询到STS端送出的转换结束信号后,先将转换后的l2位A/D数据的高8位读入单片机,然后再将低4位读入单片机。与AD574的12脚和lO脚相接的两个100 Q的电位器分别用于零点调整和满刻度调整(增益调整) 。

3.3微控制器的工作电路设计

P89C58X2是一款低功耗、高性能的8位微处理器,采用先进的CMOS工艺制 造,指令系统与805l完全相同。它包含32K字节的FLASH EPROM和256字节的 RAM、32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、一个 串行I/O(可用于多机通信、I/O扩展或全双IUART)以及片内振荡器和时钟电

3路。其特性如下: 456①采用静态设计,可提供很宽的操作频率范围(频率可降至0); ②片内含32K字节FLASH程序储存器,可擦除和编程1 0000次以上。可编程加密位,数据保存可达10年以上; ③存储器的寻址范围可达到64K字节RAM和64K字节ROM; ④工作速度可达到33MHz; ⑤电源控制模式:可实现两个由软件选择的节电模式(空闲模式以及掉电模式)。 U2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT1/P3.3INT0/P3.2T1/P3.5T0/P3.4EA/VPPXTAL1XTAL2PSENVCCRESETRD/P3.7C6VCC11.0592MHZ C722pF22pFTSD7D6D5D4D3D2D1D01110B9B8B7B6B5B4B3B2B1B0NDCS89C51R710KC21100uFVCCALE/PROGWR/P3.6GNDAD606JN (16)12 重庆理工大学毕业论文 参考文献

图 3.2 微控制器电路图

3.4 显示电路的设计

动态称重系统测最出汽车车重后,要在显示器上将卡车重显示出来。本设计选用适合LED数码管显示器来完成显示。LED(Light Emitting Diode) 数码管显示器与其他显示器相比,有工作电压低、多色、寿命长、发光控制简单的特点。我们用无片共阳极发光二极管显示器来显示汽车重量,其中三位整数、两位小数。用一片74LS373锁存器完成LED数码数码管字形码的锁仔和驱动。单片机的P2 0~P2 4作为位选端,通过反相器7106与各位数码管的共阳极连接,控制某一位数码点亮。123456R13150U10U9R12150U8R11150U7R10150U6R915074F0474F0474F0474F0474F04abcdefgdp764219105LED483agndbcgnddefgdpAD606JN (16)764219105LED383agndbcgnddefgdpAD606JN (16)764219105LED283gndgndabcdefgdpAD606JN (16)764219105LED183agndbcgnddefgdpAD606JN (16)764219105LED083gndgndAD606JN (16)U4D0D1D2D3D4D5D6D7OEGNDCKQ0Q1Q2Q3Q4Q5Q6Q7U1VCCD7D6D5D4D3U215V74LS373 图 3.3 显示电路图 3.5 通信模块设计 该模块完成了串行口的初始化和波特率的没置,并将数据传送给PC机。在串行通信时,要求通信双方都采用一个标准接口,是不同的设备可以方便地连接起来进行通信。本系统采用了RS-485接口,波特率为9600。 13 Title重庆理工大学毕业论文 参考文献

3.6 系统抗干扰设计

CPU的抗干扰设计主要是用专门的看门狗复位电路,保证CPU系统的可靠运行,从而保证整个动态称重系统的可靠性。

为了降低干扰,传感器输入信号线采用四芯屏蔽线,同时屏蔽地线与秤台底部相连。在实验的过程中非常必要,可有效保证传感器的信号不被其它信号干扰。

4 系统的软件设计

汽车动态称重系统的软件设计主要包括单片机的软件设计和PC机上的程序设计。单片机的软件设计主要包括:主程序设计、数据采集、数据处理、显示程序、通信程序等。

4.1 系统主程序流程图

在本设计中选用的单片机语言是C51。它具有一般C语言的特点:程序书写简单,便于阅读和维护;可实现模块化、结构化编程;语言表达能力强:可对内存、变量的值进行直接操作,能完成汇编语言对硬件操作的大部分功能;源程序的可移植性好,许多程序段不做或只做少量的修改即可移植到另一个C系统上运行,为调试提供方便。主程序主要完成可编程芯片的初始化和重量数据采集及按需要调用各模块。程序流程图如下:

14

重庆理工大学毕业论文 参考文献

开始调AD程序读取称重数据数据融合调通信程序调显示程序

图 4.1 主程序流程图

4.2 A/D转换子程序

该模块的功能是:设置数据的采集频率和转换的格式,将采集到的数据转换成单片机能识别的数字信号。当主程序调用A/D转换程序时,首先须对A/D转换模块的采样频率和采样精度进行设置,再等待传感器检测信号的输入,如有前端数据输入,则对输入数据进行预处理,采集、调整频率和幅值,最后输出数字信号。AD转换程序主要有三大块组成: ①AD转换器启动程序: ②查询等待转换结束程序; ③读取转换结果程序。

15

重庆理工大学毕业论文 参考文献

开始设置A/D转换的采样频率和精度传感器检测对输入数据预处理采集、调整频率和幅值输出数值信号

图 4.2 A/D子程序流程图

4.3 数据采集子程序

数据采集就是把称重传感器的模拟信号x(t)经过采样转换为采样信号x(nT),然后再进行量化和编码处理得到离散的数字信号x(n),最后把x(n)送到计算机进行相应的处理。

(1)采样周期的选择

采样周期T决定了采样信号的质量与数量,T太小,会使采样信号x(n T)的数量剧增,占用大量的内存单元;T太大,会使模拟信号的某些信息丢失,这样一来就会出现失真现象,影响数据处理的精度。因此必须根据采样定理来选择T以确保x(n T)不失真。根据采样定理可知,对截止频率为f的连续信号x(t)进行采样,其采样周期T必须满足T≤1/(2f)时,才能唯一确定不会出现失真。根据相关文献可知汽车的垂直振动在50Hz时已不明显,因此f取50Hz比较合适,所以T≤1/(2f)=0.01s=10ms。一个采样周期包括硬件延迟时间、A/D转换时间和程序执行时间。在本课题中取硬件延迟为100微秒,A/D转换时间35微秒,程序执行时

16

重庆理工大学毕业论文 参考文献

间l5微秒,由此可知T=150微秒,满足采样定理。

(2)采样开始和结束的判断

由于硬件系统的数据采集是连续的,因此实验小车通过计量平台的开始和结束要由软件来判断。这就需要在软件中设置一个阀值,如果A/D转换数据超过阀值,则认为小车开始通过计量平台采样开始,一旦采样开始并且转换值低于阀值则认为小车离开计量平台采样结束。

开始启动A/D读A/D转换状态转换结束?否是延时取转换结果是大于阈值?否保存结果前一个值大于阈值?否是返回

图 4.3 数据采集流程图

4.4 通信模块子程序

通信模块负责单片机与用户PC之间的通信,完成了串行口的初始化和波特率

17

重庆理工大学毕业论文 参考文献

的设置,并将数据传送给PC机。在串行通信时,要求通信双方都采用一个标准接口,是不同的设备可以方便地连接起来进行通信当主程序调用通信模块时,程序首先设置好断点并保护好现场,在处理完通信程序后,利用现场数据进行恢复。接下来要设置好波特率,并对串口进行初始化。接着向PC发送要传输的数据长度,再传输数据并等待PC方接收,接着判断数据是否被PC收到、数据是否发完,如PC没有收到数据或者数据没有发送完毕,则重新进行发送。数据发送完毕后,程序利用保护好的现场数据进行现场恢复。通信模块的具体程序流程如下图所示:

设置断点,保护好现场设置好波特率、串口、接口初始化发送数据长度传输接收是否收到?否是是否发完是否恢复现场

图 4.4 通信模块流程图

18

重庆理工大学毕业论文 参考文献

4.5 显示子程序

由于在数码管的显示上,本系统选择的是动态显示,因此在不同位数码管的显示之间需要延时,因考虑人眼的视觉暂留的影响,数码管每5个采样周期,即0.5秒刷新一次。三个数码管的高两位为显示重量的整数值,两个显示重量的小数值。如:

char dispvalue_Array[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};为显示0~9的数组。为了把整数值与小数值区分开,中间的数码管显示时要把小数点点亮。这时给中间的数码管的显示编写了另一个代码数组如: char dispvalue_Array1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

4.6 控制子程序

设d(t)是反映车辆通过称重台台面过程中施加给台面的一个幅值为单位l的输入信号,w(t)为称重台面向下位移,M为称重台面质量,m为车辆真实载荷,k、c分别为称重传感系统结构的弹性系数和阻尼次数。上可知系统传递函数为:

G(S)=W(S)/D(S)=mg/(MS+cS+k).

且系统无阻尼振荡频率(固有频率)为:wn=(k/M)1/2,阻尼比为ζ=c/(2(k/M)1/2)。 Z变换为G(Z)=(b0+b1Z-1+b2Z-2)/(1+a1 Z-1+a2 Z-2),将系统模型格式写最小二乘格式:Z(k)=h(k)θ+v(k),其中h(k)=[z(k-1),-z(k-2),u(k),u(k-1),u(k-2)]T, θ=[a1,a2,b0,b1,b2]T。

根据前述最小二乘参数估计递推算法RLS,得流程图如下:

2

19

重庆理工大学毕业论文 参考文献

}

void Init_display() {

Init_LCD(); locateXY(0,0); Display_str(str); }

#include \#include \#include

sbit int1=P3^3; //定义管脚功能 sbit cs=P3^2; //使能端 sbit wr=P3^6; //写端口 sbit rd=P3^7; //读端口 sbit LED=P2^3; sbit sound=P2^4;

void Delay_0804(unsigned int tc) //显示延时程序 {

while( tc != 0 ) {

unsigned int i; for(i=0; i<100; i++); tc--; } }

unsigned char adc0804(void) //读AD0804子程序 {

unsigned char addata; rd=1;

//sbit cs=P3^2; //使能端 sbit

locateXY(0,1); Display_str(str1);

wr=P3^6; //写端口sbit rd=P3^7; //读端口 wr=1; //CS=0、WR=0、RD=1(由CPLD发出信号要求ADC0804开始进行模拟/数字信号的转换)

25

重庆理工大学毕业论文 参考文献

int1=1; //读ADC0804 前准备 P1=0xff; //P1全部置一准备 cs=0; wr=0;

wr=1; //启动ADC0804开始测电压

while(int1==1);//查询等待A/D转换完毕产生的INT(低电平有效)信号 rd=0; //开始读转换后数据wr=1; //启动ADC0804开始测电压 Delay_0804(1); //无意义语句,用于延时等待ADC0804 读数完毕 addata=P1; //读出的数据赋与addate rd=1;

cs=1; //读数完毕

return(addata); //返回最后读出的数据 }

unsigned int datpro(void) //ADC0804 读出的数据处理 {

unsigned char x;

unsigned int dianyah,dianyal; //用于存储读出数据的高字节和低字节 unsigned int dianya=0; //存储最后处理完的结果 注意数据类型 for(x=0;x<10;x++) //将 10次测得的结果存储在dianya中 {

dianya=adc0804(); }

dianya=dianya/10; dianyah=dianya&0xf0; dianyah=dianyah>>4; dianyal=dianya&0x0f;

dianya=dianyal*20+dianyah*320;

return(dianya); //返回最后处理结果 }

display_0804() {

unsigned int dat=0; unsigned int weigh=0; dat=datpro();

26

重庆理工大学毕业论文 参考文献

weigh=dat/5; locateXY(6,0);

wr_data(dat00/100+0x30); wr_data('.');

wr_data(dat0/10+0x30); wr_data('V'); locateXY(7,1);

if((weigh/100+'0')==0x30) wr_data(0x20); else

wr_data(weigh/100+'0'); wr_data(weigh0/10+'0'); wr_data('.');

wr_data(weigh+'0'); wr_data('t');

while(dat>=400) //判断超重点亮LED {LED=0; Delay(100); sound=0; Delay(100); } }

27

本文来源:https://www.bwwdw.com/article/id2h.html

Top