ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:472.12KB ,
资源ID:17865774      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17865774.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于自由摆的平板控制系统1Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于自由摆的平板控制系统1Word文件下载.docx

1、源程序 14附录2:参考文献 171系统方案的比较与选择1.1 控制器的选择方案一、采用最简单的51单片机采集电压数据。利用51单片机的优点是价格便宜,使用比较方便,缺点是接口少,使用时需扩展,外围电路比较多,运算处理速度不高,功耗高。方案二、利用PIC16F877A单片机对电压数据等进行处理,处理能力强、运算速度快、超低功耗、片内资源丰富、方便高效的开发环境。对于实现本系统的功能绰绰有余。综合比较以上两个方案,本系统选择方案二。1.2 算法的选择 方案一、采用模糊控制算法, 模糊控制有许多良好的特性,它不需要事先知道对象的数学模型,具有系统响应快、超调小、过渡过程时间短等优点,但编程复杂,数

2、据处理量大。方案二、采用PID算法,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制。优点是控制精度高,且算法简单明了。对于本系统的控制已足够精确,节约了单片机的资源和运算时间。1.3传感器的选择 方案一、利用角度传感器测量自由摆的角度,例如mma7455或者mma7361。角度传感器往一个方向转动时,计数增加,转动方向改变时,计数减少。但是角度传感器的应用电路复杂,数据处理繁琐,编程复杂,而且成本较高。 方案二、利用精确电位器与自由摆顶端相连,利用角度和电阻值的一一对应关系,通过单片机采集精确电位器两端电压的变化,来控制步进电机的转动。精确电位器的成本较低,应用电路简单,编程

3、简便,且控制精度和线性度满足系统的要求。1.4机械系统的选择:方案一:使用直流电机。特点是驱动简单而且工作稳定,但无法精确控制电机转数,即无法让平板精确定位。方案二:选用步进电机。相比直流电机的工作方式,步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(步进角)。这样我就可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。但步进电机驱动方式较复杂,而且对脉冲的连贯性和准确性要求很高,多个脉冲输入端,要按一定的顺序依次输入正确的电平。一旦顺序错误或者输入电平不正确,会导致电机失步后,完全不能工作。对应本题的要求,

4、精确定位无疑是必要的,而且机电结构相对简单。2系统理论分析与计算本平板控制系统是基于PIC16F877A单片机为主控芯片,将精确电位器与自由摆顶端相连,利用角度和电阻值的一一对应关系,通过单片机采集精确电位器两端电压的变化,来控制步进电机的转动,单片机对采集到的电压进行模糊控制算法,再通过改变PWM的占空比达到精确控制电机转速的目的,从而保持平板的平衡。2.1系统总原理框图2.2系统理论分析与设计2.2.1系统设计的总体思路首先,应用数学方法,以支点为参考点,建立方程,推导出自由摆倾斜角与精确电位器两端电压的线性关系。通过单摆的摆动使角度变化,采集精确电位器两端电压的变化,通过AD转换获得所需

5、要的电压变化数字量,再由程序计算得到角度变化的数字量,由于自由摆倾斜角与平台转角的角度相同能保持平板上的硬币不掉下来,然后根据步进电机的步进角度换算成步进电机所需要步数,再推导出自由摆倾斜角与步进电机所需的脉冲数的关系,从而建立起自由摆倾斜角与电机步数之间一一对应的关系,实现控制的需要。2.2.2 分析运算过程 如图,自由摆呈竖直状态时,精确电位器两端加上5v的电压,电阻值设定在500左右(精确电位器总电阻为1000),将自由摆拉开一定的角度,测量对应时刻的精确电位器的阻值以及此刻两端的电压值,再计算出此刻步进电机的转角及步数值。测量结果如下: 次 数物理量123456789 ( )-50-4

6、0-30-20-10102030R()548365391423450500591630651U(V)2.451.481.631.841982.212.662.812.961140506797203.163.28使用MATLAB制表:由图可得,精确电位器两端电压随角度变化基本成线性关系,关系式为:U(V)=0.0187 +2.42773电路与程序设计3.1硬件电路的设计3.1.1 PIC16F877A最小系统的组成单片机最小系统就是单片机正常工作所需的最基本外围器件组成的系统,由于单片机内部含有RAM和ROM及A/D转换模块,因此单片机最小系统结构比较简单,这一系统一般由电源、时钟、复位、显示、

