APP下载

基于STM32的无线调节起跑器控制系统

2016-07-09林凯王宇杰章健

数字技术与应用 2016年6期
关键词:控制系统

林凯 王宇杰 章健

摘要:文章主要介绍了一种基于STM32可无线调节起跑器的控制系统,该系统以STM32为核心器件,赛前采集不同运动员对起跑器使用习惯的数据,通过PC机将信息利用nRF905无线模块传递给起跑器上的单片机,由单片机控制调节起跑器的角度、位置。实现了缩短运动员在赛场手动调节起跑器的时间,有利于运动员提高比赛成绩,同时加快了比赛进程,增加了比赛的观赏性。

关键词:STM32 无线调节 控制系统

中图分类号:TN919 文献标识码:A 文章编号:1007-9416(2016)06-0003-02

1 引言

在短跑竞赛中,起跑器是常见的体育器材,它能帮助运动员提高起跑速度,取得好成绩。但是运动员在赛前需要不断手动调节适合自己起跑的起跑器位置。如若没有调节好自己适应的起跑器位置便开始比赛,运动员很难取得自己理想的成绩。本文设计了一种起跑器控制系统,可实现赛前无线调节起跑器位置、角度,缩短了运动员赛场上手动调节起跑器的时间,有利于运动员提高比赛成绩,同时加快了比赛进程,增加了比赛的观赏性。

2 系统结构及设计方案

系统由STM32单片机、起跑器、RS232电平转换电路、nRF905无线模块、S3003舵机、42系列步进电机、M542H电机驱动、直线滑台、PC机组成。赛前采集运动员习惯使用起跑器的位置、角度等信息,存储在PC机的数据库中。正式比赛前,使用PC机上位机界面将数据通过RS232串口传输给与PC机相连的STM32中,由无线模块nRF905成功接收到STM32传输的数据后发送,当装在起跑器上的无线模块nRF905成功接收后,将数据发送给起跑器上的STM32单片机进行处理,单片机将处理的数据转化为两部分,一是调节角度信号即PWM的占空比,实现抵足板角度的控制。二是将处理的位置数据转化为脉冲个数,使固定在直线滑台上的步进电机旋转一定圈数,改变固定在直线滑台上的两抵足板的前后位置。无线调节起跑器的控制系统总体方框图如图1所示。

3 系统硬件电路及部分机械简图

3.1 主控制器

本系统采用意法半导体公司(ST)推出的基于ARM Cortex-M3内核的32位处理器芯片STM32F103VBT6作为控制核心。工作频率为72MHz,内置高速存储器,丰富的增强I/O端口和连接到两条APB总线的外设。采用STM32来接收PC机传输的数据和配合nRF905控制舵机和步进电机实现对起跑器角度、位置的调节。

3.2 无线传输模块

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,最大数据速率为100kbit/s,使用SPI接口与微控制器通信,配置方便。此外,其功率低,以-10dBm输出功率发射时电流仅11mA,工作在接收模式时电流为12.5mA,具有空闲模式与关机模式,易于实现功率管理。

STM32单片机内部有硬件SPI通信接口,可直接与nRF905模块的SPI接口相连,便于控制。STM32单片机与nRF905接线如图2所示。

3.3 42系列步进电机及M542H电机驱动

本系统使用的是42系列富兴两相四线混合式步进电机,机身长度33mm,额定电流1.33A,单轴输出,整步工作时步距角为1.8度,整步(空载)精度达5%。 该步进电机采用M542H电机驱动,M542H是一款专业的两相步进电机驱动。可实现正反转控制,通过3位拨码开关选择8档细分控制(1,2,4,8, 16, 32, 64,128 ),通过3位拨码开关选择6档电流控制(0.5A,1A,1.5A,1.8A,2.5A,3A)。适合驱动57、42型两相、四相混合式步进电机。能达到低振动、小噪声、高速度的效果驱动电机。

3.4 S3003舵机与抵足板机械简图

