您现在的位置是:首页 > 单片机

基于SPCE061A单片机的髋作用力测试仪设计

2020-08-26 05:01:00

摘要:介绍了基于SPCE061A单片机的髋作用力测试仪的系统结构及部分软件编写流程,着重分析了测试仪的测力方法以及使用光电编码器进行测速和鉴相的原理。测试仪以SPCE061A单片机为控制核心,配有串行通信口,具备上位机实时监控、数据保存和复现、测试数据离线分析等功能。实验证明,该测试仪具有测量准确、稳定性高及操控界面友好等优点。

1 引言

  随着体育训练科学化水平的不断提高,人体专项力量训练的必要性日益受到重视。通过对大量实际运动测试数据的总体分析发现,所有从事跑、跳运动项目和以跑、跳为基础运动项目的运动员,其向后蹬伸力量均明显小于向下或向前蹬伸力量。而向后蹬伸力量恰恰是跑、跳运动产生动力所必需的专项力量。因此,设计开发一套实用准确的髋作用力测试仪,对于教练精确量化运动员的训练效果,以及合理制定有针对性的训练方案,进而最终提高运动员比赛成绩,有着极其重要的参考价值。

  本文所介绍的髋作用力测试仪以凌阳公司推出的16位单片机SPCE061A为核心部件,综合借鉴现有技术,通过对测试仪软硬件设计的合理规划,充分发挥单片机自身集成众多系统级功能单元的优势,有效降低了硬件成本,具有很高的可靠性和稳定性。

  该髋作用力测试仪主要实现以下功能:

  (1)测量运动员腿部下蹬作用力实时力量值;

  (2)测量运动员腿部与下蹬作用力同步的实时速度值;

  (3)通过上位机实时显示上述作用力、速度以及功率的具体数值和曲线;

  (4)具备数据复现功能。可以保存并比对测试数据。

2 系统总体结构

  髋作用力测试仪结构框图如图l所示。系统由数据采集处理电路、控制中心和上位机实时数据、曲线显示3部分组成。

  作用力采集电路将髋作用力以模拟量的形式传递至单片机I/O口。通过单片机自身集成的10位高速A/D转换器,将力量值转化为控制系统可用的数字量。速度采集电路由光电编码器和鉴相电路组成。光电编码器输出的数字脉冲量经单片机运算处理后,得出作用力的实时线速率,鉴相电路则向单片机提供了该作用力的方向。微控制器采用凌阳16位单片机SPCE061A,其最高工作频率为49.15MHz,32位可编程多功能I/O端口方便连接各种外设,片内集成7通道 10位电压模数转换器(ADC)和单通道声音模数转换器,并具有丰富的中断资源,特别适用于实时性要求严格的控制系统。串口电平转换电路完成RS232电平标准和单片机电平标准的转换,以实现测试仪和上位机的实时全双工数据通信。用户可通过上位机控制程序实时观测和保存训练数据,并能够设定测试仪的相关参数。

3 数据的采集和处理

  髋作用力测试仪需要测量和显示的数据主要包括髋作用力、与作用力相应的瞬时速度值和功率值。其中,髋作用力数据的采集由力传感器和配套变送器完成,瞬时速度的采集由光电编码器和鉴相电路完成。功率则可由作用力和速度的乘积求得。

  3.1 髋作用力测量

  髋作用力由力传感器采集,其模拟电压信号经变送器放大和线性化处理后,送至SPCE061A内部集成的ADC完成数模转换。

  3.1.1 力传感器工作原理

  本测试仪采用电阻应变式力传感器完成髋作用力采集。电阻应变式力传感器由弹性敏感元件和电阻应变片组成。当弹性敏感元件受到被测力作用时,将产生位移和应变,同时使粘贴在弹性敏感元件上的电阻应变片的阻值发生变化。因此,通过测量电阻应变片的阻值变化,就可以确定被测作用力的大小。力采集电路内部等效原理图如图2所示。

  其中,Rl是粘贴在弹性敏感元件上的电阻应变片。R1~R4组成单臂式直流电桥,将桥电路中电阻的变化转换为电桥输出电压的变化。由图可知,电桥的输出电压为

  即电桥输出电压Uo与电阻应变片阻值变化△Rl成线性关系。结合前述可知,电桥输出电压Uo的变化反映了作用力大小的变化。从而通过测量电桥输出电压Uo,就能实现对作用力大小的检测。

  力传感器输出的电压信号Uo通过变送器的放大和线性化处理,由双端输入信号Uo转变为单端输出信号Usample。模拟电压Usample与被测作用力线性相关,送至后续模数转换电路(ADC)完成模数变换。变送器中的精密变送放大电路一般采用三运放差动放大电路,具有较高的输入阻抗和共模抑制比,并通过内部的阻容耦合电路有效减小了温度漂移,保证了测量的精确度。

