基于自由摆的平衡控制系统设计毕业设计(论文)

上传人:1888****888 文档编号:36986420 上传时间:2021-11-01 格式:DOC 页数:32 大小:627.52KB
收藏 版权申诉 举报 下载
基于自由摆的平衡控制系统设计毕业设计(论文)_第1页
第1页 / 共32页
基于自由摆的平衡控制系统设计毕业设计(论文)_第2页
第2页 / 共32页
基于自由摆的平衡控制系统设计毕业设计(论文)_第3页
第3页 / 共32页
资源描述:

《基于自由摆的平衡控制系统设计毕业设计(论文)》由会员分享,可在线阅读,更多相关《基于自由摆的平衡控制系统设计毕业设计(论文)(32页珍藏版)》请在装配图网上搜索。

1、毕业设计论文摘要该系统采用MSP430F149单片机作为控制系统的核心;以步进电机控制平板转动,通过细分驱动器提高步进电机精确度;以MMA7361芯片模块为角度传感器,采集自由摆的偏移角度,并用12864液晶显示屏显示出来;通过光电传感器控制平板停止的位置,使平板的倾斜角度刚好满足平板对硬币的作用力(支持力和摩擦力)在水平方向上的分量刚好提供硬币的横向加速度所须的力;电磁铁用于自动释放摆杆。根据电机的步距脚(1.8/STEP),精确地控制步进电机转动相应的步数。该系统布局合理,理论可行,实际运行较为平稳,控制精度较高,达到了题目基本部分的要求。 关键字: 自由摆 角度测量 细分驱动 平衡控制S

2、ummaryThe system uses MSP430F149 SCM as the core control system; to stepper motor control flat turns, broken down by drive enhanced stepper motor precision; MMA7361 angle sensor chip module, acquisition of freedom pendulum displacement angle and 12,864 LCD display; controlled by photoelectric sensor

3、 plate where you stopped, Flat tilt angle happens to meet flat force on coin (supporting force and friction force) happen to provide the components of the coin horizontally in transverse acceleration force required; electromagnets are used to automatically free up swing. According to the foot of the

4、 step motor (1.8 /STEP), precise control of stepping motor rotation corresponding steps. The system layout is reasonable, theoretical possible, actually run more smoothly, high control precision, meets the requirements of topics essential parts.Keywords: freedom pendulum .angle measurement. divided.

5、 driving balance control目录一、系统方案21.1方案选择与对比21.1.1角度测量方案21.1.2驱动电机方案21.2系统结构2二、系统理论分析与计算32.1平板转一周的控制原理分析32.2硬币不滑落控制原理分析4三、硬件模块设计与分析43.1控制电路43.2角度测量电路53.3步进电机及驱动电路53.4控制按键及模式转换电路63.5光电传感电路63.6显示电路7四、软件程序设计74.1系统主流程图74.2各模块程序流程图8五测量方案与测试结果95.1测量方案95.1.1基本要求功能测试95.2测试结果及分析9实验总结10参考文献11附件一:电路原理图12附件二:主要器

6、件清单12附件三:源程序13一、系统方案1.1方案选择与对比1.1.1角度测量方案方案一:采用三轴加速度传感器为多功能应用提供灵活的可选量程;功耗低,可延长电池使用寿命;开机响应时间短;组件数量少-节约成本和空间;噪音低、灵敏度高;频率及解析度高。方案二:采用电位器作为角度传感器自由摆系统的角度测量也可采用可变电阻器。精密的可变电阻器具易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。但是可变电阻器也是模拟信号输出,需要A/D信号的转换,增加系统复杂性,而且安装要求较高,带来了硬件设计的不便。综合以上两种方案,我们选择了MMA7361三轴加速度传感器。1.1.2驱动电机方案方

7、案一:伺服电机加伺服驱动器,能高速制动,适合闭环控制,但成本高、体积大。方案二:步进电机,输入脉冲和转动角度之间成特定的比例控制关系,不累积误差,控制简单,一般用作开环控制,成本低。比较上述两种方案,考虑到本系统是一个开环系统,步进电机成本低,控制简单,并且可以满足控制要求的精度,所以选择方案二。1.2系统结构系统设计任务为一种基于自由摆的保持平板平衡的控制系统。基本要求是保持平板上硬币的平衡滑动小或滑落少,进一步的要求是让平板上激光笔射在靶纸上的光斑偏移量尽可能小。在实时控制时,对自由摆的摆角、摆速及摆动方向的测量十分关键,平板角度的控制精度和相应速度也直接决定着最终的控制效果。据此,本系统

