基于自由摆的平板控制系统设计论文_第1页
基于自由摆的平板控制系统设计论文_第2页
基于自由摆的平板控制系统设计论文_第3页
基于自由摆的平板控制系统设计论文_第4页
基于自由摆的平板控制系统设计论文_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE2设计(论文)报告基于自由摆的平板控制系统(日期)摘要摘要摘要:本自由摆的平板控制系统采用STC12C5A60S2单片机作为主控系统,L298N作为电机驱动模块,STC12C5A60S2单片机通过L298N驱动模块驱PK545-NAC-C29步进机,使步进机上的平板随着摆杆的摆动而旋转。硬件部分主要包括STC12C5A60S2单片机最小系统,L298N电机驱动电路,N1000060倾角传感器,电源模块等。本设计主要运用STC12C5A60S2单片机控制4相6线步进电机,由单片机产生脉冲信号精确控制步进机的转速和角度,使步进电机上的平板能够随着摆杆摆动而保持水平平衡。关键词:STC单片机;L298N电机驱动芯片;传感器 目录PAGEi目录摘要 1目录 i1 设计任务与要求 11.1 设计任务 11.2 设计要求 12 方案比较与论证 22.1 主控器的选择与论证 22.2 电机的选择与论证 22.3 驱动模块的选择与论证 33 系统硬件设计 33.1 总体电路框图 33.2 单元电路设计 43.3 整体电路图 74 系统软件设计 74.1 总体软件框图 74.2 各模块软件设计 84.3 总程序 105 系统调试与测试 105.1 测试仪器 105.2 测试指标 105.3 测试结果分析 116 设计总结 11参考文献 11附录 12附录A:电路图 12附录B:电路板图 13附录C:元器件清单 13附录D:总程序 14正文PAGE28设计题目设计任务与要求设计任务1、设计并制作一个自由摆上的平板系统,其结构如图1-1所示。摆杆的一端通过转轴固定在一支架上,另一端固定安装一台电机,平板固在电机转轴上;当摆杆如图1-2所示摆动时,驱动电机可以控制平板转动。 图1-1 图1-2设计要求1、控制电机使平板可以随着摆杆的摆动而旋转(3~5周),摆杆摆一个周期,平板旋转一周(360º),偏差绝对值不大于45°。2、在平板上粘贴一张画有一组间距为1cm平行线的打印纸。用手推动摆杆至一个角度θ(θ在30º~45º间),调整平板角度,在平板中心稳定放置一枚1元硬币(人民币);启动后放开摆杆让其自由摆动。在摆杆摆动过程中,要求控制平板状态,使硬币在5个摆动周期中不从平板上滑落,并尽量少滑离平板的中心位置。3、用手推动摆杆至一个角度θ(θ在45º~60º间),调整平板角度,在平板中心稳定叠放8枚1元硬币,见图1-2;启动后放开摆杆让其自由摆动。在摆杆摆动过程中,要求控制平板状态使硬币在摆杆的5个摆动周期中不从平板上滑落,并保持叠放状态。根据平板上非保持叠放状态及滑落的硬币数计算成绩。方案比较与论证主控器的选择与论证方案一:采用STC12C5A60S2方案二:采用STC89C52方案三:采用AT89C52方案论证:方案一,STC12C5A60S2芯片价格便宜,应用范围广,功能强大,高速运转,低功耗,强抗静电,强抗干扰,内部集成双串口、8路10bitADC和两路八位PWM;方案二,STC89C52芯片价格便宜,应用范围广,运转速度慢,抗静电抗干扰弱,内部无ADC;方案三,AT89C52芯片价格便宜,应用范围广,运转速度慢,抗静电抗干扰弱,内部无ADC。鉴于设计要求,故采用方案一。电机的选择与论证方案一:采用步进电机方案二:采用直流电机方案三:舵机方案论证:方案一,步进电机价格便宜,容易控制,旋转角度于脉冲成正比,每步的旋转角度精确度高,不会将一步的误差积累到下一步,且具有优秀的起停和反转响应;方案二,直流电机价格低,调速范围广,易于平滑调节,过载、起动、制动转矩大,难于控制转轴的角度和转速;方案三,舵机价格偏高,性能易受电压影响,控制旋转的角度精确度不高。鉴于设计要求,故采用方案一。驱动模块的选择与论证方案一:采用L298N芯片方案二:采用ULN2803芯片方案三:采用三极管方案论证:方案一,L298N芯片价格便宜,电路设计简单,驱动电流大,足以驱动大功率的步进电机;方案二,ULN2803芯片价格便宜,电路设计简单,驱动电流小,不能驱动大功率的步进电机;方案三,三极管价格便宜,驱动电路设计复杂,不稳定,出问题难于查询。本设计采用PK545-NAC-C29步进电机,故采用方案一。系统硬件设计总体电路框图为了使系统能够实现各种复杂的控制功能,本设计采用一种功能强大的、高速低功耗性价比高的单片机STC12C5A60S2完成对其他部分控制。本设计采用N1000060倾角传感器对摆杆的倾斜角度的采集数据,通过STC12C5A60S2单片机内部自带的A/D转换将数据送给单片机,单片机通过数据分析控制L298N驱动电路,使步进机旋转保持平板的水平平衡,用1602液晶显示A/D的数据。总体框图如图3-1所示。电源电源单片机驱动模块步进机液晶显示传感器AD模块图3-1总体框图单元电路设计STC12C5A60S2单片机最小系统STC12C5A60S2单片机最小系统P1^1口、P1^2口、P1^3、P1^4口接L298驱动电流的输入口,单片机通过对L298N的控制,使L298发出脉冲控制步进机;P2^3口、P2^4口、P2^5口接1602液晶,控制液晶显示A/D采集N1000060倾角传感器的数据,A/D转换是用STC12C5A60S2内部自带的A/D。单片机最小系统如图3-2、3-3所示。图3-2最小系统图3-3串口部分2、L298N电机驱动L298N是一种二相四相步电机的专用驱动器,内含两个H-Bridge的高电压、大电流双桥式驱动器,接收标准;OUT1、OUT2、OUT3、OUT4之间分别接两个步进机;INPUT1、INPUT2、INPUT3、INPUT4接单片机I/O,接收输入控制电位来控制电机旋转。L298N驱动电路如图3-4所示。图3-4L298N驱动3、供电电源供电电源采用集成稳压器7805,电路图中,稳压器7805输入端的电容为输入端滤波电容,输出端的电容为输出端滤波电容;家用电220V经过变压器接入供电电源模块,能输出直流电压-12V、-5V、5V、12V。供电电源如图3-5所示。图3-5供电电源整体电路图见附录A系统软件设计总体软件框图1、总体软件框图如图4-1所示。初始化初始化读倾角传感器电压A/D转换单片机处理读到的A/D数据控制驱动电机转动平板是否水平否结束是图4-1总体软件框图各模块软件设计1、步进电机右转函数voidl_turn(uinti)//步进电机右转函数{ AA; delay_ms(i); AB; delay_ms(i); BB; delay_ms(i); BC; delay_ms(i); CC; delay_ms(i); CD; delay_ms(i); DD; delay_ms(i); DA; delay_ms(i);}2、步进电机左转函数voidr_turn(uinti)//步进电机左转函数{ DA; delay_ms(i); DD; delay_ms(i); CD; delay_ms(i); CC; delay_ms(i); BC; delay_ms(i); BB; delay_ms(i); AB; delay_ms(i); AA; delay_ms(i);}3、STC12C5A60S2内部ADBYTEget_ad0() //AD读取传感器1的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch0|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}BYTEget_ad5() //AD读取传感器2的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch5|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}总程序见附录D系统调试与测试测试仪器数字万用表量角器测试指标当N100060倾角传感器与水平方向有角度时,N100060倾角传感器会产生一个一压,STC12C5A60S2单片机通过内部自带AD转换采集N100060反馈的电压值。每个电压值对应一个角度,通过量角器测出角度,列出表格。如表格5-1所示。表5-1角度-90-60-45-30030456090AD值102.4239.0307.2377.5512648.6716.8784.9921.6倾角传感器0.5V1.167V1.5V1.843V2.5V3.167V3.5V3.833V4.5V测试结果分析从表格5-1可得:倾角传感器与水平方向平行时,输出电压是2.5V;向左右与水平方向倾斜90度时,其电压的变化量为2V。由此可得(误差允许范围内)倾角传感器与水平方向的角度a与倾角传感器的电压变化量v的数学关系为:v=a(1/45)本设计采用4相5线PK545-NAC-C29步进电机,4相8拍运行方式A-AB-B-BC-C-CD-D-DA-A,对应一个脉冲信号,步距角为θ=360度/(50*8)=0.9度(俗称半步)。 本设计把N100060倾角传感器固定在步进电机上,与水平方向平行,当摆杆有一个角度时,STC12C5A60S2单片机内部自带AD读取N1000060倾角传感器电压值,就能精确控制步进电机的转动角度,使步进电机上的平板保持平衡。如:当STC12C5A60S2单片机内部自带AD读取N1000060倾角传感器电压值为3.5V时,其N1000060倾角传感器电压变化量为v=1V,通过上式计算得N100060倾角传感器与水平方向的角度a为45度,从而就能控制步进电机旋转45度,使步进电机上的平板保持平衡。设计总结经过四天三夜的辛勤努力,本设计实现了题目的全部要求。但由于时间紧,任务重,系统还存在许多可以改进的地方,比如电路布局、抗干扰性等方面还有很大的提升空间,经过改进,相信性能还会有进一步的提升。在软件编程方面,成功的通过软件编程消除了步进电机的抖动问题,采用的方法是:通过A/D转换采集倾角传感器的数据,10个数据一组,然后取平均值。本次竞赛极大的锻炼了我们各方面的能力,虽然我们遇到了很多困难和障碍,但总体上成功与挫折交替,困难与希望并存,我们将继续努力争取更大的进步。参考文献毛礼锐,沈灌群.中国教育通史[M].济南:山东教育出版社,1988.20-22.王英杰,高益民.高等教育的国际化[J].清华大学教育研究,2000(2):13-16.中华人民共和国国务院.计算机软件保护条例[J/0L].东方网,2001.12.28附录附录A:电路图 附录A-1附录A-2附录B:电路板图附录B-1附录C:元器件清单电阻6个瓷片电容12个电解电容4个键盘6个单片机1个开关2个L298N1个稳压78051个稳压78121个N10000602个步进电机1个MS2321个串口1个电位器1个整流桥1个变压器1个发光二极管4个二极管8个附录D:总程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchartypedefunsignedcharBYTE;typedefunsignedintWORD;sfrADC_CONTR=0xBC;sfrADC_RES=0xBD;sfrADC_RESL=0xBE;sfrADC_LOW2=0xBE;sfrP1ASF=0x9D;#defineADC_POWER0x80#define ADC_FLAG0x10#define ADC_START0x08#define ADC_SPEEDLL0x00#define ADC_SPEEDL0x20#define ADC_SPEEDH0x40#define ADC_SPEEDHH0x60sbiten=P2^5;//使能sbitrs=P2^3;//数据命令sbitrw=P2^4;//读写//定义步进电机连接端口sbitA1=P1^1;//转三周sbitB1=P1^2;//转四周sbitC1=P1^3;//转五周sbitD1=P1^4;//来回摆动//定义要用到按键的管脚sbitk1=P3^4;sbitk2=P3^5;sbitk3=P3^6;sbitk4=P3^7;//定义全局变量uintsu=20;//8最大uintj=0;uintjian_zhi=0;uinttemp1=0;ucharshu[]={'0','1','2','3','4','5','6','7','8','9','-',':',''};uinti=6;uintchong1=0;uintsu1=20;//8最大uintsu2=20;uintm=0;uintad=0;uintad0=0;uintj1=0;uintj2=0;uintad5=0;BYTEch0=0; //模拟通道选择BYTEch5=5;uinter_flag=0;//使用1-2相驱动#defineAA{A1=1;B1=0;C1=0;D1=0;}#defineBB{A1=0;B1=1;C1=0;D1=0;}#defineCC{A1=0;B1=0;C1=1;D1=0;}#defineDD{A1=0;B1=0;C1=0;D1=1;}#defineAB{A1=1;B1=1;C1=0;D1=0;}#defineBC{A1=0;B1=1;C1=1;D1=0;}#defineCD{A1=0;B1=0;C1=1;D1=1;}#defineDA{A1=1;B1=0;C1=0;D1=1;}//函数声明voiddelay_ms(uintx);voidr_turn(uinti);voidl_turn(uinti);voiddelay(WORDn){ WORDx; while(n--) { x=110; while(x--); }}voiddelay_ms(uintx)//延时函数{ uinty,z; for(y=x;y>0;y--) for(z=130;z>0;z--);}voidl_turn(uinti)//步进电机右转函数{ AA; delay_ms(i); AB; delay_ms(i); BB; delay_ms(i); BC; delay_ms(i); CC; delay_ms(i); CD; delay_ms(i); DD; delay_ms(i); DA; delay_ms(i);}voidr_turn(uinti)//步进电机左转函数{ DA; delay_ms(i); DD; delay_ms(i); CD; delay_ms(i); CC; delay_ms(i); BC; delay_ms(i); BB; delay_ms(i); AB; delay_ms(i); AA; delay_ms(i);}voidl_dan(){ switch(m) { case0:AA;m++;break; case1:AB;m++;break; case2:BB;m++;break; case3:BC;m++;break; case4:CC;m++;break; case5:CD;m++;break; case6:DD;m++;break; case7:DA;m++;break; case8:m=0;break; default:break; }}voidr_dan(){ switch(m) { case0:DA;m++;break; case1:DD;m++;break; case2:CD;m++;break; case3:CC;m++;break; case4:BC;m++;break; case5:BB;m++;break; case6:AB;m++;break; case7:AA;m++;break; case8:m=0;break; default:break; }}voidting_zhi(){ A1=0; B1=0; C1=0; D1=0;}//LCD1602初始化voidwrite_com(ucharcom){ rs=0; P0=com; delay(1); en=1; delay(1); en=0;}voidwrite_data(uchardatae){ rs=1; P0=datae; delay(5); en=1; delay(5); en=0;}voiddisplay_shu(ucharhang,ucharadd,ucharnum)//在1602显示数据的函数,hang为第几行,add为位置,num为数据{ ucharshi; shi=num; if(hang==1) { write_com(0x80+add); write_data(0x30+shi); } if(hang==2) { write_com(0x80+0x40+add); write_data(0x30+num); }}voidinit_LCD()//初始化LCD{ en=0; rw=0; write_com(0x38);//显示模式控制 write_com(0x0c);//显示开关及光标控制 write_com(0x06);//数据指针设置 write_com(0x01);//清零 write_com(0x80);}voidInitADC(){ P1ASF=0x21; //输入通道选择与CH相配合使用,选择P1^2 ADC_RES=0; //转化的数据存储所在,高八位 ADC_CONTR=ADC_POWER|ADC_SPEEDLL; //内部AD主要的控制寄存器ADC_CONTR,选择P1^2; delay(100);}BYTEget_ad0() //AD读取传感器1的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch0|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}BYTEget_ad5() //AD读取传感器2的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch5|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}voidkeyscan(){ if(k1==0) { delay(5); if(k1==0) { while(!k1); display_shu(1,1,1); su=32; j=150; while(j--) r_turn(su);//8最快 su=0; } } if(k2==0) { delay(5); if(k2==0) { while(!k2); display_shu(1,1,2); su=32; j=200; while(j--) l_turn(su);//8最

温馨提示

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

评论

0/150

提交评论