3.1.2 髋作用力测量方法

  力采集电路输出 Usample是电压模拟量,需要经过ADC,变换为系统控制核心—单片机可以使用的数字量。SPCE061A内部集成有8通道10位高速A/D转换器,本系统选用单通道I/O A0作为A/D转换的模拟电压输入。A/D转换的参考电压Vref可以采用单片机系统自带的Vdd,也可以通过软件设置使用外部参考电压。考虑到该测试仪的测力量程为0kg~300kg,力采集电路对应的模拟电压输出O V~3V,模拟电压信号符合SPCE061A自带A/D转换器的输入要求。因此,A/D转换参考电压采用系统默认的Vdd。将Usample连接至 SPCE061A的I/O A0端,即可进行A/D转换。本系统设计的A/D转换频率设置为l kHz,髋作用力F可表示为:

  式中:Mmax是测试仪所测作用力的最大量程,g是重力加速度值,Umax是力采集电路输出的模拟电压最大值,AD_Data是力采集电路输出 Usample经A/D转换后得到的10位数字量,AD_Max是10位A/D转换器参考电压Uref所对应的数字量,此处为0x03FF。实际编程中,为了降低采样过程瞬态误差的干扰,运用了算术均值滤波的方法,即最终显示的作用力F通过对10次采样的作用力求算术平均值取得。

  3.2 速度测量

  本测试仪中,与髋作用力同步的速度值和作用力方向由光电编码器、鉴相电路和相应软件计数器求得。

  3.2.1 光电编码器测速原理

  光电编码器是一种数字式角度传感器,它能将角位移转化成相应数量的电压脉冲信号,主要用于机械转角位置和旋转速度的检测和控制。本测试仪选用的ZKX-6- 50BM7型增量式光电缩码器是一款高精度角位移传感器,转动轴每旋转一周分两路输出500个电压脉冲信号Out_A和Out_B。其中,Out_A和 Out_B两路信号相位差为90°。

  将光电编码器输出接至单片机的外部中断IRQ3,则转动引起的每一个电压脉冲都会触发单片机外部中断。通过编制单片机外部中断子函数,就可以实现对光电编码器输出脉冲个数的准确计算,经换算后即得转动轴转过的精确角位移。

  因此,计算固定时间段内光电编码器的角位移,就可求得转动轴的角速率,结合光电编码器同轴转盘的半径,就可算得与髋作用力同步的线速度值。实际编程中,选用单片机内部512 Hz的时基中断产生固定时间段,即计算每个时间间隔t=l/512 s内光电编码器的输出脉冲个数,从而求得速度。设v为t时间内的平均速度,由于固定时间段足够小,所以将瞬时速度近似为平均速度v,则

  式中:s为t时间内被测对象产生的位移;n为固定时间间隔内(1/512 s)光电编码器输出的脉冲数;ι为光电编码器同轴转盘的周长,N为光电编码器旋转一周输出的脉冲数,此处N=500。

  3.2.2 速度鉴相的方法

  髋作用力检测过程中,光电编码器的转向说明训练者髋部是主动发力或是被动受力。因此,光电编码器转向的判别是本测试仪必须具备的基本功能。通过对光电编码器所输出的相位差90°的两路电压脉冲信号0ut_A和Out_B进行鉴相,就能够判别转盘正转或反转。具体鉴相电路原理如图3所示。

  光电编码器输出的Out_A和Out_B分别接至D触发器时钟端Clk和控制端D。根据D触发器的功能定义,在输入时钟信号Out_A的每个脉冲上跳沿,触发器的输出W2被控制端D的输入信号Out_B置位。图4示意了光电编码器正转时,Out_A、Out_B的信号波形和鉴相电路的输出。

  正转时,Out_A信号的相位超前Out_B信号90°,w1输出始终为高电平。反转时,Out_A信号的相位延后Out_B信号90°,W1输出始终为低电平。因此,通过读取W1的电压高低,就可以判别光电编码器的转向。

3.3 功率的测量

  测得作用力和速度之后,功率可由二者乘积算得。即功率:

  P=Fv     (5)

  但考虑到单片机在计算实数乘法的效率和精度上的劣势,单片机只负责将采集到的作用力和速度通过RS232上传到上位机,实际运算则由上位机完成。此方法能满足测试仪的实时性和精度要求。

4 系统软件设计

  SPCE061A内置在线仿真电路ICE (In-CircuitEmulator)接口和在线串行编程技术,使程序开发、调试和下载等均在可视化开发环境中通过在线调试器PROBE实现,省去了传统单片机开发中必需的硬件在线实时仿真器(ICE)和程序烧写器。具体软件设计中,充分利用SPCE061A丰富的时基中断,在IRQ4、IRQ5中断子程序中完成键盘扫描和A/D转换等工作。与上位机的串行通信则采用SPCE061A自带的UART硬件传输中断,以满足数据双向传输的异步性和实时性。

  系统程序由主程序、力采集子程序、速度计算子程序、串行通信子程序、外扩存储器子程序和中断子程序等部分组成。各部分严格按照模块化原则编写,易于日后系统升级和维护。其中,主程序主要完成测试仪各部件的初始化和自检,以及实际测量中各个功能模块的协调。

  力采集子程序和速度计算子程序流程图如图5所示。

  测试仪的上位机监控程序基于Visual C++6.0平台开发。使用微软公司提供的MSComm控件,极大程度上避免了直接调用Win32API造成的编程繁琐等弊端,以较少代码量实现本系统要求的通信功能。上位机程序具备作用力计时、平均功率计算、正反转选择显示、测量数据保存和复现等功能。程序运行界面如图6所示。

5 结束语

  该测试仪以凌阳16位单片机SPCE061A为控制核心,充分发挥其片内资源丰富和运算速度快的优点,硬件电路结构简洁,稳定性高。上位机监控程序界面友好,操控方便。测试数据的保存和复现功能便于运动训练方案的离线分析和制定。整个测试仪具备较强的可扩展性。该测试仪已经开始在中国海洋大学运动体能实验室试用,并取得了良好的测试效果。