当前位置:首页 >> IT/计算机 >>

2011年全国大学生电子设计竞赛论文(F题)


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

帆板控制系统( 帆板控制系统(F 题) 【120212 组】

2011 年 9 月 6 日





本文主要介绍了一种帆板控制系统。通过对直流风扇风速的控制,调节风 力大小,改变帆板的转角。其主控芯片为 MC9S12XS128,通过 PWM 对电机驱 动 7960 的控制,来调节电机的转速,同时应用光电编码器和倾角传感器作为反 馈,对整个调速系统进行 PID 闭环调节,以到所预期的角度。并且介绍了在调 试过程中的实时监控、宏观曲线分析和数据分析应用等调试手段。 文章着重介绍核心器件的选择、各部分电路、软件的设计和调试手段

关键词: 关键词:PID 调速

MC9S12XS128

调试手段

I





1 系统方案 ................................................................... 1 1.1 角度调整系统方案的论证与选择 ..................................................................................... 1 1.2 电机驱动方案的论证与选择 ............................................................................................ 1 1.3 MCU 控制系统的论证与选择........................................................................................... 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 控制电路................................................................................................................. 4 3.1.3 键盘管理电路 ......................................................................................................... 5 3.1.4 显示系统电路 ......................................................................................................... 6 3.1.5 倾角传感器电路 ...................................................................................................... 6 3.1.6 电机驱动电路 .......................................................................................................... 7 3.1.7 测速反馈电路 .......................................................................................................... 8 3.1.8 电源电路.................................................................................................................. 8 3.2 程序的设计......................................................................................................................... 8 3.2.1 程序功能描述与设计思路 ...................................................................................... 8 3.2.2 程序流程图 .............................................................................................................. 9 4 测试方案与测试结果 ........................................................ 10 4.1 测试方案........................................................................................................................... 10 4.2 测试条件与仪器.............................................................................................................. 13 4.3 测试结果及分析.............................................................................................................. 13 4.3.1 测试结果(数据) ..................................................................................................... 13 4.3.2 测试分析与结论 .................................................................................................... 13 附录 1:电路原理图 .......................................................... 15 附录 2:源程序 .............................................................. 16

II

帆板控制系统( 帆板控制系统(F 题) 【高职高专组】 高职高专组
1 系统方案
本系统主要由倾角传感器模块、电机驱动模块、MCU 控制模块、电池组成,下面分别 论证这几个模块的选择。

1.1 角度调整系统方案的论证与选择 角度调整系统方案的论证与选择
方案一:线性电位 WDD35D-4 是 360°连续机械转角的线性电位器,精度可达到 1%, 将电位器旋钮和电位器分别于帆板和连杆结合,在帆板转动的同时带动旋钮改变阻值, 用 AD 测出电压变化,从而换算出倾斜角度。 方案二:飞思卡尔公司的 MMA7445 三轴加速度传感器,它 MMA7260 三轴加速度传感 器功能类似,不同点是它输出的是数字量,同样拥有低功耗,高稳定性等特点。 方案三:飞思卡尔公司的 MMA7260 三轴加速度传感器,它具有灵敏度可选,低功耗, 高稳定性等特点,并且输出模拟信号,同时它的体积小,工作可靠,调试倾角方便等特 点也是一方面优势。 方案一线性度好但是机械结构比较复杂,方案三输出的是数字量,精度不可调,方 案二可以改变外部 AD 来实现。综合以上三种方案,选择方案三。

1.2 电机驱动方案的论证与选择 电机驱动方案的论证与选择
方案一:用三极管搭建 H 桥来控制电机正反转,通过 2 个 8550 和 2 个 8050 三极管 搭建成 H 桥,其原理简单,通用,但是负载经过电流太小。 方案二:L298N 是内部集成的双 H 桥电路,它的最高电源电压到 46 V。直流电流可 达到 4A。低饱和压降。同时还有过热保护过热时逻辑“0”的输入和高噪声免疫力。是 一款常用的电机驱动芯片 方案三:BTS7960 是一款半桥驱动芯片,就是说需要 2 个芯片来驱动一个电机,电流 最高 43A,其内阻很小,所以散热不是很厉害。并且开关频率可达到 25kHz 以上,同时 兼容 TTL 控制电平。 由此可见:方案三无论是最大电流和开通内阻相比于方案一和方案二很优秀。综合 考虑我们选用方案三 综合以上三种方案,选择方案三。

1.3 MCU 控制系统的论证与选择
方案一: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 位周期中断定时期。
1

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

2 系统理论分析与计算
2.1 帆板受力的分析与计算 帆板受力的分析与计算 的分析
2.1.1 帆板转角的原理 帆板受力情况如图 2-1-1 所示,再不受外力的作用下,由于物体重力产生一个重力, 竖直向下,所以在没有受到风力的作用时,帆板是竖直的,当受到一个水平的风力的时 候,重力和风力合成一个斜向下的力使帆板移动,与竖直方向有一个夹角,当连杆对帆 板的拉力等于重力与风力的合力时,帆板可以保持平衡,即理论上的静止,形成一个角 度。我们就是利用这一原理通过控制锋利的大小来实现帆板转动或者保留的角度。

图 2.11 受力情况示意图

2.1.2 帆板的受力分析

图 2.12

受力分析

当风扇打开时,产生风力 F,它与重力 G 同时作用在翻版上,使帆板与竖直方向角度 为 θ 的夹角,且 F tan θ = G (1)

2

由此可以通过控制 F 的大小来控制 θ 角的大小。当 θ 角形成后,帆板的受风面积 S 也 会随之改变 S ' = S *cos θ (2) 且已知
F ∝S ' 综公式(1)(2)(3)所述, (3)

tan θ =

K * S * cos θ G

(4)

有上述公式可看出 S 与 G 都是已知的定量,通过对 K 的控制就能改变 θ 的大小,从 而完成系统的要求实现功能。

2.2 倾角传感器的分析与计算 倾角传感器的分析与计算
2.2.1 倾角传感器系统原理 加速度传感器的测量原理本质是两片弹性间距的平板电容,改变间距即改变电容, 因而改变输出电压。MMA7260Q 的重力感测单元由基于半导体材料的微机械结构构造而 成。 MMA7260Q 以重力为输入矢量来决定物体在空间的姿态, 把加速度传感器固定在物体 的水平面上,当物体姿态改变时,加速度传感器的敏感轴随之转动一定角度,由于重力 的作用,传感器敏感轴上的加速度会发生改变,从而通过正交两个加速度确定出倾角关 系。 2.2.2 倾角传感器的计算 当传感器处于水平位置时,如图 4 所示,图中,XOY 平面为水平面,Z 轴为重力势 方向。当传感器以 O 点为参考点绕 X 轴或绕 Y 轴转动时,这时传感器的输出和倾角的关 系为: ax = g sin(a ); az = g cos(a );
式中,

ax , az 为传感器 X 敏感轴和 Z 敏感轴的输出;g 为重力加速度值;α为传感

器水平面与坐标系水平面上 X 轴和 Y 轴的倾斜角度。

2.3 电机转速控制的分析与计算 电机转速控制的分析与计算
2.3.1 电机转速控制的分析 系统需要控制直流电机的转速,在正常情况下,当电机通电时速度增加;电机断电 后,速度逐渐减小。控制转速比较容易实现的就是用单片机输出 PWM 波,只要按一定规 律,改变占空比即可让电机速度得到控制。在电机转速控制的过程中,免不了的要用到 各种各样的算法。 而我们为了更好地稳定电机速度使用了工业中最常用的 PID 控制算法。 为了算法的设计方便,我们采用了数字 PID 控制算法。 2.3.2 数字 PID 控制算法的计算 控制算法的计算 数字 PID 控制算法在生产过程中是一种最普遍采用的控制方法,在冶金、机 械、 化工等行业中获得广泛应用。究其原因是:该算法蕴涵了动态控制过程中现在(P)、过 去(I)和将来(D)的主要信息,具有本质上的鲁棒性、优化控制特性和智能化,算法简单 明了,易于掌握。单位反馈的 PID 控制原理框图如图 1:
3

图 2.32

PID 控制原理框图

单位反馈 e 代表理想输入与实际输出的误差,这个误差信号被送到控制器, 控制 器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合, 得到输出 量u 。 de(t ) u (t ) = K P e(t ) + K I ∫ e(t )dt + K D dt (5) 其中, Pk 、 Ik 、 Dk 分别称为比例系数、积分系数、微分系数。 u (t ) 接着被送到了

执行机构,这样就获得了新的输出信号 u (t ) ,这个新的输出信号被再次送到感应器以发 现新的误差信号,这个过程就这样周而复始地进行。

3 电路与程序设计
3.1 电路的设计
3.1.1 系统总体框图 系统总体框图 系统总体框图如图 3.11 所示,

MC9S12XS128
图 3.11 系统总体框图

3.1.2 控制电路 系统硬件以 MC9S12XS128 单片机为核心,MC9S12XS128 是一种低功耗、高性能
4

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

图 3.12

控制电路原理图

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

图 3.13 键盘管理电路原理图

5

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

图 3.14 显示系统电路

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

6

图 3.15 倾角传感器电路

3.1.6 电机驱动电路 BTS7960 是一款半桥驱动芯片,就是说需要 2 个芯片来驱动一个电机,电流最高 43A,其内阻很小,所以散热不是很厉害。并且开关频率可达到 25kHz 以上,同时兼容 TTL 控制电平。

图 3.16 电机驱动电路

7

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

图 3.17 测速反馈电路

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

图 3.18 电源电路

3.2 程序的设计
3.2.1 程序功能描述与设计思路 1、程序功能描述
8

根据题目要求软件部分主要实现键盘的设置、数据的显示和帆板转角的稳定。 1)键盘的设置部分:通过键盘设定风力大小、设定帆板转角。 2)数据的显示部分:显示当前角度、设定角度、当前风力、设定风力。 3)帆板转角的稳定部分:利用工业上常用的 PID 控制算法来稳定帆板转角。 2、程序设计思路 根据题目要求实现键盘控制风扇风力以及帆板转角,故设定了风力模式和角度模 式。在风力模式下,用按键直接调整风扇的转速。在角度模式下,用按键调整设定角度 再利用 PID 控制算法对角度进行控制, 进而给出风扇转速的控制量再通过 PID 控制算法 对风扇转速进行稳定,从而实现稳定的帆板转角控制。同时,为了测试方便设定 45°角 的一键锁定模式,锁定之后进行声光提示。 3.2.2 程序流程图 1、主程序流程图如图 3.22

