2440智能小车方案

上传人:小** 文档编号:49027380 上传时间:2022-01-17 格式:DOC 页数:25 大小:853KB
收藏 版权申诉 举报 下载
2440智能小车方案_第1页
第1页 / 共25页
2440智能小车方案_第2页
第2页 / 共25页
2440智能小车方案_第3页
第3页 / 共25页
资源描述:

《2440智能小车方案》由会员分享,可在线阅读,更多相关《2440智能小车方案(25页珍藏版)》请在装配图网上搜索。

1、技术总结报告1智能小车方案2技术说明2010年5月技术总结报告21. 摘要12. 智能小车总体概况2.2.1. 概述2.2.2. 作品智能小车2.3. 嵌入式探月车硬件设计3.3.1. 硬件结构图3.3.2. TQ2440开发板简介3.3.3. 主要I/O 口说明4.3.4. 直流电机驱动模块5.3.5. 寻迹模块8.3.6. 无线通讯模块 103.7. 摄像头模块 104. 嵌入式探月车软件设计 .1.14.1. 软件整体设计 1.14.2. 驱动程序设计 1.14.3. 电机控制子程序 124.4. 循迹控制子程序 134.5. 无线通讯子程序 144.6. 摄像头控制子程序 154.7.

2、 主程序流程图 165. 总结与体会错误!未定义书签。参考书目错误!未定义书签。1. 摘要本智能小车采用三星公司的S3C2440芯片作为主板的控制核心,在嵌入式 linux环境下,编写GPIO 口的驱动,并编写智能探月车的应用程序。小车主板 采用wifi无线方式与PC机相连,由PC机控制小车的运行与终止。通过光电发 射接收组件能够实现小车的循迹,利用PWM技术控制直流电机的前进速度和方向,此外还配有外置摄像头与主板 cam接口相连可实现抓拍图像并识别,并将拍摄到的图像通过wifi方式发送给PC机。关键词:ARM嵌入式linux S3C2440 智能 探月车 循迹wifi 摄像-1 -2. 智能

3、小车总体概况2.1. 概述“探月车”采用以S3C2440为核心的天嵌TQ2440开发板和一块通用板为基 础,经焊接相关控制芯片而成,无线通信则是利用PC机与无线路由器搭配环境平台共同实现的。具体请见软件控制电路。通过GPI0 口检测信号,输出PWM&号控制直流电机的、前进、停止、左转和右转。与开发板cam接口相连的外置摄像头用来完成几个监测点处的抓拍图像。检测信号则利用五组红外发射和接收 管,黑线时输出高电平,白线时输出低电平,从而最终实现智能小车的正确循迹。2.2. 作品智能小车3. 嵌入式探月车硬件设计3.1.硬件结构图3.2. TQ2440开发板简介TQ2440开发板基于三星S3C244

4、0芯片,如下图所示:用户技詢线杯麻接口| W接口SD仁座吟誉*按 键|网卡搖口】串口接口I SlftJ LWyRf申.縣J【关iGPil询展接U |LuC#rhffimrH乔锵用户gaggg审海檯口声接口主要接口说明:电源接口:输入电压不能大于 7伏电压,标准电源试配器为5伏。音频接口:红色为音频输入接口,另一个为音频输出接口。USB接口:主要用于传输数据。串口接口:串口接口主要是它能使 PC机和开发板直接进行交换操作和数据 传送,完成调试。网卡接口:在启动操作系统后,接上无线网卡,就可以对小车发送无线信号。J tag接口: J tag接口主要作用是当 Na nd Flash或Nor Flas

5、h中没有uboot 时,使用J tag接口进行烧写。3.3. 主要I/O 口说明主控芯片为三星S3C2440芯片,如图:-6 -Ad0r2 %dr2_蚤sqoa.;:JAddr20:0一 IL 疋alrl-.ljgI-rl.-,lgI1DalaJ1 口DgAddrC曰Acwr7D7Addre3、AddrA-:r! IAMAddrl 1caAddr12口 Q、,Addrl 3HB、Addr14RflAMr5CAddrHMJAMriT3S,Addri 6FfiAgWWHdAddr2CiafarmAddr21cmAddr22HiaAddr23Fill%Addr24C1 1KAddr2Gia、Addi

