全国大学生电子设计竞赛论文F题之欧阳光明创编.docx

上传人:b****8 文档编号:30150804 上传时间:2023-08-05 格式:DOCX 页数:34 大小:1.02MB
下载 相关 举报
全国大学生电子设计竞赛论文F题之欧阳光明创编.docx_第1页
第1页 / 共34页
全国大学生电子设计竞赛论文F题之欧阳光明创编.docx_第2页
第2页 / 共34页
全国大学生电子设计竞赛论文F题之欧阳光明创编.docx_第3页
第3页 / 共34页
全国大学生电子设计竞赛论文F题之欧阳光明创编.docx_第4页
第4页 / 共34页
全国大学生电子设计竞赛论文F题之欧阳光明创编.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

全国大学生电子设计竞赛论文F题之欧阳光明创编.docx

《全国大学生电子设计竞赛论文F题之欧阳光明创编.docx》由会员分享,可在线阅读,更多相关《全国大学生电子设计竞赛论文F题之欧阳光明创编.docx(34页珍藏版)》请在冰豆网上搜索。

全国大学生电子设计竞赛论文F题之欧阳光明创编.docx

全国大学生电子设计竞赛论文F题之欧阳光明创编

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

欧阳光明(2021.03.07)

帆板控制系统(F题)

【120212组】

2011年9月6日

摘要

本文主要介绍了一种帆板控制系统。

通过对直流风扇风速的控制,调节风力大小,改变帆板的转角。

其主控芯片为MC9S12XS128,通过PWM对电机驱动7960的控制,来调节电机的转速,同时应用光电编码器和倾角传感器作为反馈,对整个调速系统进行PID闭环调节,以到所预期的角度。

并且介绍了在调试过程中的实时监控、宏观曲线分析和数据分析应用等调试手段。

文章着重介绍核心器件的选择、各部分电路、软件的设计和调试手段

关键词:

PID调速MC9S12XS128调试手段

1系统方案1

1.1角度调整系统方案的论证与选择1

1.2电机驱动方案的论证与选择1

1.3MCU控制系统的论证与选择1

2系统理论分析与计算2

2.1帆板受力的分析与计算2

2.1.1帆板转角的原理2

2.1.2帆板的受力分析2

2.2倾角传感器的分析与计算3

2.2.1倾角传感器系统原理3

2.2.2倾角传感器的计算3

2.3电机转速控制的分析与计算3

2.3.1电机转速控制的分析3

2.3.2数字PID控制算法的计算3

3电路与程序设计4

3.1电路的设计4

3.1.1系统总体框图4

3.1.2控制电路5

3.1.3键盘管理电路5

3.1.4显示系统电路6

3.1.5倾角传感器电路7

3.1.6电机驱动电路8

3.1.7测速反馈电路8

3.1.8电源电路9

3.2程序的设计9

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

3.2.2程序流程图10

4测试方案与测试结果12

4.1测试方案12

4.2测试条件与仪器14

4.3测试结果及分析14

4.3.1测试结果(数据)14

4.3.2测试分析与结论15

附录1:

电路原理图16

附录2:

源程序17

帆板控制系统(F题)

【高职高专组】

1系统方案

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

1.1角度调整系统方案的论证与选择

方案一:

线性电位WDD35D-4是360°连续机械转角的线性电位器,精度可达到1%,将电位器旋钮和电位器分别于帆板和连杆结合,在帆板转动的同时带动旋钮改变阻值,用AD测出电压变化,从而换算出倾斜角度。

方案二:

飞思卡尔公司的MMA7445三轴加速度传感器,它MMA7260三轴加速度传感器功能类似,不同点是它输出的是数字量,同样拥有低功耗,高稳定性等特点。

方案三:

飞思卡尔公司的MMA7260三轴加速度传感器,它具有灵敏度可选,低功耗,高稳定性等特点,并且输出模拟信号,同时它的体积小,工作可靠,调试倾角方便等特点也是一方面优势。

方案一线性度好但是机械结构比较复杂,方案三输出的是数字量,精度不可调,方案二可以改变外部AD来实现。

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

