一种基于STC89C52的客车安全系统设计与实现

时间:2014-05-05来源:网络

 

2.5 供电单元

电源部分如图3所示,采用7.4 V锂电池供电,通过L298N电机与PWM信号的输入端口给电机提供稳定的6 V电压,但系统的大部分芯片均工作在5 V电压下,因此需要电源模块为系统提供5 V电压。因此选用LM7805电源模块,其能将7.4 V转换为5 V电压。如图3所示,为提高输出电压的稳定性,将稳压二极管VD2串接在LM7805的2脚与地之间,VD1作为输出保护二极管,当输出电压低于VD2的稳压值时,VD1导通,并将输出电流旁路,以确保LM7805的输出端不受损坏。

 

 

3 软件设计

程序的总流程如图4所示。软件主要由3部分构成,分别为:驱动程序、称重程序和测距程序。首先,初始化定时器T0和T1的工作方式分别赋初值,T0的初值设为1 mV,T1的初值设为0。

 

 

驱动程序产生PWM信号以控制电机转速,通过给定时器T0设定初值和计数器最大值100来确定PWM信号的周期。定时器T0每产生1次中断计数器加1,当计数器的数值小于给定数值时输出高电平,反之则输出低电平。

 

 

称重程序根据HX711自身芯片的特点对DOUT和PD_SCK两管脚进行编程,先给PD_SCK串口25个时钟脉冲,当第25个时钟脉冲下降沿到来时,由DOUT向单片机IO口按位写入数据,第25个脉冲写入已读出数据的最高位(MSB)。单片机将数据由高位到低位读入后,再经公式转换得出重量。

测距程序用定时器T1计算超声波来回的时间,当接收端收到反射回的40 kHz脉冲波时,触发INT0外中断,同时T1停止计时,TH1和TL1中的数据便是测得的时间。另外,当定时器T1溢出时触发定时器中断,将定时器清零以防止超声波进入测量盲区时造成的结果错误。称重程序和测距程序处于两个独立的死循环之中,当按键按下时,完成两功能的转换。

4 测试结果

4.1 称重模块的测试

测试选取1 kg和2 kg砝码等不同重量物品。首先将待测物品放置在已调好的零点电子称上进行测量,并以该数据作为参照值。然后开机,等待液晶屏上的读数稳定显示0,再将被测物体放置在称台上,等读数稳定后进行记录,同时采用称3次取平均值的方法进行记录并计算测量误差。

误差公式为

 

基于STC89C52单片机的客车安全系统设计与实现

 

 

 

4.2 超声波测距模块测试

将一把米尺固定在水平地面作为参照值,小车放在0 cm处。将一块挡板放在米尺的10 cm、30 cm、50 cm等测试点并读取液晶屏显示的读数,并采用测3次取平均值的方法进行记录,同时计算误差。

 

 

4.3 车辆防撞性能测试

当车与障碍物距离为30 cm时,车速减速为8.3 cm/s;当两者距离为15 cm时,车辆停止,而当两者距离>30 cm时,车辆正常行驶。测试通过设定不同的初始速度如:测量车遇到障碍物后的制动距离、停下时与障碍物的距离以及液晶屏显示的距离和误差。

结果表明,当小车以最大速度行驶,面对前方障碍物的情况下,小车仍可安全制动,且未与障碍物发生碰撞,从而验证了本设计的安全性。结果如表4所示。

 

 

5 结束语

设计的创新点是将称重和测距功能相结合,同时通过单片机完成了对小车的驱动控制并通过称重模块准确称出小车载重的总重量。同时利用通过超声波模块测量小车与前方障碍物的距离,并使用液晶屏显示各种运行状态和测量结果。从运行情况上看,本设计运行稳定,可靠性高,达到了设计要求。

1 2

关键词: STC89C52 HC-SR04

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版