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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于MSP430的悬挂控制系统报告Word文档下载推荐.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MSP430的悬挂控制系统报告Word文档下载推荐.docx

1、物体的形状不限,质量大于100克。物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点。二 要求(1)控制系统能够通过键盘或其他方式任意设定坐标点参数;(2)控制物体在80cm100cm的范围内作自行设定的运动,运动轨迹长度不小于100cm,物体在运动时能够在板上画出运动轨迹,限300秒内完成;(3)控制物体作圆心可任意设定、直径为50cm的圆周运动,限300秒内完成;(4)物体从左下角坐标原点出发,在150秒内到达设定的一个坐标点(两点间直线距离不小于40cm)。3 课程设计报告内容3.1.1 电机的选择方案一:使用直

2、流电机驱动画笔。直流电机能实现连续运转,只要型号选择合适,其驱动能力足以使画笔在限定的时间内画出足够长的线。但直流电机运行时的惯性比较大,不同的运行方式进行切换时,延时较长,画出的图形不能满足题目要求。方案二:选用步进电机。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响;而且步进电机只有周期性的误差而无累积误差,因而用步进电机来控制位置比用直流电机简单,故采用此方案,使用两相四线式步进电机。3.1.2 传感器的选择可见发光二极管与光敏二极管组成的发射-接收电路。这种方案的缺点在于其他环境光源

3、会对光敏二极管的工作产生很大干扰,一旦外界光照条件改变,就很可能造成误判和漏判:虽然采取超高亮发光管可以降低一定的干扰,但这又将增加额外的功耗。采用反射式红外发射接收器。由于采用红外管代替普通可见光管,可以降低环境光源干扰。一般光源红外线频段能量较弱,对红外传感器的干扰较小,且红外线波长大,近距离衰减小,因此用红外传感器探测近距离黑线更加可靠。因此采用此方法。3.1.3 直线算法的选择采用Bresenham画直线算法,用一段连续线段逼近直线。根据起点和终点计算出直线的斜率,在根据程序中设置的最小x得出y,结合起点得出下一点的位置(x,y),一次类推,就可画出一整条直线。但是Bresenham算

4、法速度慢。采用DDA画直线算法,求出坐标起点和终点距离差值,把距离进行N等分,再分别求出x方向和y方向的增量,此增量就是步进电机每次走的长度。此方法速度快,精度高,故采用此方法。3.1.4 画圆算法的选择采用Bresenham画直线算法,先用类似Bresenham画直线算法画出1/8圆,并把每个点的坐标存起来,在根据对称性,调整坐标的顺序,就能画出剩下的圆。缺点是此方法画出的圆不是很圆,需要进行补偿。采用查表法,先用matlab生成相应的圆坐标,再用查表法查出电机要走的每个点的坐标,这种方法简单可行,画出的圆也比较圆滑。3.1.5 画笔的控制 我们使用直线舵机来控制画笔的伸缩,这样能更好的控制

5、画笔,能够自由发挥,画出更多的图形。3.1.6 方案的确定图1 系统方案图经过上述的比较,我们选择MSP430F1611单片机作为系统控制器;利用键盘设置点的坐标;使用LCD12864显示运动方式、设置的坐标值及计时的时间;采用L297_L298芯片混合式步进电机驱动器;使用直线舵机来控制画笔的伸缩。3.2 系统软件介绍3.2.1 软件流程图 图2 软件流程图3.2.2坐标点参数的计算将画笔的位置定为整个物体的中心位置,设定物体位置的初值坐标为(X,Y),当前电机A的长度L1=,当前电机B的长度 L2=,根据电机收放线,计算出电机长度的改变量change,再由电机转动一步所对应走线的长度(其值

6、为0.077cm),求出电机走微小步时需要时钟脉冲的个数(即为步数)pulse=(int)(change/0.03+0.5);(四舍五入后取整)。3.2.3直线的计算 从图7我们可以看到假设原点坐标X0,Y0,要达到的坐标点X1,Y1 图3 直线算法图那么到坐标点的距离LL=我们没有采用Y=KX+B的直线方程,而是把L的长度分为COUNT_L等分即 COUNT_L=我们计算出每一个增量INC_X,INC_YINC_X=INC_Y=我们假设一个变量,的范围从1-COUNT_L所以每走一步的坐标值XX =*INC_X+X0YY =*INC_Y+Y03.3 系统单元电路设计3.3.1 红外传感器连接

