基于自由摆的平板控制系统设计报告

更新时间:2023-06-04 23:30:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

2011年全国大学生电子设计竞赛

基于自由摆的平板控制系统(B题)

【本科组】

参赛队编号:参赛队员:顾林馨、王和声、张翔宇指导教师:沈明霞、徐进

11年9月3日202011

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

摘要:本系统采用STM32F103VE作为核心处理芯片,对自由摆角度信号进行实时采

集和处理,从而实现平板控制。它采用增量式旋转编码器检测摆杆的旋转角度并将角度信号传送至STM32F103VE处理器,然后处理器根据角度信号控制伺服电机的旋转角度,最终使得平台上的硬币处于受力平衡状态或激光笔在屏幕上聚焦于一点,满足题目要求。

关键词:STM32F103VE,增量式旋转编码器,伺服电机

Abstract:ThesystemusesSTM32F103VEasthecoreprocessingchip,collectingand

processingthesignaloftheanglesensor.IncrementalrotaryencoderdetectsthependulumrodrotationangleandtheanglesignalistransmittedtotheSTM32F103VEprocessor,theprocessorcontrolsservomotorrotationangleaccordingtotheanglesignal,andmakestheplatformonthecoinattheequilibriumconditionofforcesorlaserpenonthescreentofocusononepoint,meetingtherequirementsoftitle.

Keywords:STM32F103VE,incrementalrotaryencoder,servomotor

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

目录

1系统方案.....................................................................................................................1

1.1系统方案论证与选择........................................................................................1

1.1.1处理器模块的论证与选择...................................................................11.1.2角度检测模块的论证与选择...............................................................11.1.3电机模块的论证与选择.......................................................................21.2系统硬件结构设计............................................................................................22系统理论分析与计算.................................................................................................3

2.1系统建模与计算..............................................................................................3

2.1.1硬币不滑落的建模与计算.....................................................................32.1.2激光笔照射中心线的建模与计算.........................................................32.2平台状态测量与控制方法...............................................................................4

2.2.1摆杆摆动角度的测量方法.....................................................................42.2.2平台旋转角度的控制方法.....................................................................42.2.3角度传感器向电机的信息传递.............................................................4

3电路与程序设计.........................................................................................................4

3.1电路的设计.......................................................................................................4

3.1.1平台控制子系统电路框图和原理图.....................................................43.1.2系统输入和显示原电路理图.................................................................53.2程序的设计.......................................................................................................6

3.2.1程序功能描述与设计思路.....................................................................63.2.2程序流程图.............................................................................................6

4测试方案与测试结果.................................................................................................7

4.1测试方案...........................................................................................................74.2测试条件与仪器..............................................................................................74.3测试结果及分析..............................................................................................7

4.3.1主要测试结果.........................................................................................7

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

4.3.2测试分析与结论.....................................................................................8

5参考文献.....................................................................................................................8附录1:主要元器件清单.............................................................................................9附录2:电路原理图.....................................................................................................9附录3:完整测试结果...............................................................................................10附录4:主要源程序...................................................................................................10

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

基于自由摆的平板控制系统(B题)

1.系统方案

1.1系统方案论证与选择

本系统主要由处理器模块、角度检测模块和电机模块组成,下面分别论证这几个模块的选择。此外,对于键盘输入模块和显示模块,因为结构简单,所以不再进行详细论证。

1.1.1处理器模块的论证与选择1.1.1

方案一:采用AT89C51系列单片机作为控制的核心。51单片机应用广泛,品种繁多,按单纯的控制和数据处理是比较经济实惠的。但是冯诺依曼总线结构使51内核单片机运算速度较低。另外,几种常用的51单片机内部资源较少,完成系统功能较为困难。

方案二:采用FPGA作为控制核心。FPGA速度快、稳定性高、扩展性能好、体积小,可以提供丰富的逻辑单元和I/O资源,采用并行的输入/输出方式,可以达到很高的速度。但是FPGA成本较高,算术能力不强。