图 3.22 主程序流程图

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

9

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

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

外部中断

读取按键值 并对按键值进行处理

退出中断
图 3.24 键盘子程序流程图

4、速度控制子程序流程图,如图 3.25 定时10ms

读取外部计数脉冲值

速度PID进行调整

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

4 测试方案与测试结果
4.1 测试方案
4.1.1 硬件测试 通过示波器对电机测速反馈电路进行测试,其波形如下图 4.11 所示:

10

图 4.11 脉冲方波 完全达到要求,可以应用。 通过万用表对传感器模块电压值进行测量数据如下表所示 电压档信号测试结果好下表所示:
信号值 显示 0° 2.45 10° 2.42 20° 2.41 30° 2.34 40° 2.27 50° 2.16 60° 2.05

(单位/V)
70° 1.92

完全达到要求,可以应用。 4.1.2 软件仿真测试 (1)在线调试工具 BDM 是 MC9S12XS128 单片机常用的调试手段,在每一部分程序调试通过后,对所 有子程序进行整合,编写出完整的主程序,在 CodeWarrior 界面完成程序编译后,通过 BDM 工具,将程序下载到 MC9S12XS128 微处理器中,然后进行小车的调试。BDM 的优点 是入门简单、可观察参数全面,特别适用于软硬件静态调试设计阶段;缺点是必须与 PC 时刻保持有线连接,不能够用于小车的动态调试阶段,整体界面如图 4.12。

