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

上传人:b****6 文档编号:3285201 上传时间:2022-11-21 格式:DOCX 页数:17 大小:448.20KB
下载 相关 举报
基于自由摆的平板控制系统设计报告.docx_第1页
第1页 / 共17页
基于自由摆的平板控制系统设计报告.docx_第2页
第2页 / 共17页
基于自由摆的平板控制系统设计报告.docx_第3页
第3页 / 共17页
基于自由摆的平板控制系统设计报告.docx_第4页
第4页 / 共17页
基于自由摆的平板控制系统设计报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

《基于自由摆的平板控制系统设计报告.docx》由会员分享,可在线阅读,更多相关《基于自由摆的平板控制系统设计报告.docx(17页珍藏版)》请在冰豆网上搜索。

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

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

 

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

 

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

【本科组】

 

参赛学校:

南京农业大学

参赛队编号:

025181

参赛队员:

顾林馨、王和声、张翔宇

指导教师:

沈明霞、徐进

 

2011年9月3日

摘要:

本系统采用STM32F103VE作为核心处理芯片,对自由摆角度信号进行实时采集和处理,从而实现平板控制。

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

关键词:

STM32F103VE,增量式旋转编码器,伺服电机

 

Abstract:

ThesystemusesSTM32F103VEasthecoreprocessingchip,collectingandprocessingthesignaloftheanglesensor.IncrementalrotaryencoderdetectsthependulumrodrotationangleandtheanglesignalistransmittedtotheSTM32F103VEprocessor,theprocessorcontrolsservomotorrotationangleaccordingtotheanglesignal,andmakestheplatformonthecoinattheequilibriumconditionofforcesorlaserpenonthescreentofocusononepoint,meetingtherequirementsoftitle.

Keywords:

STM32F103VE,incrementalrotaryencoder,servomotor

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

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.1.2角度检测模块的论证与选择

方案一:

采用MMA7455加速度传感器检测平台倾角。

其核心为飞思卡尔公司的MMA7455L数字三轴加速度传感器,它体积小,工作可靠。

但其8位模式还是限制了其测量精度,在测量微小的角度变化上存在误差。

方案二:

采用电位器检测摆杆倾角。

用电阻分压方式可以实现电位器对角度变化的感应,但必须经过模数转换才能将信号传给处理器处理。

此时,电位器的灵敏度和模数转换器的精度都会对测量结果产生直接影响,误差一般很大。

方案三:

采用增量式旋转编码器检测摆杆倾角。

增量式旋转编码器的转轴旋转时,有相应的脉冲输出,其计数起点任意设定,可实现多圈无限累加和测量。

需要提高分辨率时,可利用90度相位差的A、B两路信号进行倍频或更换高分辨率编码器。

2000线的编码器转轴旋转一周可以输出2000个脉冲,可以实现极高精度的角度检测。

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

1.1.3电机模块的论证与选择

方案一:

采用步进电机控制平台旋转。

步进电机作为一种开环控制的系统,和现代数字控制技术有着本质的联系。

在目前国内的数字控制系统中,步进电机的应用十分广泛。

但是不经细分的步进电机控制精度不高,速度响应也较慢。

方案二:

采用伺服电机控制平台旋转。

在伺服系统中控制机械元件运转的发动机是一种补助马达间接变速装置。

伺服电机可控制速度,位置精度非常准确。

它将电压信号转化为转矩和转速以驱动控制对象。

伺服电机在控制精度、低频和矩频特性、过载能力、运行和速度响应性能等方面都优于步进电机。

综合考虑采用方案二。

1.2系统硬件结构设计

图1系统总体结构框图

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

各模块的具体功能如下:

角度检测模块:

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

键盘输入模块:

该模块利用键盘按键实现系统程序的切换。

电机模块:

该模块利用伺服电机实现对旋转平台的实时控制。

显示模块:

该模块利用LED灯实现信息的显示。

2系统理论分析与计算

2.1系统建模与计算

图2硬币不滑落的系统模型图3激光笔照射中心的系统模型

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]。

由于平台转动θ角后水平,所以当转到靠近靶子一侧时平台转动角度为(θ+β)度;当转到远离靶子一侧时平台转动角度为(θ-β)度。

2.2平台状态测量与控制方法

2.2.1摆杆摆动角度的测量方法

如图4所示,增量式旋转编码器固定在图中A处,编码器转轴与摆杆轴承相连,可以实时监测摆杆旋转角度θ。

编码器转轴旋转一周产生2000个脉冲,处理器通过检测接受脉冲的个数测量摆杆旋转角度。

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