1.2电机驱动方案的论证与选择

方案一:

用三极管搭建H桥来控制电机正反转,通过2个8550和2个8050三极管搭建成H桥,其原理简单,通用,但是负载经过电流太小。

方案二:

L298N是内部集成的双H桥电路,它的最高电源电压到46V。

直流电流可达到4A。

低饱和压降。

同时还有过热保护过热时逻辑“0”的输入和高噪声免疫力。

是一款常用的电机驱动芯片

方案三:

BTS7960是一款半桥驱动芯片,就是说需要2个芯片来驱动一个电机,电流最高43A,其内阻很小,所以散热不是很厉害。

并且开关频率可达到25kHz以上,同时兼容TTL控制电平。

由此可见:

方案三无论是最大电流和开通内阻相比于方案一和方案二很优秀。

综合考虑我们选用方案三

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

1.3MCU控制系统的论证与选择

方案一:

89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

但是定时器过少,并且没有PWM和ADC功能。

方案二:

AVR的MEGA16L是一款高性能、低功耗的8位AVR微处理器,具有高速,还有四通道PWM和8路10位ADC以及两个可编程的串行USART都是本系统所需的重要资源。

方案三:

MC9S12XS128拥有最高总线速度40MHz,同时实现了8M存储空间连续寻址,同时还有12位的ADC以及支持16位的SPI有4通道24位周期中断定时期。

通过对系统的综合设计考虑以及外设的要求,我们最终选择了MC9S12XS128这款功能更完善,速度更高的单片机。

2系统理论分析与计算

2.1帆板受力的分析与计算

2.1.1帆板转角的原理

帆板受力情况如图2-1-1所示,再不受外力的作用下,由于物体重力产生一个重力,竖直向下,所以在没有受到风力的作用时,帆板是竖直的,当受到一个水平的风力的时候,重力和风力合成一个斜向下的力使帆板移动,与竖直方向有一个夹角,当连杆对帆板的拉力等于重力与风力的合力时,帆板可以保持平衡,即理论上的静止,形成一个角度。

我们就是利用这一原理通过控制锋利的大小来实现帆板转动或者保留的角度。

图2.11受力情况示意图

2.1.2帆板的受力分析

图2.12受力分析

当风扇打开时,产生风力F,它与重力G同时作用在翻版上,使帆板与竖直方向角度为

的夹角,且

(1)

由此可以通过控制F的大小来控制

角的大小。

角形成后,帆板的受风面积S也会随之改变

(2)

且已知

(3)

综公式

(1)

(2)(3)所述,

(4)

有上述公式可看出S与G都是已知的定量,通过对K的控制就能改变

的大小,从而完成系统的要求实现功能。

2.2倾角传感器的分析与计算

2.2.1倾角传感器系统原理

加速度传感器的测量原理本质是两片弹性间距的平板电容,改变间距即改变电容,因而改变输出电压。

MMA7260Q的重力感测单元由基于半导体材料的微机械结构构造而成。

MMA7260Q以重力为输入矢量来决定物体在空间的姿态,把加速度传感器固定在物体的水平面上,当物体姿态改变时,加速度传感器的敏感轴随之转动一定角度,由于重力的作用,传感器敏感轴上的加速度会发生改变,从而通过正交两个加速度确定出倾角关系。

2.2.2倾角传感器的计算

当传感器处于水平位置时,如图4所示,图中,XOY平面为水平面,Z轴为重力势方向。

当传感器以O点为参考点绕X轴或绕Y轴转动时,这时传感器的输出和倾角的关系为:

式中,

为传感器X敏感轴和Z敏感轴的输出;g为重力加速度值;α为传感器水平面与坐标系水平面上X轴和Y轴的倾斜角度。

2.3电机转速控制的分析与计算

2.3.1电机转速控制的分析

系统需要控制直流电机的转速,在正常情况下,当电机通电时速度增加;电机断电后,速度逐渐减小。

控制转速比较容易实现的就是用单片机输出PWM波,只要按一定规律,改变占空比即可让电机速度得到控制。

在电机转速控制的过程中,免不了的要用到各种各样的算法。

