KS103超声波测距模块说明书
无人机避障设计与实现

无人机避障设计与实现作者:詹计雨韩士杰雷笑天金楠森张健来源:《电脑知识与技术》2018年第31期摘要:针对四旋翼无人机避障的速度和精度,该文基于Arduino Mega2560单片机以及遗传算法和蚁群算法,设计了一种新型无人机全局避障算法和的硬件结构。
全局避障算法针对航迹规划,结合两种启发式算法,收敛速度快,不易早熟收敛。
算法通过MATLAB仿真与无人机测试,效果良好。
关键词:蚁群算法;遗传算法;航迹规划;Arduino Mega2560单片机;无人机中图分类号:TP311; ; ; 文献标识码:A; ; ; 文章编号:1009-3044(2018)31-0098-03四旋翼无人机的机械结构好,可执行多种任务,应用前景巨大。
所以无人机航迹规划算法和相应的硬件结构成为当下研究热点。
麻省理工学院研制的Kinect,基于SLAM算法进行环境建模,自主3D地形映射与飞行,功能非常先进。
即使在GPS盲区与障碍物密集的城市也能安全飞行。
本文旨在对避障无人机进行整体设计。
使无人机可以安全快捷的避障。
无人机外骨架防撞功能较强,不会伤及行人。
航迹规划使用改进的蚁群算法,结合传统蚁群算法与遗传算法的优势,使算法收敛速度更快,不易陷入局部最优解。
无人机整体效果达到预期。
1 无人机硬件结构无人机外壳坚固轻便,减少了飞机重量和惯性对于避障的影响。
外围的圆形保护器通过四个减震器与无人机主体连接,可以防止无人机碰撞建筑物或者将人划伤,拥有比较强的防撞击功能,整体如图1所示。
使用KS103超声波测距模块,波束角为45°-50°,分别放置在无人机的水平方向的4个方向与竖直的2个方向,水平方向每隔90°安装一个测距模块。
超声波发射与接收的时间的数据,通过I2C方式传送给Arduino Mega2560开发板。
2 无人机避障算法2.1 环境建模采用栅格图法进行环境模型的构建。
假设无人机飞行的空间区域为S,不妨表示为[{x min≤x≤x max,y min≤y≤y max,z min≤z≤z max}]考虑到GPS模块的会有1-2米的误差,故纬度值每0.003分为一个单位,约5.511米,作为坐标系的横坐标。
超声波测距器的设计说明书模板

超声波测距器的设计摘要用单片机控制超声波的发射,通过单片机记录和读取发射超声波和接收到的回波的时间差,进而计算出测量的距离。
文中详细论述了超声波测距的原理、测量电路和程序设计的方案。
关键词:超声波测距仪单片机目录摘要................................................Ⅰ1前言.................................................1 1.1 设计任务.............................................1 1.2本设计的应用意义.....................................1 2总体设计方案.............................................2 2.1设计原理...................................................3 2.2总体设计框图...............................................4 3电路原理的设计...............................................5 3.1超声波传感器....................................5 3.2超声波发射电路设计........................................7 3.3超声波回波接收处理电路设计.................................8 3.4LED显示电路设计...................................9 3.5键盘电路设计.............................................10 4软件设计.............................................12 4.1超声波测距原理........................................124.1.1超声波脉冲法测距原理...................................204.1.2超声波信号测量..................................21 4.2程序框架.......................................174.3测距控制程序...............................18 4.416Hz时基中断处理程序.............................194.6EXT1外部中断程序......................................22 4.7显示刷新程序.........................................23 4.8主程序.........................................23 5系统调试...........................................245.1硬件电路调试.........................................245.2软件程序调试.........................................255.2.1调试的主要方法.................................265.2.2调试中遇到的问题.................................275.3综合调试.............................................28 6 设计总结.......................................................29 致...........................................................30 参考文献.......................................................31 附录A:超声波测距器电路原理图....................................32 附录B:程序清单...................................................321 前言1.1 设计任务本设计实现超声波测距,要求测距围为100cm~500cm,用LED 数码管显示测量结果,以厘米为单位,精度为1 厘米;测量用按键触发:(1)开机时数码管显示000;(2)按下键盘则进行一次测量,并把测量结果显示在LED 数码管上。
超声波测距仪说明书