7、电路图 4 红外传感器连接电路 此电路简单可行,干扰小,检测效果好。3.3.2 步进电机驱动电路图5 步进电机驱动电路用L297_L298芯片作为步进电机的驱动,其转速可调、抗干扰能力强、具有续流保护和过电流保护、可控制两相步进电机,电机电压直流5V30V(12V最佳)。3.3.3 画笔设计用八个传感器,形成一个八边形以细化物体运动方向,能更好的检测黑色曲线,不至于跑出黑线。3.4 系统软、硬调试过程3.4.1 画直线功能测试序号123设置终点(cm)(40,40)(60,30)(30,60)LCD显示测量值(cm)(40,40.2)(59.8,29.7) (30,59.8) 时间(S)131

8、7183.4.2 画圆功能测试设置圆心(cm)(40,50)(40,30)(40.2,50.3)(39.8,28,7)(40,39.8)4743453.4.3 循迹功能测试能按照预定坐标到达循迹点,画笔能根据检测到的黑线运动,并且误差很小,在断点的地方也能正常运动,耗时短。3.4.4 自由运动功能测试我们设计的图形是写信工两个字和画五角星,画笔能按照我们设计的轨迹收放、画图,画出的图形也比较完整。 4 总结此次题目初拿到手中时感觉有些棘手,因为相较之前的循迹小车而言,悬挂系统所用到的步进电机以及算法都要难上一个档次。我们在做好驱动电路后便马上开始了调试工作,可是在直线行走时始终走不到目标地点。

9、在检查程序无误后我们对两个电机进行单独检查,发现左边电机需要1000拍左右才能转一圈,而右边是正常的800。于是我们据此对程序进行了修改,将误差缩小到了5cm以内。但还是不能达到要求。再经过我们仔细检查,发现左边的电机转圈过多是由于细绳不在滑轮上而产生了较大摩擦力造成,发现这一点后,我们终于使滑块走出比较精确的直线,误差控制在1cm以内。另外通过这次的制作,可以知道我们的硬件制作的工作量不大,作为一个写程序的人员,我认识到一个好的算法可以省去大量的硬件设备,同时,我也认识到了自己在编程方面还有着很多需要学习的地方,在今后的学习中,我会更加努力,争取在今年胡省赛中能取得一个好的成绩。这次实验感谢

10、李川香老师以及何为老师的指导,从实验中,无论在硬件设计还是软件编程,我们都收获了丰富的实践经验,为知识的应用与扩展打下了坚实基础。参考文献1 童诗白,华成英 .模拟电子基础.高等教育出版社.2012.2 谢自美 .电子线路设计实验测试 .武汉:华中科技大学出版社.2012.4 沈建华,杨艳琴 .MSP430系列超低功耗单片机原理与实践 .北京:航空航天大学出版社.2012. 5 曹磊 .MSP430单片机C程序设计与实践. 北京:航空航天大学出版社.2012.附录 系统完整程序函数主程序:#include math.h#includeGeneral.hunsigned char table8=

11、0X04 , 0x14 , 0x10 , 0x12 , 0x02 , 0x0a , 0x08 , 0x0c;void init(void);void draw_line1(float x0,float y0,float x1,float y1);void draw(float x0,float y0,float x1,float y1);void draw_cycle(float r,float x0,float y0);void motor_step(float lx,float ly);void left_1(unsigned int count);void left_0(unsigned

12、 int count);void right_1(unsigned int count);void right_0(unsigned int count);extern float zx,zy,ox,oy,qx,qy;float rx,lx;float length_r=0.117,length_l=0.117,pai=3.14159;int dir_l,dir_r;int main( void ) / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; init(); Init_Port1(); Init_Lcd_12864(); set_up(); Display_now_lcd12864(); draw_cycle( 10, ox, oy);/画圆,按键设定圆心与半径 /draw(qx,qy,zx,zy);/画线,按键设定起点与终点 /draw(25.0,50.0,40.0,10.0); /draw(40.0,10.0,10.0,40.0); /draw(10.0,40.0,40.0,40.0); /draw(40.0,40.0,10.0,10.0);void init(void) char i=0; BCSCTL1 &=XT2OFF;/ 开启 XT2

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

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