已阅读5页,还剩207页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国大学生大学生电子设计竞赛论文集山东大学教务处目录编号F甲10181编号F甲102413编号C甲102930编号D甲102740编号E甲101453编号A甲102264编号B甲102573编号D甲101784编号F甲1020100编号F甲1023111编号F甲1015124编号E甲1021136编号A甲1030147编号A甲1026157编号A甲1016172编号C甲1019186编号C甲1028197编号F甲1018竞赛题目电动车跷跷板(F题)(获得全国大学生电子设计竞赛全国一等奖)参赛学生及专业电子科学与技术物理学院微电子学计算机科学与技术学校山东大学电动车跷跷板摘要本系统采用自制的电动小车,以凌阳16位单片机SPCE061A作为小车的检测和控制核心,以两相混合式步进电机42BYG021驱动,通过数字式双轴倾角传感器(ZCT245AL485)以15HZ的频率实时采集跷跷板的倾角信息,并采用模糊控制算法对步进电机的转速和转向进行调节,再辅助以螺旋桨的微调,以准确找到平衡点位置;系统采用单光束反射取样式光电传感器RPR220探测黑线以实现循迹前进;对步进电机的控制采用细分驱动技术,大大改善了步进电机的运行品质。本系统可在较短时间内完成自动上板,通过跷跷板,寻找平衡点等任务,并对任务完成时间进行语音播报。关键词细分驱动;倾角传感器;螺旋桨微调;电动小车;模糊控制中图分类号TP2426ABSTRACTTHISSYSTEMADOPTSDYNAMOELECTRICSMALLCARMADEBYOURSELVESANDTAKESSPCE061A16BITMICROPROCESSORASTHECONTROLANDDETECTINGCENTERTHETWOWHEELSOFTHECARAREDRIVENBYSTEPMOTORSSEPARATELYTHEROTATIONSPEEDANDDIRECTIONOFTHEMOTORSARECONTROLLEDBYMCUACCORDINGTOTHEFEEDBACKINFORMATIONDETECTEDBYOBLIQUITYSENSORANDTHETORQUEISADJUSTEDBYAAIRSCREWSOTHATTHESMALLCARCANFINDTHEBALANCEPOINTOFTHESEESAWACCURATELYTHISSYSTEMADOPTSSIXINFRAREDSENSORSTODETECTBLACKLINESONTHEGROUNDORTHESEESAWANDITCANFOLLOWTHELINESACCORDINGTOTHISSIGNALWEADOPTSUBDIVISIONTECHNOLOGYTODRIVETHEMOTORANDITIMPROVESTHEPERFORMANCEOFTHEMOTORSREMARKABLYTHISSYSTEMCANCOMPLETEALLTHETASKWITHINASHORTTIMEKEYWORDSSUBDIVISIONDRIVEROBLIQUITYSENSORAIRSCREWADJUSTINGDYNAMOELECTRICCARFUZZYCONTROL1系统方案11实现方法本系统采用自制电动小车,以单片机作为智能小车的检测和控制核心,通过两相混合式步进电机驱动,根据倾角传感器采集的数据,对步进电机的转速和转向进行PID反馈调节。当小车的大概位置确定后,步进电机停止转动,启动直流电机,带动安装在直流电机上的螺旋桨,通过空气的反冲力微调力矩,以准确找到平衡点位置。系统使用了红外对管,通过黑线的引导可实现小车自动上板并对小车在板上的运动进行准直。在板的两端设置标志,当红外传感器检测到标志时通知MCU控制小车停下,执行下一步预设动作。系统模块框图如图1所示12方案论证与比较121角度测量方案论证与选择方案一使用铅垂线光折断器。使用3个光折断器来检测,假设车启动前铅垂线是在中间的光折断器上,如果不考虑铅垂线的单摆运动,我们可以认为中间的光折断器被折断时,车处于平衡位置。但是由于使用的铅垂线会做单摆运动,我们可以认为当铅垂线两侧摆幅一致时达到平衡,通过测量单摆左右摆的时间来分析单摆中心的偏移角度。循迹模块计时模块语音播报模块倾角测量模块驱动模块控制模块力矩微调模块时间显示模块图1系统模块框图方案二使用数字式双轴倾角传感器ZCT245AL485。内部集成了角度传感器,A/D转换器,可以输出数字量。具有零点设定,响应频率调整,波特率可选等功能。采用金属壳封装,抗震动性能好。频率响应215HZ可调。测量范围为正负45度,分辨率可达01度。方案选择方案一算法复杂且精度较低,难以实现功能;方案二直接处理数字信号,系统稳定性好,易于实现,所以最终决定选用方案二。122驱动模块方案论证与选择方案一采用直流减速电机,直流减速电机具有良好调速性能。另外直流电动机过载能力强,制动转矩较大。可采用PWM调速。但是直流电机的精确控制困难,开环控制误差很大,通常需要借助速度传感器组成闭环控制系统。方案二采用步进电机。步进电机在非超载的情况下,转速和停止的位置只取决于脉冲信号的频率和脉冲数。步进电机只有周期性的误差而无积累误差,很适合速度,位置等参数的精确控制。步进电机的缺点是转速不够平稳,运行会发生振荡但理论和实践已经证明,细分驱动可减少振动,提高步进电机输出转矩,大大提高电机的稳定性和可靠性。方案选择考虑到在本系统中需要对小车的位置和速度进行精确控制,并且需要小车快速启停,最终我们决定采用两相混合式步进电机42BYG021。该步进电机的测试曲线如ERRORREFERENCESOURCENOTFOUND所示,本系统中,步进电机工作在低速状态,可以提供足够大的扭矩。123行进路线准直方案论证与选择方案一通过调整两个主控电机的转速一致使小车走直线。由于步进电机存在失步的问题,所以难以做到两个电机的转速精确一致,并且小车的初始位置难以摆正,很容易出现小车跑偏的情况。方案二在跷跷板上贴宽度为2CM的黑线,采用发射接收一体化的单光束反射取样式光电传感器RPR220作为敏感元件,利用红外线对不同颜色的反射系数不同而产生强弱电流信号,该方案受外界环境的影响比较小,抗干扰性比较强。方案选择综上所述,为了使系统更稳定可靠,抗干扰能力更强,采用方案二。13系统设计131系统总体方案经过上述的分析和论证,决定了系统各模块采用的最终方案如下1主控单元凌阳16位单片机SPCE061A;2循迹模块发射接收一体化红外传感器RPR220;3倾角检测模块数字式双轴倾角传感器(ZCT245AL485)4驱动模块两相混合式步进电机42BYG021TA8435细分驱动芯片5微调模块直流电机L298驱动芯片塑料螺旋桨6语音播报模块单片机自带D/A基于SPY0030的功率放大电路扬声器7计时模块DS13028时间显示模块CH451LED数码管132系统详细结构框图系统详细结构框图如图2所示。图SPCEA单片机红外传感器RPR220倾角传感器ZCT245AL485时钟芯片DS1302功放电路SPY0030扬声器LED数码管细分驱动芯片TA8435步进电机L298直流电机螺旋桨0612理论分析与计算21控制方法我们经过分析发现,传统的PID方法不适合该问题。考虑到小车寻找平衡点过程的复杂性,难以建立起有效可解的物理描述方程,因而我们采用了模糊控制方法。在模糊控制算法中,模糊控制器被设计为一个二维表格,即将角度传感采集到的角度E和对应与角度偏差的变化反映到一个二维数组中,数组中的每一个元素表示E在特定角度和角度增量下小车运动速度的输出。其对应关系是通过理论计算与反复观察分析得出的。为了取得更好的控制效果,我们又在车体上添加了螺旋桨,当采集到的角度小于一个阀值时,关断小车的运动,而采用螺旋桨转动产生的推力来调节跷跷板的平衡。22理论计算221小车运动模型如图3所示,设小车的重力为,跷跷板和配重的车MG等效重力为,其中,角为跷跷板与水平面的夹角。物MG则小车产生的力矩为1车车车LCOSGM等效重力产生的力矩为2物物物L假设在的距离,产生了的角度变化量,则在这车L的距离内,有车L3车车车LCOSMGM则系统产生的转动惯量为422LZ物车车物物而对应的角加速度为5ZA车将1,2,3,4,5方程联立,经观察可知,跷跷板的质量越大,小车的质量越小,产生的角加速度也就越小。而角加速度越小,越有利于小车寻找平衡,因而在制作中应该适当增大跷跷板的质量,减小小车的质量。222模糊控制方法推理对应与小车在平衡点左侧的情况(此时角度传感器读取得为负值),记最近一次采集到的角度为,次近采集的角度为,两次的差量为。此时小车的0101运动方向为向右,定义一个步进角单位为1,以向右运动为正。则当图3受力示意图图2系统详细结构框图时,当,则小车在靠近平衡点,此时小车步进速度应该很小,10且0取为10当时,角度在减小,但是减小的过快,很可能会超过平衡点,故应50该反向调节(这一点很巧妙,也很重要),取速度为50当时,角度在缓慢50减小,应适当增大速度,设为80,此部分的表示如表1所示。以此类推,可以推算出模糊控制器的所有命令集合。表10501,01050803电路与程序设计31系统总体硬件连接图见附录图432单元电路设计321步进电机驱动电路设计TA8435H是二相步进电机细分驱动专用芯片,电路连接图见附录图5该电路用一片TA8435H来驱动一个步进电机,输入信号有使能控制、正反转控制和时钟输入,通过光耦可将驱动器与输入级进行电隔离,以起到逻辑电平隔离和保护作用;该电路工作在18细分模式,可减小低速时的振动,R4和C1组成复位电路,四个快恢复二极管可用来泄放绕组电流。322红外传感模块的设计考虑到设计要求,本系统采用6对光电传感器,中间四对传感器用来校正小车的寻迹路线,保证小车运行的直线性。两侧的传感器用来实现小车的转弯。电路连接图见附录图6323语音播放电路设计由于SPCE061A精简开发板上已经集成语音录入和播放模块,而且集成开发环境下提供了语音函数库,使用起来方便易行,本系统直接采用该开发板的语音功能就可以了。该模块电路图见附录图733软件设计331软件组成总的工程程序包括初始化程序、倾角查询程序、步进电机控制程序、循迹程序、直流电机控制程序、语音播报程序、数码管显示程序、时钟芯片读取程序等部分。332软件流程流程图见附录图8333平衡点查找函数流程流程图见附录图94系统测试与结果分析角度增量输出速度测量角41基础部分测试411测试仪器与工具自制跷跷板(长160CM,宽30CM,板身为白色,其上贴有黑线,宽2CM,板两端有十字形标志),秒表,游标卡尺412测试方法将小车放于跷跷板的一端,车身沿跷跷板长度方向,保证红外对管压在黑线上,打开开关,小车自动运行。413数据记录表2基础部分测试数据AC时间单位SC点找平衡时间单位SCB时间单位SBA时间单位S|DADB|单位CM第一次测二次测试20571331354第三次测试16531629281平均18551530313414测试结果在AC,CB,BA段上,小车以较快速度前进,只有在C点附近放慢速度。寻找平衡点用去了大量时间。42发挥部分测试421测试仪器与工具自制跷跷板,秒表,从跷跷板延伸至地面的黑线,游标卡尺422测试方法将配重固定在可调整范围内任一指定位置,将电动车放置在地面距离跷跷板起始端A点300MM以外、90扇形区域内某一指定位置(车头朝向跷跷板),拨动小车开关,小车自动运行。423数据记录表3发挥部分测试数据第一次平衡|DADB|单位CM第二次平衡|DADB|单位CM完成时间单位S第一次测试298307167第二次测试283313172第三次测试276274165平均286298168424测试结果小车自动上板和寻找平衡点难度较大,耗费时间较多,但在规定时间内完成了全套动作。43结果分析与创新发挥测试结果显示该系统成功地完成了题目要求,证明了依靠步进电机进行调速并辅之以螺旋桨二级微调的策略是可行的。本设计创造性地使用了螺旋桨对系统转矩进行二级微调,大大缩短了寻找平衡点的时间。本设计还加入了语音播报模块,用于进度提示。5结束语本设计制作完成了题目要求的基本部分和发挥部分,并在达到了设计要求的基础上进行了一定的创新发挥,整机调试比较成功。6参考文献1李晓白,秦红磊,朱俊杰,潘涌泽凌阳16位单片机C语言开发北京北京航空航天大学出版社,2006年2彭军传感器与检测技术西安西安电子科技大学出版社,2003年3赵广林电路设计与制版北京电子工业出版社,2005年4漆安慎,杜婵英力学北京高等教育出版社,2005年5刘海成,秦进平,韩喜春MCUDSP型单片机原理与应用北京北京航空航天大学出版社,2006年7附录71附录一电路图及程序流程图图4系统总体硬件连接图图5步进电机细分驱动电路图图6红外传感器电路图7音频放大电路开始前进到C点附近寻找平衡点平衡是否处于平面停止5秒Y行驶到B点停止5秒返回到A点前进检测到黑线寻迹角度为零寻找平衡平衡等待结束NNYYNNN图8总程序流程图72附录二主程序清单INCLUDE“CAR_BASEH“INCLUDE“MOTOR_SPEED_SHIFTH“INCLUDE“OBLIQUITYH“INCLUDE“DIS_TIMEH“INCLUDE“VOICE_DRIVERH“DEFINEP_WATCHDOG_CLEARVOLATILEUNSIGNEDINT0X7012开始读取角度传感器内容查询控制数组控制输出相应的速度判断是否接近平衡调用螺旋桨微调控制程序NY结束图9平衡点查找函数流程DEFINEP_INT_CTRL_NEWVOLATILEUNSIGNEDINT0X702D/SAMEASP_INT_MASKEXTERNUNSIGNEDINTR_FLAGEXTERNUNSIGNEDINTL_FLAGEXTERNUNSIGNEDINTNOW7UNSIGNEDINTWAIT_COUNT/实现计数5秒钟UNSIGNEDINTSUM_TIMERVOIDWAIT_FIVE/工程记录/VOIDMAINUNSIGNEDINTSTATUSSUM_TIMER0STATUSCHECK_STATE/判断状态,基本还是发挥部分IFSTATUS1TIMER/启动时钟CAR_GO_LINE700,200/CAR_TRACE_STARTWHILER_FLAG|L_FLAG/在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2KHZ中断P_WATCHDOG_CLEAR1SUM_TIMERGET_NOW_TIMETIMERCAR_TRACE_STOPCAR_BASE_BALANCEWAIT_FIVESUM_TIMERGET_NOW_TIME/在这里关断保持平衡的中断OBLIQUITY_STOPCAR_TRACE_STARTPPPPPPPPPPPPPPPPPPPTIMER/等待5秒钟,如何完成CAR_GO_LINE680,200/这两个参数都学要调整WHILER_FLAG|L_FLAG/在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2KHZ中断P_WATCHDOG_CLEAR1CAR_TRACE_STOPPPPPPPPPPPPPPPPPPPPPPPPPPPSUM_TIMERGET_NOW_TIMETIMER/等待5秒钟WAIT_FIVE/CAR_TRACE_STARTPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCAR_GO_LINE1380,200/返回/这两个参数都学要调整WHILER_FLAG|L_FLAG/在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2KHZ中断P_WATCHDOG_CLEAR1CAR_TRACE_STOPSUM_TIMERGET_NOW_TIMETIMER_STOPSHOW_SUM_TIMESUM_TIMERPLAY_SUM_TIMESUM_TIMERELSECAR_GO_LINE700,200/CAR_TRACE_STARTWHILER_FLAG|L_FLAG/在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒/钟调用10次寻迹函数,是用IRQ4的2KHZ中断P_WATCHDOG_CLEAR1CAR_BALANCE/寻找平衡WAIT_FIVE/等待5秒CAR_TRACE_STARTTIMERWAIT_FIVE/等待5秒钟,如何完成CAR_BALANCE/再次查找平衡PLAY_TIMER/播放时间TEMPP_INT_CTRL_NEWTEMP编号F甲1024电动车跷跷板(F题)(获得全国大学生电子设计竞赛全国一等奖)参赛学生及专业生物医学工程软件工程生物医学工程学校山东大学2007年9月6日电动车跷跷板(F题)摘要本系统以凌阳SPCE061A单片机为主控制器,辅以寻迹、角度传感器、微调、时间、测量与显示、无线传输和语音等单元,实现小车自己登陆跷跷板,寻迹前进与后退,LED显示时间,自动寻找平衡点并语音提示等基本要求和发挥部分功能。此外,我们还扩展了路程测量与显示,上位机实时显示跷跷板状态的功能,可以在PC机上方便的观看系统状态,使其更加形象化。关键词SPCE061A寻迹角度传感器无线传输ABSTRACTTHISSYSTEMTAKESSURPLUSSPCE061AMCUASTHEMAINCONTROLLER,ASSISTEDWITHSEEKINGMARKUNIT,ANGLESENSORUNIT,TINYREGULATIONUNIT,MEASURINGANDDISPLAYINGTIMEUNIT,LINELESSTRANSMISSION,PLAYINGSOUNDANDSOON,INORDERTHATITCANLANDTEETERBOARDBYITSELF,RUNFORWARDANDBACKWARDACCORDINGTOTHEFIXEDROUTE,MEASUREANDDISPLAYTHETIMEBYLED,LOOKFORTHEBALANCEPOINTAUTOMATICALLYANDBROADCASTSOUNDONTHEBASEOFACHIEVINGTHEESSENCEREQUESTANDTHEEXERTSECTION,WEALSOMEASUREANDDISPLAYTHEDISTANCE,USECOMPUTERTODISPLAYTHEREALSTATEOFTHETEETERBOARDSEPARATELYINTHISWAY,WECANSEETHESYSTEMSSTATECONVENIENTLYANDVISUALLYONTHEPCKEYWORDSPCE061ASEEKINGMARKANGLESENSORLINELESSTRANSMISSION1系统方案11系统设计与结构框图根据题目要求,本系统主要由电源模块,控制器模块,电机驱动模块,寻迹模块微调模块,语音模块,显示模块,平衡检测模块,计时模块等构成。系统的结构框图如图1所示12方案论证小车选择本设计中小车要爬坡和自动登上跷跷板,购买玩具车不能很好的适应要求。又考虑到四轮车转弯受到限制,菱形车爬坡不方便,所以我们自己设计车体结构为三角形,灵活性大,适于爬坡,且尽量使小车重心低以便于制动。控制器选择电源模块计时模块平衡检测模块控制器模块寻迹模块路程测量模块语音模块显示模块电机驱动模块图1系统结构框图微调模块无线模块上位机方案一采用可编程逻辑器件CPLD方案二采用ATMEL公司的AT89S52单片机方案三采用凌阳公司的SPCE061板。CPLD可以实现各种复杂的逻辑功能、体积小、稳定性高,而价格也较高,适合作为大规模控制系统的控制核心。AT89S52低功耗,高性能,但其本身功能较少,因此需要增加较多的外围电路来实现功能。SPCE061A体积小,易扩展,结构简单。从适用度和价格两方面考虑,我们决定采用61板作为主控制器。电源模块小车为活动性机器,故最好采用电池供电。电机工作需要12V电压,且要求较大的电流,其它模块需5V供电,电流要求不高。这样,体积小,容量大,重量轻的锂电池结合12V5V的DCDC芯片便成为我们的最佳选择。电机选择方案一采用步进电机方案二采用直流减速电机步进电机可以准确定位,但输出力矩低,速度慢,且体积大,重量大,不适用于小车爬坡,也可能达不到时间上的要求。而直流减速电机转动力矩大,速度大,体积小,重量轻,因而成为我们的最终选择。考虑到要防止小车下坡时惯性过大而滑出跷跷板,在满足时间要求基础上,我们选择50转/MIN减速电机以求较大力矩。电机驱动模块方案一采用晶体管构建H桥驱动方案二采用专用芯片L298H桥由4个三极管组成,可方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。专用驱动芯片L298,响应频率高,一片可控制两个直流电机,操作方便,稳定性好,性能优良。最终,我们选用L298作为电机驱动。平衡检测模块方案一采用铅垂线光折断器方案二采用角度传感器根据题目要求,平衡的定义为A、B两端与地面的距离差D|DADB|不大于40MM,即跷跷板的倾角要小于143(ARCSIN002/08143)才能判定为平衡。采用铅垂线光折断器,通过判断垂线角度来判定平衡。但操作起来比较复杂,且误差较大。ZCT245AL485角度传感器直接输出角度值,精度为01,故我们采用方案二。寻迹模块方案一通过开关型霍尔传感器方案二采用光电传感器开关型霍尔传感器只能跟踪磁性物质组成的曲线,成本高,而反射式光电传感器采用一体化结构,利用黑、白线反射光的强弱寻迹,灵敏度高,体积小,且结构紧凑,安装方便,故采用方案二。微调模块在小车调节达到一定程度后,再对其进行微调很不方便,很难控制它的移动距离,故我们增加微调模块。即在小车上安装一舵机,由它来控制一重物前后运动,以此来调节小车一侧的力矩。计时模块61单片机具有强大的中断功能。我们可以通过开2HZ中断进行计数,然后计算出时间。这样,无需外部硬件,程序也较简单。显示模块数码管显示速度快,亮度高,我们用其来显示路程、时间及角度等数字信息,且为节省端口,采用了串口通信芯片CH451作为驱动。语音模块61单片机自带语音模块,且具有语音处理函数库供用户调用,功能强大,应用方便。所以我们选择此方法来播报语音。路程测量模块方案一用霍尔开关。方案二采用CCD鼠标。霍尔开关利用霍尔效应原理,受到磁块体积限制,不能进行高度细分。采用鼠标CCD摄像测距,安装方便,稳定性好,且精度高,可精确到01MM以内。所以,我们采用方案二。无线模块通过无线来实现小车与上位机的通讯,我们采用常见的无线单片收发芯片NRF2401,它体积小、功耗少、外围元件少,有助于减轻小车重量。13实现方法铝合金自制车体采用L298驱动直流减速电机实现行进,光电传感器结合寻迹算法完成电动车寻线功能。利用角度传感器的测量量作为被控量,实现电动车的闭环反馈控制,根据PID控制算法找到平衡点,这是本系统的核心部分。同时LED显示模块和PC无线通信模块实现了良好的人机交互界面。我们确定的最终方案为1小车模块采用自制三角形车体结构2控制模块采用凌阳公司的SPCE061A单片机3电源模块采用锂电池结合DCDC芯片供电。4电机模块采用直流减速电机,由L298来驱动。5测角模块采用ZCT245AL485角度传感器。6微调模块采用舵机控制一重物在车上平滑缓慢移动来实现。7寻迹模块采用反射式光电传感器。8计时模块采用开2HZ中断方式。9显示模块采用LED显示时间、路程及角度,由CH451作为驱动。10语音模块采用凌阳自带语音功能。11测距模块采用CCD鼠标测距。12无线模块采用无线单片收发芯片NRF2401。2理论分析与计算21寻迹测量与控制本系统中要考虑三种状态下的寻迹算法第一,小车怎样实现自动驶上跷跷板;第二,前进过程寻迹算法;第三,逆向行驶时寻迹算法。其中,登陆跷跷板的控制最为复杂。为此,我们分别在车头、车体中央、车尾处安装了3、2、3个对管。寻迹线的铺设完全与算法相结合。然后根据读入的对管状态值,来调节小车的行驶状态。寻迹线的铺设如附录A图1示,对管安装如附录A图2示,真值表如附录A表1示。22时间测量与计算本系统中对于时间的计量是通过开2HZ中断的形式实现的,不需要任何硬件设施。其具体实现方法就是每进入一次中断,则计数值加一。通过该计数值,我们就可方便的计算出时间。23平衡位置判定、计算、及调节控制方法判定系统中,我们采用角度传感器来测量小车与地面的夹角。在小车由不平衡到平衡的过程中,跷跷板一定是处于振荡状态的。若在一段时间内所测量到的角度值均在143以内,则判定小车平衡。计算设配重质量为MPKG,重心距离转轴SPM,距板面HPM;小车重为MCKG,重心距板面HCM;微调物为MMKG,重心距板面HMM旋转半径为RM。如附录A图3中A图所示,小车的最终理论平衡点距转轴S1的计算式为,由此MPSCMS可得。但由于跷跷板存在倾角,使得物体重心偏移。如附录SCMPCMA中图1B图所示,在有倾角情况下,力矩平衡计算式变为,从而可得OSCOSCOSGHTGSHTGMSHTG。到达该点后,小车再稍向前移/SPCMP动,跷跷板开始振荡。控制由上述计算过程可知,小车在超出了理论平衡点后跷跷板开始振荡,我们所应做的,就是使小车能够退至合适的位置从而令跷跷板平衡。综合分析各种常用控制算法和现有测试仪器由于跷跷板的振荡为谐振式,且角度传感器的响应频率较低,在小车速度较高时,我们并不能得到实时准确的角度值,因而我们必须在调节平衡时,先减小车速。首先考虑采用二分法来调节小车移动方式,但实验之后发现这种方式不好控制。最终,我们的控制方法为根据当前角度来控制小车下一步的步长,从而慢慢达到平衡。3电路与程序设计31检测与驱动电路设计电机驱动模块一片L298N可控制两个直流电机,我们用PWM输出来调制车速,且为了防止电机模块对前级的干扰,我们加了光电耦合级,电路连接如附录A图4示。寻迹模块我们采用反射式光电对管,其输出接比较器,由地面反射状况的不同而输出1,0信号予以反馈。其电路连接如附录A图5示。角度传感器模块ZCT245AL485角度传感器为485接口,故应将其先与485转换电路连接,然后再与单片机相连。其电路连接如附录A图6示。显示模块数码管用于显示时间、路程和角度,由串口通信芯片CH451来驱动,采用动态显示方式,其电路连接如附录A图7示。无线模块NRF2401业界体积最小、功耗最少、外围元件最少的无线单片收发芯片,编程很方便,实际传输距离在5080米左右。其电路如附录A图8示。32总体电路图单元电路确定后,我们对单片机端口进行了合理的分配,整个系统的总体电路如附录A图9示,最终小车实物如附录图10示。33软件设计与工作流程图因为本系统中小车要进行前进、平衡调节、延时、语音播报、后退等一系列活动,所以对于程序的安排结构要求严格。在此,我们采用模块化设计方法,将整个程序分为以下几个模块主程序;电机驱动子程序;寻找平衡点子程序;LED显示子程序;无线通信子程序等。主程序代码见附录2。主程序流程图如下图2示。图2主程序流程图模式选择A至C寻迹找平衡,语音播报并延时5S过C线否C至B寻迹停车并延时5S原路返回寻迹自动驶上跷跷板寻迹前进并寻找平衡停车延时5S并语音播报再次寻找平衡平衡否平衡否到B点否否停车延时5S并语音播报YNNYYNNY4功能测试与结果分析41基本功能测试表1基本功能时间测试123实际时间S5S5S5S显示时间S5S5S5S123平衡倾角值050304平衡所需时间303733123实际时间S4S4S4S显示时间S4S4S4S123测量次数项目测试次数由A至C测试次数由C至B测试次数由B至A实际时间S9S9S9S显示时间S9S9S9S42发挥功能测试表2配重平衡测试左侧右侧中间能否自动驶上跷跷板能能能第一次平衡平衡倾角060706第二次平衡平衡倾角060608表3时间测试123登上跷跷板时间4S3S4S第一次平衡时间36S34S38S第二次平衡时间72S68S76S显示时间11210811643创新发挥在完成基本要求和发挥部分的基础上,我们又扩展了以下功能用CCD鼠标测量路程并由数码管实时显示,精度可达001CM;通过无线收发芯片NRF2401与上位机实现通讯,从而在上位机上对跷跷板状态形象化显示。44结果分析我们在软件上精心调试多次,硬件上注意每一个小细节,最终使得我们的小车在多次测试中都较好地完成了题目地基本要求和发挥部分。同时我们所扩展的路程测量与显示功能,上位机实时显示跷跷板状态功能也得以实现,效果良好。5结束语通过良好的寻迹,二分法与微调结合等算法,我们的小车可顺利完成各段行程,并较为快速的找到平衡点;通过鼠标测距、中断计时,可实时显示路程与时间;通过NRF2401,顺利实现小车系统与上位机的无线通讯,从而通过PC机直观、形象的显示跷跷板状态。6参考文献1海成等。MCUDSP型单片机原理与应用。北京航空航天大学出版社2张培仁等。机器人控制系统设计与实现。北京清华大学出版社3谭浩强。C语言程序设计(第二版)。北京清华大学出版社4于海生等。微型计算机控制技术。北京清华大学出版社5黄智伟等。全国大学生电子设计竞赛训练教程。电子工业出版社6王鸿明。电工技术与电子技术。北京清华大学出版社7王成华。电子线路基础教程。科学出版社,登录方向测试次数项目附录AACB90图1寻迹线图2对管安装图SPS1图3平衡计算示意图SPS1AC1100NFD1D2D3D436VOU12OU13OU313OU414ISA1ISB15VSS9GND8VS4ENB11IN15IN27ENA6IN310IN412J1L298C2470UFD5D6D7D821M121M25VIN3IN4IN1IN2ENAENBR1300R251KVCC22022022022022051K51K51K51K51K图4电机驱动电路图1423R1220R251KR45KR320K5VLM339OUT图5光电对管连接图B28163745MAX485R112KR212KVCC485B485A485B485AENANGLESENSORVCCIOB11图6角度传感器连接图ABCDEFGDPDIG0DIG1DIG2DIG3ABCDEFGDPDIG1DIG2ABCDEFGDPDIG1DIG22K85VDCLKDINLOADDOUTRSTNCSEG7SEG0SEG1SEG2SEG3SEG4SEG5SEG6DIG0DIG1DIG2DIG3DIG4DIG5DIG6DIG7DINDCLKLOADDOUTRSTNCVCCGNDCH451图7数码管驱动电路图R122KC833NFC915PFC1015PFC422NFC522PFC110UFC210NFC31NFY1R21ML122NHL236NHC710PFC610PFVDDANTCE1DR22CLK23DATA24CS5DR16CLK17DATA18DVDD9VSS10XCLK11XCLK112VDD_PA13ANT114ANT215VSS_PA16VDD17VSS18VDD24PWR_UP23VSS22VDD21VSS201REF19CNRF2401CEDR2DCLKDATA2CSDR1CLK1DATA1PWR_UP图8NRF2401连接图IN1IN2IN3IN4ENAENB上上上上IOA0IOA1IOA2IOA3IOA4IOA5IOA6IOA7IOA8IOA9IOA10IOA11IOA12IOA13IOA14IOA15IOB15IOB14IOB13IOB12IOB11IOB10IOB9IOB8IOB7IOB6IOB5IOB4IOB3IOB2IOB1IOB0SPCE061AOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8上上上上DCLKDINLOADDOUTRSTNC上上上上PWR_UPCEDR2CLK2DATA2CSDR1CLK1DATA1上上上上485A485BEN上上上上上40上上OUT1OUT2上上上上PWR_UPCEDR2CLK2DATA2CSDR1CLK1DATA1上上上上IOA0IOA1IOA2IOA3IOA4IOA5IOA6IOA7IOA8IOA9IOA10IOA11IOA12IOA13IOA14IOA15IOB15IOB14IOB13IOB12IOB11IOB10IOB9IOB8IOB7IOB6IOB5IOB4IOB3IOB2IOB1IOB0SPCE061ATRRS232上上上上图9系统总电路图图10小车实物图表1寻迹真值表12345678反应010前进100左转001右转前进111停止010前进100左转001右转后退111停止10000000右转11000000右转010前进00100000左转转弯01100000左转附录BINCLUDE“SPCE061AH“/编号状态系统端口分配IOA03左右电机方向IOB0、1鼠标测距IOA4舵机IOB25NF2401IOA57CH451IOB8、9左右电机PWM调速IOA815光电对管IOB7、10、11角度传感器/SXWDEFINEZCT_FILT0/输出频率设定FILTDEFINEZCT_Z1/以当前位置为相对零度EXTERNVOIDINIT_CH451EXTERNVOIDWRITE_ANGLE_COMMUNSIGNEDINTCOMM_NUMBEREXTERNVOIDREAD_ANGLE_DATAEXTERNVOIDPROCESS_DATAEXTERNVOIDRUNEXTERNVOIDRUN_SLOWINTMOTOR_LEFT,INTMOTOR_RIGHTEXTERNVOIDFOLLOW_LINE_ZHENGEXTERNVOIDFOLLOW_LINE_FANVOIDSYS_INITVOIDDELAY_16USUNSIGNEDINTUSVOIDDELAY_MSUNSIGNEDINTMSINTSTOPEXTERNINTX_ANGLE,Y_ANGLE,ANGLE_BEGININTISSTOP0INTCLOCK0INTMAINVOIDUNSIGNEDINTMODE1,STOP_FLAG1UNSIGNEDINTA_C1,C_B0,B_A0,SEEK_BALANCE0UNSIGNEDINTA_C11,C1_C2,C2_B0UNSIGNEDINTCAR_LINE_FLAG0UNSIGNEDINTANGLE_I0UNSIGNEDINTCAR_BALANCE_TIME140,CAR_BALANCE_TIME_DEMO140INTMOUSE_DISTANCE0,CAR_DISTANCE10/10CM/1英寸等于254CM,400个点,128为08128CMINTMOUSE_DISTANCE_DEMOSYS_INITUART_INITWRITE_ANGLE_COMMZCT_NWRITE_ANGLE_COMMZCT_NWRITE_ANGLE_COMMZCT_HEWRITE_ANGLE_COMMZCT_HEINIT_CH451MOUSE_INITREAD_ANGLE_DATAIFMODE1/基本部分,模式1/FORANGLE_I28|Y_ANGLE28WHILEMOUSE_DISTANCE6TEMPIADC_DATAOSTIMEDLY10/TASKTESTFREQ测当前的频率/VOIDTASKTESTFREQVOIDPDATAFORPINSEL0|20X29DSP_CMUMENU_IDBREAKCASE0/FCIFIS_MAIN_MENU0DSP_CMUMENU_IDBREAKDEFAULTBREAK编号F甲1020电动车跷跷板(F题)(获得2007年全国大学生电子设计竞赛山东省一等奖)参赛学生及专业张兵计算机学院张海东信息学院李金城能动学院学校山东大学赛前指导老师秦峰王延伟王立志曹庆峰文稿辅导老师陈言俊电动车跷跷板(F题)摘要本设计采用两个凌阳SPCE061A16位单片机作为控制核心。其中一个安装在小车上,另一个持在使用者手中连接键盘和LCD,通过无线模块进行双机通讯,实现远程对小车运行状态的实时监测。为了对小车的行为进行精确控制,采用步进电机进行驱动。系统通过倾角传感器采集跷跷板的倾角变化后传给单片机。程序控制方法采用PID算法,使小车通过一个二阶欠阻尼脉冲响应过程最后趋于动态平衡。根据设计需要,车体采用有机玻璃与铝合金自制而成。关键词SPCE061A单片机,角度传感器,光电传感器,PID算法ABSTRACTTHISSYSTEMTAKESTWOSPCE061A16BITMICROPROCESSORASTHECONTROLCENTER,ONEFIXEDONTHECARANDANOTHERCONNECTEDWITHKEYBOARDANDLCDHANDEDBYTHECONTROLLERINTHISSYSTEM,WIRELESSISUSEDTOCOMPLETETHETWOPROCESSORSCOMMUNICATIONTOACQUIREAPERFECTINTERFACEBETWEENTHECONTROLLERANDTHEWHOLECONTROLSYSTEMTHECARWITHFOURWHEELSISDRIVENBYTWOSTEPPERMOTORS,ANDTHROUGHTHEANGLESENSITIVEGATHERINGTHEINFORMATIONABOUTTHETEETERBOARDSEQUINITYCONDITIONANDTHENSENDTOTHEMICROPROCESSORTHESYSTEMTAKESTHEPIDASMAINCONTROLMETHOD,THROUGHAPROGRESSOFTWOPULSEDAMPINGRESPONSE,THECARANDTHETEETERBOARDFINALLYREACHANEQUINITYCONDITIONKEYWORDSSPCE061AMICROPROCESSOR,ANGLESENSOR,LIGHTSENSOR,PID1系统方案设计11实现方法采用倾角传感器检测跷跷板与水平面的夹角,通过PID算法控制小车寻找平衡位置。当跷跷板在允许范围内满足达到平衡状态时,暂停5秒后行驶到跷跷板B端;当小车的上的四个光电开关同时检测到预先粘贴在跷跷板B端上的黑线时记数1,并倒车回到跷跷板A端,当四个光电开关第二次同时检测另一端的黑线时记数2,小车停止,此时基本部分完成。在发挥部分中,我们采用黑线引导小车走上跷跷板,小车启动时在水平位置,以此为标志来选择调用发挥部分所需要的程序,使小车在找到平衡之后停在原位并在收到扰动之后自动寻找新的平衡。在完成题目要求的同时,我们也做出了自己的特色。我们利用一个从单片机制作了一个手持观测系统,进行小车状态的实时播报和显示,另外还制作了电池低电压报警电路。12方案比较与论证121控制器模块由于题目要求的小车功能较多,如果采用一个单片机会使各模块之间的程序嵌套复杂,而且难以实现总体系统的稳定性要求。此外该控制系统程序庞大,包括角度传感器、光电传感器,LCD,语音模块,时钟等模块,一个单片机难以存储。所以我们采用两个SPCE061A16位单片机,一个为主控制器安装在小车上来控制小车的行驶,另一个为从单片机持在控制者手中,用来连接LCD,键盘以及语音模块。主从单片机之间采用无线通讯,实现两机之间的信息交流。这样不仅可以很好的解决上述问题,而且使人机交互界面变得更加方便完美,也更加人性化和智能化。122电机驱动模块方案一采用H桥式电路驱动的直流电机作为小车驱动。直流减速电机输出力矩大,功耗相对较低,且运行平稳,但本题目需要对小车的位置进行精确步进控制,而直流电机输出轴之间存在一定间隙,而且不能精确定位控制,所以我们放弃此方案。方案二采用输出力矩相对较大的步进电机,这样能够保证两个轮子的速度基本相同,实现了小车的精确控制。为了使步进电机低速时转动更平滑,采用专门的电机细分驱动芯片TA8435驱动电机,利用两个定时器控制电机速度,实现小车的速度与方向调整。实践证明该方案电路简单、控制方便且工作稳定。电路见附图一。所以我们选择方案二。123角度测量模块采用市场购买的低成本双轴倾角传感器ZCT245AL485。ZCT245AL485输出采用半双工通信方式RS485与单片机UART互通信息。它具有零角度设定,波特率可选等功能。ZCT245AL485的精度高达01度,侧角范围正负45度,每秒送给单片机15次倾角值。完全可以满足本题目要求。测量方向见图1。程序见附录图1倾角传感器测量方向图2124行进路线准直方案论证与选择在跷跷板上贴宽度为2CM的黑线,采用发射接收一体化的单光束反射取样式光电传感器RPR220作为敏感元件,利用红外线对不同颜色的反射系数不同而产生强弱电流信号,该方案受外界环境的影响比较小,抗干扰性比较强。如寻迹原理图所示,当1,2检测到黑线,3,4白色时,小车会通过差速左转直至1,2检测通时到黑线为止。电路图见附图2。程序见附录125显示及语音模块由于本设计采用的是凌阳SPCE061A单片机,其芯片内部具有专门的语音功能。本控制系统对于语音没有很高的要求,而且从单片机所承担的任务较少完全能够利用SPCE061A单片机自身资源实现语音功能。时间,角度以及路程的实时显示采用LCD模块OCMJ128X64,自带字库,编程简单,而且功能齐全。126电源模块为了减轻小车重量,方便小车自由行驶,我们采用可充电的大容量锂电池作为小车电源,输出电压12V。中间加装一个开关电源稳压至5伏,给单片机等控制电路供电,电源效率高,比7805等三端稳压器节省能源。13系统设计131系统总体方案经过上述的分析和论证,决定了系统各模块采用的最终方案如下车体由有机玻璃和铝合金片加工而成;主控单元两个凌阳16位单片机SPCE061A;循迹模块接收一体化红外传感器RPR220;倾角检测模块数字式双轴倾角传感器(ZCT245AL485)驱动模块两相混合式步进电机42BYG021TA8435细分驱动芯片语音播报模块单片机自带D/A基于SPY0030的功率放大电路扬声器计时模块DS1302和凌阳单片机内部时钟显示模块OCMJ128X64LCD单片机无线通讯半双工无线通讯模块NRF240114结构框图(见图3)4312寻迹原理图步进电机细分驱动芯片步进电机小车数字量倾角传感器单片机1SPCE061A单片机2SPCE061A无线双机通讯液晶显示语音模块时钟模块光电传感器图3系统结构框图2理论分析与计算21测量与控制方法1小车平衡的PID算法经过分析可得小车在翘翘板上寻找平衡点的是一个二阶欠阻尼震荡过程如图4图4二阶欠阻尼震荡算法公式,其中是比例环节,TKDTKTKTVT13020101TK是积分环节,是微分环节。DTKT002
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川电子机械职业技术学院单招职业技能考试题库及完整答案详解1套
- 2026年遵义职业技术学院单招职业适应性测试题库及参考答案详解
- 2026年陕西航天职工大学单招职业适应性测试题库及参考答案详解1套
- 2026年福州职业技术学院单招职业倾向性测试题库附答案详解
- 2026年西安电力高等专科学校单招职业技能测试题库及答案详解1套
- 2026年甘肃省金昌市单招职业适应性测试题库含答案详解
- 2026年广东茂名幼儿师范专科学校单招职业适应性测试题库及答案详解一套
- 2026年南京旅游职业学院单招职业适应性考试题库及答案详解一套
- 2026年山东水利职业学院单招职业适应性测试题库及答案详解一套
- 2026年盘锦职业技术学院单招职业技能测试题库带答案详解
- GB/T 17119-2025连续搬运设备带承载托辊的带式输送机运行功率和张力的计算
- 四川省成都市第七中学2025-2026学年高二上学期11月半期考试英语(含答案)
- (2025版)国家基层高血压防治管理指南课件
- 2026届黑龙江省优才计划 中学生标准学术能力测试高三数学联考试题(含解析)
- 贵州省黔西南州金成实验学校2024-2025学年九年级上学期期末检测物理试题(无答案)
- 屠宰场安全生产知识培训课件
- 石油管道巡护安全培训课件
- 胶济铁路428事故讲解
- 智能教育设备设备使用风险防控方案
- 防洪影响评价编制培训课件
- GJB3206B-2022技术状态管理
评论
0/150
提交评论