7、键盘、电平匹配等电路组成。在我们的设计中,我们选择了PIC16F877A作为核心控制的单片机。通过PIC16F877A的A/D转换模块,采集电压量,转化为十位的数据量。单片机最小系统原理图:电源部分显示部分最小系统板3.1.2 步进电机驱动电路的组成单片机采集到精确电位器两端的电阻后,经过A/D转换,通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片TA8435驱动步进电机,驱动电路如下图:3.2程序的设计3.2.1程序功能描述与设计思路1、程序功能描述本系统控制程序主要功能是:利用角度和电阻值的一一对应关系,通过单摆的摆动使角度变化,采集精确电位器两端电压的变化,通过AD转

8、换获得所需要的电压变化数字量,再由程序计算得到角度变化的数字量,然后根据步进电机的步进角度换算成步进电机所需要步数,单片机进行算法控制,再通过改变PWM的的脉冲数,达到精确控制电机同轴的平板转过的角度。2、程序设计思路由于单片机采集到的是电压的模拟量,而自由摆旋转的角度和精确电位器两端的电压成线性关系。因此,必须通过单片机端口采样电压,经过A/D转换,为数字量,再根据电压量与角度的一一对应关系,计算出该给步进电机多少脉冲,实现对电机的控制。3.2.2程序流程图4测试方案与测试结果基本要求部分:4.1测试方案 1、测试基本要求 (1)控制电机使平板可以随着摆杆的摆动而旋转(35 周),摆杆摆一个

9、周期,平板旋转一周(360),偏差绝对值不大于45。(2)在平板上粘贴一张画有一组间距为1cm 平行线的打印纸。用手推动摆杆至一个角度(在30 45间),调整平板角度,在平板中心稳定放置一枚1 元硬币(人民币);启动后放开摆杆让其自由摆动。在摆杆摆动过程中,要求控制平板状态,使硬币在5 个摆动周期中不从平板上滑落,并尽量少滑离平板的中心位置。(3)用手推动摆杆至一个角度(在4560间),调整平板角度,在平板中心稳定叠放8 枚1 元硬币,见图2;在摆杆摆动过程中,要求控制平板状态使硬币在摆杆的5 个摆动周期中不从平板上滑落,并保持叠放状态。根据平板上非保持叠放状态及滑落的硬币数计算成绩。2、硬件

10、测试按照系统的规定要求,必须测量自由摆的固有周期和电机脉冲频率与其转速的关系,两者进行比对,从而确定该如何设置脉冲频率。3、软件仿真测试利用protues软件,对电路进行仿真。仿真电路图如下:4.2 测试条件与仪器测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。测量周期必须取多次测量的平均值,将误差减小。电机旋转时,震动尽量小,旋转角度比自由摆摆动角度略小(考虑惯性)。测试仪器:数字示波器,数字万用表,秒表,直尺4.3 测试结果及分析4.3.1测试结果(数据)单摆自由摆动十个周期所需要的时间次数平均值时间(s)19.5519.8319.6619

11、.6119.5919.65电机脉冲频率(转换为周期)与其旋转十周所需要的时间电机脉冲周期(s)7508008509009501000105012.1313.1213.5914.3115.0716.1216.94110011501200125013001350140017.6318.3719.1420.0720.7521.5822.31通过MATLAB制图可得:由图可得电机脉冲频率与其旋转一周所需要的时间基本成线性关系,关系式为:y=0.0015x+0.0769。4.3.2测试分析与结论根据上述测试数据,单摆的周期为1.96s,电机脉冲频率与其旋转一周所需要的时间关系式为:由此可以得出以下结论:

12、1.要满足摆杆摆一个周期,平板旋转一周(360),根据函数式一一对应的关系,取电机脉冲周期为1255s,经实际检验,符合系统要求。 2.为满足自由摆上的硬币保持稳定,通过反复试验,电机脉冲周期为750s时,震动最小。步进电机旋转角度比自由摆摆动角度小3 时,平板上硬币最稳定。 结论:经过实际的测试能满足基本部分的要求。发挥部分:4.4 测试基本要求:(1)如下图所示,在平板上固定一激光笔,光斑照射在距摆杆150cm 距离处垂直放置的靶子上。摆杆垂直静止且平板处于水平时,调节靶子高度,使光斑照射在靶纸的某一条线上,标识此线为中心线。用手推动摆杆至一个角度(在30间),启动后,系统应在15 秒钟内

