您的当前位置:首页正文

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

2022-04-03 来源:好走旅游网
基于自由摆的平板控制系统技术报告

摘 要:本设计用角度传感器(光电编码器)和

CPLD系统进行角度信息时时

采集和电机时时控制。CPLD系统是本设计的核心,对光电编码器采集到的脉冲信号进行精确控制和严格计算,从而控制步进电机的转向和转速,达到设计目的。 Abstract: The angle sensor and CPLD-system were used in this project which can collect the angle information and control the stepper motor every time. CPLD system is the core of this project. It has the precise control and the rigorous calculation about acquisition of the angle to the pulse. And then, the turn and the speed of stepper motor can be controlled.

1

1.自由摆的平板控制系统设计分析

1.1设计要求

在本次竞赛中,要求所设计自由摆的控制电机能控制平板随着摆杆的摆动而旋转,并且完成不同要求下的控制结果。很明显,根据基本要求,我们要设计的系统在摆杆一个摆动周期时间内,电机控制平板旋转一周。并在此基础上当摆杆启动在自由摆动过程中,平板上的硬币不会从板上滑落。或者将激光笔固定在平板上,在摆杆摆动过程中指示出所要求指示的横线。

1.2总体设计

系统结构框架如下图1所示

信息采集 信息处理 执行模块 电机操作 角度信息采集 位置信息采集 数据处理命令输出图1 系统构架

如图所示,该系统分为以下三个模块

(1)信息采集模块:使用角度传感器来采集摆杆位置信息。在该模块中包含有角度信息采集模块,光电采集模块,角度信息采集模块时时采集摆杆转过的角度信息。

(2)信息处理模块:信息处理在CPLD内核中,用角度传感器采集到的信息通过编制的程序控制电机的转动方向和速度。从而使电机上面的平板始终处于平衡状态。

(3)执行模块:该模块由步进电机组成。当接收到CPLD发送的命令信息后执行相应的操作。使整个系统处于时时调节状态,达到平衡目的。

1.3方案论证

1.3.1传感器设计方案

在传感器方案的选择中,有以下两种方案供参考:

2

方案一:使用加速度传感器来采集摆杆位置信息。使用加速度传感器,可以测量由于重力引起的加速度,计算出相对于水平面得倾斜角度,或者分析出来震动原因。

方案二:使用角度传感器来采集摆杆位置信息。使用角度传感器可以及时测量摆杆的摆动角度。角度传感器反应灵敏,除去了其他震动可能引起的误差值,它的缺点是没有加速度传感器得到的信息多。

在本次竞赛中,我们利用角度传感器转过角度产生的脉冲数,通过脉冲数量控制电机的转动,经过综合考虑,在本次比赛中采用角度传感器作为信息采集元件。

1.3.2控制方法设计方案

在核心的控制器件的选择上,根据最方便原则考虑两种控制方法。 方案一:单片机控制

单片机89C51常用于嵌入式系统,是计算机的微小化最完备的器件。使用89C51系列单片机进行控制,控制程序简单,价格便宜。但是它的端口有限,在很多情况下需要外加扩展模块,使集约化程度降低。在编译程序的过程中,如果范围过大,则编译语言复杂,容易出错。

方案二:CPLD控制

使用CPLD(复杂可编程逻辑器件)系统进行控制,CPLD比单片运行速度快,功能多,但是它比较复杂,价格较贵,属于大规模集成电路范围。编程灵活,范围宽度适合编译此次题目。

1.3.1电机设计方案

方案一:步进电机

步进电机的驱动接收到一个脉冲信号,步进电机就按设定的方向转动一个角度,那么即可通过控制脉冲个数来控制角位移量。步进电机直接利用角度传感器采集到的角度脉冲信息,按照设定的程序旋转,用脉冲频率来控制电机转动的速度和加速度。但是步进电机转矩较小且抖动厉害,平滑性差。

方案二: 直流电机

直流电机适宜大范围调节速度的场合,调速容易,转矩比较大,并且在平稳

3

性能方面也有优势。但是如果要做到随时控制随时同步停止难度较大。但经过查找我实验室的直流电机体积过大,所以从实际考虑选择步进电机方案。

2理论分析与计算:

步进电机每当一个脉冲到来的时候转动,每转动一步是0.9度,角度传感器每转过0.36度向外发送一个脉冲,所以可以知道角度传感器每0.36度对应的步进电机转动0.9度,且步进电机的每次转动并没有误差积累。故只要控制脉冲次数触发步进电机即可完成任务。

