关闭

关闭

封号提示

内容

首页 2011年全国大学生电子设计竞赛论文(B题)(2组).doc

2011年全国大学生电子设计竞赛论文(B题)(2组).doc

2011年全国大学生电子设计竞赛论文(B题)&…

上传者: Florence琼 2017-10-19 评分 3 0 29 4 133 暂无简介 简介 举报

简介:本文档为《2011年全国大学生电子设计竞赛论文(B题)(2组)doc》,可适用于IT/计算机领域,主题内容包含年全国大学生电子设计竞赛论文(B题)(组)年全国大学生电子设计竞赛基于自由摆的平板控制系统(B题)【本科组】年月日摘要本系统以ARM为核心采用电位器符等。

年全国大学生电子设计竞赛论文(B题)(组)年全国大学生电子设计竞赛基于自由摆的平板控制系统(B题)【本科组】年月日摘要本系统以ARM为核心采用电位器实时采集自由摆旋转角度及方向通过步进电机开环控制平板旋转角度以实现控制要求。此外为方便实验和调试专门使用了独立的显示屏显示数据。本设计根据摆杆的角度经过数学关系对平板角度进行调整这样就需要对电位器的角度进行实时采样。首先测出摆杆的一个周期从而计算出在一个周期里电机精确旋转一周所需的速度在释放摆杆的瞬间调整平板的角度使其与摆杆垂直枚硬币滑动小无跌落在激光笔瞄准时采用了查表法避免了ARM进行复杂三角函数运算造成的舍入误差对实验精度的影响实时控制激光笔保持静态水平误差在cm以内动态控制误差在cm以内的实验效果。关键字:ARM电位器步进电机AD转换I目录系统方案主控制器件的论证与选择角度测量获取模块的论证与选择步进电机及其驱动模块的论证与选择系统理论分析与计算自由摆平板控制系统的分析判断正反转原理分析角度测量的计算单位脉冲转过角度计算编码器可行性计算步进电机模块的论证分析步进电机步进数与螺旋编码盘输出脉冲之间关系步进电机最大空载启动频率分析与计算电路与程序设计电路的设计系统总体框图LN驱动电路原理图电源子系统框图与电路原理图程序的设计程序功能描述与设计思路程序流程图测试方案与测试结果测试方案测试方案测试条件与仪器测试结果及分析测试分析与结论附录:电路原理图附录:源程序II基于自由摆的平板控制系统(B题)【本科组】系统方案系统设计任务为一种基于自由摆的保持平板平衡的控制系统。基本要求是保持平板上硬币的平衡滑动小或滑落少进一步的要求是让平板上激光笔射在靶纸上的光斑偏移量尽可能小。在实时控制时对自由摆的摆角、摆速及摆动方向的测量十分关键平板角度的控制精度和相应速度也直接决定着最终的控制效果。据此本系统采用以ARM为核心的自由摆控制系统主要由以下几个功能模块构成:、ARM控制模块、角度测量获取模块、平板控制模块、电机驱动模块、显示屏显示模块角度测量获取ARM控制数据显示驱动平板控制图一系统组成框图主控制器件的论证与选择控制器选用我们选用LPC作为控制核心LPC的内核是ARMTDMIS核位微处理器KB的RAMKB的FLASH个位AD通道个位定时器计时器(带路捕获和路比较通道)具有向量控制器可配置优先级和向量地址多个串行接口多达个V的通用IO口个边沿或电平出发的外部中断外部中断。控制系统方案选择方案一:采用在面包板上搭建简易ARM系统在面包板上搭建ARM系统可以方便的对硬件做随时修改也易于搭建但是系统连线较多不仅相互干扰使电路杂乱无章而且系统可靠性低不适合本系统使用。方案二:自制ARM印刷电路板自制印刷电路实现较为困难实现周期长此外也会花费较多的时间影响整体设计进程。不宜采用该方案。方案三:采用ARM最小系统。LPC包含了按键、AD、DA等模块能明显减少外围电路的设计降低系统设计的难度非常适合本系统的设计。角度测量获取模块的论证与选择方案一:采用加速度传感器加速度传感器采用模拟量输出需要放大电路及AD完成角度的测量由于在传输回路中模拟信号易受干扰测量结果容易产生误差通过数字滤波等技术虽然能够在一定程度上消除干扰造成的误差但是滤波运算增加了CPU的负荷。采用增量式光电旋转编码器方案二:光电编码器是一种角度(角速度)检测装置它将输入给轴的角度量利用光电转换原理转换成相应的电脉冲。旋转编码器具有体积小精度高工作可靠,接口数字化等优点。但是无法直接读出转动轴的绝对位置信息。方案三:采用电位器作为角度传感器自由摆系统的角度测量也可采用可变电阻器。精密的可变电阻器具易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。可变电阻器是模拟信号输出需要AD信号的转换。综合以上三种方案我们选择方案三。最终我们选择了型号为WDD的电位器。步进电机及其驱动模块的论证与选择步进电动机的驱动电路采用LN。LN是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用脚封装主要特点是:工作电压高最高工作电压可达V输出电流大瞬间峰值电流可达A持续工作电流为A额定功率W。最终选定的步进电机型号为BYGH。该电机为两相步进电机它的步距角仅为扭矩为Nm有较高的空载启动频率半步驱动后实现的步距经理论分析基本可以满足题目要求。系统理论分析与计算自由摆平板控制系统的分析自由摆平板系统模型建立()建立自由摆运动模型由于系统是由轻杆和步进电机等组成相较于步进电机轻杆质量很小可以近似认为旋转臂重心在平板附近平板沿半径为L的弧长自由摆动。示意图如图二图二自由摆模型示意图摆杆在自由摆动的时候若不计空气阻力及固定点摩擦力的情况下利用能量守恒vgL,,(cos()),定律有:得出,,,mgLmv(cos())lm,vg,,(cos()),在θ不断变化中的情况下可计算得由角速度与线v速度之间的关系得出,,,vl自由摆周期计算l,,在摆杆与垂直方向的夹角时可根据单摆的周期计算公式但本模T,,g型中角度一般大于所以我们对周期进行测算测出不同角度下的周期值()使硬币不滑落的模型分析在自由摆在一个小角度时摆动时自由摆运动模型便是一个化为物理单摆模型。因在实际中自由摆臂质量集中在端点的电机上受力分析如图三所示。图三硬币受力模型硬币受到重力mg板的支持力合外力方向垂直与摆臂大小为F合。根据单摆的物理规律平板随自由摆摆臂运动的加速的a方向将始终垂直与摆臂为保证平板上硬币不会滑落平板需要保证硬币在沿平板方向上没有分力的作用也就是硬币与平板是没有摩擦力的。也即平板对硬币力的作用方向始终在垂直于平板方向上当摆角之间时经过推算硬币会受到平板沿平板方向上微弱的分力作用但是考虑到两者之间的摩擦力作用静摩擦力要远大于沿平板方向分力作用是不会使硬币发生位移。因此只要保持平板与摆臂的垂直就能保证硬币不会滑落。自由臂开始运动时平板保持水平位置而要保证硬币不从平板上滑落则需要平板尽快保持与自由臂垂直因此在放开平板时需要让平板带动硬币尽快达到与自由臂垂直位置。判断正反转原理分析电位器wdd精密导电塑料电位器原理分析:电位器随自由摆旋转臂转动当旋转至某一角度后电位器将输出一个电压值而由于精度问题此电压值在一个小范围内变化。电位器输出的电压值与角度呈线性关系此角度为摆臂与垂直地面方向的夹角。通过对不同角度电压取平均值后进行分析可得其线性关系式这样使用ADC采样电压值就可以得到此时的角度。自由摆旋转角度与电机旋转角度关系建模与分析对于基础部分为使硬币不从平板上滑落需要保持平板始终垂直与自由摆臂垂直而在初始时刻平板保持水平与自由摆臂夹角达到左右为保证硬币不滑落需要在自由摆开始摆动时刻步进电机控制平板尽快达到与自由摆臂垂直位置如下图转动的角度与摆杆和竖直方向的夹角相同。而在以后的摆动过程中保持平板方向不变便,能满足硬币不滑落的要求。图对于发挥部分,由图五可知在摆杆在靠近平板位置:,,平板转动的角度为,,,分析可得CMCML,,(cos),BCAML,,sin,计算:由图可得而则tan,,,BCL(cos),,。tan,,AML,sin,cos,,Lm,AMm,将带入式子中最终可得。tan,,sin,,,要寻找到原来的光斑由于电机每转一步即转则电机此时要走的步数为。的计算由Matlab计算得出。,图五自由摆旋转角度与电机旋转角度关系角度测量的计算单位脉冲转过角度计算摆杆每隔拉起固定由LPC采集电位器的电压值经过数学建模对数据进行处理如下:角度值(度)电压值(毫伏)由表中数据做出散点图并给出拟合公式看散点图易得出角度与电压值之间为线性关系:y=x电位器电压与角度变化R=电压值线性(电压值)电压值(毫伏)角度值(度)电位器可行性计算R,,因为拟合公式的拟合度可以说明该公式十分符合角度与电位器电压值的关系。步进电机模块的论证分析步进角要求由于步进电机步进角为,我们所采用的是步进电机二细分下的所以最后的送给电机的单个步进角为理论分析选用步距角是否正确:Angle(度)Step(步)Deltx(cm)步进电机最大空载启动频率分析与计算,max根据自由摆运动模型可知平板在最低位置处角速度达到最大值=s,max为保证系统的可靠要求步进电机最大启动速度能达到=s由于步进电机,max步进角为因此可以算出空载启动频率f==Hz而我们选用的步进电机空载启动频率远高于该频率因此我们选用的步进电机能符合系统要求。电路与程序设计电路的设计系统总体框图系统总体框图如图六所示:图六系统总体框图LN驱动电路原理图步进电机系统框图:电机驱动微控制器步进电机电路采用LN驱动芯片。LN芯片是较常用的电机驱动芯片。该芯片有两个TTLCMOS兼容电平的输入具有良好的抗干扰性能可用单片机的IO口提供信号电路简单、易用、稳定具有较高的性价比。具体电路图如图七所示:图七电机子系统框图电源子系统框图与电路原理图电源子系统框图:VV电源电源转换电路VLPCVLCD电机V角度传感器采用lm将输入的v电压稳压至V电路图如下所示:图八电源子系统电路程序的设计程序功能描述与设计思路、程序功能描述根据题目要求软件部分主要实现键盘的设置和显示。)键盘实现功能:设置频率值、频段、电压值以及设置输出信号类型。)显示部分:显示电压值、频段、步进值、信号类型、频率。、程序设计思路程序流程图、主程序流程图开始硬件初始化否Key否是Key任务一否是Key否任务二是Key任务三是任务四、任务一子程序流程图LED点亮否开始键,是设置电机任务、任务二子程序流程图LED点亮否开始键,是采集电位器值否正向,是设置电机任务设置电机任务、任务三子程序流程图LED点亮否开始键,采集电位器的值是根据给定的步数驱动电机转动、任务四子程序流程图电机固定初始拍LED点亮否Key,是采集电位器的值驱动电机转动测试方案与测试结果测试方案测试方案()硬件测试采用数字万用表对电路板连接情况测试。()软件仿真测试通过信号发生器产生周期方波单片机最小系统对方波信号计数并显示脉冲数。通过比较显示信息与数字示波器显示频率比较。()系统误差测试系统误差按照系统要求分别测试在一个周期内平板旋转角度、当放一枚硬币时自由摆在和起始位置摆动时硬币摆动一周初始位置偏离的距离及自由摆在和起始位置摆动时八枚硬币滑落平板的个数。发挥部分分别测量角度在之间各角度下激光笔光线偏离中心线的距离。测试条件与仪器测试条件:检查多次仿真电路和硬件电路必须与系统原理图完全相同并且检查无误硬件电路保证无虚焊。单片机显示脉冲数与信号发生器产生相同时间显示脉冲数相符。测试仪器:量角器、米尺、数字万用表(DT)、游标卡尺铅垂。测试结果及分析()多次测量摆杆在不同角度摆动的五个周期值理论分析:根据物理学中的“摆的等时性原理”即在不计任何摩擦力情况下杆的初始位置不同完成一次自由摆动的时间(即摆动周期)相同摆杆长度相同时摆测量方法:每隔拉动摆杆释放后让其自由摆动同时用秒表进行计时摆完五个周期后立即停止计时由此计算出对应的周期最后的周期取他们的平均值。测量数据如下:摆杆初始度数(度)时间(s)周期数(个)一个周期时间(s)Ts,六组值求出周期平均值为。误差分析:由于测量时都是由人释放和计时无法做到完全同步且摆杆到达最高点也是由人眼识别不能做到百分百的准确。只能进行多次测量求取平均值。()多次测量在一个摆动周期内平板转动角度测试方法:在最低点处保持平板水平将摆杆拉至最高点启动电机开始转动圈后停止同时让单摆自由摆动个周期后到达最高点时停止用量角器测出平板偏离水平的角度。测量次数平板偏离水平的角度平均误差误差分析:该测试方法通过多次测量求均值降低了测试时的系统误差较为准确的测试出了实验的误差。()枚硬币滑离中心位置的距离(cm)测试方法:将摆杆推至一个角度()在水平的平板上放置枚硬币并在白纸上标记其轮廓启动系统后观测硬币滑动的距离。次数角度滑动距离(cm)误差分析:由实验测试结果可以看出当摆杆起始角度由到逐渐增大时硬币滑离中心位置的距离越大(在实验允许的误差之内)这符合理论分析的结果且符合实际生活规律达到了预期的实验效果()枚硬币最底层硬币滑离中心位置的距离及硬币跌落数目测试方法:将摆杆推至一个角度()在水平的平板上放置枚硬币并在白纸上标记其轮廓启动系统后观测枚硬币最底层硬币滑离中心位置的距离及硬币跌落数目。次数角度滑动距离(cm)跌落数目误差分析:由实验测试结果可以看出当摆杆起始角度由到逐渐增大时最底层硬币滑离中心位置的距离越大当硬币发生跌落时相应的最底层硬币滑离中心位置的距离也很大这一结果符合理论分析的结果。()摆杆停留在固定角度()时激光笔瞄准情况测试方法:在平板上固定激光笔摆杆停留在固定角度时启动电机带动平板上的激光笔转动激光笔光斑离标记中心线处的距离记录如下:次数角度光斑偏离量(cm)完成时间(s)误差分析:由实验测试结果可以看出当摆杆偏转角度增大时激光笔距离标记中心线近光斑偏离量小但电机需要旋转的角度大所需的时间长。()摆杆自由摆动时激光笔瞄准情况测试方法:在平板上固定激光笔将摆杆推至()处使光斑指向标记处启动电机并释放摆杆观测激光笔随摆杆自由摆动过程中光斑偏离标记处的最大距离。次数右侧释放时起始角度最大偏离距离(cm)左侧释放时起始角度最大偏离距离(cm)误差分析:由实验测试结果可以看出当摆杆偏转角度增大时对应的光斑偏离标记中心线增大。且摆杆从左边释放时的误差比从右边同样高度处释放的误差大因屏在右边所以这一实验结果是可以接受的。测试分析与结论根据上述测试数据由此可以得出以下结论:()在一个周期内平板旋转角度误差基本在以下完全能满足设计要求。()在摆动一个角度硬币偏离中心位置的距离时误差基本保持在以内在时偏离中心位置距离变大但是也都能满足设计要求。()在放置枚硬币后摆动一个角度,硬币很少滑落。总体来看控制系统能够达到设计要求。()在到之间均匀取角度测量激光笔光线与中心线的距离。测量结果偏距均在要求cm内。综上所述本设计达到设计要求。附录:电路原理图附录:源程序*****************************************************************************名称:voidmain(void)*功能:主函数,通过循环检测按键执行相应的任务模块*入口参数:无*出口参数:无****************************************************************************intmain(void){}***************************************************************************************函数名称:CollectData(uintnumber)**函数功能:进行AD采样,计算平均电压值和角度值,步数**入口参数:number需要采集number次求出均值**出口参数:Angle角度Step步数Voltage电压*************************************************************************************voidCollectData(uintnumber){uintadtotal=,iuintadflag={}charstrfor(i=i<numberi){adflagi=ADCSwitch()adtotal=adflagi}Voltage=adtotalnumberAngle=Voltage*if(Angle<){Reverse=Angle=Angle}elseReverse=Angle=AngleStep=Angle*转换为需要的步数sprintf(str,"dmV",adaverage)UARTSendStr(str)UARTSendByte()}*****************************************************************************名称:voidInit(void)*功能:软硬件初始化*入口参数:无*出口参数:无****************************************************************************voidInit(void){pinInit()KeyInit()stepMotorInit()UARTInit()ADCInit()LCDSPIInitial()LCDInitial()LCDDispStrs(,,"Degree:度")LCDDispNUM(,,)LCDDispStrs(,,"Steps:步")LCDDispNUM(,,)}************************************************************************************************************函数名称:IRQTimer()**函数功能:定时器中断服务程序,控制步进电机**入口参数:无**出口参数:无*********************************************************************************************************voidirqIRQTimer(void){}************************************************************************************************************函数名称:ADCSwitch(void)**函数功能:模数转换,并返回转换的结果**入口参数:无**出口参数:无*********************************************************************************************************uintADCSwitch(void){}**********************************************************************************************************函数名称:KeyCheck(void)**函数功能:功能键检测**入口参数:无**出口参数:无********************************************************************************************************uintKeyCheck(void){staticuintkeycount=uintKeyxkeycount=(keycount)switch(keycount){case:{return}breakcase:{Keyx=KEY}breakcase:{Keyx=KEY}breakcase:{Keyx=KEY}breakcase:{Keyx=KEY}breakcase:{Keyx=KEY}break}if(!(IOPINKeyx)){DelayMS()while(IOPINKeyx)returnkeycount}return}

类似资料

该用户的其他资料

广州海景之迷经典策划.doc

描绘古镇的业余画家.doc

2009佛光山惠中寺儿童说故事比赛.doc

诗歌演讲 含衔接句.doc

三国杀——微小说.doc

职业精品

精彩专题

用户评论

0/200
    暂无评论
上传我的资料

精选资料

热门资料排行换一换

  • 出师:投资家培训班日记.pdf

  • 五十奥义书(修订本)+徐梵澄译(…

  • 浙江省二手车评估规范.pdf

  • 孙中山全集(第二卷).pdf

  • 不成熟不要紧.pdf

  • 英国中世纪教会研究.pdf

  • 磁共振成像原理.pdf

  • 超越指数.pdf

  • 气功及保健功.pdf

  • 资料评价:

    / 28
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部