终极版电子大赛说明书Word文档格式.docx

上传人:b****1 文档编号:4697297 上传时间:2023-05-03 格式:DOCX 页数:27 大小:567.37KB
下载 相关 举报
终极版电子大赛说明书Word文档格式.docx_第1页
第1页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第2页
第2页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第3页
第3页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第4页
第4页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第5页
第5页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第6页
第6页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第7页
第7页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第8页
第8页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第9页
第9页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第10页
第10页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第11页
第11页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第12页
第12页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第13页
第13页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第14页
第14页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第15页
第15页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第16页
第16页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第17页
第17页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第18页
第18页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第19页
第19页 / 共27页
终极版电子大赛说明书Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

终极版电子大赛说明书Word文档格式.docx

《终极版电子大赛说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《终极版电子大赛说明书Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

终极版电子大赛说明书Word文档格式.docx

3.1.3电源9

3.2程序的设计9

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

3.2.2程序流程图13

4测试方案与测试结果13

4.1测试方案13

4.2测试条件与仪器14

4.3测试结果及分析14

4.3.1测试结果(数据)14

4.3.2测试分析与结论14

附录1:

电路原理图16

附录2:

源程序17

1系统方案

本系统主要由控制模块、电机模块、传感器模块、电源模块组成,下面分别论证这几个模块的选择。

1.1电机的论证与选择

方案一:

采用步进电机作为该系统的驱动电机。

由于其转过的角速度可以精确的定位,可以实现旋转角度的精确定位,虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急速下降,其转速较低,不适用于对于倒立摆等有一定速度要求的系统。

方案二:

舵机由接收机发出讯号给舵机,经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位,其精度不能达到倒立摆要求,且结构复杂,不易控制。

方案三:

直流电机的控制方法比较简单,只需给电机的两端控制线加上适当的电压即可使电机转动起来,电压越高则转速越高。

对于直流电机的速度调节,可以采用改变电压的方法,也可采用PWM调速方法。

PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比,实现对电机转速的调节。

综合以上三种方案,选择方案三使用直流电机作为驱动电机。

1.2传感器的论证与选择

角度传感器采用特殊形状的转子和线绕线圈,模拟线性可变差动传感器(LVDT)的线性位移,有较高的可靠性和性能,角度传感器也有非绝对编码,是增量输出的,如果没有起始脉冲专门信道,就要用自己外加初始定位传感器,一般用红外的标准产品,精度比较低。

线绕式电位仪这种位移传感器在私服系统中用作位移反馈原件,其结构简单输出信号大,使用方便,价格低廉,但过大的阶跃电压会引起系统震荡,因此在电位器的制作中必须尽量减小每匝的电阻值,且易磨损。

陀螺仪作为一种惯性测量器件,是惯性导航,惯性制导,惯性测量系统的核心部件,是一个角速度检测器件,以模拟的为例,输出电压的大小和角速度成比例,把AD采集到的离散角速度信号,经过离散时间积分,就得到了角度,其功耗低,漂移小,精度高,线性度好。

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

1.3控制系统的论证与选择

以AVR单片机为平台,可利用118条指令,此单片较复杂,运行速度更快,采用双总线方式工作,适合更加复杂的运算环境,但是本系统运算相对简单,运用此单片机浪费资源。

以51单片机为平台,它从内部的硬件到软件有一套完整的按位操作系统,其功能十分完备。

它的I/O设置和引脚使用非常简单,运行速度快,应用广泛,体积小,成本低廉。

综合以上考虑采用方案二。

2系统理论分析与计算

2.1PID控制的分析

2.1.1PID控制简介

PID控制器是根据系统的误差,利用误差的比例、积分、微分三个环节的不同组合计算出控制量。

其中广义被控对象包括调节阀、被控对象和测量变送元件。

PID控制的基本组成都非常简单,其优点包括:

适应性强、鲁棒性强以及对模型依赖少。

目前,PID控制及其控制器或智能PID控制器产品已经很多,并在工程中得到了广泛的应用,其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。

包括利用PID控制实现压力、温度、流量、液位控制器以及能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。