13、控制平板尽量使激光笔照射在中心线上(偏差绝对值1cm),完成时以LED 指示。(2)在上述过程完成后,调整平板,使激光笔照射到中心线上(可人工协助)。启动后放开让摆杆自由摆动;摆动过程中尽量使激光笔光斑始终瞄准照射在靶纸的中心线上。4.5 测试原理图:4.6 测试结论及分析:结果: 根据实际测试的结果,激光笔光斑基本能够始终瞄准在靶纸的中心线上,但是有一定的误差,对于偏差绝对值小于1CM的要求,成功率不高。分析:经过不断的测试和分析,产生较大的误差原因有以下几点:1、人手动启动单摆,会有人为的误差。2、简易制作的单摆会前后摆动,也会产生机械误差。3、用单片机计算控制算法的时候,不过精确,也会产

14、生误差。结论:本设计能部分满足发挥部分的要求。5.结束语经过辛苦的备战和四天三夜紧张的制作,终于完成了基于自由摆的平板控制系统的设计。本设计采用PIC16F877A作为设计用的单片机。对于核心采样元件的选取,本设计最终使用了精确电位器来作为获取单摆角度的工具。相对于mma7445或者mma7361传感器集成板而言,精确电位器在本设计的应用中具有很大的优势,更加节约简便。在系统设计过程中,在满足要求的情况下,力求硬件线路简单,节约经济来实现本设计的要求。同时也充分发挥软件编程方便灵活的特点。在本次竞赛中,我们各自发挥各自的优点,经过辛勤的努力,从而使我们能优秀的完成作品。同时我们也一起积极讨论问

15、题,选择最终方案。通过这次竞赛,我们理论联系实际,将电子方面的知识充分应用到了设计中,充分发挥的PIC单片机的功能,夯实了基础,提高了理论联系实际的能力,更提高了电子设计方面的综合能力。此次大赛,对我们而言,不仅给我们提供了一次难得的检验自己的平台,而且充分锻炼了自己吃苦能力知识应用能力。在以后的时间里,我们会继续我们电子设计的爱好,设计出更好的作品。附录电路原理图 源程序#include stdlib.h _CONFIG (0x3F39);void DELAY(unsigned int);char a,b;signed char i,m=0;unsigned int x=0,bb=75;/x

16、存放AD值,bb存高电平float y1,y2=2.46,y; /z为最低点的角度值/=主程序main(void) TRISA0=1;/模拟口 TRISB=0; RB0=0;RB1=1; /用到RB0=正反转,RB1=使能端低电平有效 ,电机驱动用 TRISC2=0; /RC2/CCP1为输出 PR2=46; /周期为1ms ADCON1=0B10001110;/右对齐,8Tosc,AN0模拟,其余数据 ADCON0=0B01000001;/选择通道0 while(1) /AD for(i=1;i5;i+)NOP(); ADGO=1; while(ADGO=1); ADIF=0; x=ADRE

17、SH; x=x8; x|=ADRESL; y1=(float)x; y1/=1023; y1*=5; /测得电压值 y1=y1-2.46; y1=y1/0.0187; /此时Y为角度 y1=y1*100; /放大100倍 x=(unsigned int) y1; /公式换算 y=y1-y2; y=abs(y); /与前一次的比较,再取绝对值 if(y=y2) RB1=0; /打开使能端 if(y1-y2)3.02)&(y13.10)RB1=0;DELAY(10); else PR2=137; RB0=1; /正转 if(y1y2) /打开使能端 if(y2-y1) /关闭使能端1.80)&1.

18、89)RB1=0;*/ RB0=0; /反转 y2=y1; /PWM输出控制 a=0b00000011&bb; a=a2; CCPR1L=b; CCP1CON=0B00001100; CCP1CON|=a; /以a为底,把AD值付给PWM的高电平 T2CON=0B00000111; /预分频为16 DELAY(15); /=延时(n)msvoid DELAY(unsigned int n) unsigned int j; char k; for (j=0;j0;k-) NOP();附录3参考文献:1 江和. PIC16系列单片机C程序设计与PROTEUS仿真. 清华大学出版社,19962 王松武. 电子创新设计. 哈尔滨工程大学内部讲义,20023 张有汉. 电子线路设计应用手册. 福建科学技术出版社,20004 何希才. 传感器及其应用. 国防工业出版社,20015 求是科技. 单片机典型模块设计实例导航. 人民邮电出版社,2004

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

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