本文选用机械微动开关作为投篮记数检测元件,经过分析、对比反复实验,最终设计的投篮记数传感器的结构为:用扁铁焊接成一个倒圆锥筒形的筐,把具有弹性触竿的微动开关(如下图所示)固定在下端铁环上,再把投篮记数传感器固定在篮网上。球投入篮圈时,通过篮网把球导入上铁环中,球受到铁环的碰撞,会左右摆动着向下运动,因为投篮记数传感器的形状是倒圆锥筒形,下铁环的直径比最大号的篮球稍大一点,篮球左右摆动是一种减幅运动,当篮球运动到下铁环处时,篮球左右摆动的动量基本消减为零,所以不会反复碰撞微动开关,造成多计投篮个数的错误,为防止漏计,微动开关的触竿伸入到下铁环中的水平距离应保证最小号的篮球能够有效碰触触竿使微动开关可靠闭合,最大号的篮球投入时,由于微动开关的触竿具有弹性,也不会被卡在下铁环内,这样即保证了大小不一的篮球投中时准确计数,又避免了多计和漏计现象的发生。
微动开关图
单片机与PC通信
篮球投篮记数器与PC的通信是准确采集测试数据的关键,二者之间的通信采用RS232C接口,PC通信采用ASC II码,前7位是数据位,第8位是奇偶校验位,而单片机的串行通信格式为8位数据位,因此不能采用奇偶校验纠错,必须采用查询方式纠错,即PC把接收到的数据,再发送给单片机,单片机把接收到的数据与发送出的数据比较,如果相同,则不再发送该组数据,等待发送下组数据,如果不同则再重发原数据,直到PC接收正确为至。
系统软件
篮球投篮自动记数系统的软件由微电脑投球记数器软件、现场PC成绩记录软件和服务器端数据库管理软件三部分组成。
微电脑投球记数器软件
该软件采用MCS-51汇编语言编程,包括系统初始化、键盘扫描程序、显示程序、定时程序、 “开始”、 “停止”和“违章”键功能程序、进球计数程序、通信程序等,软件流程如下图所示。上电复位或人工复位后,首先进行系统初始化,对工作RAM区、8255工作方式及测试方式等进行预置,再对硬件进行自检、系统无误后进入键盘扫描程序;当“开始”键按下时,在定时测试状态下,定时开始、随时记录进球个数,显示器首位显示“J”字样,后两位显示进球个数,同时与PC通信将成绩送PC记录保存;当进球违章时,人工按“违章”键,减去一个球;定时时间到,停止记录,显示器首位显示“C”字样,后两位显示进球成绩.亦可随时按“停止”键,停止记录;在定数测试状态下,投够规定球数,即可按“停止”键,停止记录。
软件流程图
为保证系统工作可靠,硬件电路中采取了电源滤波、看门狗复位电路及传感器工艺设计等技术措施:软件设计中采取了指令冗余、软件陷阱、容错设计及数字滤波等技术,因而保证了投球记数的准确性和可靠性.测试现场成绩记录软件 它采用Borland Delphi 6.0可视化编程语言编写,使用MICroSOFt Windows图形用户界面的许多先进特性和设计思想,采用弹性、可重用、面向对象的Pascal程序语言,具有强大的可扩展数据库功能,同时能很好的与底层程序相结合,实现串行口通信。该软件是客户端应用程序,主要功能是将微电脑投篮计数器中的成绩数据通过RS232串行口采集到PC中,并追加到招生办公室提供的考生基本数据库中,形成新的DBF文件。为保证成绩数据的准确无误,现场操作员只能通过微电脑投篮计数器采集成绩数据,无权打开数据库,追加成绩之后的数据库通过局域网传输到主记录服务器中,进行显示、记录.、现场打印成绩通知考生,系统软件的主要功能模块如下图所示。
系统软件的主要功能模块图
服务器端数据库管理软件
系统主要功能模块如下图所示,主要是通过局域网监测、记录整个系统不同测试场所的记分情况,并可下传基本数据库到各测试场所的工作站,另外,可以输入考号或姓名查询成绩,并可以打印被选组的成绩和全部成绩。
主要功能模块图
实践证明,这种单片机投篮自动测试系统价格低廉、可靠性高、实用性强。