摆杆摆动一个周期的角度没有限制,则步进电机旋转360度需要的脉冲数为400个,即如果角度传感器的一个脉冲一定触发步进电机,则角度传感器必须在摆杆一个周期内发送400个脉冲。以后根据此原则编译程序。

3、自由摆的平板控制系统硬件设计

3.1机械设计 摆杆整体结构特点

摆杆长为1米,底部带有电机,角度传感器置于摆杆上端,电机转轴上装有一个长10cm,宽6cm的硬质无磁性无凸起的平板,根据实际情况,我们选用铝质轻杆做成摆杆,轻质硬泡沫材料做成平板,并固定好各个部件如题目要求的图形所示。

3.2电路设计:

步进电机驱动模块:驱动芯片采用ULN2003APG,驱动电路如

图2 步进电机驱动电路

4

4、自由摆的平板控制系统软件设计

4.1总体流程图

使用CPLD编译的摆杆平衡系统整体工作流程如下图所示:

开始 系统初始化 信号采集

方向判断

电机控制 图2 摆杆系统总体工作流程图

软件程序将整个功能按两个大模块分配,他们之间的关系根据按键选择,下图是软件系统的流程图。

判断按键 是否按下 按键1 功能模块1 拉起摆杆时对传感 器脉冲计数 根据计数值可知电机转动一 个周期所需的脉冲数

驱动电机 图3 软件流程图

按键2 功能模块2 判断摆杆正反转 对传感器信号计数 每三个脉冲信号驱动一次电机 5

5、调试过程并结果分析:

1.将摆杆拉开一定角度,放手目测观察当摆杆摆动一个周期内电机的旋转角度,然后加上信号控制开关当摆杆摆动3个周期后按下开关使电机停止,对比电机转动误差。根据对比结果调整软件参数。

2.将软件编写为使平板时时刻刻与水平面保持平行,然后放置一枚1元硬币在平板上,拉开任意角度,平板调整好角度,放手的同时启动程序,发现硬币在启动的瞬间或者在达到最高点返回时最容易掉落。后来发现,应该在摆杆拉开静止的放手瞬间,使平板有一定的倾斜角,并在随后的运动中,平板时刻与摆杆保持垂直。根据硬币掉落的时间地点改变软件中的参数。

具体软件见附录A。

6

附录A:程序清单

第一问:

reg[23:0]counter;

//延时计数器

reg[3:0]cnt; initial cnt=0;

always@(posedge clk) begin if(counter<=12500_000)begin counter=counter+1; end else begin counter=0; cnt=cnt+1; case(cnt) 1: begin data=8'h08; end 2: begin data=8'h0c; end 3: begin data=8'h04; end 4: begin data=8'h06; end 5: begin data=8'h02; end 6: begin data=8'h03; end 7: begin data=8'h01; end

8: begin data=8'h09; end

default: begin data=8'h08;cnt=0; end endcase

end

end

endmodule

7

第二问:

module dierwen(clk,signal_A,signal_B,signal_Z,data); input clk,signal_A,signal_B,signal_Z; output [7:0]data; reg [7:0] data;

reg [3:0] cnt; reg [2:0] counter; reg flag;

//正转、反转标志位

always@(posedge clk)

//判断何时应该转向

begin if(signal_A==1&&signal_B==0&&signal_Z==1)

begin flag=1; end

else if(signal_A==0&&signal_B==0&&signal_Z==1) begin flag=0; end

end

always@(posedge signal_A) begin if(!flag) //正转

begin counter=counter+1; if(counter==3)

//每三个脉冲使电机转一下

begin counter=0;

cnt=cnt+1;

case(cnt) 1:data=8'h08; 2:data=8'h0c; 3:data=8'h04;

4:data=8'h06;

8

5:data=8'h02; 6:data=8'h03; 7:data=8'h01;

8:begin data=8'h9; cnt=0; end

endcase

end

end

else //反转

begin counter=counter+1; if(counter==3)

//每三个脉冲使电机转一下 begin counter=0;

cnt=cnt+1;

case(cnt) 1:data=8'h01; 2:data=8'h03; 3:data=8'h02; 4:data=8'h06; 5:data=8'h04; 6:data=8'h0c; 7:data=8'h08;

8:begin data=8'h1; cnt=0; end

endcase

end

end

end endmodule

9

附录B:配件清单

物品名称 摆杆 光电编码器 步进电机模块 CPLD模块 电阻 开关

型号 铝质轻杆 E6B2-CWZ6C 自制 自制 1000欧 无 数量 1 1 1 1 5 4 10

因篇幅问题不能全部显示,请点此查看更多更全内容