湄洲湾职业技术学院超声波测距仪说明书系别: 自动化工程系年级:10级专业: 电气自动化技术姓名: 郑学号:**********导师姓名: 李志杰职称: 讲师2013年05月29日目录1 前言 (1)2 系统设计参数要求 (2)3 系统设计 (3)3.1系统设计总体框图 (3)3.2超声波测距原理 (4)3.3系统构成 (5)3.4硬件电路设计 (5)3.5传感器介绍 (6)3.5.1超声波传感器原理 (6)4 系统模块 (7)4.1超声波发射模块 (7)4.2超声波接收模块 (8)4.3LCD显示模块 (9)4.4系统印刷电路板的制作图 (9)5 系统软件设计 (10)5.1超声波测距的算法 (10)5.2程序流程图 (10)5.3超声波温度补偿子程序流程图 (11)5.4超声波测距子程序流程图 (12)5.5系统操作说明 (13)5.6系统操作注意事项 (13)参考文献 (14)致谢语 (15)系统附录 (16)附录一原理总图 (16)附录二印刷电路图 (17)附录三元件清单 (18)附录四程序流程 (19)1 前言本设计是以单片机技术为基础,实现对前方物体距离的测量。
根据超声波指向性强,能量消耗慢,在介质中传播距离远的特点,利用超生波传感器对前方物体进行感应,经过单片机中的程序对超声波传感器发射和接收的超声波信号进行分析和计算处理,最后将处理结果在LCD1602上显示。
STC89C52单片机的超声波测距系统,此系统根据超声波在空气中传播反射原理,把超声波传感器作为接口部件,利用超声波在空气中传播的时间差来测量距离,设计了一套超声波检测系统。
该系统设计主要由主控制器模块、超声波发射模块、超声波接收模块和显示模块等四个基本模块构成,用接收部分接收超声波。
本设计利用两个中断,在发射信号时,打开定时器中断0和外部中断0使定时器计时,接收到发射超声波信号时,外部中断0关闭中断,这时定时器中断0计录的时间就为超声波传播经过测距仪到前方物体的来回时间。
KS103超声波测距模块说明书

工作电压:3.0V~5.5V 直流电源 工作时瞬间最大电流:10.6mA@5.0V, typical 工作电流:1.6-2.7 mA@5.0V, typical 休眠时最大耗电量:500uA@5.0V, typical (串口模式时不休眠) 功耗:使用纳瓦技术省电,5s 未收到 I2C 控制指令自动进入 uA 级休眠,并可随时被主机 I2C 控
位
I2C
(4)
数据。
Note 4: 这种总线钳制探测方式可以为客户获得更大的探测速度及效率,而不是通过定时器延时或 delay 函数延时每次探测都要至少等
待 65ms。换言之,用户大部分时候仅需要快速知晓 1m 范围内是否有障碍物。具体延时时间应大于表 1 所列各指令的最大探测时间。
如果不希望 SCL 线在探测时被拉低,可以通过发送指令 0xc3 指令,之后断电重启 KS101B/KS103/KS103S 后 SCL 线仍然不会拉低。如果想恢复 I2C 钳制及 SCL 拉低功能,发送
Note 1: 要达到最佳的工作状态推荐使用+5V 电源,低于 5V 的电压将影响测距量程。并且,严禁将 VCC 与 GND 接反,否则可能会
损坏电路。超过 3 秒钟的电路反接将可能导致不可恢复的损坏。
具体连线如下图所示(20 个):
VCC VCC
R1
R2
4.7K
4.7K
VCC SDA SCL GND
I2C 地址
寄存器 2
8 位数据指令
延时等待或查询 SCL
否
线是否为高?
3
是
接收 16 位 I2C 数据
多量程探测 探测指令从 0x01 到 0x2f,数值越大,信号增益越大。指令 0x01 对应量程约 100mm,0x02
超声波测距仪说明书

自动测量及控制综合课程设计说明书题目超声波测距仪学院机械工程学院班级学生姓名学号指导老师2015年1月18日目录1绪论 (3)1.1课题设计及意义 (3)1.2设计内容 (3)2超声波测距设计原理及方案选择 (3)2.1超声波测距原理 (3)2.2设计方案 (4)3硬件选择与设计 (5)3.1单片机的选择 (6)3.2超声波模块的选择 (6)3.2.1 HC-SR04超声波模块时序图 (7)3.2.2 HC-SR04模块的使用 (8)3.3数码管的选择 (8)3.4硬件电路的设计 (9)4软件部分设计 (9)5数据处理及误差分析 (11)6设计体会与总结 (11)附录 (13)附录Ⅰ:超声波测距仪系统实物图................ 错误!未定义书签。
附录Ⅱ:程序代码 (13)附录Ⅲ:参考文献 (15)1绪论1.1课题设计及意义随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前水平说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为种新型的非常重要的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;降低潜艇噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
1.2设计内容超声波测距仪的设计,由单片机控制超声发射装置发射超声波,当超声波遇到障碍物时,发生反射,再由接受装置接受超声波,由单片机计算从发射到接受的时间并计算出障碍到超声波发射器的距离。
超声波说明书