11

图 4.12 CodeWarrior IDE V5.9.0 调试界面

(2)MATLAB 的仿真 MATLAB 对于数据的处理统计分析能力较强, 故多作为数据的静态分析使用。 MATLAB 做曲线拟合界面如图 4.13 所示:

图 4.13 MATLAB 曲线拟合界面

3、硬件软件联调 无线串口调试工具 为了解决在调试过程中能够更清晰明确的看出数据变化,我们应用了一套无线的 调试工具。用 nRF24L01 无线数据传输模块作为数据的传输。把数据通过串口传输电脑 上,再利用所做的 LabVIEW 上位机界面或者是 MATLAB 所做的上位机界面来作为整个小 车监控的一个手段。 LabVIEW 对于数据的实时处理能力较强,故多作为实时动态监控使用。LabVIEW 上 位机界面如图 4.31 所示:

12

图 4.31

LabVIEW 上位机界面

4.2 测试条件与仪器
测试条件:经多次检查,仿真电路和硬件电路与系统原理图完全相同,并且检查 无误,硬件电路无虚焊,同时测试时保持无风状态。 测试仪器:高精度的数字毫伏表,数字示波器,数字万用表,直角三角板,量角 器。

4.3 测试结果及分析
4.3.1 测试结果 数据 测试结果(数据 数据)
角度 距离 10cm 7cm 9cm 11cm 13cm 15cm 15° 15 16 15 14 13 12 30° 31 33 45° 44 47 45 44 43 42 60° 61 64 62 60 59 57 时间(s) 2.1 1.2 1.5 2.2 3.1 4.0

