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字样的是接收头。
超声波物位计使用说明书
KFware 调试 HART 手持编程器
-6-
接线方式
两线 四线(两室)
用于 HART 两线制 ①供电以及信号输出 四线(两室) 接线方法:24V DC 供电,4-20mA 输出 接线方法:220V AC 供电,4-20mA 输出 两线(两室) :24V DC 供电,4-20mA 输出
-7-
● 仪表调试
图示说明 安装位置
1 注:测量的基本面是探头的下边缘,务必保证高 料位不能进入测量盲区。
1、 基准面 2、 容器中央或对称轴 注:在安装 KFL401、2 的时候,仪表和容器壁至 少保持 200MM 的距离。
1、基准面 2、容器中央或对称轴 注: 在安装 KFL403 的时候,仪表和容器壁至少保 持 500MM 的距离。
通过 HART 与上位机相连 通过 I²C 与上位机相连
1 2 3 4 5
RS232/或 USB 接口 KFL40X 用于 COMWAY 变换器的 HART 适配器 250 欧姆电阻 COMWAY 变换器
1 2 3 4
Rs232/或 USB 接口 KFL40X 用于 COMWAY 变换器的 I²C 适配器 COMWAY 变换器
{ }键 { }键
-进入编程状态; -确认编程项; -确认参数修改 { }键 -进入编程状态; -确认编程项; -确认参数修改
超声波测距仪课程设计说明书 精品
长沙学院《单片机原理及应用》课程设计说明书题目超声波测距仪系(部) 电信系专业(班级) 电气一班姓名周鹏学号2010042113指导教师刘辉、王新辉起止日期2013.6.10—6.21《单片机原理及应用》课程设计任务书21系(部):电信系专业:2010级电气工程指导教师:王新辉、刘辉课题名称超声波测距仪设计设计内容及要求(1)课题内容:设计一个以 STC89C52单片机为核心控制的超声波测距仪。
功能要求:1.测量距离范围要求为0.10~5.00m;2.测量精度为1cm;3.用12864液晶屏显示相关信息,液晶屏的第一行显示“超声波测距仪”,第二行显示设计者姓名和学号,第三行显示测量的距离值。
(2)要求:完成该系统的硬件和软件的设计,用单片机开发板进行验证。
最后就课程设计本身提交一篇课程设计说明书。
设计工作量1、汇编或C51语言程序设计;2、程序调试;3、在单片机开发板上进行下载调试;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、调试过程,参考文献、设计总结等。
进度安排起止日期(或时间量)设计内容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天~第六天程序设计第六天~第八天程序调试、仿真第九天~第十天系统测试并编写设计说明书教研室意见年月日系(部)主管领导意见年月日长沙学院课程设计鉴定表姓名学号专业班级设计题目指导教师指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;目录摘要 (2)1、基本原理 (3)2、方案论证 (3)3、系统硬件设计 (3)3.1 STC89C52外围电路设计 (4)3.2 超声波测距模块电路设计 (5)3.3 显示电路设计 (7)4、系统软件设计 (7)4.1 系统软件设计说明 (7)4.2编程语言的选择 (8)4.3超声波测距仪的算法设计 (8)4.4 超声波发生子程序和超声波接收中断程序设计 (8)4.5 显示子程序设计 (9)4.6主程序流程图 (9)5、设计结果及分析 (9)6、使用说明 (11)7、课程设计体会 (11)参考文献 (12)附录:程序清单 (13)摘要由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
超声波测距模块使用说明
1.模块引脚
从左到右(见图)模块引脚分别为
VCC、trig(控制端)、echo(接收端)、out(空脚)、GND
2.主要技术参数:
1:使用电压:DC5V
2:静态电流:小于2mA
3:电平输出:高电平VCC-0.2V 低<0.2V
4:感应角度:不大于15度
5:探测距离:2cm-500cm
6:探测精度:3MM
板上接线方式,VCC、trig(控制端)、echo(接收端)、out(空脚)、GND。
OUT脚为此模块作为防盗模块时的开关量输出脚,测距模块不用此脚!
3.使用方法:
(1)采用IO触发测距,给TRIG至少10us的高电平信号(实际上25US最佳);
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号通过ECHO返回,ECHO输出一高电平,高电平持续的时间就是超声
波从发射到返回的时间.
本产品使用方法简单,用单片机IO口控制TRIG发一个10US以上(25US最佳)
的高电平,就可以在接收口(ECHO)等待高电平输出.当ECHO从低变到高就可以开定时
器计时,当ECHO变为低电平时就可以读定时器的值,此时就为此次测距的时间,据公式
测试距离=(高电平时间*声速(340M/S))/2;
方可算出距离.如此不断的周期测,就可以达到你移动测量的值了!
智能微控工作室。
盲人智能过街辅助系统设计方案
盲人智能过街辅助系统设计-机械制造论文盲人智能过街辅助系统设计王少华1,2吴向东1潘金平1朱磊1覃人波1(1.天津职业技术师范大学,中国天津300222;2.天津市交通安全与控制协同创新中心,中国天津300222)【摘要】介绍了基于飞思卡尔K60单片机的盲人智能过街辅助系统。
在详细分析盲人过街需求的基础上,采用IAR6.3开发平台进行程序设计,基于飞思卡尔K60芯片设计硬件模块,进行超声波和红外测障测距,通过OV7725鹰眼摄像头实现斑马线视频图像采集。
实验室实验结果表明,该系统能够保证盲人走在斑马线中间区域并可避免与障碍物相撞,可有效应用于盲人过街辅助。
关键词盲人;过街;辅助系统;飞思卡尔K60【Abstract】ThispaperintroducesanintelligentintersectioncrossingassistsystemforThe BlindbasedonFreescaleK60.Onthebasisofadetailedanalysisoftheneedsoft heblindmanwhentheyacrossthestreet,ituseIAR6.3developmentplatformf orprogramming,designbasedonhardwaremodulebasedonFreescaleK60c hip,detectswhetherthereexistobstacleswithinadistanceinfrontbymeansofultr asonicandinfraredandachievezebravideoimagebyOV7725Hawkeyecamer a.TheLaboratorytestresultsshowthatthesystemcouldensurethatblindpeo plecanwalkonthecenterofzebraandavoidobstacles,willbehelpfultoassistbl indpeopletoacrossthestreet.【Keywords】Theblind。
超声波模块使用说明书
超声波模块使用说明书尊敬的客户:您好!感谢您选用本店的超声波测距模块,为了更快更好的使用本产品,请您仔细的阅读本使用说明书。
一、超声波测距模块简介检测距离:5CM-5M分辨率:5MM数字电平信号,可直接接单片机,无需任何辅助电路,也无需单片机产生任何信号辅助,距离和模块输出信号脉冲长度成正比。
尺寸:43.5*20.5毫米高度:13.8毫米二、超声波测距模块的引脚功能如上图所示:从左到右依次为VCC、控制发射、接收信号(距离信号由此输出)、空脚、GND。
三、测距方式:通过单片机i/o口向模块控制信号接口发送一个>=10US的高电平信号(启动测距功能),等待然后是检测输出信号,输出信号的高电平时间与距离成正比。
然后根据高电平的时间便可计算出距离。
示例程序:///////////////////////////////////////////////////////////////////// ///////////////PIC16F877+DYP-ME007+LCD03example//Written October2005by Gerald Coe,using HITECH PIC16compiler////Note-assumes a20MHz crystal,which is5MHz timer clock//A1:4prescaler is used to give a 1.25MHz timer count(0.8uS per tick)////This code is Freeware-Use it for any purpose you like./////////////////////////////////////////////////////////////////////// //////////#include<pic.h>#include<stdio.h>__CONFIG(0x3b32);#define trig RB0#define echo RB1void clrscn(void);//prototypesvoid cursor(char pos);void print(char*p);void setup(void);unsigned int get_srf04(void);char s[21];//buffer used to hold text to printvoid main(void){unsigned int range;setup();//sets up thePIC16F877I2C portclrscn();//clears the LCD03disply cursor(2);//sets cursor to1st row of LCD03sprintf(s,"SRF04Ranger Test");//text,printed into our bufferprint(s);//send it to the LCD03while(1){//loop foreverrange=get_srf04();//get range from srf04 (round trip flight time in0.8uS units)cursor(24);//sets cursor to2nd row of LCD03sprintf(s,"Range=%dcm",range/72);//convert to cmprint(s);//send it to the LCD03cursor(44);//sets cursor to3rd row of LCD03sprintf(s,"Range=%dinch",range/185);//convert to inchesprint(s);//send it to the LCD03TMR1H=0;//52mS delay-this is so that the SRF04ranging is not too rapidTMR1L=0;//and the previous pulse has faded away before we start the next oneT1CON=0x21;//1:4prescale and runningTMR1IF=0;while(!TMR1IF);//wait for delay timeTMR1ON=0;//stop timer }}unsigned int get_srf04(void){TMR1H=0xff;//prepare timer for10uS pulse TMR1L=-14;T1CON=0x21;//1:4prescale and runningTMR1IF=0;trig=1;//start trigger pulsewhile(!TMR1IF);//wait10uStrig=0;//end trigger pulseTMR1ON=0;//stop timerTMR1H=0;//prepare timer to measure echo pulse TMR1L=0;T1CON=0x20;//1:4prescale but not running yet TMR1IF=0;while(!echo&&!TMR1IF);//wait for echo pulse to start(go high) TMR1ON=1;//start timer to measure pulse while(echo&&!TMR1IF);//wait for echo pulse to stop(go low) TMR1ON=0;//stop timerreturn(TMR1H<<8)+TMR1L;//TMR1H:TMR1L contains flight timeof the pulse in0.8uS units}void clrscn(void){SEN=1;//send start bitwhile(SEN);//and wait for it to clearSSPIF=0;SSPBUF=0xc6;//LCD02I2C addresswhile(!SSPIF);//wait for interruptSSPIF=0;//then clear it.SSPBUF=0;//address of register towrite towhile(!SSPIF);//SSPIF=0;//SSPBUF=12;//clear screenwhile(!SSPIF);//SSPIF=0;//SSPBUF=4;//cursor offwhile(!SSPIF);//SSPIF=0;//PEN=1;//send stop bitwhile(PEN);//}void cursor(char pos){SEN=1;//send start bitwhile(SEN);//and wait for it to clearSSPIF=0;SSPBUF=0xc6;//LCD02I2C addresswhile(!SSPIF);//wait for interruptSSPIF=0;//then clear it.SSPBUF=0;//address of register to write to while(!SSPIF);//SSPIF=0;//SSPBUF=2;//set cursorwhile(!SSPIF);//SSPIF=0;//SSPBUF=pos;//while(!SSPIF);//SSPIF=0;//PEN=1;//send stop bitwhile(PEN);//}void print(char*p){SEN=1;//send start bitwhile(SEN);//and wait for it to clearSSPIF=0;SSPBUF=0xc6;//LCD02I2C addresswhile(!SSPIF);//wait for interruptSSPIF=0;//then clear it.SSPBUF=0;//address of register to write towhile(!SSPIF);//SSPIF=0;//while(*p){SSPBUF=*p++;//write the datawhile(!SSPIF);//SSPIF=0;//}PEN=1;//send stop bitwhile(PEN);//}void setup(void){unsigned long x;TRISB=0xfe;//RB0(trig)is outputPORTB=0xfe;//and starts lowTRISC=0xff;PORTC=0xff;SSPSTAT=0x80;SSPCON=0x38;SSPCON2=0x00;SSPADD=50;//SCL=91khz with20Mhz Oscfor(x=0;x<300000L;x++);//wait for LCD03to initialise}注:只是提供一个编程思路,可能还需要自己动手编程,没有其他程序了。
数字电路期末课程设计总结(二)——超声波测距模块
数字电路期末课程设计总结(⼆)——超声波测距模块废话不多说。
超声波测距模块有5个引脚,这⾥我们只⽤4个。
超声波测距模块引脚如上所⽰,Trig为触发信号输⼊,Echo为回响信号输出,这两个引脚为实现测距功能的核⼼功能引脚。
时序图如下:超声波模块的⼯作原理为:采⽤触发测距,每次触发给⾄少10µS⾼电平信号,收到⾼电平信号后,模块⾃动发送8个40kHz⽅波的超声波信号,并⾃动检测是否有信号返回;若有信号范围,通过Echo输出⼀个⾼电平,⾼电平持续时间就是超声波从发射到返回所⽤的时间。
由超声波模块⼯作时序图可以看出,每次测量时,给Trig控制端发送10µS的TTL⾼电平信号,则模块⾃动⼯作产⽣回响电平,回响电平脉冲宽度与检测距离成⽐例,由此通过回响脉宽可以计算并得到距离。
公式:距离=⾼电平时间*声速/2;该模块每次按键即通过模块Trig输出10µSTTL⾼电平信号给超声波测距模块,同时启动Echo模块的检测功能,将超声波测距模块传回的Echo信号计数输出为data;在PreDecode模块中将data经计算后,分位输出为形如x.xxx m的距离数据distance。
为了做测试,我在写这个模块时加⼊了数码管显⽰部分。
这是顶层⽂件:1module test(clock,reset,button,echo,trig,dot,seg);23input clock;4input reset;5input button;6input echo;78output trig;9output[3:0] dot;10output[27:0] seg;1112/***********************************************************/1314wire x_trig;1516 Trig U1(button,clock,reset,x_trig);1718assign trig = x_trig;19/***********************************************************/2021wire SegDecodeEnable;22wire[31:0] data;2324 Echo U2(button,echo,clock,reset,SegDecodeEnable,data);25/***********************************************************/2627wire[15:0] distance;2829 PreDecode U3(SegDecodeEnable,data,distance,reset);30/***********************************************************/3132wire[27:0] segout;33wire[3:0] x_dotout;3435 SegDecode U4(distance,reset,segout,x_dotout);3637assign seg = segout;38assign dot = x_dotout;39/***********************************************************/4041endmodule42这是Trig端⼝控制模块。
超声波测距仪设计说明书
1.1设计内容随着科学技术的快速发展,超声波将在传感器中的应用越来越广。
超声波测距与其它非接触式的检测方式方法相比,如电磁的或光学的方法它不受光线,被测对象颜色,电磁干扰等影响。
超声波对于被测物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力[2]。
因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛应用。
特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点[3]。
本次设计主要是利用STC12LE5406AD 单片机、超声波传感器完成测距报警系统的制作,以STC12LE5406AD 为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC12LE5406AD 发出指令控制蜂鸣器报警。
1.2 设计要求随着科学技术的快速发展,超声波将在测距仪中应用越来越广泛。
其原理是:以STC12LE5406AD 为主控芯片,实现发射电路的控制和接收数据的处理,并用数码管显示测量的数据。
具体指标要求是:指标1:测量精度-1~+1cm指标2:显示四位本系统在“报警”方面进行创新,其功能是:创新1:设定报警距离值,当测得距离小于设定值时,蜂鸣器报警1.3 系统总体结构本设计包括硬件和软件设计两个部分。
模块划分为数据采集、按键控制、四位数码管显示、报警等子模块。
电路结构可划分为:超声波传感器、蜂鸣器、单片机控制电路。
就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。
单片机应用系统也是有硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。
数模模块做超声波测距
数模模块可以用来进行超声波测距。
使用数模转换器(DAC)和HC-SR04超声波测距模块,可以构建一个非接触式的距离测量系统。
以下是实现该功能的主要步骤:
1. 硬件连接:将HC-SR04模块的Vcc接至5V电源,Trig接口连至单片机的IO口,Echo 接口也连至单片机的另一个IO口。
这样设置可以让单片机通过Trig接口发送触发信号,然后从Echo接口接收回波信号。
2. 软件编程:编写程序来控制单片机,使其能够通过Trig接口发送至少10微秒的高电平信号以触发HC-SR04模块开始测距。
模块会自动发送8个40kHz的方波并等待回波。
一旦检测到回波,Echo接口会输出一个高电平信号,其持续时间与声波往返时间成正比。
通过这个时间差,结合声速(340m/s),就可以计算出物体与模块之间的距离。
3. 数据处理:在单片机中处理Echo接口收到的时间数据,将其转换为距离值。
这通常涉及到一些简单的数学运算,如乘法和除法。
此外,还可以将计算得到的距离值通过OLED屏幕或其他显示设备展示出来,便于用户读取和分析。
总的来说,数模模块结合HC-SR04超声波测距模块和适当的编程,可以实现精确的非接触式距离测量。
这种技术广泛应用于机器人避障、汽车倒车雷达、工业自动化等领域。
休闲园林割草机器人设计及性能测试
休闲园林割草机器人设计及性能测试陈峰;赵萍【摘要】目前,国内外应用于草坪绿化的割草机器人技术不断向智能化、高效化方向发展.为此,从对休闲园林割草机器人的产品设计开发及优化角度出发,通过确定割草机器人的整体结构布局和关键控制装置(包括软件及硬件组成)等,对识别、传递、通讯、执行、反馈等环节提出相适应的设计功能要求和性能参数方案.同时,结合电子计算机多项智能控制算法、驱动程序及割草机器人功能部件选型,实现休闲园林割草机器人的整机设计,并通过性能试验进行验证.结果表明:测试结果与期望性能吻合较好,具有一定的可实施性和推广性,对休闲园林割草机器人的进一步发展和性能优化控制具有参考价值,可为相关学者进行割草机器人设计和改进提供一定的借鉴.【期刊名称】《农机化研究》【年(卷),期】2018(040)010【总页数】5页(P82-85,90)【关键词】割草机器人;休闲园林;结构布局;优化控制【作者】陈峰;赵萍【作者单位】沈阳理工大学,沈阳 110168;沈阳农业大学,沈阳 110866【正文语种】中文【中图分类】S817.11+10 引言随着园林城市化、休闲化及多元功能化的发展,对于园林景观的功能及要求日益提高,作业于园林草地的割草机器人作为一种应用广泛的草坪机械,起着不可或缺的作用。
为进一步达到高效修整草地、美化园林的目标,不断对割草机器人进行优化设计、完善工作性能势在必行。
割草机器人的自动控制作业性能决定了其园林修饰及作业效率的高低。
图1为应用于休闲园林的割草机器人外观简图。
图1 休闲园林割草机器人外观简图Fig.1 Simple appearance diagram of the leisure garden mowing robot休闲园林割草机器人集准确识别、自动割草、智能避障及返回自充电功能于一身,通过内置电动马达、精度高的传感装置及输入控制程序实现割草作业。
割草机器人的工作首要环节是对草地图像进行精准识别,通过不间断进行信息融合与提取、路径实时规划与调整,在导航控制定位的指导下开展工作边界建立与割草作业。
- 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)