超声波使用说明书模块实物图如下图所示:123(12V+)(GND)(485通信口)一、接线说明模块采用DC12V供电;图中标号为1的红色箭头处接电源正,标号为2的红色箭头处接电源负。
标号为3的红色箭头处接485通信线。
二、通信协议说明模块采用485通信,波特率为9600;通信协议如下:协议头预留字节预留字节预留字节距离高字节距离低字节帧尾校验和0Xfe0X000X000X000Xxx0Xxx0Xef0Xxx校验和计算方法:从协议头到帧尾个各数据之和取最低两位距离返回值单位为:mm;例:0xfe0x000x000x000x040xb00xef0xa1当返回数据如上所示时,测距结果为1200mm。
三、模块测量方法由于模块是高精度设计用,所以对测量环境有严格的说明界定。
请参考如下测量安装方式,否则会产生较大的测量误差。
安装方式如下:滤波处理装置,可以用PCB板来固定代替移动平面是本模块的移动方向,反射平面是基础高度。
在移动平面方向前后运动将会测量到实际的反射平面与模块的实际距离。
测量条件:1:参考平面(模块固定的平面)一定要垂直于反射平面。
2:测量模块在反射面这个方向上的1米半径范围内不能有遮挡物。
3:在移动模块到了指定位置后(想测量的距离位置处),模块的前端一定要绝对垂直于反射面。
4:根据超声波的扇形反射面原理,最好在超声波的接收端安装反射能量限定装置,这样能更准确的获得实际的测量结果。
在实际应用场合,有更多的安装要求。
基本的测量测试,照目前条件能基本反应出来。
成都镓舒适科技有限公司2014-09-01。
超声波测距模块使用说明