本系统用STM32定时器输出PWM信号,控制S3003舵机转动,通过调节PWM信号的占空比使舵机转动一定角度,从而带动连杆旋转,实现与连杆相连的起跑器抵足板角度的调节。S3003速度在 4.8V时0.23秒/60度,在6V时0.19秒/60度,可转动角度为180度,可直接用单片机供电,信号线与STM32的TIM脚相接,接收PWM信号。S3003舵机与抵足板连接机械简图如图3所示。

如图4,当起跑器接收到调节角度的信号时,由于连带1可自由活动,单片机控制舵机5带动连接杆4旋转所需角度,从而使与连接杆相连的抵足板2旋转一定角度。

4 系统软件设计

系统软件设计主要由STM32程序设计和上位机软件设计组成。

4.1 nRF905无线模块驱动程序设计

本系统中nRF905无线模块与STM32单片机通过SPI协议进行通讯,无线模块配置频段在433MHz。(1)当STM32单片机有数据要发送时,通过SPI协议将接收节点的地址和需要发送的数据传给nRF905。 (2)STM32单片机将TRX_CE和TX_EN置高,进入发送模式。(3)nRF905射频寄存器自动打开,加前导码和CRC校验码完成数据包,然后发送数据包。当数据包发送完成,DR脚置高。AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低。(4)当TRX_CE被置低,nRF905完成数据传输,自动进入Standby模式。

4.1.1 接收程序设计

当 TRX_CE为高、TX_EN为低时,nRF905进入ShockBurst接收模式;nRF905不断监测,等待接收数据;当nRF905检测到同一频段的载波时,接收数据,CD引脚被置高;当接收到一个数据包的地址是有效的,AM引脚被置高;当一个正确的数据包接收完毕,nRF905自动移去字头、地址和 CRC校验位,然后把DR引脚置高;STM32单片机把TRX_CE置低,nRF905进入Standby模式;STM32单片机通过SPI口,以一定的速率把数据移到单片机内。

4.1.2 步进电机程序设计

本系统使用的是42系列两相四线制混合式步进电机,每一瞬间,步进电机有两个线圈同时导通。每送一个励磁信号,步进电机旋转1.8°。步进电机固定在直线滑台上,步进电机每旋转一周带动丝杠前进或后退4mm,精度可达到0.001mm。能有效控制固定在滑台上的两抵足板之间的距离。

4.2 M542H驱动程序设计

4.2.1 M542H驱动细分数设定

细分数是以驱动板上的拨盘开关选择设定的,根据细分选择表的数据在断电情况下。设定细分后步进电机步距角按下列方法计算:步距角=电机固有步距角/细分数。

4.2.2 PWM占空比及频率设置

STM32单片机有7个定时器,其中每个定时器均有4个独立可编程输出PWM通道。这里选用TIM1,设置时钟为72MHz,向上计数,自动装载ARR的值。PWM占空比的频率可由公式求出:f=72/(ARR+1)*(PSC+1)。PWM不同占空比的取值储存在捕获比较寄存器CCRx中,通过改变CCRx中的值来改变PWM的占空比。

4.3 上位机软件设计

本系统中上位机采用VB的MSComm控件进行串口通信。STM32通过RS232串口与PC机进行数据传输,由于串口电平不匹配,需要电平转换芯片MAX232进行转换。用MSComm控件进行串口通信的的步骤如下:(1)设置通信对象,端口号和配置格式。其中配置格式需要有起始位个数、数据位长度、校验方式、停止位个数等。(2)设定通讯协议。(3)打开数据端口,进行数据传输。(4)关闭通讯端口。数据传输结束后,需要将端口资源还给操作系统。

5 结语

本文设计的系统可以实现无线调节起跑器角度、抵足板前后位置,节省了运动员在赛场上的调节时间,有利于个人发挥,同时加快了比赛进度,可应用于大中小等短跑赛事,具有广阔的应用前景。

猜你喜欢

控制系统
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计