8、采用以单片机为核心的自由摆控制系统主要由以下几个功能模块构成:、单片机控制模块、角度测量获取模块 、电机驱动模块、光电传感器模块、显示模块系统框图如图:角度传感器控制按键功能切换键光电传感器步进电机平板转动单片机LED显示图1:系统框图二、系统理论分析与计算2.1平板转一周的控制原理分析摆杆摆一个周期,控制电机使平板旋转一周(360),偏差绝对值不大于45。要实现此功能,需要使平板的转动周期与摆杆摆动周期同步。根据大角度单摆的周期修正公式T=(参考文献1)可得摆杆最大角度与摆动周期T的关系。2.2硬币不滑落控制原理分析图2:受力分析硬币受到重力mg,板的支持力合外力方向垂直与摆臂,大小为F合。

9、根据单摆的物理规律平板随自由摆摆臂运动的加速的a方向将始终垂直与摆臂,为保证平板上硬币不会滑落平板需要保证硬币在沿平板方向上没有分力的作用,也就是硬币与平板是没有摩擦力的。也即平板对硬币力的作用方向始终在垂直于平板方向上, 当摆角30-45之间时,经过推算,硬币会受到平板沿平板方向上微弱的分力作用,但是考虑到两者之间的摩擦力作用,静摩擦力要远大于沿平板方向分力作用,是不会使硬币发生位移。因此只要保持平板与摆臂的垂直就能保证硬币不会滑落。自由臂开始运动时平板保持水平位置,而要保证硬币不从平板上滑落则需要平板尽快保持与自由臂垂直,因此在放开平板时需要让平板带动硬币尽快达到与自由臂垂直位置。三、硬件

10、模块设计与分析3.1控制电路根据题目的,我们选用了当今市场上比较流行的MSP430系类的单片机,MSP430系列单片机是一个16位单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。它具有处理能力强;运算速度快,SP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。超低功耗等优点,并且MSP430片内资源丰富,它们分别是看门狗定时器;定时器A,定时器B,具有捕获/比较功

11、能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等。另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。3.2角度测量电路角度测量,我们选用MMA7361三轴加速度传感器,MMA7260三轴加速度传感器具有为多功能应用提供灵活的可选量;.功耗低,可延长电池使用寿命;开机响应时间短;最适合电池供电手持设备的休眠模式5.组件数量少-节约成本和空间;噪音低、灵敏度高;自适应功能;频率及解析度高,提供精确的坠落、倾斜、移动、放置、震动和摇摆感应灵敏度不同应用的建议重力加速度级别。我们将传感器的Y轴与摆杆的垂直方向对应,X轴与摆杆的水平方向对应,通过单片机程序对X,

12、Y的输出值的计算,在显示器上显示出角度。电路图如下:图3:加速度传感器原理图3.3步进电机及驱动电路步进电机的种类很多,根据题目的要求,我们最终选用型号为42H S3404A4,步角距为1.8的两相步进电机,改步进电机的步距精度为5%,同时我们用单片机通过DM542细分驱动器来驱动步进电机,DM542细分驱动器具有短路、错相保护,H桥双极性恒相流驱动,输入信号光电隔离,节能的半电流锁定等功能,可靠性高,成本低,多档细分可选,本系统采用8倍细分驱动,控制电动机步进角为0.225。符合题目要求的精度。电路图如下:图4:步进电机驱动原理图其中PUR,DIR端分别接单片机的P2.0和P2.1端口。3.

13、4控制按键及模式转换电路系统利用模式转换开关实现工作状态的切换,并设置了相关按键,分别实现电源、启动等控制。3.5光电传感电路我们在摆杆和平板垂直的位置加上了一个ST188的光电传感器,减少由于角度传感的延时和误差导致平板和摆杆垂直的时间和角度,更好的让摆杆和平板达到垂直位置。电路原理图如下:图5:光电传感器原理图3.6显示电路我们通过液晶12864ST7920连接到单片机显示角度的变化。电路原理与如下:图6:液晶显示电路原理图四、软件程序设计4.1系统主流程图图7:系统主流程图我们用按键来实现多个子程序的转换,使总程序逻辑更加清楚。总程序附表三给出。4.2各模块程序流程图 图8:应用一程序流