超声波测距资料超声波测距模块连线:我们将超声波测距模块用红色,绿色两根导线引出,红色线(超声波测距模块电源脚)接5208K实验仪+5V,绿色线(超声波测距模块接地脚)接5208K实验仪GND.打开5208K实验仪电源, 超声波测距模块初始化显示27.将超声波发射接收头对准障碍物,数码管将显示超声波测距模块与障碍物之间的距离。
超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
超声波学习板采用AT89S51单片机晶振为12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动。
超声波测距的算法原理: 超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则距离为340mx0.03S=10.2米。
这就是超声波探头到反射物体之间的距离。
产品性能特点:成品板上自带:超声波收发传感器、接收放大电路、四位LED数码显示、四位按键(四个按钮和蜂鸣器属于功能预留,程序中无定义),电源部分自带整流、滤波、稳压电路,允许交流7~15V或者直流9~16V输入,经过实际测试,测量范围可达27~250厘米,测量精度为1厘米。
下图是超声波测距学习板的元件布局图,以下是部分汇编源程序;/////////////////////////////////////////////////////// ; USE BY :超声波测距器; IC :AT89C51; TEL :; OSCCAL :XT (12M); display :共阳LED显示;/////////////////////////////////////////////////////// ;测距范围7CM-11M,堆栈在4FH以上,20H用于标志;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离;VOUT EQU P1.0 ; 红外脉冲输出端口speak equ p1.1;********************************************;* 中断入口程序 *;********************************************;ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHretiORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI;;********************************************;* 主程序 *;********************************************;START: MOV SP,#4FHMOV R0,#40H ;40H-43H为显示数据存放单元(40H为最高位)MOV R7,#0BHCLEARDISP: MOV @R0,#00HDJNZ R7,CLEARDISPMOV 20H,#00HMOV TMOD,#11H ;T1为 T0为16位定时器MOV TH0,#00H ;65毫秒初值MOV TL0,#00HMOV TH1,#00HMOV TL1,#00HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV R4,#04H ;超声波肪冲个数控制(为赋值的一半)SETB PX0SETB ET1SETB EASETB TR1 ;开启测距定时器start1: LCALL DISPLAYJNB 00H,START1 ;收到反射信号时标志位为1CLR EALCALL WORK ;计算距离子程序clr EAMOV R2,#32h;#64H ;测量间隔控制(约4*100=400MS)LOOP: LCALL DISPLAYDJNZ R2,LOOPCLR 00Hsetb et0mov th0,00hmov tl0,00hSETB TR1 ;重新开启测距定时器SETB EASJMP Start1;;**************************************************** ;* 中断程序* *;****************************************************;T1中断,发超声波用 ;T1中断,65毫秒中断一次INTT1: CLR EAclr ex0MOV TH0,#00HMOV TL0,#00HMOV TH1,#00HMOV TL1,#00HSETB ET0SETB EASETB TR0 ;启动计数器T0,用以计intt11:CPL VOUT ;40KHZnopnopnopnopnopnopnopnopnopDJNZ R4,intt11;超声波发送完毕,MOV R4,#04Hlcall delay_250 ;延时,避开发射的直达声波信号SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断0,收到回波时进入PINT0: nopjb p3.2,pint0_exitCLR TR0 ;关计数器CLR EA ;CLR EX0 ;MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0 ;mov th0,#00hmov tl0,#00hjnb p3.2,$SETB 00H ;接收成功标志pint0_exit:RETI;;****************************************************;* 显示程序 *;****************************************************; 40H为最高位,43H为最低位,先扫描高位DISPLAY: MOV R1,#40H;GMOV R5,#7fH;GPLAY: MOV A,R5MOV P0,#0FFHMOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.4,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRET;TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共阳段码表 "0" "1" "2" "3" "4" "5""6" "7" "8" "9" "不亮""A""-" ;;**************************************************** ;* 延时程序 *;**************************************************** ;DL1MS:push 06hpush 07hMOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1pop 07hpop 06hRET;;**************************************************** ;* 距离计算程序 (=计数值*17/1000cm) *;**************************************************** ;work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2MOV R3, #03HMOV R2, #0E8HLCALL DIV4BY2LCALL DIV4BY2MOV 40H, R4MOV A,40HJNZ JJ0MOV 40H,#0AH ;最高位为零,不点亮JJ0: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A,41HJNZ JJ1MOV A,40H ;次高位为0,先看最高位是否为不亮SUBB A,#0AHJNZ JJ1MOV 41H,#0AH ;最高位不亮,次高位也不亮JJ1: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A,42HJNZ JJ2MOV A,41H ;次次高位为0,先看次高位是否为不亮SUBB A,#0AHJNZ JJ2MOV 42H,#0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0POP BPOP PSWPOP ACCRET;;**************************************************** ;* 两字节无符号数乘法程序 *;**************************************************** ; R7R6R5R4 <= R3R2 * R1R0超声波专用发射接收头,有T字样的是发射头,标有R字样的是接收头.。
超声波测距模块使用说明

超声波测距资料超声波测距模块连线:我们将超声波测距模块用红色,绿色两根导线引出,红色线(超声波测距模块电源脚)接5208K实验仪+5V,绿色线(超声波测距模块接地脚)接5208K实验仪GND.打开5208K实验仪电源, 超声波测距模块初始化显示27.将超声波发射接收头对准障碍物,数码管将显示超声波测距模块与障碍物之间的距离。
超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
超声波学习板采用AT89S51单片机晶振为12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动。
超声波测距的算法原理: 超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则距离为340mx0.03S=10.2米。
这就是超声波探头到反射物体之间的距离。
产品性能特点:成品板上自带:超声波收发传感器、接收放大电路、四位LED数码显示、四位按键(四个按钮和蜂鸣器属于功能预留,程序中无定义),电源部分自带整流、滤波、稳压电路,允许交流7~15V或者直流9~16V输入,经过实际测试,测量范围可达27~250厘米,测量精度为1厘米。
下图是超声波测距学习板的元件布局图,以下是部分汇编源程序;/////////////////////////////////////////////////////// ; USE BY :超声波测距器; IC :AT89C51; TEL :; OSCCAL :XT (12M); display :共阳LED显示;/////////////////////////////////////////////////////// ;测距范围7CM-11M,堆栈在4FH以上,20H用于标志;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离;VOUT EQU P1.0 ; 红外脉冲输出端口speak equ p1.1;********************************************;* 中断入口程序 *;********************************************;ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHretiORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI;;********************************************;* 主程序 *;********************************************;START: MOV SP,#4FHMOV R0,#40H ;40H-43H为显示数据存放单元(40H为最高位)MOV R7,#0BHCLEARDISP: MOV @R0,#00HINC R0DJNZ R7,CLEARDISPMOV 20H,#00HMOV TMOD,#11H ;T1为 T0为16位定时器MOV TH0,#00H ;65毫秒初值MOV TL0,#00HMOV TH1,#00HMOV TL1,#00HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV R4,#04H ;超声波肪冲个数控制(为赋值的一半)SETB PX0SETB ET1SETB EASETB TR1 ;开启测距定时器start1: LCALL DISPLAYJNB 00H,START1 ;收到反射信号时标志位为1CLR EALCALL WORK ;计算距离子程序clr EAMOV R2,#32h;#64H ;测量间隔控制(约4*100=400MS)LOOP: LCALL DISPLAYDJNZ R2,LOOPCLR 00Hsetb et0mov th0,00hmov tl0,00hSETB TR1 ;重新开启测距定时器SETB EASJMP Start1;;**************************************************** ;* 中断程序* *;****************************************************;T1中断,发超声波用 ;T1中断,65毫秒中断一次INTT1: CLR EACLR TR0clr ex0MOV TH0,#00HMOV TL0,#00HMOV TH1,#00HMOV TL1,#00HSETB ET0SETB EASETB TR0 ;启动计数器T0,用以计intt11:CPL VOUT ;40KHZnopnopnopnopnopnopnopnopnopDJNZ R4,intt11;超声波发送完毕,MOV R4,#04Hlcall delay_250 ;延时,避开发射的直达声波信号SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断0,收到回波时进入PINT0: nopjb p3.2,pint0_exitCLR TR0 ;关计数器CLR EA ;CLR EX0 ;MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0 ;mov th0,#00hmov tl0,#00hjnb p3.2,$SETB 00H ;接收成功标志pint0_exit:RETI;;**************************************************** ;* 显示程序 *;**************************************************** ; 40H为最高位,43H为最低位,先扫描高位DISPLAY: MOV R1,#40H;GMOV R5,#7fH;GPLAY: MOV A,R5MOV P0,#0FFHMOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.4,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRET;TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共阳段码表 "0" "1" "2" "3" "4" "5""6" "7" "8" "9" "不亮""A""-" ;;****************************************************;* 延时程序 *;****************************************************;DL1MS:push 06hpush 07hMOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1pop 07hpop 06hRET;;****************************************************;* 距离计算程序 (=计数值*17/1000cm) *;****************************************************;work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2MOV R3, #03HMOV R2, #0E8HLCALL DIV4BY2LCALL DIV4BY2MOV 40H, R4MOV A,40HJNZ JJ0MOV 40H,#0AH ;最高位为零,不点亮JJ0: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A,41HJNZ JJ1MOV A,40H ;次高位为0,先看最高位是否为不亮SUBB A,#0AHJNZ JJ1MOV 41H,#0AH ;最高位不亮,次高位也不亮JJ1: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A,42HJNZ JJ2MOV A,41H ;次次高位为0,先看次高位是否为不亮SUBB A,#0AHJNZ JJ2MOV 42H,#0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0POP BPOP PSWPOP ACCRET;;****************************************************;* 两字节无符号数乘法程序 *;****************************************************; R7R6R5R4 <= R3R2 * R1R0超声波专用发射接收头,有T字样的是发射头,标有R字样的是接收头。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
修改 I C 地址时序:
地 址
2 0x9a
延时 1ms
地 址
2 0x92
延时 地 1ms 址
2
0x9e
延时 1ms
ห้องสมุดไป่ตู้
地 2 新地
址
址
延时 100ms
修改 I2C 地址须严格按照时序来进行,时序中的延时时间为最小时间。对于 51 单片机主机,
其可调用附件 3 所示的 change_i2c_address(addr_old,addr_new)函数来实现。
值,是一个时间单位,其代表超声波从发出到遇到障碍物反射收回所经历的时间。
探测结束智能识别
KS101B/KS103/KS103S 在发送完探测指令后,需要等待一段时间方可以获取正确的 16 位 I2C 数据。而用户只知道最大探测时间,但并不确知实际每次的探测时间。KS101B/KS103/KS103S 采用了探测结束智能识别技术。探测过程中 SCL 将一直保持为低电平,用户可以通过查询 SCL 线是否变为高电平即 while(!SCL)语句来等待,SCL 线变为高则表明探测完毕,可以开始通过 I2C 总线接收到 KS101B/KS103/KS103S 探测到的 16 位数据。注意,发送完探测指令后,需要延时约
探测结束智能识别功能配置好之后会自动保存,并立即按照新配置工作。 KS101B/KS103/KS103S 在重新上电后将按新配置运行。
探测指令
探测指令发送完成后,KS101B/KS103/KS103S 将依据探测指令进入相应探测模式,主机此 时须等待一段时间方可开始通过 I2C 总线查询探测结果,过早查询 I2C 总线将获得 0xff 值。注
代,亦可正常控制本模块。但是使用 0x00 广播地址仅能控制本模块,无法获得模块所探测的数
据。要取得相应模块的数据,需要使用相应的地址。
KS101B/KS103/KS103S 工作流程:
在 KS101B/KS103/KS103S 上电启动时,系统会开始自检,自检正常后其背面的 LED 会以二进 制方式闪烁显示其 8 位 I2C 地址, 快闪两下代表“1”,慢闪一下代表“0”。例如显示 0xea 地址, 其二进制数为 0B11101010,绿色 LED 渐亮→灭→快闪两下→灭→快闪两下→灭→快闪两下→
0xc2 指令即可。 配置方法非常简单,向本模块发送指令时序:“I2C 地址 + 寄存器 2 +0xc2/0xc3”即可,
发送完成后请延时至少 2 秒,以让系统自动完成配置。并开始按照新配置工作。 以附件 3 所示程序为例,配置代码如下:
write_byte(0xe8,2,0xc2);
delayms(2000);
MASTER
MODE GND SCL/RX SDA/TX VCC
MODE GND SCL/RX SDA/TX VCC
MODE GND SCL/RX SDA/TX VCC
MODE GND SCL/RX SDA/TX VCC
KS103-0XD0
KS103-0XD2
KS103-0XFC
KS103-0XFE
意,每一帧探测指令格式均为:
I2C 地址
所有 I2C 控制指令汇总如下:
寄存器 2
8 位数据
寄存
器 0 1
命令
返回值范围
(10 进制) 0-255 1-52
返回值范围
(16 进制) 0-0xff
0x01-0x35
制造年份 第几周生产
备注
2 0x01 80-577µs
探测量程约为 100mm,返回μs。探测最大耗时=返
制指令唤醒。
1
在 KS101B/KS103/KS103S 上连线引脚上标识有:VCC、SDA/TX(简称 SDA)、SCL/RX(简 称 SCL)、GND 及 MODE。MODE 引脚为 I2C 模式与 TTL 串口模式设置引脚,该引脚悬空时, KS101B/KS103/KS103S 工 作 于 I2C 模 式 ; 在 上 电 之 前 MODE 引 脚 接 0V 地 时 , KS101B/KS103/KS103S 工作于 TTL 串口模式。此处的 TTL 串口不是 232 串口,TTL 电平可以 与单片机的 TXD/RXD 直接相连,但不能与 232 串口直接相连(直接连将烧坏本模块),需要一个 MAX232 电平转换将 TTL 电平转换为 232 电平才可以。
40us 以上再查询 SCL 线是否变高,所述 40us 为 KS101B/KS103/KS103S 响应延迟。由于最快的探
测指令 0xa0 也需要 1ms 的时间,因此建议延时约 1ms 后再判断 SCL 线,这样做既不会打断正
在进行的探测,也不会降低探测效率。也可以通过延时一段时间再开始接收
16
KS101B/KS103/KS103S 电性能参数:
工作电压:3.0V~5.5V 直流电源 工作时瞬间最大电流:10.6mA@5.0V, typical 工作电流:1.6-2.7 mA@5.0V, typical 休眠时最大耗电量:500uA@5.0V, typical (串口模式时不休眠) 功耗:使用纳瓦技术省电,5s 未收到 I2C 控制指令自动进入 uA 级休眠,并可随时被主机 I2C 控
KS101B/KS103/KS103S 技术说明书
版本:Rev 3.52 日期:2011.03.10 Modify Date: 2013.04.27
深圳市导向机电技术有限公司 保留所有权利 Dauxi Technologies Co., Ltd. All rights reserved.
(3)
灭→慢闪一下→灭→快闪两下→灭→慢闪一下→灭→快闪两下→灭→慢闪一下→灭。
Note 3: LED 闪烁时的绿色亮光可能会刺激到眼睛,请尽量不要近距离直视工作中的 LED,可以使用眼睛的余光来观察其闪烁。
绿色 LED 灯 KS101B/KS103/KS103S 启动后如果收到主机的有效数据指令,LED 将立即停止闪烁显示。 进入指令探测模式。 KS101B/KS103/KS103S 使用 I2C 接口与主机通信,自动响应主机的 I2C 控制指令。指令为 8位数据,指令发送流程为:
位
I2C
(4)
数据。
Note 4: 这种总线钳制探测方式可以为客户获得更大的探测速度及效率,而不是通过定时器延时或 delay 函数延时每次探测都要至少等
待 65ms。换言之,用户大部分时候仅需要快速知晓 1m 范围内是否有障碍物。具体延时时间应大于表 1 所列各指令的最大探测时间。
如果不希望 SCL 线在探测时被拉低,可以通过发送指令 0xc3 指令,之后断电重启 KS101B/KS103/KS103S 后 SCL 线仍然不会拉低。如果想恢复 I2C 钳制及 SCL 拉低功能,发送
0x50-0x241µs
回最大值+1000μs
2 0x02 66-1154µs
探测量程约为 200mm,返回μs。探测最大耗时=返
0x42-0x482µs
回最大值+1000μs
2 0x03 66-1731µs
探测量程约为 300mm,返回μs。探测最大耗时=返
0x42-0x6c3µs
回最大值+1000μs
修改完毕后请给 KS101B/KS103/KS103S 重新上电,可观察到 LED 显示新地址。在修改
2
KS101B/KS103/KS103S 的 I C 地址过程中,严禁突然给 KS101B/KS103/KS103S 断电。修改地址函
数请不要放在 while(1)循环中,保证在程序中上电后只运行一次。 在 I2C 地 址 设 置 为 不 同 之 后 , 在 主 机 的 两 根 I2C 总 线 上 可 以 同 时 连 接 20 个
Note 1: 要达到最佳的工作状态推荐使用+5V 电源,低于 5V 的电压将影响测距量程。并且,严禁将 VCC 与 GND 接反,否则可能会
损坏电路。超过 3 秒钟的电路反接将可能导致不可恢复的损坏。
具体连线如下图所示(20 个):
VCC VCC
R1
R2
4.7K
4.7K
VCC SDA SCL GND
I2C 地址
寄存器 2
8 位数据指令
延时等待或查询 SCL
否
线是否为高?
3
是
接收 16 位 I2C 数据
多量程探测 探测指令从 0x01 到 0x2f,数值越大,信号增益越大。指令 0x01 对应量程约 100mm,0x02
对应量程约 200mm,……,依此类推,0x2f 对应量程约 4700mm。量程越小,探测速度越快。 其探测时间约为超声波在量程范围内传输的时间的基础上再加约 1ms。注意探测时返回的是 us
4
2 0x04 80-2308µs
探测量程约为 400mm,返回μs。探测最大耗时=返
KS101B/KS103/KS103S 默认地址为 0xe8,用户可以将地址修改为 20 种地址中的任何一个:0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf8, 0xfa, 0xfc, 0xfe. (2)
KS101B/KS103/KS103S 功能摘要:
● 包含实时温度补偿的距离探测,高探测精度 ● 采用专利技术的探测模式,探测范围 1cm~800cm 及 1cm~1000cm(10 米) ● 探测频率可达 500Hz,即每秒可探测 500 次 ● 使用 I2C/串口接口与主机通信,自动响应主机的 I2C/串口控制指令 ● 共 20 个可修改的 I2C/串口地址,范围为 0xd0 ~ 0xfe (0xf0,0xf2,0xf4,0xf6 除外,8 位地址) ● I2C 模式支持 0x00 广播地址(KS103/KS103S 不支持) ● 83ms 快速、高精度的温度探测,随时感知环境精确温度 ● 5s 未收到 I2C 控制指令自动进入 uA 级休眠,并可随时被主机 I2C 控制指令唤醒 ● 短距探测量程由 10cm、20cm、……、至 470cm,满足快速近距探测 ● 1ms 快速光强探测,即时探测实时光强 ● 使用工业级配置,工作温度 (-30℃~+85℃) ● 宽工作电压范围 (3.0V~5.5V)