基于ARM9和STM32的自由摆平板控制系统

2016-09-26 02:16黄贤帅华南理工大学广州学院广东广州510800
电子设计工程 2016年11期
关键词:摆杆单摆硬币

黄贤帅(华南理工大学 广州学院,广东 广州 510800)

基于ARM9和STM32的自由摆平板控制系统

黄贤帅
(华南理工大学 广州学院,广东 广州510800)

针对自由摆平板控制系统,为了实现平板的转动控制,完成硬币激光灯一系列操作,设计制作了一套基于ARM9 和STM32的自由摆平板控制系统,实现了电机对自由摆系统中平板的状态控制。系统以ARM9+STM32为核心,由伺服控制系统结合编码器、角速度传感器、单轴陀螺仪,采用工作频率可达400MHz以上的S3C2440处理器并嵌入实时性很高的UCOS-II系统为主控制器,及时的处理采集回来的数据,使用增量式闭环控制算法实现电机精确控制,完成平板的转动控制。整个系统精度高,抗干扰能力强,实现了平板的转动、硬币的状态调整以及激光的投射控制。

伺服电机;ARM;平衡控制;平板

现代化的控制技术是一门跨学科的技术,它整合了如人工智能、测量控制和集成电路等多方面的知识,在工业、农业、交通甚至军事领域有着非常广泛的应用。基于自由摆的平板控制,是当前研究定位系统中常用的一种模型,通过对该模型的研究,有助于在测量控制等领域完成快速准确的定位,为之后开展进一步工作奠定了坚实的基础。

文中研究的主要内容就是设计一个基于ARM9和STM32的自由摆平板控制系统,设计目标是在自由摆的摆动过程中,通过控制电机,使平板可以随着摆杆的摆动而旋转3~5个周期;摆杆摆动一个周期平板旋转一周,偏差绝对值不大于45°;用手推动摆杆至30°~60°之间的角度θ,在平板中心稳定放置1枚或8枚1元硬币,启动后放开摆杆让其自由摆动;在摆杆摆动过程中,要求硬币不从平板上滑落。在平板上固定一激光笔,光斑照射在距摆杆150 cm距离处垂直放置的靶子上。当摆杆垂直静止且平板处于水平时,调节靶子高度,使光斑照射在靶纸的某一条线上,标志此线为中心线。手动推动摆杆至30°~60°之间的角度θ,启动后,系统应在15 s内控制平板并尽量使激光笔照射在中心线上,完成后以LED指示。

为完成基于ARM9和STM32的自由摆平板控制系统,系统加速度传感器测量自由摆摆臂的实时偏角,使用伺服电机控制平板转动,调整平板与水平方向的夹角,同时在平板上安装加速度传感器,测量平板倾角,与伺服电机构成闭环控制系统,另外,系统使用矩阵键盘和TFT液晶构成人机交互模块。

1 系统方案

本系统要求电机能够精确控制平板随摆杆摆过的角度而转动,故使用加速度传感器模块、电机驱动模块、系统主控制模块等模块实现系统的设计,下面分别对几个主要模块进行论证与选择。

1.1电机的论证与选择

方案一:步进电机。步进电机一般是开环控制,负载能力较差。步进电机的转动是“跳跃式”的,所以在使用起来会有跳格不能做到连续跟踪,在做角度伺服时容易出现丢步和过冲,从而偏斜,致使硬币掉落。

方案二:舵机。由于最大摆幅在+60°~-60°之间,所以一般的舵机可以实现120度的旋转。再而舵机是通过脉冲的占空比来调整旋转的角度,50%的占空比就是舵机的零点,在单摆的平衡点设置为舵机的零点。但是本系统是对角速度进行伺服,经过试验证明,目前我们对舵机的伺服不够完善,舵机会抖动。

方案三:直流伺服电机。直流伺服电机的转动是连续的,转速可以均匀变化,易于调节。可实现“无极调速”。自带旋转编码器,反馈单机转速,方便控制,为伺服角速度提供闭环反馈量。

综合以上3种方案的优缺点,选择方案三。

1.2下位机主控MCU的论证与选择

方案一:STC89C51。这是一款使用比较广泛的8位单片机,编程也简单。正因为如此,它的外设较为简单,集成度不高,需要的外部电路较多。本系统主要是在算法上的控制,对MCU的运算速度要求较高,但是它的计算速度不高,精度较低,程序储存空间及数据储存空间不够大,故STC89C51这款单片机不能满足本系统。

方案二:ATmega8。首先,AVR单片机是高速嵌入式单片机,I/O口功能强,具有A/D转换等功能,有功能强大的定时器/计数器及通讯接口。但是该芯片供货短缺,渐渐被其他芯片所取代,价格也比较贵。

