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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

寻线式电脑鼠的设计.docx

1、寻线式电脑鼠的设计一、 任务和总体设计1、 任务要求要求设计一个寻线型电脑鼠,能够在88的迷宫中搜索路径并且根据所搜寻的路线走出最短路径。其中迷宫由25cm的黑线组成。电脑鼠第一次进入迷宫和返回迷宫时,可以循着黑线走到终点并记录迷宫信息,第二次进入迷宫时,根据第一次所记录的迷宫信息选择最短路径冲刺到终点。2、 总体设计硬件部分主要由传感器,单片机,电机所组成。传感器采用红外传感器,由发射管和接收管组成,可以探测迷宫中黑线。单片机采用STC15W413AS芯片,用于编写程序。电机由单片机产生的PWM以及L9110芯片进行驱动。软件部分主要由产生占空比函数,电脑鼠在迷宫中搜寻路径法则,记录迷宫信息

2、,测速盘计数组成。电脑鼠搜寻迷宫时按照左手法则进行搜寻,根据测速盘的计数得到迷宫坐标,用88的数组对迷宫信息进行储存。第一次搜寻时,对死路和走得通的路进行标定,第二次走时,仍然按照左手法则进行,但不走第一次标定的死路。由此达到在迷宫中走最短路径的目的。二、 硬件设计1、 设计步骤设计原理图后生成PCB板后进行布线。根据PCB板将元件焊上。将轮子,轴,轴承以及电机,齿轮进行组装,调整传感器角度。测试电路。2、主控模块包括STC15W413AS芯片以及连接电脑的下载部分。原理图:STC15W413AS芯片中包括中央处理器(CPU)、程序存储(Flash)、数据存储器(SRAM)、定时器/计数器、掉

3、电唤醒专用计时器、I/O口、高速A/D转换(30万次/秒)、比较器、看门狗、高速异步串行通信端UART、CCP/PWM/PCA、高速同步串行端口SPI、片内高精度R/C时钟以及高可靠复位等模块。单片机内部结构: 管脚图:3、电机驱动模块主要运用L9110芯片和两个74HC00芯片进行电机驱动。 原理图:(1)L9110:L9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能

4、通过800mA 的持续电流,峰值电流能力可达1.5A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。应用电路:管脚图:(2)74HC00: 该芯片是输入端四与非门。4、测速模块运用测速盘和两个侧向发射接收管。 原理图:实物图:5、传感器模块 运用五个LED红外发射管和LM339和LM393芯片。原理图: 实物图:(1)LM339LM393是四电压比较器集成电路。该电路的特点如下:工作电源电压范围宽,单电源、双电源均可工作,单电源: 236V,双电源:118V;消耗电流小, Icc=1.3mA;输入失

5、调电压小, VIO=2mV;共模输入电压范围宽, Vic=0Vcc-1.5V;输出与TTL,DTL,MOS,CMOS 等兼容;输出可以用开路集电极连接“或”门;采用双列直插14 脚塑料封装(DIP14)和微形的双列14 脚塑料(SOP14)内部结构:(2)LM393与LM339类似。内部结构:6、元件清单元件名称数量元件名称数量L9110100uF电容0.1uF电容104电容1N914Header5IR_LED红外发射Header2LED红色发光管ST256Header 2HLCD511020K电阻10K电阻2K电阻2316115172215610360R1K电阻5.1K电阻300R510R2

6、K电位器SW-PBSTC15W413ASTL413BSGPT324BLLM339LM39374HC00干电池盒72111121151122三、 软件设计程序总流程图:中断返回中断YYYYN结束N结束N结束N结束结束是否冲刺到终点?是否检测到终点?是否回到起点?是否等待出发?开始软件部分主要是由以下三个部分组成。(1)、电机驱动部分PWM产生函数驱动电机,通过调节占空比进行调速,通过控制四个I/O口来控制电机的正反转以及停转。根据芯片以及PCB板控制单片机的CCP_S0,CCP_S1为0X20和0X10。电脑鼠转弯和直走时用不同速度进行控制。同时在转弯和直线时,采用不同的占空比调速,使得电脑鼠在