而我们为了更好地稳定电机速度使用了工业中最常用的PID控制算法。

为了算法的设计方便,我们采用了数字PID控制算法。

2.3.2数字PID控制算法的计算

数字PID控制算法在生产过程中是一种最普遍采用的控制方法,在冶金、机械、化工等行业中获得广泛应用。

究其原因是:

该算法蕴涵了动态控制过程中现在(P)、过去(I)和将来(D)的主要信息,具有本质上的鲁棒性、优化控制特性和智能化,算法简单明了,易于掌握。

单位反馈的PID控制原理框图如图1:

图2.32PID控制原理框图

单位反馈

代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量

(5)

其中,

分别称为比例系数、积分系数、微分系数。

接着被送到了执行机构,这样就获得了新的输出信号

这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。

3电路与程序设计

3.1电路的设计

3.1.1系统总体框图

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

图3.11系统总体框图

3.1.2控制电路

系统硬件以MC9S12XS128单片机为核心,MC9S12XS128是一种低功耗、高性能16位微控制器。

倾角传感器以电信号形式传给单片机,从而实现单片机对调控系统的控制作用。

图3.12控制电路原理图

3.1.3键盘管理电路

ZLG7289A是一片具有串行接口的,可同时驱动8为共阴式数码管的智能显示驱动芯片,该芯片同时还可连接多达64键的矩阵键盘,单片机即可完成LED显示,键盘接口的全部功能。

图3.13键盘管理电路原理图

3.1.4显示系统电路

本系统采用的是ILI9325为控制器的TFT液晶显示屏,分辨率为240X320,能达到26万色,本系统采用STC12C5A60S2对其进行驱动,在通过主控制器的串口与之进行通信,实时显示数值。

图3.14显示系统电路

3.1.5倾角传感器电路

MMA7260Q输出的模拟信号输入到MC9S12XS128单片机的模拟量转换通道,经过ADC转换形成对应的数字量,从而实现数字倾角传感器。

图3.15倾角传感器电路

3.1.6电机驱动电路

BTS7960是一款半桥驱动芯片,就是说需要2个芯片来驱动一个电机,电流最高43A,其内阻很小,所以散热不是很厉害。

并且开关频率可达到25kHz以上,同时兼容TTL控制电平。

图3.16电机驱动电路

3.1.7测速反馈电路

本系统采用150线的光电编码器对电机进行测速,单片机通过定时器中断来读取脉冲数,进而控制电机的闭环反馈。

图3.17测速反馈电路

3.1.8电源电路

本系统采用7.2V的镍镉电池对整个系统进行供电,本系统采用的低压差线性稳压芯片LM2940,输出电流可达到2A,能满足系统的整体需要。

图3.18电源电路

3.2程序的设计

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

1、程序功能描述

根据题目要求软件部分主要实现键盘的设置、数据的显示和帆板转角的稳定。

1)键盘的设置部分:

通过键盘设定风力大小、设定帆板转角。

2)数据的显示部分:

显示当前角度、设定角度、当前风力、设定风力。

3)帆板转角的稳定部分:

利用工业上常用的PID控制算法来稳定帆板转角。

2、程序设计思路

根据题目要求实现键盘控制风扇风力以及帆板转角,故设定了风力模式和角度模式。

在风力模式下,用按键直接调整风扇的转速。

在角度模式下,用按键调整设定角度再利用PID控制算法对角度进行控制,进而给出风扇转速的控制量再通过PID控制算法对风扇转速进行稳定,从而实现稳定的帆板转角控制。

同时,为了测试方便设定45°角的一键锁定模式,锁定之后进行声光提示。

3.2.2程序流程图

1、主程序流程图如图3.22

图3.22主程序流程图

2、角度、转速双闭环控制子程序流程图如图3.23

图3.23角度、转速双闭环控制子程序流程图

3、键盘子程序流程图如图3.24

图3.24键盘子程序流程图

4、速度控制子程序流程图,如图3.25

图3.25速度控制子程序流程图

4测试方案与测试结果

4.1测试方案

4.1.1硬件测试

通过示波器对电机测速反馈电路进行测试,其波形如下图4.11所示:

图4.11脉冲方波

完全达到要求,可以应用。

通过万用表对传感器模块电压值进行测量数据如下表所示

电压档信号测试结果好下表所示:

(单位/V)

信号值

10°

20°

30°

40°

50°

60°

70°

显示

2.45

2.42

2.41

2.34

2.27

2.16

2.05

1.92

完全达到要求,可以应用。

4.1.2软件仿真测试

(1)在线调试工具

BDM是MC9S12XS128单片机常用的调试手段,在每一部分程序调试通过后,对所有子程序进行整合,编写出完整的主程序,在CodeWarrior界面完成程序编译后,通过BDM工具,将程序下载到MC9S12XS128微处理器中,然后进行小车的调试。

BDM的优点是入门简单、可观察参数全面,特别适用于软硬件静态调试设计阶段;缺点是必须与PC时刻保持有线连接,不能够用于小车的动态调试阶段,整体界面如图4.12。

图4.12CodeWarriorIDEV5.9.0调试界面

(2)MATLAB的仿真

MATLAB对于数据的处理统计分析能力较强,故多作为数据的静态分析使用。

MATLAB做曲线拟合界面如图4.13所示:

图4.13MATLAB曲线拟合界面

3、硬件软件联调

无线串口调试工具

为了解决在调试过程中能够更清晰明确的看出数据变化,我们应用了一套无线的调试工具。

用nRF24L01无线数据传输模块作为数据的传输。

把数据通过串口传输电脑上,再利用所做的LabVIEW上位机界面或者是MATLAB所做的上位机界面来作为整个小车监控的一个手段。

LabVIEW对于数据的实时处理能力较强,故多作为实时动态监控使用。

LabVIEW上位机界面如图4.31所示:

图4.31LabVIEW上位机界面

4.2测试条件与仪器

测试条件:

经多次检查,仿真电路和硬件电路与系统原理图完全相同,并且检查无误,硬件电路无虚焊,同时测试时保持无风状态。

测试仪器:

高精度的数字毫伏表,数字示波器,数字万用表,直角三角板,量角器。

4.3测试结果及分析

4.3.1测试结果(数据)

角度

距离

15°

30°

45°

60°

时间(s)

10cm

15

31

44

61

2.1

7cm

16

33

47

64

1.2

9cm

15

32

45

62

1.5

11cm

14

29

44

60

2.2

13cm

13

27

43

59

3.1

15cm

12

27

42

57

4.0

4.3.2测试分析与结论

根据上述测试数据,可以清楚地看出不同的距离、不同的风力、不同的风速的数据对比,由此可以得出以下结论:

1、电机驱动方案和电机很重要,一般的电机驱动方案和直流电机很难把帆板吹到60°;如果减轻帆板重量则抖动很厉害;如果连杆太粗糙角度不好控制。

2、闭环调速系统很必要,完整的闭环系统(在电机和电源工作范围内)不在乎距离和偏向角度的问题。

3、数据处理手段多样,不但要有实施监控的,还有整体宏观曲线,同时数据的分析与拟合等多种手段。

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

附录1:

电路原理图

主控原理图

主控PCB

附录2:

源程序

/*****************************************************

Thisprogramwasproducedbythe

CodeWarriorIDEV5.9.0

AutomaticProgramGenerator

Copyright1993-2007FreescaleSemiconductor,Inc.

Thisprogramwaseditedbythe

EditPlusV2.12.

Project:

TestIntegral

Version:

V1.0

Date:

2011-9-3

Author:

付保俊&王杰&郑三江

Company:

ElectricalMake&RepairCenter

Comments:

整版测试系统,用键盘改变速度。

Chiptype:

MC9S12XS128MAA

Programtype:

Application

BusClockfrequency:

40.000000MHz

*****************************************************/

//**************用户变量*******************

#defineCHANGE_NON0

#defineCHANGE_ANGLE1

#defineCHANGE_DUTY2

#defineONE_KEY3

//节奏

externunsignedintbeat_Sensor=0,beat_Display=0,beat_ect=0,beat_send=0;

//ECTdata

unsignedintect_data=0,speedSet=0;

unsignedintkeyTemp;

unsignedintg_keyNum=0,g_keyDownFlag=0;

unsignedintg_angle=20,g_anglePID=0,g_duty=20;

unsignedintg_changeMode=0;

unsignedintg_runMode=CHANGE_DUTY;

unsignedintg_displayTimeCnt=0;

unsignedintg_displayClrCnt=0;

unsignedcharTxBuf[13]={0};

unsignedintg_colorTimeCnt=0;

unsignedintg_colorCnt=0;

unsignedintg_soundlightFlag=0;

#include"include.h"

voidinit(void)

{

Init_PLL();//初始化PLL

Init_ATD();//初始化ATD角度测量

Init_PIT();//初始化PIT

Init_PID_Data();//初始化PID

Init_ECT();//编码器

Init_LCD5110();//液晶显示

Init_KeyINT();//按键

ZLG7289_init();//按键

Init_PWM();//电机驱动

Init_SCI();

PORTB|=0X08;

}

voidmain(void){

/*putyourowncodehere*/

unsignedcharaddrX=0,addrY=0;

unsignedintADValue=0;

unsignedintSendCnt=0;

floata;

floathudu;

floatjiaodu;

init();

addrX=0;

addrY=0;

Display_String_LCD5110(&addrX,&addrY,"CurrentAngle:

");

addrX=0;

addrY=2;

Display_String_LCD5110(&addrX,&addrY,"PWMDuty:

");

EnableInterrupts;

for(;;){

if(beat_Sensor>=10)//350ms采集一次控制一次

{beat_Sensor=0;

Process_ATD_Value(&ADValue);

a=(float)(double)((ADValue/12.4-170)/80);

if(a<0)a=0;

if(a>1)a=1.0;

hudu=acos(a);

jiaodu=(float)(hudu*180/3.14);

jiaodu=DataFilter((unsignedint)jiaodu);

switch(g_runMode)

{caseCHANGE_ANGLE:

g_anglePID=angle_PID_Con(g_angle,(unsignedint)jiaodu);

if(g_anglePID>80){g_anglePID=80;}

if(g_anglePID<=20)

{

speedSet=0.086*g_anglePID*g_anglePID-0.04*g_anglePID+72.5;

}elseif(g_anglePID<=25)//由于角度偏低故进行*个脉冲的修正

{speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42;}else

if(g_anglePID<=50)//由于角度偏低故进行7个脉冲的修正

{speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42+10;}

else{speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42;}

M_PWM_Data=Motor_PID_Con(speedSet,ect_data);

if(M_PWM_Data>=240)//限制%80占空比{M_PWM_Data=240;}

if(!

g_angle){M_PWM_Data=0;}

Set_MOTOR(M_PWM_Data);//设置电动机速度

break;

caseCHANGE_DUTY:

break;

caseONE_KEY:

g_anglePID=angle_PID_Con(g_angle,(unsignedint)jiaodu);

if(g_anglePID>80)

{

g_anglePID=80;

}

if(g_anglePID<=20)

{

speedSet=0.086*g_anglePID*g_anglePID-0.04*g_anglePID+72.5;

}elseif(g_anglePID<=25)//由于角度偏低故进行*个脉冲的修正

{

speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42;

}elseif(g_anglePID<=50)//由于角度偏低故进行7个脉冲的修正

{

speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42+10;

}else

{

speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42;

}

M_PWM_Data=Motor_PID_Con(speedSet,ect_data);

if(M_PWM_Data>=200)//限制%80占空比

{

M_PWM_Data=200;

}

Set_MOTOR(M_PWM_Data);//设置电动机速度

if(!

g_soundlightFlag&&((jiaodu>=40)&&(jiaodu<=50)))

{

g_soundlightFlag=1;

TxBuf[0]=(unsignedchar)5;

TxBuf[1]=(unsignedchar)0;

TxBuf[2]=(unsignedchar)0;

TxBuf[3]=(unsi

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

当前位置:首页 > 表格模板 > 合同协议

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

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