方案三:STM32F103RCT6。这款芯片的性价比较高,集成度较高,集成了SPI通信协议,AD输入,PWM输出,中断使用方便,高集成度的芯片减少了外围电路的设计。同时该芯片各个功能的库函数比较全面,使用其每个功能十分方便快捷,容易上手。

综合以上3种方案的优缺点,选择方案三。

1.3上位机控制系统的论证与选择

方案一:uc/os。uc/os占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简单。

方案二:linux。linux系统占用空间相对较大,具有对多种文件系统的支持能力、内嵌了tcp/ip协议,可以借鉴linux丰富的资源,但是其实时性能一般,针对新处理器的移植相对复杂。

综合以上两种方案的优缺点,且本系统需要较高的实时性,故选择方案二。

2 系统理论分析与计算

2.1单摆运动的分析

2.1.1单摆的受力分析

在线的一端拴一个小球,另一端固定在悬点上,如果线的质量相对于球的质量以及球的直径相对于线长可以忽略,这样就形成单摆。

根据单摆的定义我们制作的单摆杆与转轴之间是采用轴承衔接,减少摩擦力,尽量减少能量的损失,而杆采用尽量轻的,使杆的质量相对于电机质量可以忽略,所以我们采用了方铝管,选择方管是保证杆的钢性确保单摆是在同一个平面上运动,机械上保证单摆的条件。

底板始终只受重力和细绳拉力的作用,重力为恒力,细绳拉力的方向始终垂直于线速度的方向。因此拉力不做功,只有重力做功,所以机械能守恒(理想状态)。

图1 平板受力分析

底板在最高点静止的时候只受到重力的作用,任意一点的回复力由重力的分力提供G1=Gsinθ,同时可以得到角加速度g1=gsinθ。

细杆拉力T与重力G沿圆半径方向的分力G2始终与摆杆摆动速度方向相垂直,仅仅改变速度的方向,其合力提供向心力,向心力为F1=T-mgcosθ。

2.1.2硬币的单摆运动

在本系统中,硬币要跟随单摆做单摆运动。硬币的单摆运动是由底板对硬币的支持力和硬币与底板的摩擦力提供的。在启动时,底板与地面水平,硬币水平叠加在底板上。在单摆启动的瞬间,底板的运动可以分解水平方向的运动和向下运动,硬币要想随底板一起做单摆运动,必须有回复力和向心力,而在水平状况下,底板下落后,硬币受到底板的支持力减小,硬币失重,所以水平方向的摩擦力减小,经过验证,硬币会滑落。为了增大硬币的回复力,在启动后底板迅速转为与杆垂直。这样底板给了硬币的斜向支点的支持力,还有指向平衡点的回复力。

2.2平板状态检测方法

使用伺服直流电机自带码盘计算底板偏离零点的角度,这里对角度进行伺服,当底板产生转动的时候,通过码盘值可以算出底板转过的角度,具体实现方法为φ1=N*360°/1 000(N为反馈回来的码盘值;1 000为该伺服电机的编码器线数)。

通过角度传感器MMA7361测量杆摆动的角度,单摆是单轴的变化,而MMA7361是三轴传感器,此设计中只应用了其中的一轴。MMA7361是模拟输出量,该模块水平放置是输出稳定的电压值,当角度发生改变时,对应的轴输出电压值产生变化,下位机通过AD采样,通过与上一个取样值对比得到电压的变化量ΔV=Vt-Vo,具体实现方法为φ2=ΔV*β(β为角度转换比例系数)。

单轴陀螺仪ENC-03MA是角加速度传感器,可以直观检测到单摆的实时角加速。通过AD采样得知实时的加速度为g1=g*sinθ,所以,φ3=θ-arcsin(g1/g)。

旋转轴加装5000线旋转编码器测量角度偏移量,编码器测量出摆杆的摆动角度,计算方法与使用伺服直流电机自带码盘计算底板偏离零点的角度的方法类似。

通过以上的测量方法,多种测量方法测量一个角度,各个角度进行对比,滤掉差异较大的值,取正常值的平均值。由于角度传感器MMA7361和单轴陀螺仪ENC-03MA输出的模拟量需要模数转换,所以数字比较受到干扰,传感器自身输出有时会跳动不稳定。所以这里在上位机加入卡尔曼滤波,很好的滤掉了错误信号,得到线性度良好的数据。

3 电路与程序设计

3.1电路的设计

3.1.1系统总体框图

系统结构框图如图2所示。

图2 系统结构框图

如2图所示,本系统可以理解为电机伺服系统,通过外部的传感器及电机的码盘反馈值,实现闭环控制,下位机和上位机采用了高速全双工SPI通信,做到快速响应及处理好每一个动作。

3.1.2直流伺服电机驱动子系统