而可编程控制器(PLC)则是利用其闭环控制模块来实现PID控制。

2.1.2PID控制各部分的特点

PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

1、比例(P)控制

比例控制是一种最简单的控制方式。

其控制器的输出与输入误差信号成比例关系。

当仅有比例控制时系统输出存在稳态误差。

2、积分(I)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。

对一个自动控制系统,如果在进入稳态后存在稳态误差,为了消除稳态误差,在控制器中必须引入“积分项”。

积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。

这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。

因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

3、微分(D)控制

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。

在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。

所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

2.1.3PID控制器的参数整定

PID控制器的参数整定是控制系统设计的核心内容。

它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。

PID控制器参数整定的方法很多,概括起来有两大类:

一是理论计算整定法。

它主要是依据系统的数学模型,经过理论计算确定控制器参数。

二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。

通常一般采用的是临界比例法。

利用临界比例法进行PID控制器参数的整定步骤如下:

(1)首先预选择一个足够短的采样周期让系统工作;

(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;

(3)在一定的控制度下通过公式计算得到PID控制器的参数。

2.2PID算法的计算

2.2.1PID算法的确立

因为倒立摆是一个绝对不稳定的系统,为使其保持稳定并且可以承受一定的干扰,需要给系统设计控制器,该系统为闭环控制系统,故可采用PID控制算法。

2.2.2PID算法基本原理

在模拟控制系统中,控制器最常用的控制方法是PID控制,PID控制系统原理框图如图1所示,系统由PID控制器和被控对象组成。

图1常规PID控制系统原理框图

2.2.3PID算法的理论计算

PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:

error(t)=rin(t)-yout(t)

简单说来,PID控制器各教正环节的作用如下:

(1)比例环节:

成比例的反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

(2)积分环节:

主要用于消除静差,提高系统的无差度。

积分作用的强弱取决于积分时间常数IT,IT越大,积分作用越弱,反之则越强。

(3)微分环节:

反映偏差信号的变化趋势(变化速率),并能在偏差信号变的太大之前,在系统中引入一个有效的修正信号,从而加快系统的动作速度,减少调节时间。

2.3倒立摆模型的基本计算

2.3.1定义实验变量

在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如下所示:

图2小车和匀质杆运动系统

我们在实验中定义如下变量:

M小车质量

M摆杆质量

b小车摩擦系数

1白干转动轴心到杆质心的长度

I摆杆惯量

F加在小车上的力

X小车位置

k摆杆与垂直向上的夹角

摆杆与垂直向下的夹角

2.3.2对系统受力分析

图3小车受力图

分析小车水平方向所受的合力,可以得到等式:

由摆杆水平方向的受力进行分析可以得到下面等式:

(1)

把这个等式带入上式中,就得到系统的第一个运动方程:

(M+m)x+bx+ml

cos

-ml

sin

=F

(2)

由摆杆垂直方向上的合理进行分析,可以得到下列方程:

(3)

力矩平衡方程如下:

2.3.3仿真分析

仿真模型如下图所示:

图4仿真原理图

(1)Q=[1000;

0000;

0010;

0000],R=1.33,由MATLAB求得最优状态反馈矩阵为:

K=[-0.8671-1.796116.86063.1490]

Q=[1000;

0000],R=0.01,由MATLAB求得最优状态反馈矩阵为:

K=[-0.2742-0.95215.32592.8138]

(3)Q=[0.1000;

000.10;

K=[-0.2742-0.952115.32592.8138]

(4)Q=[0.1000;

0000],R=100,由MATLAB求得最优状态反馈矩阵为:

K=[-0.0316-0.360314.22392.5693]

测得仿真图如下:

图5仿真效果图

利用Matlab软件中Simulink对倒立摆的运动进行仿真。

经过多次仿真试凑,可以使系统能够准确地跟踪阶跃输入信号,摆杆的角度的超调量足够小,稳态误差很小、上升时间与调整时间也比较短。

Q和R矩阵用来平衡系统对输入量和状态量的感应程度,通过调整矩阵Q和R来获得满意的响应效果。

当R增大时,各相应曲线达到稳态所需的时间变长;

Q增大时,各相应曲线达到稳态所需的时间变短。

3电路与程序设计

3.1电路的设计

3.1.1系统总体框图

系统总体框图如图6所示,系统总体框图

图6系统总体框图

3.1.2PID子系统框图与电路原理图

1、PID子系统框图

图7子系统框图

2、PID子系统电路、

图8子系统电路图

3.1.3电源

电源由变压部分、滤波部分、稳压部分组成。

为整个系统提供

5V或者

12V电压,确保电路的正常稳定工作。

这部分电路比较简单,都采用三端稳压管实现,故不作详述。

3.2程序的设计

#include<

REG52.H>

math.h>

//Keillibrary

stdio.h>

INTRINS.H>

typedefunsignedcharuchar;

typedefunsignedshortushort;

typedefunsignedintuint;

#defineDataPortP0//LCD1602数据端口

sbitSCL=P2^6;

//IIC时钟引脚定义

sbitSDA=P2^7;

//IIC数据引脚定义

sbitLCM_RS=P2^0;

//LCD1602命令端口

sbitLCM_RW=P2^1;

sbitLCM_EN=P2^2;

//LCD1602命令端口

#defineSMPLRT_DIV0x19//陀螺仪采样率,典型值:

0x07(125Hz)

#defineCONFIG0x1A//低通滤波频率,典型值:

0x06(5Hz)

#defineGYRO_CONFIG0x1B//陀螺仪自检及测量范围,典型值:

0x18(不自检,2000deg/s)

#defineACCEL_CONFIG0x1C//加速计自检、测量范围及高通滤波频率,典型值:

0x01(不自检,2G,5Hz)

#defineGYRO_XOUT_H0x43

#defineGYRO_XOUT_L0x44

#defineGYRO_YOUT_H0x45

#defineGYRO_YOUT_L0x46

#defineGYRO_ZOUT_H0x47

#defineGYRO_ZOUT_L0x48

#definePWR_MGMT_10x6B//电源管理,典型值:

0x00(正常启用)

#defineWHO_AM_I0x75//IIC地址寄存器(默认数值0x68,只读)

#defineSlaveAddress0xD0//IIC写入时的地址字节数据,+1为读取

uchardis[4];

//显示数字(-511至512)的字符数组

intdis_data;

//变量

//intTemperature,Temp_h,Temp_l;

//温度及高低位数据

voiddelay(unsignedintk);

//延时

//LCD相关函数

voidInitLcd();

//初始化lcd1602

voidlcd_printf(uchar*s,inttemp_data);

voidWriteDataLCM(uchardataW);

//LCD数据

voidWriteCommandLCM(ucharCMD,ucharAttribc);

//LCD指令

voidDisplayOneChar(ucharX,ucharY,ucharDData);

//显示一个字符

voidDisplayListChar(ucharX,ucharY,uchar*DData,L);

//显示字符串

//MPU6050操作函数

voidInitMPU6050();

//初始化

voiddisplay_ACCEL_x();

voiddisplay_ACCEL_y();

voiddisplay_ACCEL_z();

ucharSingle_ReadI2C(ucharREG_Address);

//读取I2C数据

voidSingle_WriteI2C(ucharREG_Address,ucharREG_data);

//向I2C写入数据

voidlcd_printf(uchar*s,inttemp_data)

{

if(temp_data<

0)

{

temp_data=-temp_data;

*s='

-'

;

}

else*s='

'

*++s=temp_data/100+0x30;

temp_data=temp_data%100;

//取余运算

*++s=temp_data/10+0x30;

temp_data=temp_data%10;

*++s=temp_data+0x30;

}

voiddelay(unsignedintk)

{

unsignedinti,j;

for(i=0;

i<

k;

i++)

{

for(j=0;

j<

2145;

j++);

}

voidInitLcd()

{

WriteCommandLCM(0x38,1);

delay

(1);

WriteCommandLCM(0x08,1);

WriteCommandLCM(0x01,1);

WriteCommandLCM(0x06,1);

WriteCommandLCM(0x0c,1);

DisplayOneChar(0,0,'

A'

);

DisplayOneChar(0,1,'

G'

{

delay(500);

//上电延时

InitLcd();

//液晶初始化

delay

(1);

InitMPU6050();

//初始化MPU6050

delay(150);

while

(1)

Display10BitData(GetData(ACCEL_XOUT_H),2,0);

//显示X轴加速度

Display10BitData(GetData(ACCEL_YOUT_H),7,0);

//显示Y轴加速度

Display10BitData(GetData(ACCEL_ZOUT_H),12,0);

//显示Z轴加速度

Display10BitData(GetData(GYRO_XOUT_H),2,1);

//显示X轴角速度

Display10BitData(GetData(GYRO_YOUT_H),7,1);

//显示Y轴角速度

Display10BitData(GetData(GYRO_ZOUT_H),12,1);

//显示Z轴角速度

delay(500);

};

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

1、程序功能描述

根据题目要求软件部分主要实现键盘的设置和显示。

(1)键盘实现功能:

设置频率值、频段、电压值以及设置输出信号类型。

(2)显示部分:

显示电压值、频段、步进值、信号类型、频率。

2、程序设计思路

软件系统包括DSP和PC另个部分,PC软件编程VC++6.0,控制周期是10ms,界面上的显示刷新周期是50ms,DSP软件编程利用cc编辑器。

联机调试时由DSP独立进行控制,此时,DSP仍然可以利用串行通讯接口将实时控制数据发送到PC中,用它用作测试、分析运行数据。

3.2.2程序流程图

图9程序流程图

4测试方案与测试结果

4.1测试方案

1、硬测试件

以51单片机控制器为核心器件,具有强大的数据处理功能和丰富的片内外设模块。

能够独立执行实时控制PID算法。

其主要的性能指标如下:

1)具有可编程中断系统、事件管理模块、看门狗电路及基于扫描的仿真接口。

2)12路比较/脉冲调宽(PWM)输出,直接针对电机控制系统设计。

2.20V直流稳压电源由集成电路提供,输出电流可达1.5A,5V直流电源有集成电路51提供。

3.电动机驱动部分采用PWM控制脉冲调节速度。

2、软件仿真测试

1.KEIL软件编程语言

2.控制周期是10ms,界面上的显示刷新周期是50ms.

3.提供以下的运行方式:

1)联机调试方式:

由51单片机进行控制,利用PID算法程序控制PWM脉冲调节电机转速。

4.具有良好的人-机界面,可以很方便的进行算法调试。

3、硬件软件联调

利用KEIL软件编程,51单片机控制电机,电机转动带动旋转臂,通过PID算法、PWM脉冲调节控制电机转速,从而摆杆有不同的速度,旋转的角度就不同。

4.2测试条件与仪器

测试条件:

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

测试仪器:

高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。

4.3测试结果及分析

4.3.1测试结果(数据)

表1测试数据

第一次

第二次

第三次

设定角度(º

60

120

45

过设定角度时间(s)

4

3.9

3.3

停摆时间(s)

8.1

8.5

7.3

动态倒立时间(s)

8.8

7.9

8.7

过水平面时间(s)

4.4

4.6

5.0

8.6

7.7

8.3

4.3.2测试分析与结论

根据上述测试数据,测得过设定角度时间、停摆时间、动态倒立时间、过水平面时间,可以得出以下结论:

系统总体上达到较好的性能。

倒立摆能够实现动态倒立,且运行的时间误差在允许范围内。

倒立摆运行性能较好,制作成本低,性价比较高。

倒立摆控制的误差主要来源于直流伺服电机、角度传感器和倒立摆机械结构。

直流伺服电机在低速运动时,控制存在死区,低脉宽时电机不运动。

陀螺仪传感器由精密电位器改制,存在角度死区,精度不足。

因此,采用具有更好启动、制动和调速特性直流电机、精度更高的角度陀螺仪传感器改进硬件结构,以消除控制误差,使控制精度更高。

综上所述,本设计达到设计要求。

电路原理图

图10MCU最小模块系统

图11直流电机电路图

图12陀螺仪电路图

源程序

#include

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2