7、行走过程中速度能在快的同时达到稳定的效果。/-PWM初始化函数-/void PWM_Init() ACC = P_SW1; ACC &= (CCP_S0|CCP_S1); ACC |= CCP_S0; P_SW1 = ACC; CCON = 0; CL = 0; CH = 0; CMOD = 0x02; CR=1;/-调整速度函数-/void speed(bit a,bit b,bit c,bit d) I1=a; I2=b; I3=c; I4=d; PCA_PWM0 = 0X00; CCAP0H = CCAP0L =46; CCAPM0 = 0x42; PCA_PWM1 = 0X00; CC

8、AP1H = CCAP1L =51; CCAPM1 = 0x42;(2)、中断产生部分中断用于测速盘测速,用两个中断源进行控制,分别用于左轮计数和右轮计数。根据测速盘转过的圈数,中断计数的数字判断电脑鼠是否走过一格,根据走过的格子进行坐标的加减。/-外部中断初始化函数-/void Exti_InterruptInit()/-INT0-/ IT0=1; EX0=1;/-INT1-/ IT1=1; EX1=1; EA=1; /所有中断开放/-外部中断0 左轮计数器-/void Exit0_LeftWheel() interrupt 0 EX0=0; if(left_count8;/-PWM寄存器定

9、义-/sfr P_SW1 = 0xA2;sfr CCON = 0xD8;sbit CCF0 = CCON0;sbit CCF1 = CCON1;sbit CR = CCON6;sbit CF = CCON7;sfr CMOD = 0xD9;sfr CL = 0xE9;sfr CH = 0xF9;sfr CCAPM0 = 0xDA;sfr CCAP0L = 0xEA;sfr CCAP0H = 0XFA;sfr CCAPM1 = 0xDB;sfr CCAP1L = 0xEB;sfr CCAP1H = 0xFB;sfr CCAPM2 = 0xDC;sfr CCAP2L = 0xEC;sfr CCAP

10、2H = 0xFC;sfr PCA_PWM0 = 0xf2;sfr PCA_PWM1 = 0xf3;sfr PCA_PWM2 = 0xf4;/-PWM初始化函数-/void PWM_Init() ACC = P_SW1; ACC &= (CCP_S0|CCP_S1); ACC |= CCP_S0; P_SW1 = ACC; /CCP_S0,CCP_S10,1P3.5.CCP0_2,P3.6.CCP1_2,P3.7.CCP2_2 /其余I/O口详见芯片手册 CCON = 0; CL = 0; CH = 0; CMOD = 0x02; CR=1;/-调整函数-f_pwm=PCA_clk/256-/

11、void speed(bit a,bit b,bit c,bit d) I1=a; I2=b; I3=c; I4=d; PCA_PWM0 = 0X00; CCAP0H = CCAP0L =46; /修改此处数值0255可以调节CCP2_0占空比 CCAPM0 = 0x42; PCA_PWM1 = 0X00; CCAP1H = CCAP1L =51; /修改此处数值0255可以调节CCP2_1占空比 zuo CCAPM1 = 0x42;void speed2(bit a,bit b,bit c,bit d) I1=a; I2=b; I3=c; I4=d; PCA_PWM0 = 0X00; CCA

12、P0H = CCAP0L =60; /修改此处数值0255可以调节CCP2_0占空比 CCAPM0 = 0x42; PCA_PWM1 = 0X00; CCAP1H = CCAP1L =65; /修改此处数值0255可以调节CCP2_1占空比 CCAPM1 = 0x42; void speed3(bit a,bit b,bit c,bit d) I1=a; I2=b; I3=c; I4=d; PCA_PWM0 = 0X00; CCAP0H = CCAP0L =255; /修改此处数值0255可以调节CCP2_0占空比 CCAPM0 = 0x42; PCA_PWM1 = 0X00; CCAP1H

13、= CCAP1L =255; /修改此处数值0255可以调节CCP2_1占空比 CCAPM1 = 0x42; /-PWM模式使能函数-/void PWM_Cmd(bit cmd) if(cmd=ENABLE) CR=1; else if(cmd=DISABLE) CR=0;/-延时函数-/void Delay(u16 count) u16 i; for(i=0;icount;i+);/-外部中断初始化函数-/void Exti_InterruptInit()/-INT0-/ IT0=1; EX0=1;/-INT1-/ IT1=1; EX1=1; EA=1; /所有中断开放 void adjust2() if(Left_Front_Detector=0) speed(1,0,0,1); else if(Right_Front_Detector=0) speed(0,1,1,0); else speed(0,1,0,1);void Go() speed(0,1,0,1);/-小车右转函数-

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

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