方案三:采用STM32F103VE系列单片机作为控制核心。STM32是意法半导体公司生产的基于Cortex-M3内核的32位ARM嵌入式处理器。Cortex-M3核性价比更高,价格低,可以与8位单片机竞争。由于采用了最新的设计技术,它的门数更低,性能却更强,处理速度更快,完全满足了本设计所要求的很高的精密度和快速的处理速度。

综合以上三种方案,选择方案三。

1.2角度检测模块的论证与选择1.1.1.1.2

方案一:采用MMA7455加速度传感器检测平台倾角。其核心为飞思卡尔公司的MMA7455L数字三轴加速度传感器,它体积小,工作可靠。但其8位模式还是限制了其测量精度,在测量微小的角度变化上存在误差。

方案二:采用电位器检测摆杆倾角。用电阻分压方式可以实现电位器对角度变化的感应,但必须经过模数转换才能将信号传给处理器处理。此时,电位器的灵敏度和模数转换器的精度都会对测量结果产生直接影响,误差一般很大。

方案三:采用增量式旋转编码器检测摆杆倾角。增量式旋转编码器的转轴旋转时,有相应的脉冲输出,其计数起点任意设定,可实现多圈无限累加和测量。需要提高分辨

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

率时,可利用90度相位差的A、B两路信号进行倍频或更换高分辨率编码器。2000线的编码器转轴旋转一周可以输出2000个脉冲,可以实现极高精度的角度检测。

综合以上三种方案,选择方案三。

1.3电机模块的论证与选择1.1.1.1.3

方案一:采用步进电机控制平台旋转。步进电机作为一种开环控制的系统,和现代数字控制技术有着本质的联系。在目前国内的数字控制系统中,步进电机的应用十分广泛。但是不经细分的步进电机控制精度不高,速度响应也较慢。

方案二:采用伺服电机控制平台旋转。在伺服系统中控制机械元件运转的发动机是一种补助马达间接变速装置。伺服电机可控制速度,位置精度非常准确。它将电压信号转化为转矩和转速以驱动控制对象。伺服电机在控制精度、低频和矩频特性、过载能力、运行和速度响应性能等方面都优于步进电机。

综合考虑采用方案二。

1.2系统硬件结构设计

图1

系统总体结构框图

系统以STM32F103VE作为核心处理芯片,包括角度检测模块、键盘输入模块、电源模块、电机模块、显示模块和声音提示模块等功能模块,该系统的总体结构框图如图1所示。

各模块的具体功能如下:

角度检测模块:该模块利用增量式旋转编码器实现对摆杆倾斜角度的实时监测,并将信息反馈给处理器。

键盘输入模块:该模块利用键盘按键实现系统程序的切换。电机模块:该模块利用伺服电机实现对旋转平台的实时控制。显示模块:该模块利用LED灯实现信息的显示。

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

2系统理论分析与计算

2.1系统建模与计算

B

A

C

B

图2

C

A

图3

激光笔照射中心的系统模型

D

硬币不滑落的系统模型

2.1.1硬币不滑落的建模与计算

如图2所示,设当摆杆倾角为θ时,平台与水平方向的夹角为α。对硬币进行受力分析,其合力为自身重力与离心力这两个力的合力。若硬币不掉,则平台平面与合力方向垂直。由此可建立平面几何模型,求得α与θ的关系。具体计算如下:

在△ABC中,利用余弦定理求得AC=[(mg)2+(mω2)2﹢2m2gω2cosθ]1/2。其中,ω=dθ/dt。再利用正弦定理得α=arcsin[rω2sinθ/(g2+ω2+2gω2cosθ)1/2]。由于平台转动θ角后水平,所以硬币不滑落的平台旋转角度为(θ-α)度。2.1.2激光笔照射中心线的建模与计算

如图3所示,设当摆杆倾角为θ时,激光笔发射的激光光线与水平面的夹角(也是平台与水平面的夹角)为β。由此可建立平面几何模型,求得β与θ的关系。具体计算如下:

在△ABC中解得AC=2sin(θ/2)。在△ACD中,利用余弦定理可解得CD=(17/4-2cosθ-3sinθ)1/2。再由正弦定理得∠β=arcsin﹛[AC×sin(θ/2)]/CD﹜=[(1-cosθ)/(17/4-2cosθ-3sinθ)1/2]。由于平台转动θ角后水平,所以当转到靠近靶子一侧时平台转动角度为(θ+β)度;当转到远离靶子一侧时平台转动角度为(θ-β)度。

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

