周佩+钱朋安
文章编号: 10055630(2014)03027904
收稿日期: 20131211
作者简介: 周佩(1987),男,硕士研究生,主要从事信号检测与处理方面的研究。
通讯作者: 钱朋安(1966),男,副教授,博士,主要从事机器人与人机交互技术方面的研究。
摘要: 设计了一种基于STC单片机的挥手速度测量装置。本装置有两个反射式红外传感器,当手经过传感器时,手的位置信息变成电压信号触发STC单片机的两路外部中断、实现计时;再根据两个反射式红外传感器之间的距离和手经过的时间差,计算出挥手平均速度,并通过LED数码管显示出来。实验表明,该测试装置具有简单可靠,成本低,使用方便等优点。
关键词: 单片机; 外部中断; 挥手速度
中图分类号: TN 206文献标志码: Adoi: 10.3969/j.issn.10055630.2014.03.019
A system design of wave speed measure based on STC microcomputer
ZHOU Pei1, QIAN Pengan1,2
(1.School of Computer and Information, Hefei University of Technology, Hefei 230009, China;
2.Industrial Training Center, Hefei University of Technology, Hefei 230009, China)
Abstract: A device based on STC microcomputer is developed for wave speed measure. This device has two reflective infrared sensors, it gets time span by transforming hand position signal into voltage signal to triggering two external interrupts of STC microcomputer when the hand waves through two photoelectric sensors. Then the STC microcomputer can calculate wave average speed measure according to the distance between two reflective infrared sensors and the time span of waving through two reflective infrared sensors, and then display on LED digital tubes. Experiments show that the testing device has advantages of simple and reliable operation, low cost, easy to use.
Key words: microcomputer; external interrupt; wave speed
引言挥手速度是指人手挥动通过两个固定点之间的平均速度,因此在两点距离已知的情况下只需测量二者之间的时间差即可。采用反射式红外传感器感应人手挥动经过的瞬间,而单片机的信号处理功能准确、可靠地完成测量。该测试装置简单可靠、成本低、使用方便、程序代码可移植,在传感器原理及单片机应用的课程教学与实践中有着广泛的应用,也适合作为高校学生自主设计的创新实验项目。图1系统框图
Fig.1System block diagram1总体方案挥手速度测量是通过挥手动作经过两个光电传感器感应的时间间隔Δt及两个光电传感器之间的距离s,由v=s/Δt获得其平均速度,系统框图如图1所示。当反射式红外传感器感应到人手经过时,将光信号转换成电信号,由于单片机的外部中断采用低电平或下降沿触发方式,故将光电传感器的电平变化通过反相器触发单片机的外部中断,送入单片机进行数据处理,最后将精确计算得到的平均速度值显示在LED数码管上。2硬件设计
2.1反射式红外光电传感器反射式红外光电传感器ST188是一种小型光电元器件,可检测距离为4~13 mm,其实物图如图2所示,由一个可以发射红外光的固态发光二极管和一个用作接收器的固态光敏三极管组成,它可以通过检测其接收到光强的变化来检测有无物体感应。其原理图如图3所示,当没有物体反射红外线时,CE之间截止,无电流流过,输出端OUT直接拉到GND端,输出低电平;当有物体反射红外线时,CE之间导通,输出端OUT连接电源Vcc,输出高电平。光学仪器第36卷
第3期周佩,等:一种基于STC单片机的挥手速度测量系统设计
图2ST188实物图
Fig.2ST188 physical map
图3光电传感器ST188原理图
Fig.3Photoelectric sensor ST188 schematic diagram
2.2单片机和外围电路当挥手经过光电传感器感应时,输出电平为高电平,通过CD4069反相器输出低电平直接触发STC单片机的两个外部中断引脚INT0和INT1,即单片机的P3.2和P3.3两个引脚;CD4069是由六个CMOS/MOS反相器电路组成,此器件主要用作通用反相器。单片机模块示意图如图4所示,单片机的
图4单片机模块示意图
Fig.4MCU module schematic diagram
P0口和P2口控制四位数码管的引脚,P0口需接一个10 kΩ的上拉电阻,连接数据锁存器74HC573的输入端;P2.0~P2.3控制四位数码管的位选信号,通过两个外部中断触发单片机进行数据处理来显示速度值。图5软件设计程序流程图
Fig.5Software design flow chart3软件设计软件设计主要由主程序、初始化程序、中断处理程序、数据处理程序及LED显示等组成。如图5所示,首先初始化各端口,计数器和中断控制寄存器,然后进入等待测试状态。当挥手经过光电传感器1时触发外部中断INT0,同时开启计数器0,当挥手经过光电传感器2时,触发外部中断INT1,同时关闭计数器0,由此可以得到挥手经过两个光电传感器的时间差Δt,然后单片机对数据进行处理,并将得到的平均速度值送到LED进行显示。以下是单片机调用中断函数的程序:
void init()
{T0_num=0;//计时次数初值为0
INT0_flag=0;//外部中断0标志位为0
INT1_flag=0; //外部中断0标志位为0
TMOD=0x02;初始化定时器T0,方式2,
TH0=0x00;//高八位初值置0
TL0=0x00; //低八位初值置0
EA=1;//打开全局中断控制
IT0=1;//外部中断0下降沿触发
IT1=0;//外部中断1下降沿触发
EX0=1;//打开外部中断0
EX1=1; //打开外部中断1
}
void INT0_fun ()interrupt 0//外部中断0调用函数
{
if (INT0_flag==0)
{init();}
if(INT0_flag== 1)
{TR0=1;}
}
void INT1_fun ()interrupt 2//外部中断1调用函数
{
if(INT1_flag==0)
{init();}
if(INT1_flag==1)
{TR0=0;}
}
void T0_time() interrupt 1//定时器0中断调用函数
{T0_num++;}
4实验结果分析挥手速度测量装置的实物图如图6、图7所示,由于反射式红外光电传感器ST188的响应时间为5 μs,发射二极管与接收三极管之间的距离为5 mm,故可以得出本系统的测量的速度应小于1 km/s。利用该实验装置对自由落体的铁片进行平均速度测量,不同距离下的3组测量结果如表1所示。首先固定光电两个传感器的距离L,使它们处在同一条垂直线上。然后选取一片面积为10 cm2的铁片,使其从光电传感器1处开始做自由落体运动,当它经过光电传感器2时,LED数码管显示速度值即铁片在穿过两个光电传感器的平均速度,根据物体自由落体理论可以得出铁片经过两点的平均速度的理论值V=Lg/2。
图6装置实物图1
Fig.6Equipment physical map 1图7装置实物图2
Fig.7Equipment physical map 2
表1不同距离下的铁片平均速度值
Tab.1Ironaverage speed value under different distances
距离/m平均速度/(m•s-1)第1组第2组第3组平均值/
(m•s-1)理论值/
(m•s-1)相对
误差/%0.10.7010.6980.7000.6990.7000.1430.20.9880.9900.9860.9880.9890.1010.31.2241.2161.2191.2191.2200.0810.41.4141.4011.3981.4041.400-0.2860.51.5611.5631.5621.5621.5650.192
实验表明该系统测试的平均速度值相对误差<±1%,系统的测量精度和灵敏度都能够满足挥手速度测量要求,具有成本低,精确度高,易于操作等优点,对于下一步进行上位机通信和完整闭环系统的设计与实现打下硬件基础;本装置可以作为大学生创新实验项目的内容,培养学生动手能力,同时也可以用于高校科普教学活动实验器材,有利于科普知识的传授。
参考文献:
[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009:6578.
[2]赵辉.小型化弹丸速度测试系统[J].光学仪器,2009,31(3):1417.
[3]高志军,颜国正,茅旭初.一种新的瞬时测速方法[J].仪表技术与传感器,2000,37(10):1819.
[4]赵冬娥,周汉昌.原向反射式激光光幕测速技术研究[J].中北大学学报,2005,26(6):432435.
[5]姚传明,邵鹏飞,徐胜利,等.基于STC单片机的弹丸速度测量系统设计[J].测控技术,2012,31(1):3841.
[6]SANCHEZPENA J M,MARCOS C,FERNANDEZ M Y,et al.Costeffective optoelectronic system to measure the projectile velocity in highvelocity impact testing of aircraft and spacecraft structural elements[J].Optical Engineering,2007,46(5):051014.
{
if (INT0_flag==0)
{init();}
if(INT0_flag== 1)
{TR0=1;}
}
void INT1_fun ()interrupt 2//外部中断1调用函数
{
if(INT1_flag==0)
{init();}
if(INT1_flag==1)
{TR0=0;}
}
void T0_time() interrupt 1//定时器0中断调用函数
{T0_num++;}
4实验结果分析挥手速度测量装置的实物图如图6、图7所示,由于反射式红外光电传感器ST188的响应时间为5 μs,发射二极管与接收三极管之间的距离为5 mm,故可以得出本系统的测量的速度应小于1 km/s。利用该实验装置对自由落体的铁片进行平均速度测量,不同距离下的3组测量结果如表1所示。首先固定光电两个传感器的距离L,使它们处在同一条垂直线上。然后选取一片面积为10 cm2的铁片,使其从光电传感器1处开始做自由落体运动,当它经过光电传感器2时,LED数码管显示速度值即铁片在穿过两个光电传感器的平均速度,根据物体自由落体理论可以得出铁片经过两点的平均速度的理论值V=Lg/2。
图6装置实物图1
Fig.6Equipment physical map 1图7装置实物图2
Fig.7Equipment physical map 2
表1不同距离下的铁片平均速度值
Tab.1Ironaverage speed value under different distances
距离/m平均速度/(m•s-1)第1组第2组第3组平均值/
(m•s-1)理论值/
(m•s-1)相对
误差/%0.10.7010.6980.7000.6990.7000.1430.20.9880.9900.9860.9880.9890.1010.31.2241.2161.2191.2191.2200.0810.41.4141.4011.3981.4041.400-0.2860.51.5611.5631.5621.5621.5650.192
实验表明该系统测试的平均速度值相对误差<±1%,系统的测量精度和灵敏度都能够满足挥手速度测量要求,具有成本低,精确度高,易于操作等优点,对于下一步进行上位机通信和完整闭环系统的设计与实现打下硬件基础;本装置可以作为大学生创新实验项目的内容,培养学生动手能力,同时也可以用于高校科普教学活动实验器材,有利于科普知识的传授。
参考文献:
[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009:6578.
[2]赵辉.小型化弹丸速度测试系统[J].光学仪器,2009,31(3):1417.
[3]高志军,颜国正,茅旭初.一种新的瞬时测速方法[J].仪表技术与传感器,2000,37(10):1819.
[4]赵冬娥,周汉昌.原向反射式激光光幕测速技术研究[J].中北大学学报,2005,26(6):432435.
[5]姚传明,邵鹏飞,徐胜利,等.基于STC单片机的弹丸速度测量系统设计[J].测控技术,2012,31(1):3841.
[6]SANCHEZPENA J M,MARCOS C,FERNANDEZ M Y,et al.Costeffective optoelectronic system to measure the projectile velocity in highvelocity impact testing of aircraft and spacecraft structural elements[J].Optical Engineering,2007,46(5):051014.
{
if (INT0_flag==0)
{init();}
if(INT0_flag== 1)
{TR0=1;}
}
void INT1_fun ()interrupt 2//外部中断1调用函数
{
if(INT1_flag==0)
{init();}
if(INT1_flag==1)
{TR0=0;}
}
void T0_time() interrupt 1//定时器0中断调用函数
{T0_num++;}
4实验结果分析挥手速度测量装置的实物图如图6、图7所示,由于反射式红外光电传感器ST188的响应时间为5 μs,发射二极管与接收三极管之间的距离为5 mm,故可以得出本系统的测量的速度应小于1 km/s。利用该实验装置对自由落体的铁片进行平均速度测量,不同距离下的3组测量结果如表1所示。首先固定光电两个传感器的距离L,使它们处在同一条垂直线上。然后选取一片面积为10 cm2的铁片,使其从光电传感器1处开始做自由落体运动,当它经过光电传感器2时,LED数码管显示速度值即铁片在穿过两个光电传感器的平均速度,根据物体自由落体理论可以得出铁片经过两点的平均速度的理论值V=Lg/2。
图6装置实物图1
Fig.6Equipment physical map 1图7装置实物图2
Fig.7Equipment physical map 2
表1不同距离下的铁片平均速度值
Tab.1Ironaverage speed value under different distances
距离/m平均速度/(m•s-1)第1组第2组第3组平均值/
(m•s-1)理论值/
(m•s-1)相对
误差/%0.10.7010.6980.7000.6990.7000.1430.20.9880.9900.9860.9880.9890.1010.31.2241.2161.2191.2191.2200.0810.41.4141.4011.3981.4041.400-0.2860.51.5611.5631.5621.5621.5650.192
实验表明该系统测试的平均速度值相对误差<±1%,系统的测量精度和灵敏度都能够满足挥手速度测量要求,具有成本低,精确度高,易于操作等优点,对于下一步进行上位机通信和完整闭环系统的设计与实现打下硬件基础;本装置可以作为大学生创新实验项目的内容,培养学生动手能力,同时也可以用于高校科普教学活动实验器材,有利于科普知识的传授。
参考文献:
[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009:6578.
[2]赵辉.小型化弹丸速度测试系统[J].光学仪器,2009,31(3):1417.
[3]高志军,颜国正,茅旭初.一种新的瞬时测速方法[J].仪表技术与传感器,2000,37(10):1819.
[4]赵冬娥,周汉昌.原向反射式激光光幕测速技术研究[J].中北大学学报,2005,26(6):432435.
[5]姚传明,邵鹏飞,徐胜利,等.基于STC单片机的弹丸速度测量系统设计[J].测控技术,2012,31(1):3841.
[6]SANCHEZPENA J M,MARCOS C,FERNANDEZ M Y,et al.Costeffective optoelectronic system to measure the projectile velocity in highvelocity impact testing of aircraft and spacecraft structural elements[J].Optical Engineering,2007,46(5):051014.