在伺服系统中,电机驱动是一个重点,电流大,功率高,因此干扰也大。所以在驱动电路设计上,采用双电源,用光耦将控制部分和功率部分完全隔离,减少功率的部分对控制电路造成干扰。

在高速电路和大电流电路中需要考虑电路EMI,在走线时优先考虑重要的信号的走线,电流流过围成的面积尽量的小,最理想的是电源和地线贴着走线,减少电磁的产生。每个芯片电源入口接退耦电容,地引脚串联一个0欧电阻接入到地。

电机全桥驱动子系统电路原理图如图3所示,此方案是采用全桥mos管驱动电路,在mos管的栅极连接的两个电阻,如R9是改变脉冲的上升的斜率,如果该电阻较大,电阻将发热,因为电源管理芯片有一个灌电流进入栅极。所以我用了10欧姆的电阻。而R12为启动电容放电使用的,称为放电电容。取值在1~10 k之间。

3.1.3SPI总线系统

SPI系统框图如图4所示,设计该电路主要是为了提高带载能力,采用逻辑与门输出,同时也带有滤波效果,作为一个电压比较,滤掉低电压的杂波,以及特高频噪音。增强通信的稳定性。

3.2程序的设计

本系统要求设计一个不受当地重力状态影响的单摆平衡系统,即平板转动周期和单摆摆动周期相一致,并且相位差可以自动修正为0。为此,我们测定了每个周期的最大摆角,并且算出每个周期平板转动的角度α,用360度减去这个角度,得到误差E,对α进行PID运算,使其收敛于360度,即可减少误差E,即使相位差减小,并且在一定范围内,达到单摆摆一个周期,平板转一圈的效果。在实际测试当中,取得了良好的效果。

图3 电机全桥驱动子系统电路原理图

图4 SPI系统框图

经过理论的分析和大量的实验验证,发现当平板垂直于摆杆的时候,硬币掉落的情况极少。但是,在初始化的时候,由于θ较大,并且平板要水平放置硬币,因此,难点在于平板水平状态与平板与摆杆垂直状态的切换,我们使用了一种比较创新的办法,就是让平板相对于摆杆的转速与摆杆摆动的速度呈一定的正相关,或者类似正相关的关系,然后,操作者在释放的时候控制好速度与力度,即可对平板的状态和摆杆的状态进行较好的控制,从而控制硬币不从平板上掉下来,达到简单易行实现要求的目的。控制程序流程图如图5所示。

图5 控制程序流程图

4 测试方案与测试结果

4.1测试方案

4.1.1硬件测试

本系统的电路中,电机驱动是重点也是难点,在该电路中主要测试的是PWM波的失真度。测量单片机输出时的波形与通过光耦后的波形,前后的两个个波形进行比较,将两波形调试到尽量的相同,具体措施是改变光耦的上拉电阻,通过示波器观察失真度,通过测试失真度在正常工作范围内。

电路板的抗干扰测试。将多块电路板同时上电,每块电路板尽量靠近,测试板与板之间的相互电磁干扰和抗干扰能力,又称电磁兼容性测试。

在整个电路上测试电路整体性能,先通过分部测试,根据每个小功能进行测试,将测试好的电路再搭建起来,再测试整体性能。

机械调试。根据单摆的理想条件,我们设计的杆是使用尽量轻的铝管,既保证杆的质量小,同时保证了杆的刚性。选用较重的电机,使杆的重量相对于电机的重量很小,可以看作为单摆运动。铝管与转轴的衔接是使用平面轴承减小杆跟转轴的摩擦,同时减小了平行转轴方向上的摆动,保证单摆在同一个平面上。

4.1.2软件仿真测试

因为本系统的驱动板采用了控制芯片和驱动器电源隔离的布板方式,所以在软件仿真中可以先将程序下载到芯片当中运行,采用手动铺助的方式模拟自由摆的运动情况,通过TFT显示屏观察反馈回来的数据是否正确,这样很容易发现程序的漏洞,及时的改正,大大缩短了调试的周期,使得我们的系统能在较短的时间调试成功。

4.1.3系统整体测试

将整个系统搭建好后,通过编写各个要求的子程序,逐一调试,通过显示屏实时观察数据,通过摄像机观察单摆的摆动情况。将调好的每个子程序再融合成完整的代码,再进行联调。

4.2测试条件与仪器

测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。

测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,照相机,逻辑分析仪,量角器,刻度尺。

4.3测试结果及分析

4.3.1测试结果(数据)

平板旋转角度控制与放置1枚硬币平板的平衡状态控制较简单,测试结果较理想。对于放置8枚硬币平板的平衡状态测试结果如表1所示,激光定点跟随的测试结果如表2所示。

4.3.2测试分析