14、程图 图9:应用二的程序流程图 五测量方案与测试结果5.1测量方案5.1.1基本要求功能测试1、平板旋转一周控制测试方法及测试数据在摆杆上对应平板的位置贴上角度标尺,方便观察平板旋转角度。系统测量的摆杆角度实时在液晶上显示,在摆杆的后方平行位置放一量角尺,先将摆杆拉至一定角度,对比液晶上显示的角度值,经多次实验,证明液晶上显示的角度值可以用来作为实际值,进行后面的测试。摆杆垂直静止时,手动调整平板使其水平,然后将摆杆推至一定角度,启动系统并放开摆杆让其自由摆动。软件检测到摆杆摆动一个周期时,控制步进电机停止转动,系统停止工作,摆杆回到垂直静止时观察平板倾斜角度,从而得到摆杆摆一个周期时平板旋转

15、一周的误差。同理控制摆杆摆动26个周期时,分别观察平板的旋转误差。2、硬币不滑落控制测试方法及测试数据将摆杆拉至一定角度,调整平板角度,在平板中心稳定放置一枚1元硬件,启动后放开摆杆让其自由摆动。6个摆动周期后停止系统运行,用直尺测量硬币偏移距离并记录。改变摆杆摆动时的初始角度。同理在平板中心稳定放置8枚1元硬件,分角度进行8次实验。5.2测试结果及分析表1:平板旋转控制测试数据摆动初始角度()摆动周期数(周)平板旋转误差()摆动初始角度()摆动周期数(周)平板旋转误差()1514451315274528153114531215415454151551845519301550143027502

16、73031250312304155041530519505194014601440276027403116031140416604164051960520表2:一枚硬币滑离中心的数据次数12345678角度3033353940414345滑动距离(cm)0.30.30.40.50.60.60.70.8误差分析:由实验测试结果可以看出,当摆杆起始角度由30到45逐渐增大时,硬币滑离中心位置的距离越大(在实验允许的误差之内),这符合理论分析的结果且符合实际生活规律,达到了预期的实验效果。表3:8枚硬币滑离中心和掉落的数据次数12345678角度4548495253565760滑动距离(cm)0.3

17、0.40.51.20.60.82.81.0跌落数目20010012误差分析:由实验测试结果可以看出,当摆杆起始角度由45到60逐渐增大时,最底层硬币滑离中心位置的距离越大,当硬币发生跌落时,相应的最底层硬币滑离中心位置的距离也很大,这一结果符合理论分析的结果。实验总结 通过这次设计的经历,我们团队有了更深的配合和默契,在设计过程中,我们遇到一个一个的困难,通过一次的学习和讨论,我们克服了很多问题,在电路设计、软件调试及机械组装等方面得到了很好的锻炼,提高了独立思考、自学知识等多方面的能力,更意识到团队合作和理论实践结合的重要性,受益匪浅!虽然其中很多处理方式并不是的很好,导致一些稍大的误差,但

18、是整体上我们完成了对题目的要求。在这次设计中,我们对MSP430单片机的应用和编程有了进一步的认识,对步进电机和传感器的应用得到了很大的加强。同时,我们认识到我们在发挥部分的精确控制方面有很大的欠缺,希望在今后的日子加强对这方面的学习和应用。参考文献1 魏惠军、朱烔明大角度单摆的周期J上海师范大学学报2004年第33卷(103105)2 张福才MSP430单片机自学笔记北京航空航天大学出版社2011年2月3 赵燕著传感器原理及应用北京大学出版社2010年2月。4 坂本正文(日)著,王自强译步进电机应用技术科学出版社2010年5月5 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选

19、编M.北京:北京理工大学出版社,2007.附件一:电路原理图附件二:主要器件清单序号原件名称,型号和规格数量备注1MS430149单片机1系统控制242HS3404A4步进电机1转动平板3DM542细分驱动器1驱动步进电机4ST188光电传感器1判断摆与平板的垂直5MMA7391加速度传感器1角度测量612864ST7920液晶显示屏1显示角度7电阻若干8电容若干附件三:源程序#include #include 12864.h#include delay.h#include adc.h#include Init_Clk.h#include l298.h#include long int sum

20、a=0,sumb=0,sumc=0,base,degree,base2,t=0;unsigned int i=0,j=0,p,k;double m,m1,T;unsigned char ft=0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x08;unsigned char bk=0x08,0x04,0x02,0x01;void main() WDTCTL = WDTPW + WDTHOLD; P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFE; P4DIR =