6、ce - of IAddrtADDRQiGPAO ADDR1.50 owe 蚩u一迓5U5窘疋恿色3&u 3d9 丫垦 二疋艮:.舄39匸 爰霑引* u $?逆帝 S8E99dodul止妥 u do2cvaxuADDR2 ADDR3底斗ADDR5 AD0R8AOOR7AD0R8 ADDR0 ADDRWADDR11 ADDR12 ADDR13 ADDR14 ADDR15ADDR10/GFA1 ADDR17JGPA2 ADDR1BGFA3H R1S GPM AI)DR2(M3FA5 ADDR21/GFA6 ADDR22;GFA7 ADDR23GPAS ADDRSGPASADDR25GPA10 Am

7、R2fl;GFA11S3C244D电A 蛊忘H ssz- aAtA-hEvEV -z-cn鼻 1工DntejJ/FQ|DmtaA/匸11gt就/Cig口戲我#匚$恰7 / EHg宁taB/営 15DatnP#Ed扑小/ 匚芒paiaijyciamt/B17 C3:3lz X CM离匚吕:日1 / E1吕 口吕:日广 / FU 二二 /f it .DJiagj 告口 “:心/E2 Ma2F / F1+ DTa2自 / 匚17 口和32一 / li D3ta2S / 石 1甘 DmfZ / H13 DaiaSO y F13 PaTT-直Af丨 Twxczl:VWlpl 雷a書一xI31C3f EL

8、Lrtl馬刊二 tollx主要用到的I/O 口包括:1. 用EINT3、EINT4 口用来检测红外寻迹传感器反馈的信号2. 用 nLED1、nLED2、nLED3、nLED4GPIO口输出PW信号来控制电机运动3.4. 直流电机驱动模块-8 -341.电机驱动模块实物图驱动板主要采用了 L298N芯片,它具有带载能力强的特点3.4.2.L298N驱动原理图驱动电路芯片外围电路主要用由二极管构成的电桥电路,两组电机 并联而成。3.4.3.H桥控制方案小车通过采用L298N芯片可以达到目的,整体控制方案如图电机共有四4路PWM输出分别作为左右轮的驱动,而通过两路 PWM输出 可控制一个电机,两电机

9、为并联即可。L298N芯片内部结构如图BLOCK DIAGRAMTK真值表如下所示:-10 -INPUTENABLE (*)OUTPUTHHHLHLHLZLLZZ = High output impedance(*) Relative to the considered channel当使能信号ENABLE为高时 输出才随输入变化,否则为高阻态,所以焊 接时,ENABLE及VS均接VCC。具体驱动过程为:1. 通过编程由控制芯片经PWM发出驱动信号,PWM输出作为L298N的输入,经L298N转换输出控制信号使电机转动,从而实现电动机的驱动。2. PWM输出信号的高低则可以控制直流电机转速,当

10、占空比大时,转速高,占空比小时,转速低,所以当PWM信号输出占空比为0时可控制电机的停 止。|3. 当左轮停止,右轮转时,小车左转。当右轮停止,左轮转动时,小车右转。而两路PWM输出的正负顺序转换则可控制电机的正反转, 进而控制小车的 前进和后退。3.5. 寻迹模块检测原理:路径检测采用红外光电传感器组件(白色为发射管,黑色为接收管)如图所示:根据不同颜色对红外光的反射率不同,白色很高,黑色很低。所以当发射管发出 红外光线经白色线时,觉大部分都被黑色管接收,处于导通状态,输出低电平, 而红外光经黑色线时,接收不足,黑色管无法导通,输出高电平。输出的高低电 平经GPIO 口接入8013ARM中,

11、通过一定的算法即可判断,从而输出控制信号, 控制小车的路径。优点:结构简明,实现方便,成本低廉,反应灵敏,便于近距离路面情况的 检测,红外线是波长为830nm950nm的电磁波,自然环境物理在该波段的辐 射量是很微弱的,所以抗干扰能力强,不会因为周围环境的差别而产生不同的结 果。缺点:只能对路面情况做简单的黑白判别,检测距离和精度有限,传感器高 度 位置的差异可能会对其检测造成干扰。另外,由于车模的总长不得大于40CM,所以前瞻距离受到很大的限制3.5.1. 红外传感器电路如图a.红外发射管为二级管,接收为三极管,当接收三级管导通时集电极输出低电平,断开时集电极输出高电平。b.如图所示,接收管

12、集电极输出接入比较器339正极,比较器负极则为滑动变阻器的输出,当正极高于负极时,比较器输出5V高电平,否则为0V低电平c. 比较器输出则接入ARM的GPIO 口,通过读GPIO 口的状态即可判断是 黑线或白线d. 光电传感器都接限流电阻,比较器输出接上拉电阻。3.检测路径规划本小车采用四组红外光电传感器, 排列如图所示:小车在画有黑线的白纸“路面”上行使,由于黑线和白线对光线的反射系数 不同,可根据接收到的反射光的强弱来判断轨迹一黑线。判断信号可通过开发板 上的驱动模块利用GPIO 口的状态即可判断是黑线或白线从而 修正小车前进方 向,以使其保持沿着黑线行进。小车寻迹板中间两组用于辨识黑色线

13、,使小车能沿着黑色线前进,且两组宽 度要适当,太窄则同时感应到黑线或白区域, 算法不好控制小车能沿着黑色线行 走,即易偏离轨迹。当左组光电传感器检测到黑色线时,小车右转,当右组光电传感器检测到黑 色线时,小车左转,否则小车前进,这样即可保证小车能沿着既定的轨迹前进而 不偏路。36 无线通讯模块通过无线网卡实现无线数据的传输。3.7. 摄像头模块摄像头的安装位置对小车的性能有很大的影响, 主要体现在图像采样效果和 对小车重心的影响两个方面。安装的低了,易导致视野不够广阔,影响寻线的有 效范围;安装得高了,指引线在图像坐标上会变得过窄而无法被检测到。若安装的太高,系统会因重心抬高而稳定性变差。若安

14、装太靠前,则小车的重心会前 移,进而在前行的过程中容易出现 点头”的不稳定情况,重心前移也易导致驱动 轮即后轮对地的压力减小,容易出现驱动力不足或者打滑的现象。安装位置合适 的一个原则就是:摄像头的安装,首先必须满足头像采样效果的需要。控制策略 简单,贝U所需的拍摄范围就可较小;反之策略复杂,需获得的赛道信息较多,贝U 拍摄范围应大一些。其次,摄像头的安装对小车重心的影响不能导致小车出现运 动不稳定的现象。综合考虑后,我们选择如图 3.3所示的安装方式。4. 嵌入式探月车软件设计软件部分是小车的智能化的体现,它控制小车所有的运行状态。程序在RedHat 9环境下采用vi编辑器进行编写,用arm

15、-linux-gcc交叉编译 工具编译,在经过终端Sercurt-CRT通过串行口向小车烧入交叉编译后的程序。应用软件控制小车的循迹、拍照、发送文件等行为。此外,在主机端用3CDaemon软件架设FTP服务器,并建立无线局域网。 这样,小车就可以循迹并到达指定地点拍照并发送图片,而PC机端就可以接收通过wifi传送过来的图片。4.1. 软件整体设计“探月车”软件部分整体设计如下图所示:4.2.驱动程序设计驱动程序利用TQ2440开发板提供的例程进行改写,并编译进内核4.3. 电机控制子程序通过将nLED1弓I脚、nLED 2连成回路,nLED3、nLED_4弓I脚连成 回路,控制电平的 高低,

16、从而控制电流的流向,达到控制电机正反转的目的, 其主要函数如下:int back(int t,int fd) 后退ioctl(fd,1,0);ioctl(fd,0,1);ioctl(fd,1,2);ioctl(fd,0,3);return(0);小车的左前电机后转,右前电机也向后转,小车前后电机联动,所以小车整 体后退。int forwardnt fd)/ 前进ioctl(fd,0,0);ioctl(fd,1,1);ioctl(fd,0,2);ioctl(fd,1,3);return(0);小车的左后电机正传,右后电机正转,小车前后电机联动,所以小车整体前 进。in t r(i nt fd)/

17、 右转ioctl(fd,0,0);ioctl(fd,1,1);/ ioctl(fd,0,2);/ ioctl(fd,0,3);return(0);小车的左侧电机正转,右侧电机的不转,所以小车整体右转。int fr(int fd)/ioctl(fd,1,0);ioctl(fd,0,1);return(0);小车左侧电机反转,右侧电机不转,小车整体向右后方向转。in t l(i nt fd)ioctl(fd,0,0);ioctl(fd,0,1);ioctl(fd,0,2);ioctl(fd,1,3);return(0);/小车左电机不转,右后电机正转,小车整体左转。int fl(i nt fd)i

18、octl(fd,1,2);ioctl(fd,0,3);return(0);小车左侧电机不转,右侧前电机转,小车整体向左后方向转。int stop(i nt fd)ioctl(fd,0,0);ioctl(fd,0,1);ioctl(fd,0,2);ioctl(fd,0,3);return(0);左右电机全停止工作,小车停止工作。44循迹控制子程序通过读取设备得到代表不同路况的返回值,从而做出相应的动作,基本代码如下:for(;)cmd=read(deteFd,NULL,NULL); if(cmd!=old_cmd)switch(cmd)case 3 :on R=5; on L=5;break;c

19、ase 2 :on R=-2;o nL=10;break;case 1:on R=10;o nL=-2;break;case 0:on R=0;o nL=0;break;old_cmd=cmd;if(cmd=0) break; time=(time+1)%10;if(timeo nR)r(fd); if(timeo nL)l(fd);if(o nR0)fr(fd);if(on L0)fl(fd);主要通过寻迹板上的光电器件控制,利用处于白布和黑布间的输出电压不一 样来,GPIO 口读入黑白线判断,从PWM 口输出驱动信号来控制电机。具体如 下a. 当小车接收到开始信号时,小车前进,并寻线。b.

20、 小车上线后寻线并判断是否遇到断点,遇到断点,电机停止并对参考物拍照 传送。c. 电机停止时,变量会对断点的个数进行累计。并判断是否4时,则小车跳出循环,到达终点,电机停止。4.5. 无线通讯子程序此部分内容为socket编程,部分代码如下:int sen dstri ng(char *addr,i nt port,char *se ndchar) struct sockaddr_i n s_addr;int sock;int addr_le n;int len ,i;if (sock = socket(AFNET, SOCK_DGRAM, 0) = -1) perror(”no socket

21、);exit(err no);elseprin tf(create socket.nr);s_addr.sin_family = AF_INET;if (port)s_addr.s in _port = hton s(port);elses_addr.sin_port = hto ns(10001);if (*addr)s_addr.s in _addr.s_addr = in et_addr(addr);else prin tf(Se nd a message must have a receiver! n); exit(0);addr_le n = sizeof(s_addr);len =

22、 -1;for (i = 0;i4;i+) if(le n 0)le n = sen dto(sock,se ndchar, strle n(sen dchar),0,(struct sockaddr *) &s_addr, addr_le n);else pri ntf(se nd success!);retur n 0;prin tf(se nd error!);retur n 0;46摄像头控制子程序摄像头控制程序cam2jpg由TQ2440开发板中的例程提供。-20 -主程序流程图-21 -# -小车右转避障判断是否有断占八、判断变量是否=2是否遇到断点小车停并拍照并传送,变量+1小车停并寻白线寻黑线并直走沿黑线直走-22 -17 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!