2平台状态测量与控制方法2.2.2

2.1摆杆摆动角度的测量方法2.2.2.2.1

如图4所示,增量式旋转编码器固定在图中A处,编码器转轴与摆杆轴承相连,可以实时监测摆杆旋转角度θ。编码器转轴旋转一周产生2000个脉冲,处理器通过检测接受脉冲的个数测量摆杆旋转角度。

2.2平台旋转角度的控制方法2.2.2

如图4所示,伺服电机固定在图中B处,电机转轴与平台中心轴相连,可以实时控制平台旋转角度。伺服电机接受4000个脉冲旋转一周,电机通过处理器发送的脉冲个数控制平台的旋转角度。2.3角度传感器向电机的信息传递2.2.2

如图5所示,因为编码器的检测与电机的控制都依靠脉冲的个数且前者与后者一

图4机械结构示意图

图5信息传递过程

周的脉冲比为1:2,所以只要控制好脉冲个数就能实现角度传感器向电机的信息传递。以两者同步等角旋转为例,处理器只需将接收到的编码器的脉冲个数乘以二发送给电机即可。

3电路与程序设计

3.1电路的设计

3.1.1平台控制子系统框图和电路原理图

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

12345

+VCC ABC

H38S6

PB6PB7PA1PA8

STM32F10

3VE

+VCC12

A B

34

HC-PQ13

图6平台控制系统框图

伺服电机HC-PQ13

编码器H38S6

图7平台控制系统框图

2系统输入和显示子系统电路原理图3.1.3.1.2

图8系统输入和显示子系统电路图

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

3.2程序的设计

3.2.1程序功能描述与设计思路

1、程序功能描述

(1)实现摆杆摆动一个周期,平台旋转一周。(2)实现8枚硬币在摆动中不滑落。(3)实现摆动中激光笔照射中心线。2、程序设计思路

(1)用按键控制三个程序的切换。

(2)将处理器接收的脉冲经计算后传给电机。3.2.2程序流程图

图9程序主流程图

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

4测试方案与测试结果

4.1测试方案

1、硬件测试:测试机械部分能否正常工作,各项参数是否准确。同时,检查电路焊接是否正确,各部分接线是否正确。

2、软件仿真测试:用Multisim软件对电路进行仿真

3、硬件软件联调:用实现的编程算法控制硬件系统进行工作。检测整个系统是否实现各项要求。

4.2测试条件与仪器

测试条件:检查多次,机械部分必须正常工作且参数正确。仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。

测试仪器:数字存储示波器、量角器、尺子、秒表。

4.3测试结果及分析

4.3.1主要测试结果

(1)摆杆摆动一周期平台旋转一周,经五周期后的角度偏差:

试验次数角度偏差

第1次28

第3次20

第5次19

(单位:度)

平均值22

表1

(2)一枚硬币摆动1周期后挪动距离

最大角度平均距离

30度1

35度2

40度4

(单位:毫米)

45度4

表2

(3)8枚硬币摆动5周期后的剩余个数:

最大角度平均个数

45度8

50度8

55度7

(单位:个)

60度7

表3

(4)固定角度激光笔照到中心线的时间:

固定角度平均时间

30度11

40度12

50度11

(单位:秒)

60度11

表4

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

(5)激光笔斑点与中心线的最大距离

起始倾角平均距离

30度5

40度7

50度9

(单位:毫米)

60度10

表5

4.3.2测试分析与结论

根据上述测试数据可以认为,该系统满足各项要求。由此可以得出以下结论:1、增量式旋转编码器作为角度传感器使用方便准确,且线数越多,精度越高。2、伺服电机的性能远远优于普通电机,在精密控制上应用广泛。

3、脉冲控制是现代检测技术的重要方法之一,在实现上需要高精密的仪器,可实现较为精细的算法。

5参考文献

[1]刘同法,肖志刚,彭继卫.ARMCortex-M3内核微控制器快速入门与应用[M].北京:北京航空航天大学出版社,2009.6