21、0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; Init_Clk(); adc_4ch(); Init_Lcd(); P4DIR=0XFC; P1DIR=0Xf0; while(1) if(P1IN&BIT0)=0)k=0;break; if(P1IN&BIT1)=0)k=1;break; if(k=0) Disp_4num(0x80,0000); while(1) if(P4IN&BIT1)=0) break; Disp_4num(0x80,1111); for(p=10;p0;p-) /*P2

22、OUT=P2OUT|0x02; Delay_Nus(8); P2OUT=P2OUT&0xfd; Delay_Nus(8); */ P2OUT=0xf2; /Delay_Nus(80); Delay_Nms(25); P2OUT=0xf0; Delay_Nms(25); P3OUT=P3OUT|BIT0; while(1) /Disp_4num(0x80,2222); P2OUT=0xf2; Delay_Nms(25); P2OUT=0xf0; Delay_Nms(25); if(P4IN&BIT0)=0)break; /while(1) /Disp_4num(0x80,2222); for(p

23、=2;p0;p-) P2OUT=0xf2; Delay_Nms(25); P2OUT=0xf0; Delay_Nms(25); while(1) Disp_4num(0x80,3333); else while(1) ADC12CTL0 |= ADC12SC; _BIS_SR(CPUOFF + GIE); /*while(1) Disp_4num(0x80,1111); for(i=0;i5)break; while(1) /if(degree20)break; _BIS_SR(CPUOFF + GIE); break; /_BIS_SR(CPUOFF + GIE); / LPM0, ADC1

24、2_ISR will force exit进入低功耗等待中断模式 */ /if(m0) / /*Write_Cmd(0x01); Disp_4num(0x80,1111); while(1) for(i=0;i4;i+) P2OUT=fti; Delay_Nms(100); if(P4IN&BIT0)=0)break; if(P4IN&BIT0)=0)break; */ / /*else while(1) for(i=0;i4;i+) P2OUT=bki; Delay_Nms(100); if(P4IN&BIT0)=0)break; if(P4IN&BIT0)=0)break; while(1

25、); */ ADC12 interrupt service routine#pragma vector=ADC_VECTOR_interrupt void ADC12_ISR (void) long int a,b,c,d,y,z,q; double degree_double,degree_turn; / if (ADC12MEM0 0x7FF) /a=ADC12MEM0/41*33;/? /Disp_HZ(0x80,ms2,4); /b=ADC12MEM1/41*33; /Disp_HZ(0x90,ms2,4); /c=ADC12MEM2/41*33; suma=ADC12MEM0+sum

26、a; sumb=ADC12MEM1+sumb; sumc=ADC12MEM2+sumc; i+; if(i=9) a=suma/10; b=sumb/10; c=sumc/10; /y=a-160; /具体数值现场测量,有变化,角度误差 40以内,误差1 /z=b-164; /仅使用yOz面变化 a=a/41*33; b=b/41*33; c=c/41*33; y=a-1419; z=b-1479; m=atan2(y,z); /g由Yg和Zg合成,所以用反正切函数 if(m0) /Data20=-; m1=m; degree = m1 * 18000/3.1413925; /显示由弧度转化的

27、角度 /degree=(long int)(double)degree*1.1-1000); j+; if(t=0)base=degree;t=1;T=2*3.14159*sqrt(1/(9.8*cos(double)base/100/2/360*2*3.14159); if(m0;q-) Disp_4num(0x80,T); while(1) P2OUT=P2OUT|BIT1; Delay_Nus(55); P2OUT=P2OUT&0XFD; Delay_Nus(55); while(1); base=degree; /if(j=10)j=0;base=degree; /if(degree4

28、00)degree=0; Disp_4num(0x84,1234); Disp_4num(0x80,a); Disp_4num(0x90,b); Disp_4num(0x94,T); Disp_4num(0x88,c); Disp_4num(0x8c,k); Disp_4num(0x98,degree); if(m=0)Disp_2num(0x9c,10); else Disp_2num(0x9c,0); Delay_Nus(15); i=0; suma=0; sumb=0; sumc=0; /d=ADC12MEM3/41*33; /Disp_4num(0x98,d); /Delay_Nus(15); _BIC_SR_IRQ(CPUOFF); / Clear CPUOFF bit from 0(SR)激活cpu,退出低功耗模式

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!