根据上述测试数据,可知:

1)平板随摆杆的摆动而旋转。旋转完全实现跟随,根据摆杆的摆动而旋转,摆杆停止、平板马上停止。摆杆有微小摆动时能旋转,同时也存在问题:转动偶尔不顺。

表1 放置8枚硬币平板的平衡状态测试结果

表2 激光定点跟随的测试结果

2)根据实验结果,功能基本能实现,但是成功率还有待提高。

3)根据测试数据,激光点偏离起始点的距离在误差范围内。

测试结果表明,该系统较好地满足了设计要求。

5 结 论

系统以ARM9+STM32为核心,由伺服控制系统结合编码器、角速度传感器、单轴陀螺仪,采用工作频率可达400 MHz以上的S3C2440处理器并嵌入实时性很高的UCOS-II系统为主控制器,及时的处理采集回来的数据,使用增量式闭环控制算法实现电机精确控制,基本达到了设计要求。实验结果表明,该系统结构紧凑、稳定性良好、控制准确、达到设计要求。由于系统装置在运动过程中存在轻微形变,且电机和倾角传感器依然存在一定的精度误差,虽然进行了分析处理,但精度和准确度仍有待进一步提高。

[1]邵贝贝.嵌入式实时操作系统[LC/OS-Ⅱ[M].2版.北京:清华大学出版社,2004.

[2]邵贝贝.单片机嵌入式应用的在线开发方法 [M].北京:清华大学出版社,2004.

[3]王晓明.电动机的单片机控制[M].北京.北京航空航天大学出版社,2002.

[4]宗光华.机器人的创意设计与实践[M].北京:北京航空航天大学出版社,2004.

[5]侯涛,赵贺.自由摆平板系统高精控制设计[J].自动化仪表,2013(1):18-19.

[6]李新颖,汪再兴,王国华.基于Freescale MCU和多传感器的自由摆平板控制系统设计[J].自动化与仪器仪表,2012 (2):36-37.

[7]朱秀梅.基于Cortex-M3+ARM的自由摆平衡控制系统的研究[D].江苏:东南大学,2010.

[8]王博,郝文昌,王志超,等.自由摆平板控制系统的分析与设计[J].电子技术,2012(8):44-45.

[9]黄友锐,曲立国.PID控制器参数整定与实现[M].北京:科学出版社,2010.

[10]王小明.电动机的单片机控制[M].2版.北京:北京航空航天大学出版社,2007.

[11]松井邦彦,梁瑞林.传感器实用电路设计与制作[M].北京:科学出版社,2011.

[12]松井邦彦,梁瑞林.传感器应用技巧 141例[M].北京:科学出版社,2006.

[13]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.

[14]姚文详,宋岩.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009.

[15]郝立果,刘有涛,陈文亮.基于自由摆的激光定位控制系统[J].电子测量与仪器学报,2013(4):381-386.

[16]张友方,蒋一,王锐,等.基于ARMCORTEX_M3的自由摆平衡控制系统[J].科技传播,2012(6):127,145.

[17]徐彤,张玲瑜.基于ARM的颁布式干扰控制单元设计[J].电子科技,2015(1):36-40.

Free pendulum control system based on ARM9 and STM32

HUANG Xian-shuai
(Guangzhou college,South China University of Technology,Guangzhou 510800,China)

Control system for free pendulum,to realize flat rotation control and accomplish a series of operations of a coin laser light,a flat control system based on free pendulum is designed,which realizes the flat control in a free pendulum system based on ARM9 and STM32.The system takes ARM9 and STM32 as the core,combined encoder,angular velocity sensor,single axis gyroscope by servo control system,the operating frequency can reach S3C2440 above the 400MHz processor and embedded real-time,UCOS-II system is the main controller,timely processing of the collected data,and uses an incremental closed-loop control algorithm for the accurate control of the stepper motor and further the rotation control of the flat.The whole system has a high precision and strong anti-interference capability.It realizes the flat rotation,coin state adjustment and laser projection control.

servo motor;ARM;balance control;flat

TN609

A

1674-6236(2016)11-0091-04

2015-12-08稿件编号:201512096

2014年度省级教学成果奖培育项目(53-SC140404)

黄贤帅(1987—),男,广东广州人,助理工程师。研究方向:嵌入式系统、单片机应用。

猜你喜欢
摆杆单摆硬币
单摆周期问题的归纳与深化
发挥等效法在单摆运动周期问题中的大作用
一种圆织机摆杆装置
基于STM32的简单旋转倒立摆
磁浮列车Z 向支撑摆杆断裂失效成因分析
发射平台摆杆机构可靠性分析
硬币巧入盘
不翼而飞的硬币
硬币
对无固定悬挂点单摆周期的探讨