基于单片机的智能型客车超载检测系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的智能型客车超载检测系统的设
计
摘要:
本文设计了一种基于单片机的智能型客车超载检测系统,该系统
通过传感器检测客车重量,可实现自动化地判断车辆是否超载,提高
了客车安全性能和运输效率。
本文主要介绍了系统的硬件设计、软件
设计以及实验室测试结果。
系统硬件采用了AT89S52单片机为控制核心,利用AD7794称重传感器采集载重数据,通过LCD1602显示当前载
重情况并发出警告信号以提示超载,并通过RS485接口将数据传输到
上位机监控系统,实现了对车辆超载状态的实时监测。
实验结果表明,该系统具有较高的准确性和稳定性,可实现可靠的客车超载检测功能。
关键词:单片机,超载检测,AD7794,LCD1602,RS485
Abstract:
This paper designs an intelligent passenger car overload detection system based on single chip microcomputer. The system can automatically judge whether the vehicle is overloaded by detecting the weight of the passenger car through sensors, which improves the safety performance and transportation efficiency of the passenger car. This paper mainly introduces the hardware design, software design and laboratory test results of the system. The hardware of the system adopts AT89S52 single-chip microcomputer as the
control core, uses AD7794 weighing sensor to collect load data, displays the current load condition through LCD1602 and sends a warning signal to prompt overload, and transmits data to upper computer monitoring system through RS485 interface, which realizes real-time monitoring of vehicle overload
status. The experimental results show that the system has
high accuracy and stability, and can realize reliable passenger car overload detection function.
Keywords: Single-chip microcomputer, overload detection, AD7794, LCD1602, RS485
1.引言
为了保障客车的安全运行,防止超载车辆的发生,一些国家已经
实行了客车超载检测制度。
当前大多数传统的客车超载检测系统使用
人工检测的方法,操作繁琐且检测效率低下。
为了提高客车运输的可
靠性和效率,需要开发一种智能型客车超载检测系统,实现自动化、
高效率的检测方式。
本文设计了一种基于单片机的智能型客车超载检测系统,该系统
能够利用AD7794传感器采集载重数据,通过检测载重数据来判断车辆
是否超载,并通过RS485接口将监测数据传输至上位机监测系统进行
实时监测。
本文主要介绍了系统的硬件设计、软件设计以及实验室测
试结果。
2.系统硬件设计
2.1 系统总体设计
2.2 硬件电路设计
该系统硬件电路的设计由AT89S52单片机控制、AD7794称重传感器和LCD1602液晶屏组成,其中AD7794称重传感器用于采集载重数据,LCD1602液晶屏用于显示当前载重情况,并提供警告信号以提示超载状况。
2.2.1.AT89S52单片机
AT89S52单片机是8位CMOS微处理器,采用了Harvard架构,具有典型的单周期指令执行时间,具有强大的控制能力,集成了12个输
入/输出引脚和256个字节的内存,在该系统中充当控制核心的角色。
2.2.2.AD7794称重传感器
AD7794称重传感器是一种高精度模数转换器,采用Σ-△调制技术,具有高达24位的数码输出、单电源供电和自校准功能,与
AT89S52单片机通过串行通信进行连接。
2.2.
3.LCD1602液晶屏
LCD1602液晶屏是由两行16个字符组成的液晶显示器,可显示当前载重情况,并通过液晶屏上的灯光控制端口发出警告信号。
2.2.4.警告电路
警告电路采用了开关电路,当载重数据超过预设的阈值时,触发警告电路,发出警告信号。
2.2.5.数据传输电路
数据传输电路采用RS485接口,将客车超载的监测数据传输到上位机监测系统中。
3.系统软件设计
3.1 系统流程
3.2程序设计
3.2.1AD7794驱动程序
void AD7794Write(unsigned int com)
{
unsigned char i;
temp = com;//准备发送的数据
P3 &= ~(1<<CS);//CS清零,选中SPI总线
for(i = 16; i > 0; i--)//SPI写入共16位数据
{
CLK = 0;//CLK清零
if(temp & 0x8000)//依次发送16bits数据到ADC
{
miso = 1;//向MISO线写入数据
}
else
{
miso = 0;
}
temp <<= 1;//移位
CLK = 1;//CLK置位
}
P3 |= (1<<CS);//CS拉高,取消接口选中。
delay_10us(1);//延迟
}
3.2.2 LCD1602显示屏驱动程序
void Lcd_Write_Command(unsigned char cmd_w) //LCD命令写入函数
{
LCD_RS = 0;
LCD_RW = 0;//表示在写操作模式
//一定要在写入之前先发送一个控制字节
//位0 R/ W= 0表示写入
//位1 RS = 0表示写入的是命令字
LCD_DATA = cmd_w;
delay_10us(1);
LCD_EN = 1;//E端高电平
delay_10us(1);
LCD_EN = 0;//E端低电平
}
3.2.3 超载判断程序
void main()
{
while(1)
{
/* 获得AD7794的采样数据 */
AD7794Sample(); //这里样品数据的范围是4mA ~ 20mA
/* 浮点转16进制(温度转换)等数据需要x100 */
if(data1 > MAX_RECORD1)//超过车辆最大载重量
{
overflow_flag = 1;//超载标志置位
Lcd_Home();
Lcd_Show_String("warning:overload ");
}
else//未超载
{
overflow_flag = 0;//超载标志清零
Lcd_Home();
Lcd_Show_String("now load:");
Lcd_Show_Int(data1);
Lcd_Show_String("kg ");
}
}
}
4.实验结果分析
实验结果表明,该系统在测量范围内具有非常高的准确性和可靠性,容易实现自动化检测,并且构造简单、成本低,可广泛应用于客车的超载检测。
5.总结
本文介绍了一种基于单片机的智能型客车超载检测系统,在硬件设计中采用了AD7794称重传感器、LCD1602液晶屏以及警告电路和数据传输电路,实现了对客车载重的实时监测。
在软件设计中,使用
AT89S52单片机控制核心,编写了AD7794传感器驱动程序、LCD1602显示屏驱动程序以及超载判断程序,实现了载重数据的实时采集和超载状态的自动判断。
实验表明,该系统具有高精度、高稳定性和高可靠性,适合用于客车的超载检测。