32
29 27 27

4.3.2 测试分析与结论 根据上述测试数据,可以清楚地看出不同的距离、不同的风力、不同的风速的数
13

据对比,由此可以得出以下结论: 1、电机驱动方案和电机很重要,一般的电机驱动方案和直流电机很难把帆板吹到 60°;如果减轻帆板重量则抖动很厉害;如果连杆太粗糙角度不好控制。 2、闭环调速系统很必要,完整的闭环系统(在电机和电源工作范围内)不在乎距 离和偏向角度的问题。 3、数据处理手段多样,不但要有实施监控的,还有整体宏观曲线,同时数据的分 析与拟合等多种手段。 综上所述,本设计达到设计要求。

14

附录 1:电路原理图 :
主控原理图

主控 PCB

15

附录 2:源程序 :
/***************************************************** This program was produced by the CodeWarrior IDE V5.9.0 Automatic Program Generator Copyright 1993-2007 Freescale Semiconductor,Inc. This program was edited by the EditPlus V2.12. Project : TestIntegral Version : V1.0 Date : 2011-9-3 Author : 付保俊&王杰&郑三江 Company : Electrical Make & Repair Center Comments: 整版测试系统,用键盘改变速度。 Chip type : MC9S12XS128MAA Program type : Application Bus Clock frequency : 40.000000 MHz *****************************************************/ //**************用户变量******************* #define CHANGE_NON 0 #define CHANGE_ANGLE 1 #define CHANGE_DUTY 2 #define ONE_KEY 3 //节奏 extern unsigned int beat_Sensor=0,beat_Display=0,beat_ect=0,beat_send=0; //ECT data unsigned int ect_data=0,speedSet=0; unsigned int keyTemp; unsigned int g_keyNum=0,g_keyDownFlag=0; unsigned int g_angle=20,g_anglePID=0,g_duty=20; unsigned int g_changeMode=0; unsigned int g_runMode=CHANGE_DUTY; unsigned int g_displayTimeCnt=0; unsigned int g_displayClrCnt=0; unsigned char TxBuf[13]={0}; unsigned int g_colorTimeCnt=0; unsigned int g_colorCnt=0; unsigned int g_soundlightFlag=0; #include"include.h" void init(void) { Init_PLL(); //初始化 PLL