[2]张茹,孙松林.嵌入式系统技术基础[M].北京:北京邮电大学出版社,2006.1[3]张志君,于海晨,宋彤.现代检测与控制技术[M].北京:化学工业出版社,2007.1[4]金伟,齐世清,王建国.现代检测技术[M].北京:北京邮电大学出版社,2006.1

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

附录1:主要元器件清单

序号12

名称STM32F103VE增量式旋转编码器

H38S6-2000-3-2-24

34

伺服电机HC-PQ131602液晶显示屏

11

附表1

用作控制平台转动提供人机界面

数量11

备注

ARMContex-M3处理器

用作角度传感器

附录2:电路原理图

伺服电机HC-PQ13

编码器H38S6

附图1

附图2

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

附录3:完整测试结果

(1)摆杆摆动一周期平台旋转一周,经五周期后的角度偏差:

试验次数角度偏差

第1次28

第2次25

第3次20

第4次15

第5次19

第6次20

12

(单位:度)

第7次

第8次20

第9次14

附表2

(2)一枚硬币摆动1周期后挪动距离

最大角度30度35度40度45度

第1次0233

第2次1025

第3次0155

第4次2322

1243

(单位:毫米)

第6次

第7次1312

附表3

(3)8枚硬币摆动5周期后的剩余个数:

最大角度45度50度55度60度

第1次8874

第2次8766

第3次8887

第4次8887

8648

(单位:个)

第6次

第7次8878

附表4

(4)固定角度激光笔照到中心线的时间:

固定角度30度40度50度60度

第1次13111211

第2次12121110

第3次11121111

第4次13111313

(单位:秒)

第6次12121412

第7次10111211

附表5

(5)激光笔斑点与中心线的最大距离

起始倾角30度40度50度60度

第1次47129

第2次55712

第3次281013

第4次71088

6879

(单位:毫米)

第6次

第7次59910

附表6

附录4:主要源程序

intmain(void){

RCC_Configuration();GPIO_Configuration();NVIC_Configuration();EXTI_Configuration();

//时钟初始化//IO口初始化//事件初始化//中断初始化

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

TIM_Configuration();ENC_Init();

while(1){

t4=TIM_GetCounter(TIM4);D=t4*2000.00/90.00;tt=t4;

if(t4>=0&&t4<4000)

flag=1;

if(t4>=4000&&t4<=7999)

flag=2;if(flag==1){

flag=0;while(1){

t4=TIM_GetCounter(TIM4);D=t4/2000.00*90.00;if(t4-a1>=2){

a1=t4;

TIM1_Cmd(ENABLE);}

t2=TIM_GetCounter(TIM2);if(t2>=1){

TIM1_Cmd(DISABLE);TIM_SetCounter(TIM2,0);t2=0;continue;}

if(a1-t4>=2){

a1=t4;

TIM_Cmd(TIM5,ENABLE);}

t3=TIM_GetCounter(TIM3);if(t3>=1){

TIM_Cmd(TIM5,DISABLE);TIM_SetCounter(TIM3,0);t3=0;

//时钟初始化

//编码器接口初始化

//获取编码器脉冲//计算偏转角度

//转向标志位,1为右半圈,2为左半圈

//右半圈//标志位清零

//正向偏转

//打开PWM输出//PWM计数

//关闭PWM输出//PWM计数清零

//反向偏转

2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题

continue;}}}

if(flag==2)//左半圈{

}}}

flag=0;while(1){

temp=8000-TIM_GetCounter(TIM4);if(temp-a2>=2){

a2=temp;

TIM_Cmd(TIM5,ENABLE);}

t3=TIM_GetCounter(TIM3);if(t3>=1){

TIM_Cmd(TIM5,DISABLE);TIM_SetCounter(TIM3,0);t3=0;continue;}

if(a2-temp>=2){

a2=temp;

TIM1_Cmd(ENABLE);}

t2=TIM_GetCounter(TIM2);if(t2>=1){

TIM1_Cmd(DISABLE);TIM_SetCounter(TIM2,0);t2=0;continue;}}//左半圈计数取反

本文来源:https://www.bwwdw.com/article/1iq1.html

Top