大学生电子设计竞赛设计报告-智能帆板控制系统.doc_第1页
大学生电子设计竞赛设计报告-智能帆板控制系统.doc_第2页
大学生电子设计竞赛设计报告-智能帆板控制系统.doc_第3页
大学生电子设计竞赛设计报告-智能帆板控制系统.doc_第4页
大学生电子设计竞赛设计报告-智能帆板控制系统.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

参赛队号:远帆一队2011年全国大学生电子设计竞赛设计报告竞赛题号:帆板控制系统(f题)智能帆板控制系统【摘要】: 本设计使用stc89c52rc型单片机作为帆板控制系统的主控制器,采用编码器作为角度传感器,配以后端辨向计数处理电路,将信号送往单片机进行数据处理并实时显示,通过控制风速使得角度能够得到精确控制,设计的风机由直流电机控制,采用脉宽调制控制技术,通过改变信号的占空比调节风速,在单片机接受到了外部输入的角度信号的前提下,不断调整控制占空比控制电机转速,直到帆板达到控制的角度。同时采用超声波进行实时测距,根据测得的风机与小车的距离调整脉宽调整步距,使得电机能够迅速准确驱动帆板到达制定角度。本系统能够实现从零度到60度的帆板角度匀速控制,并且能够准确控制帆板达到45度角,在此基础上实现了帆板控制系统的数字输入智能控制方式,能够通过人为设置角度后通过智能控制程序是得帆板达到要求的角度。【关键词】:帆板控制系统;脉宽调制控制;声光提示;旋转编码器辨向处理,防抖动处理电路 1. 引言智能帆板控制系统的主要任务为制作一个帆板控制系统,通过对风扇转速的控制,调节风力大小,改变帆板转角。该任务既包含有测量角度的环节,还包含有对风机的速度控制,如何根据角度变化及时来控制风机的转速等问题。关键问题之一为角度信息的采集,通常情况下角度信号的采集有角度传感器,编码器,编码盘等器件,其主要的原理为把整个圆周分为多个等份,到每个等分刻度时,光电信号变化,检测到光电信号后转换成对应的角度信号。关键问题之二为电机的控制,常用的小型动力电机有直流电机和步进电机,直流电机的控制相对步进电机来说比较简单,只要通过控制电机电压或者控制电机的通电时间的占空比即能实现调速,步进电机牵涉到相序和信号发送频率等问题,处理相对复杂。关键问题之三为如何准备的根据帆板的角度信号及时的控制电机风速,使电机能够稳定在指定的角度位置。关键问题之四为信息的及时显示,用来显示的器件通常有7段数码管和液晶显示模块可以用来作为显示,液晶显示模块使用灵活,控制相对有一定难度,但是解决了关键问题后使用和修改比较便利。综合上述的关键问题后,我们根据自身的技术积累,采用相关的单片机控制技术、传感器技术、电路处理技术等,设计了一套智能帆板控制系统,完成了大赛题目所有的基本功能和附加要求。 1.控制系统总体方案设计图 1 帆板控制系统示意图本题目主要是任务是通过控制风机的风力吹动帆板,使其达到指定角度,并且把角度信息实时显示。其中的关键问题是如何测定帆板的转角和如何控制电机的转速来控制风机的风力。为此,我们设计了一套系统总体控制方案,如图2所示。图.系统总体控制方案图2所示为本系统采用的整体设计方案,帆板摆动时,光电编码器随着帆板摆动,产生两路正交的方波信号,由辨向处理电路处理后分正反向两路信号送给单片机的和两路计数器进行计数,两路计数器的差值乘当量值即为角度信信息,由单片机控制液晶显示器实时显示,光电传感器为绝对零位设定使用,帆板在不动情况下光电传感器的信号为高电平,此时,送到单片机的中断口,单片机处理中断时把两路计数器里面的数字清零,此时角度信息为零。单片机主要为电机驱动使用,单片机采集到角度信号后,由当前角度信号与实际输入角度进行比对,由角度差值,选择合适的档位,通过p0口把信息送到单片机2的p0口,并通知单片机2控制电机转动,由此循环执行,直到达到指定的角度。2. 系统理论分析与计算2.1 风扇控制系统由于直流电机非常简单容易实现调速,本控制系统风扇扇叶驱动动力源采用直流电机,直流电机的调速有下面几种方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格昂贵,且可能存在干扰。更主要的问题在于一般电动机的电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间长、机械结构易损坏、寿命较短、可靠性不高。方案三:采用集成芯片l298n构成驱动电路。l298n是双h桥高电压大功率集成电路,可用来驱动直流电动机和步进电动机等电感性负载。此电路用单片机控制l298n芯片使之工作在占空比可调的开关状态,精确调整电动机转速。l298n是三极管工艺的,所以导通的饱和压降比较大,1a时大约2-3a的压降,这种电路效率非常高;此电路内部包含4通道逻辑驱动电路,信号特别易于处理,电路保证了可以简单地实现方向的控制;电子开关速度很快,稳定性也极强,是一种广泛采用的技术。通过比较,使用l298n芯片充分发挥了它的功能,能稳定地驱动电机,且价格不高,故选用方案三。整个风扇控制系统采用脉宽调速技术,通过控制脉冲宽度来控制风扇的转速从而控制帆板的角度。 图3 电机控制信号占空比的不同决定了直流电机的通电时间,也决定了直流电机单位时间转过的角度,及速度,所以通过占空比的控制可以准确控制风扇的风速。2.2 角度测量处理系统2.2.1角度测量处理系统设计 根据码盘形式光电编码器分为绝对式和增量式两种。绝对式码盘在任意位置都可给出与位置相对应的数字转角输出量 ,故不存在四倍频的问题。增量式码盘是根据轴所转过的角度 ,输出一系列脉冲 ,并通过计数电路 ,对脉冲进行累计计数.得到相对角位移量。由于单个绝对码盘的角位移的测量范围仅为 0 360 ,需多个码盘才能测量大于 360的角位移 ,从而提高了系统的价格和复杂程度 ,而增量式码盘转角测量范围只受计数电路的位数限制 ,结构简单 ,价格低廉 ,应用广泛,所以本系统角度测量采用编码器,角度的测量采用 200线的欧姆龙旋转编码器,型号为,光电编码器是高精度控制系统常用的位移检测传感器。当控制对象发生位置变化时 ,光电编码器便会发出a、 b 两路相位差90 的数字脉冲信号。正转时a 超前b 为 90 ,反转时b 超前a为90 。脉冲的个数与位移量成比例关系 ,因此 ,通过对脉冲计数就能计算出相应的位移。 图4 编码器正反转输出波形整个角度测量的方案为: 图 5 角度处理系统编码器两路方波信号通过信号辨向处理电路后分为正向和反向两路送给单片机计数器,单片机计数器内的数值差代表了角度位移的大小,乘与角度当量后为角度信息,由单片机送往液晶显示器显示。2.2.2 编码器抖动信号的处理a 专用倍频细分处理芯片处理抖动。对于确定的码盘,其脉冲周期t 对应的码盘角位移固定为,故其量化误差为 /2。如果能够将a 或b 信号四倍频,则计数脉冲的周期将减小到t/4 。量化误差下降为 /8 ,从而使光电编码器的角位移测量精度提高4 倍。在实际电路中,可以使用专用芯片将两路正交的方波进行四倍频后产生两路加、减计数信号,送双时钟可逆计数器进行加、减计数,也可直接送单片机进行数据处理,达到更集成化的效果。该类芯片包含相关时序模块,可以处理由于抖动产生的高频杂讯。 b 多级d 触发器滤除抖动信号。多级 d 触发器滤除法是利用电路对信号的延迟和门电路的逻辑运算能力来消除振动引起的高频方波干扰脉冲, 防止误计数。第一种方法需用专用的倍频芯片,不容易获得,成本也比较大,另外旋转的速度要均匀,且必须在一比较小的范围内;第二种方法只有在触发器级数大于3 的时候滤除的效果才比较明显,而此时硬件资源开销比较大,比较适合使用于以较高速率采集数据的环境中。本次设计由于时间紧张,无法采购到专用的倍频处理芯片,所以只能采用方法二对抖动信号进行处理,对下面两种方案进行了电路设计与验证。方案一: 图6 典型辨向处理电路当光电编码器顺时针方向旋转时 ,a相信号在相位上超前 b相信号 1 /4周期。经过 d触发器后 ,q1为高电平 ,q2为低电平 ,于是 , c1有计数脉冲 ,可接入双向计数器的“+” 端 ,而 c2保持为低电平。反之 ,当逆时针方向旋转时, c1将保持低电平 , c2形成的计数脉冲可作为双向计数器“- ” 端的输入信号,从而完成对光电编码器输出信号的计数。方案二: 图7 防抖动的辨向处理电路信号经过 d触发器需要一定的时延 td,因此 ,相对于 t时刻的信号 a ( t)、 b ( t) ,第 i级的 d触发器的输出信号 qi和 将在 t + i td时刻建立。因此 ,若电路有 n级 d触发器组成 ,那么 ,将在 n td时间内 ,每隔 td产生一个信号 qi和 ( i = 1, 2n) ,这些信号经过“ 与 ” 运算后 ,得到用于顺时针方向的计数信号 cw 和逆时针方向的计数信号ccw,见下式。考虑光电编码器顺时针方向旋转 ,当在 ( t, t +n td)内某一时刻 ,信号 a、 b的相位差由于振动而被破坏并产生高频干扰脉冲时 ,此干扰信号到达计数器的必要条件是 q1 , q2 qn 全为“1” ,但是由于 d触发器的延迟作用 ,而使 q1 , q2 qn 全为“1” 的可能性得到扼制。若按等概率事件计算 ,高频干扰信号经过 n级 d触发器到达计数器的概率为 1/2n 。方案三:采用高频滤波消除抖动。可以通过低通滤波器实现高频杂讯波的处理。本次设计三种方案都经过了实验验证。具体实验过程在测试章节详细介绍。3.电路与程序设计1. 总体原理图 图8 总体电路原理图 根据总体设计方案和大赛的任务细节,我们设计了对应的电路,主要有两个单片机信号的通信处理通过p0口交换信息,在达到45度时控制喇叭发声的功放电路,还有就是对应的光电闪烁,用于满足基本要求中的第三项。 基本的单片机系统最小板我们在比赛中通过pcb板雕刻机自动雕刻,目前该最小系统运行良好。2.辨向处理电路图。 图9根据处理电路的需要,设计了编码器辨向处理电路图。采用的光电编码器为集电极开路的编码器,所以输出端口需要接上一个上拉电阻到电源正极,信号出来后通过光耦隔离,两路正交的编码器信号通过辨向电路后分正反转两路信号送往单片机的计数端口。3.电源模块设计 图10方案一:所有器件采用单一电源12v(8节aa电池)。这样供电比较简单;但是由于电动机启动瞬间电流很大,而且l298驱动的电动机电流有波动,会造成电压不稳、有毛刺等干扰,严重时可能造成单片机系统掉点电,缺点十分明显。 方案二:双电源供电。将电动机驱动与单片机以及其周围电路电源完全隔离。这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。我们认为本设计的稳定可靠性更为重要,故拟采用方案二。 编码器供电需要+12v电源,单片机、其它元件和编码器输出信号上拉电阻端需要+5v电源,还有就是风扇电机的驱动需要有+15v的电源。我们采用方案二制作了电源模块。供应12v和5v的电源,由于风机需要较大的电流,所以供电选用了开关电源+24v通过稳压块7815稳定到15v输出。2程序设计思路 整个设计程序模块中,单片机1作为主控模块使用,主要负责计数 显示,后发送控制调节信号。单片机二主要是接受控制信号并控制电机速度。程序开发流程图:单片机1程序流程图:程序初始化读取定时器信号实时显示到液晶器功能模块开始图11 功能处理模块中包括有定时器溢出处理,外部中断1处理,键盘响应处理模块等。定时器不管正向还是反向都要计数,一旦溢出,可以通过定时器中断,用65536减去另外一个定时器的计数,并且赋值给溢出的定时器。键盘输入模块处理中,一旦获得了对应需要控制的角度信息后,马上读取角度信息进行比对,然后根据比对信息调节占空比实现角度闭环控制,但是里面设置了控制次数,一旦到达控制次数,不再调节,以防止死循环。单片机2程序流程图: 单片机2为辅助控制模块,主要是为了减轻单片机1的控制负担,其功能相对较为简单,主要是具体实现电机的脉宽调制控制,单片机总是查询与单片机1交换信号窗口,一旦单片机发送需要控制电机的信息后,马上通过设计端口p1.0获取第一个单片机发来的脉宽调制信息,得到后控制电机达到对应转速。是否有脉宽信号开始控制电机无有图124.测试方案与测试总结1.防抖动处理电路的测试帆板在稳定位置时候的抖动信号无法进行处理,所以系统在动态时候会引起误计数,按照第二部分中的防抖动处理方案中的方案二,设计加工了相关电路板,但是在调试过程中,发现由于两路输入的与门在制作四路输入的与门时,存在逻辑竞争冒险,而手头又没有四路输入与门,所以后面采用了方案三中的低通滤波处理,但是抖动信号的处理效果不是很明显。 2.角度实时显示测试 角度实时显示测试,从角度0到角度60度由人任意移动角度,我们设计了液晶显示计数和量角器计数的两种方法,并且通过两种方法进行比对,通过对060度范围进行了30等分进行了测量,发现整个移动过程中,实时显示的误差为3度左右,完全满足实际需求。3.键盘控制风速在0-60范围测试设置了两个风速控制按钮,通过其中一个控制风速度增加,另外一个减少,并显示角度。通过多次检测处发现,角度完全在5度范围内,满足要求。4.帆板稳定在45度的风力测试。 帆板控制在45度范围内,可以通过第三步中控制风速增加按钮,一旦达到45度,蜂鸣器发出声音,光电管发出彩色灯。5.键盘设定角度进行定位测试通过键盘控制输入角度,系统自动辨识,该步骤我们也经过测试,完全达到要求。 6风机距离变化时键盘定位角度测试风机距离变化时,通过键盘定位时候,我们通过一步定位法,先一步到达一定得风速档位,读取实际角度,如果角度与读入角度相比小或者大,及时朝不同方向改变占空比调节速度,实际结果稍微有所偏差,比规定角度偏大。5.结论 本次电子设计竞赛帆板控制系统的制作经过了多次摸索和实践,终于实现了比赛的功能, 在编码器抖动信号处理方面花费了大量的时间,通过本次比赛我们锻炼了自己的设计应用能力,在构造嵌入式系统方面积累了经验.参考文献1. 单片机应用系统设计何立民 编 航天航空大学出版社 2. 单片机基础李广弟 编 北京航空航天大学出版社 3. 新型实用电子电路400例何希才 编 电子工业出版社 4. 传感器集成电路手册,第一版赵负图 编 化学工业出版社 5. 电力拖动自动控制系统,第二版陈伯时 编 北京:机械工业出版社 6. 新编mcs-51单片机应用设计,第一版张毅刚,彭喜元 编 哈尔滨工业大学出版社 7. 电子技术基础 模拟部分(第五版)康华光 编 高等教育出版社8. 单片机原理及接口技术 余锡存 曹国华 编 西安电子科技大学9. 电子技术基础 数字部分(第五版)康华光 编 高等教育出版社10. hcs12微控制器原理及应用,王威 编 北京航空航天大学出版社11. 常用电路模块分析与设计指导,王松武 编 清华大学出版社 12. 大学生电子设计与应用,王彦朋 编 中国电力出版社 13. 模拟电子技术基础,黄丽亚、杨恒 编 机械工业出版社 程序附录 /*- 名称:pwm 调光 日期:2009.5 修改:无 内容:1、学习目的:利用定时器产生pwm,了解原理和使用方法 2、硬件要求:led灯 定时器 3、试验现象:led灯由亮到灭,由灭到亮逐步变化,也就是调光现象-*/#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#define data p1 /数据端口#define datapwm p0sbit key4=p31;sbit key3=p36;sbit key1=p30;sbit key2=p37;sbit rs = p20;/27;sbit rw = p21;/31;sbit e = p22;/30;sbit led = p23; /七彩闪光灯sbit sound=p27;unsigned char pluscounter,flagangle,setangle=2,flag=1,pwm_on=1;unsigned int num1,num2,angle; /高电平时间、周期长度、角度、设定角度char data tab016=set: ;char data tab116=pwm: angle: ;/ 微秒延时函数 /*void delayus(unsigned char us)/delay us unsigned char uscnt; uscnt=us1; /*12mhz频率*/ while(-uscnt);/ 毫秒函数声明 /*void delayms(unsigned char ms) while(-ms) delayus(250); delayus(250); delayus(250); delayus(250); / 写入命令函数 /*void writecommand(unsigned char c) delayms(5);/操作前短暂延时,保证信号稳定 e=0; rs=0; rw=0; _nop_(); e=1; data=c; e=0;/ 写入数据函数 /*void writedata(unsigned char c) delayms(5); /操作前短暂延时,保证信号稳定 e=0; rs=1; rw=0; _nop_(); e=1; data=c; e=0; rs=0;/写入显示数组/*void writestring(unsigned char s,char *ptr) unsigned char i; if(s=1) writecommand(0x80); else writecommand(0xc0); for(i=0;i16;i+) writedata(*(ptr+i); / 初始化 /*void initlcd() delayms(15); writecommand(0x38); writecommand(0x38); writecommand(0x38); /设置显示模式多发几次 writecommand(0x06); /显示光标移动位置 writecommand(0x0c); /显示开及光标设置 writecommand(0x01); /显示清屏/*/* 延时函数 */*/void delay(unsigned int cnt) while(-cnt);/自动判断是否达到设定角度、/*void goangle(void) if(!key2) flagangle=1;/启动设置的角度 if(flagangle)/缓慢平稳的到达角度 switch(setangle) case 2:pwm_on=5;break;case 4:pwm_on=10;break;case 6:pwm_on=12;break;case 8:pwm_on=13;break;case 10:pwm_on=14;break;case 12:pwm_on=15;break;case 14:pwm_on=16;break;case 16:pwm_on=17;break;case 18:pwm_on=18;break;case 20:pwm_on=19;break;case 22:pwm_on=20;break;case 24:pwm_on=21;break;case 26:pwm_on=22;break;case 28:pwm_on=23;break;case 30:pwm_on=25;break;case 32:pwm_on=26;break;case 34:pwm_on=27;break;case 36:pwm_on=29;break;case 38:pwm_on=30;break;case 40:pwm_on=33;break;case 42:pwm_on=34;break;case 44:pwm_on=37;break;case 46:pwm_on=39;break;case 48:pwm_on=41;break;case 50:pwm_on=44;break;case 52:pwm_on=46;break;case 54:pwm_on=48;break;case 56:pwm_on=49;break;case 58:pwm_on=53;break;case 60:pwm_on=55;break;default:break; datapwm=pwm_on; flagangle=0; / 第三个要求的控制过程/*void yaoqiu3(void) tab04=l;tab05=e;tab06=t;tab07=g;tab08=o;writestring(1,tab0); /显示let go pwm_on=47;datapwm=pwm_on; /先到达大概位置 if(angle=45)/如果等于45度 sound=1; /开启声音 led=0; /开启彩灯 if(angle45) /如果大于45度 sound=0; /关闭声音 led=1; /关闭彩灯pwm_on-;delayms(100);pluscounter+; tab07=0xfe;tab08=0xfe;writestring(1,tab0); /清除go /*/* 主函数 */*/main() initlcd(); tmod=0x55; tr0=1; /开启t0 tr1=1; /开启t1 et0=1; /开启t0中断 et1=1; /开启t1中断 ex0=1; /开启外部中断0 it0=0; /电平触发 ea=1; /全局中断开 datapwm=pwm_on; /给单片机二一个初始化 tab115=0xdf;/度数的符号 writestring(2,tab1); tab06=0xdf;/度数的符号 writestring(1,tab0); sound=0; /关闭声音 led=1; /关闭彩灯while(1) if(!key3&!key4) th0=tl0=th1=tl1=0; /按键计数器清零 if(!key1) /转换按键 flag+;if(flag3) flag=1; /标志位是从1到3。 if(flag=1) tab14=pwm_on/10+0x30; tab15=pwm_on%10+0x30; writestring(2,tab1); tab04=0xff; /把角度设置去掉 tab05=0xff; tab06=0xff; writestring(1,tab0); if(flag=2) tab04=setangle/10+0x30; tab05=setangle%10+0x30; tab06=0xdf; writestring(1,tab0); tab14=0xff; /把度数设置去掉 tab15=0xff; writestring(2,tab1); /第二和第三个基本要求:调风速 ,在60度范围内变化,并能10秒达到45度 if(flag=1) /按键设置脉宽大小 while(!key3|!key4) if(!key3) pwm_on-;if(pwm_on99) pwm_on=99;datapwm=pwm_on; delay(1000); tab14=pwm_on/10+0x30; tab15=pwm_on%10+0x30; writestring(2,tab1); if(!key2) th0=tl0=th1=tl1=0;/将两个计数器清零 if(flag=2) /按键设置角度大小 while(!key3|!ke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论