16

Init_ATD(); //初始化 ATD 角度测量 Init_PIT(); //初始化 PIT Init_PID_Data(); //初始化 PID Init_ECT(); //编码器 Init_LCD5110(); //液晶显示 Init_KeyINT(); //按键 ZLG7289_init(); //按键 Init_PWM(); //电机驱动 Init_SCI(); PORTB|=0X08; } void main(void) { /* put your own code here */ unsigned char addrX=0,addrY=0; unsigned int ADValue=0; unsigned int SendCnt=0; float a; float hudu; float jiaodu; init(); addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY,"Current Angle:"); addrX=0; addrY=2; Display_String_LCD5110(&addrX,&addrY,"PWM Duty:"); 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((unsigned int)jiaodu); switch (g_runMode) { case CHANGE_ANGLE: g_anglePID=angle_PID_Con(g_angle,(unsigned int)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;

17

}else if (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; case CHANGE_DUTY: break; case ONE_KEY: g_anglePID=angle_PID_Con(g_angle,(unsigned int)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; }else if (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>=200)//限制%80 占空比 { M_PWM_Data=200; } Set_MOTOR(M_PWM_Data);//设置电动机速度 if (!g_soundlightFlag&&((jiaodu>=40)&&(jiaodu<=50))) { g_soundlightFlag=1; TxBuf[0]=(unsigned char)5; TxBuf[1]=(unsigned char)0; TxBuf[2]=(unsigned char)0; TxBuf[3]=(unsigned char)~5;

18

for (SendCnt=0;SendCnt<4;SendCnt++) { while(!(SCI0SR1&0x80)); SCI0DRL=TxBuf[SendCnt]; } } if (g_soundlightFlag&&((jiaodu<40)||(jiaodu>50))) { g_soundlightFlag=0;//消除声光提示 TxBuf[0]=(unsigned char)6; TxBuf[1]=(unsigned char)0; TxBuf[2]=(unsigned char)0; TxBuf[3]=(unsigned char)~6; for (SendCnt=0;SendCnt<4;SendCnt++) { while(!(SCI0SR1&0x80)); SCI0DRL=TxBuf[SendCnt]; } } break; } } if (beat_Display>=500)//500ms 显示一次 { beat_Display=0; Display_Acsii_Senser_LCD5110(0,1,(unsigned int)jiaodu); Display_Acsii_Senser_LCD5110(25,1,g_anglePID);//取小数点儿后一位 Display_Acsii_Senser_LCD5110(50,1,g_angle); Display_Acsii_Senser_LCD5110(0,3,g_duty); Display_Acsii_Senser_LCD5110(25,3,ect_data); Display_Acsii_Senser_LCD5110(50,3,speedSet); Display_Acsii_Senser_LCD5110(0,5,g_runMode); Display_Acsii_Senser_LCD5110(50,5,ADValue); } if ((g_displayTimeCnt>=500)&&g_changeMode) { switch (g_changeMode) { case CHANGE_ANGLE: addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY," "); break; case CHANGE_DUTY:

19

addrX=0; addrY=2; Display_String_LCD5110(&addrX,&addrY," break;

");

} } if ((g_displayTimeCnt>=1000)&&g_changeMode) { g_displayTimeCnt=0; switch (g_changeMode) { case CHANGE_ANGLE: addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY,"Current Angle:"); break; case CHANGE_DUTY: addrX=0; addrY=2; Display_String_LCD5110(&addrX,&addrY,"PWM Duty:"); break; } if (g_displayClrCnt==10) { g_displayClrCnt=0; g_changeMode=CHANGE_NON; } } if (g_keyDownFlag)//if key down do it { g_keyDownFlag=0; g_displayClrCnt=0;//有按键时清除闪烁计时 switch (g_changeMode) { case CHANGE_ANGLE: switch (g_keyNum) { case 0: g_angle=10*g_keyNum;//角度 break; case 1: g_angle=10*g_keyNum;//角度 break; case 2:

20

g_angle=10*g_keyNum;//角度 break; case 3: g_angle=10*g_keyNum;//角度 break; case 4: g_angle=10*g_keyNum;//角度 break; case 5: g_angle=10*g_keyNum;//角度 break; case 6: g_angle=10*g_keyNum;//角度 break; case 12: g_angle--;//占空比 break; case 13: g_angle++;//占空比 break; } if (g_angle>80) { g_angle=80; } break; case CHANGE_DUTY: switch (g_keyNum) { case 0: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 1: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 2: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 3: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值

21

break; case 4: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 5: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 6: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 7: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 8: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 9: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 10: g_duty=10*g_keyNum;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 12: g_duty--;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; case 13: g_duty++;//占空比 PWMDTY3=(250*g_duty)/100;//PWMDTY01 置初值 break; } if (g_duty>100) { g_duty=100; } break; }

22


赞助商链接
相关文章:
2011年全国大学生电子设计竞赛论文--B题目_图文
2011 年全国大学生电子设计竞赛 基于自由摆的平板控制系统(B 题) 【本科组】 2011 年 9 月 3 日 摘 要 该系统以高速单片机 STC11F52XE 为控制核心,主要由...
2011年全国大学生电子设计竞赛综合测评题论文报告
2011年全国大学生电子设计竞赛综合测评题论文报告_调查/报告_表格/模板_应用文书。2011年全国大学生电子设计竞赛综合测评题今日推荐 157...
2015年全国大学生电子设计竞赛F题数字频率计设计论文
2015年全国大学生电子设计竞赛F题数字频率计设计论文_电子/电路_工程科技_专业资料。数字频率计设计原理及思路比较 2015 年全国大学生电子设计竞赛 数字频率计(F 题...
2015年全国大学生电子设计竞赛A题论文
2015年全国大学生电子设计竞赛A题论文_电子/电路_工程科技_专业资料。2015年“瑞萨杯”全国大学生电子设计竞赛A题论文 2015 年全国大学生电子设计竞赛 双向 DC-DC...
2011年全国大学生电子设计竞赛论文
2011年全国大学生电子设计竞赛论文_电子/电路_工程科技_专业资料。本文档是基于单片机的简易电阻测试仪的设计,并设计出实物,在2011年全国大学生电子设计竞赛中荣获...
山东大学2011年电子设计大赛综合测评题论文报告
山东大学2011年电子设计大赛综合测评题论文报告_电力/水利_工程科技_专业资料。...ui 2 经选频滤波器滤除 uo1 频率分 量,选出 f 0 信号为 uo 2 , uo ...
2016年全国大学生电子设计竞赛A题论文
2016年全国大学生电子设计竞赛A题论文_电子/电路_工程科技_专业资料。2016 年...通过输出纹波与输出电容的关系式: Vripple=Imax/(Co×f) (2-7) 可以看出,...
2017年大学生电子设计竞赛论文--模板_图文
2017年大学生电子设计竞赛论文--模板 - 20017 年全国大学生电子设计竞赛 调幅信号处理实验电路(F 题) 【本科组】 摘 要 本电路相当于一个接收机系统,各模块...
2011全国大学生电子设计竞赛论文_C题_智能小车(含程序)
2011全国大学生电子设计竞赛论文_C题_智能小车(含程序)_电子/电路_工程科技_专业资料。智能小车(含程序 全国大学生电子设计竞赛 2011 年 智能小车(C 题) 【本科...
全国大学生电子设计竞赛论文
全国大学生电子设计竞赛论文 - 2007 年全国大学生电子设计竞赛 设计论文 题目: 电动车跷跷板( 题目: 电动车跷跷板(F 题) 编号: 编号: F 甲 1203 参赛学生: ...
更多相关标签: