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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

电动车跷跷板设计 采用AVR Mega系列单片机Mega16作为主控芯片Word下载.docx

1、综上考虑,我们采用步进电机。3、倾角探测自制倾角传感器。车上固定一个重摆,重摆一端牵引分压电阻器,不同倾角下,返回的电压值亦不同,通过ADC读取电压值,从而获得小车所处位置倾角。这一方案成本低廉,使用简单,但对车身的稳定性要求较高。车速必须平稳到几乎没有任何加速度,且响应速度较慢。采用集成倾角传感器。本系统使用ZCT245AL485 双轴倾角传感器。采样频率215HZ可调,分辨率可达0.1 度,与单片机通过485进行通信。传感器精度高,响应速度快,在这个对响应速度有特殊要求的系统中十分适宜。出于对精度和响应速度的考虑,我们采用集成倾角传感器。4、电机驱动板使用分立元件进行搭建。此方案成本低廉,

2、但元件参数一致性不好控制。使用L298电机驱动芯片进行电机控制。单片机产生序列脉冲分别加至芯片输入口,输出口可控制步进电机。此方案简单易行稳定。故本系统采用L298驱动步进电机。5、显示模块LCD串行模式占用IO资源少,连接方式简单,显示内容丰富。为了使人机界面更加友好,我们选用LCD作为系统的显示模块。6、语音播报利用STA013芯片对MP3进行解码,实现平衡状态的语音播报,这是我们独具特色的一个模块。7、90度夹角内上板方案的选择在跷跷板与地面接触线处放置引导光源,引导小车上板。此方案需小车依靠光敏器件寻找光源方向,完成上板动作。但上板后方向难以保证是准直方向,而且板宽较短,不易在板上进行

3、小车准直调整,同时引导光源容易受背景光源的干扰。在板纵向中央做一黑线带标志,与板平行并延长至地面,小车在给定范围内出发,先找到黑线带,循迹上板,这样可保证上板方向和以后行进方向的准直。综上考虑,我们选择方案二。8、重心微调方案小车在平衡位置附近做小幅度前进后退动作,通过倾角传感器判断动作后结果与平衡的差距,并作出相应处理。小车内内置一重物摆,可通过一个小电机调整重物摆的倾角,从而达到对小车重心位置微调的目的。方案三:小车内加置一个小丝杠,通过一个小步进电机带动丝杠运动,丝杠上夹持一重物块儿,完成对小车重心的微调。出于对车体内部结构紧凑的考虑,我们采用方案三。综上,我们采用:自制车体、步进电机、

4、L298控制步进电机、集成倾角传感器、LCD显示、循迹上板、丝杠夹持重物进行重心微调的方案。(三)系统设计:本系统采用AVR Mega系列单片机Mega16为主控芯片,小车车体为四轮结构,其中两后轮为主动轮,采用两个独立的步进电机驱动,前轮可自由转动。小车内部加重心微调装置,光电对管循迹装置。其中重心微调装置由步进电机,丝杠,重物滑块构成。外部有电池组,稳压模块,单片机最小系统板,倾角传感器,LCD显示模块和报警装置构成。程序算法以贪婪法为主思想,实现平衡位置最短距离逼近调整。由于车体有重心微调装置,在程序中有两级调差,两级调节共同作用,使得小车可以平稳快速的到达平衡位置。(四)结构框图:(见

5、图1)图1 结构框图二、理论分析与计算(一)测量与控制方法:平衡的调节以贪婪算法为主要思想,根据重心和平衡理论,平衡状态一定出现在跷跷板中点或者越过中点的位置,暂且称这些区域为危险区域。因此在达到危险区域之前是不会出现跷跷板的状态变化,亦即处于安全状态。所以根据这一理论基础可以在小车到达危险区域之前全速行驶,检测到贪婪位置后再进行状态的调整。整体运动控制采用状态机理论,通过外部事件触发状态机的跳变,进行不同状态的处理。利用时间片轮循实现多任务。利用定时器将系统时间进行细分,中断中执行状态机的标志变换,然后再根据状态进行相关的命令处理。微观上分时操作,宏观上同时操作。完成电动车模式选择,计时,角

6、度测量,循迹,LCD显示和平衡指示等功能。在时间片轮循的基础上实现优先级设定,利用定时器将系统时间进行细分,中断中执行与优先级相关的变量的改变,根据变量的不同实现事件处理顺序的优先级设定。(二)重心步进值计算:小车总质量:M 车轮半径:R 车轮电机步进角: 微调重物块质量:m 丝杠螺距:L 丝杠传动电机步进角:丝杠上重物移动的步进距离重心的步进步长为在这个重心两级调节系统中,重心的步进步长可以做得非常精细,在=时,步进距可达到千分之一毫米。三、电路与程序设计(一)检测与驱动电路设计1光电对管电路光电对管检测引导线,检测小车的行进路线是否为准直,电路图见附图1。2电机驱动电路利用LM298驱动步

7、进电机,电路图见附图2。3稳压电源电路本系统所使用的电池组电压为12V,故需通过稳压电路为单片机提供5V电源,电路图见附图34. mp3语音播报模块使用mp3对平衡状态进行语音播报,电路图见附图4。(二)总体电路图(见附图5)(三)软件设计与工作流程图系统运行描述:系统上电后LCD显示启动进度条,之后进行模式判断进入两种不同模式:在板上调整平衡的状态:全速运行到贪婪线,此阶段不进行角度的扫描。随后减速运行,并即时扫描倾角。到角度到达0度 n 度范围内时进入微调阶段,n由丝杠所能调节的重心距离决定,当达到平衡状态时LED闪三下,LCD显示调整平衡成功并通过MP3进行语音播报。在平衡位置停留5秒中

8、后全速运行到B。检测B并在B处停留5秒。全速返回A处,显示全程时间数据。爬板调整平衡的状态:调整平衡的部分和在板上调整平衡一样。平衡后扫描角度,当角度出现比较大的变化时判断为扰动并重新调节平衡。停留5秒钟指示运动完成并显示相关数据。图2 程序流程图四、系统测试(一)基础部分任务完成情况测试(部分数据,详见附表一)过程测试数A至CC至平衡C至BB到A平衡时倾角第一次6s26s14s0.3第二次25s5s0.5第三次22s13s(二)发展部分任务完成情况测试(部分数据,详见附表二)测试指标完成时间启动到第一次平衡扰动后到新平衡全程时间新平衡处水平倾角41s45s99s38s48s110s0.442

9、s113s(三)测试结果分析在小车上坡过程中,由于我们使其尽量靠近其贪婪线,故行车速度和时间参数一致性好,在测试中表现得很统一。反之,由于小车平衡点是个不稳定位置,只有在一个很窄的“危险区”内才有可能达到,因而,每一次平衡点的到达过程是一个不可预知运动过程,其时间参数有很大的离散型。 由于在到达“危险区”前和度过“危险区”后,小车全速前进,小车行车过程尽量把时间节余给调节平衡的过程,小车整体行车时间较为理想。五、设计总结在这短暂的四天三夜中,我们从拿到题时对系统整体功能的分析到最后作品的完成,遇到过许多棘手的问题,全队情绪曾一度低落。一点点问题的发现到这些问题的逐一解决,我们克服了心理上的懦弱

10、,坚定了信心,情况逐渐向明朗的方向前进。在遇到困难甚至进度上的完全停滞时,我们最终顶了上来。意志力帮助我们取得了胜利。六、参考文献1 谭浩强.。C语言程序设计(第二版)。清华大学出版社2 王划一 等。自动控制原理。国防工业出版社3 童诗白、华成英。模拟电子技术基础。高等教育出版社4 于海生 等。微型计算机控制技术。附录附图 1光电对管电路附图 2电机驱动电路附图 3稳压电源电路附图 4 mp3语音模块附图 5 总体电路图附表一:基础部分测试数据第四次24s第五次28s第六次第七次第八次第九次第十次附表二:发展部分测试数据35s105s37s52s109s39s47s119s51s117s43s

11、49s112s53s115s部分源代码:#include config.hconst unsigned char Set_F=#00,FILT04;/const unsigned char Set_F=#00,FILT30const unsigned char Set_baud=#00,*9600Bconst unsigned char Set_encode=#00,*ASconst unsigned char Set_zero=#,&Zconst unsigned char Set_output=#00,*nuint8 Angle= void USART_Init( unsigned int

12、 baud )unsigned int tmp;/* 设置波特率*/tmp= F_CPU/baud/16-1;UBRRH = (unsigned char)(tmp8);UBRRL = (unsigned char)tmp;/* 接收器与发送器使能*/UCSRB = (1RXEN)|(1TXEN);/* 设置帧格式: 8 个数据位, 2 个停止位*/UCSRC = (1URSEL)|(1USBS)|(1UCSZ0)|(1UCSZ1);void USART_Transmit( unsigned char data )/* 等待发送缓冲器为空 */while ( !( UCSRA & (1UDRE) );/* 将数据放入缓冲器,发送数据 */UDR = data;unsigned char USART_Receive( void )(UCSRA &RXC) )return UDR;void send_cmd(void) uint8 i; USART_Transmit($);void Get_Angle(void) uint8 i=0; if(USART_Receive()=X) Angle0= for(i=1;i15;i+) Anglei=USART_Receive(); Angle14=0x20; Angle15=0x20;

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

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