如图4所示,伺服电机固定在图中B图4机械结构示意图

处,电机转轴与平台中心轴相连,可以实

时控制平台旋转角度。

伺服电机接受4000个脉冲旋转一周,电机通过处理器发送的脉

冲个数控制平台的旋转角度。

2.2.3角度传感器向电机的信息传递

如图5所示,因为编码器的检测与电

机的控制都依靠脉冲的个数且前者与后者一图5信息传递过程

周的脉冲比为1:

2,所以只要控制好脉冲个数就能实现角度传感器向电机的信息传递。

以两者同步等角旋转为例,处理器只需将接收到的编码器的脉冲个数乘以二发送给电机即可。

3电路与程序设计

3.1电路的设计

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

图6平台控制系统框图

图7平台控制系统框图

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

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

3.2程序的设计

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

1、程序功能描述

(1)实现摆杆摆动一个周期,平台旋转一周。

(2)实现8枚硬币在摆动中不滑落。

(3)实现摆动中激光笔照射中心线。

2、程序设计思路

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

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

3.2.2程序流程图

图9程序主流程图

4测试方案与测试结果

4.1测试方案

1、硬件测试:

测试机械部分能否正常工作,各项参数是否准确。

同时,检查电路焊接是否正确,各部分接线是否正确。

2、软件仿真测试:

用Multisim软件对电路进行仿真

3、硬件软件联调:

用实现的编程算法控制硬件系统进行工作。

检测整个系统是否实现各项要求。

4.2测试条件与仪器

测试条件:

检查多次,机械部分必须正常工作且参数正确。

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

测试仪器:

数字存储示波器、量角器、尺子、秒表。

4.3测试结果及分析

4.3.1主要测试结果

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

(单位:

度)

试验次数

第1次

第3次

第5次

平均值

角度偏差

28

20

19

22

表1

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

毫米)

最大角度

30度

35度

40度

45度

平均距离

1

2

4

4

表2

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

(单位:

个)

最大角度

45度

50度

55度

60度

平均个数

8

8

7

7

表3

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

(单位:

秒)

固定角度

30度

40度

50度

60度

平均时间

11

12

11

11

表4

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

毫米)

起始倾角

30度

40度

50度

60度

平均距离

5

7

9

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

附录1:

主要元器件清单

序号

名称

数量

备注

1

STM32F103VE

1

ARMContex-M3处理器

2

增量式旋转编码器H38S6-2000-3-2-24

1

用作角度传感器

3

伺服电机HC-PQ13

1

用作控制平台转动

4

1602液晶显示屏

1

提供人机界面

编码器H38S6

附表1

附录2:

电路原理图

附图1

附图2

附录3:

完整测试结果

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

(单位:

度)

试验次数

第1次

第2次

第3次

第4次

第5次

第6次

第7次

第8次

第9次

角度偏差

28

25

20

15

19

20

12

20

14

附表2

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

毫米)

最大角度

第1次

第2次

第3次

第4次

第6次

第7次

30度

0

1

0

2

1

1

35度

2

0

1

3

2

3

40度

3

2

5

2

4

1

45度

3

5

5

2

3

2

附表3

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

(单位:

个)

最大角度

第1次

第2次

第3次

第4次

第6次

第7次

45度

8

8

8

8

8

8

50度

8

7

8

8

6

8

55度

7

6

8

8

4

7

60度

4

6

7

7

8

8

附表4

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

(单位:

秒)

固定角度

第1次

第2次

第3次

第4次

第6次

第7次

30度

13

12

11

13

12

10

40度

11

12

12

11

12

11

50度

12

11

11

13

14

12

60度

11

10

11

13

12

11

附表5

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

毫米)

起始倾角

第1次

第2次

第3次

第4次

第6次

第7次

30度

4

5

2

7

6

5

40度

7

5

8

10

8

9

50度

12

7

10

8

7

9

60度

9

12

13

8

9

10

附表6

附录4:

主要源程序

intmain(void)

{

RCC_Configuration();//时钟初始化

GPIO_Configuration();//IO口初始化

NVIC_Configuration();//事件初始化

EXTI_Configuration();//中断初始化

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;//转向标志位,1为右半圈,2为左半圈

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);//打开PWM输出

}

t2=TIM_GetCounter(TIM2);//PWM计数

if(t2>=1)

{

TIM1_Cmd(DISABLE);//关闭PWM输出

TIM_SetCounter(TIM2,0);//PWM计数清零

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;

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;

}

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1