开发工具:
文件大小: 931kb
下载次数: 0
上传时间: 2019-08-18
详细说明:ks109超声波测距模块,详细的数据手册和代码www.dauxl.com
I2C模式
KS109连线
SCL/RXb
MODE
AN/SW
在KS109上连线引脚上标识有:VCC、SDAX(简称SDA)、SCL代RX(简称SCL)、GND
MODE及ANSW。MODE引脚悬空时,KS109工作于I℃C模式
其中CC用于连接+5V(3.0~5.5V范围均可)电源),GND用于连接电源地, SDAITX是PC
通信的数据线,SCL/RX引即是FC通信的吋钟线。SCL及SDA线均需要由主机接个4.7K(阻
值1~10K均可)电阻到ⅤCC。KS109的rC通信速率建议不要高于100 kbit/s
Note l:要达到最仹约工作状态推荐使用+5V电源,低于5V的电压洛影响測亞量程。并且,严禁洛VCC与GND接反,否则可能会
损坏电路。超过3秒钟的电路反接将可能导致不可恢复的损坏。
具体连线如下图所示(20个)
CC VCC
4.7K
VCO
ANS○
MOD
VODE
DA/TX
DA/TX○
SDA/TK
DA/TX
VCC
KS109-0X0
KS109-0X2
KS109-OXFO
KS109-OXFF
KS109默认地址为0xe8,用户可以将地址修改为20种地址中的仼何一个:0xd0,Oxd2,Oxd4,0xd6
Oxd8. 0xda Oxdc Oxde 0xe0 0xe2 0xe4 0xe6 0xe8 0xea. Oxec Oxee 0xf8 0xfa 0xfc. Oxfe (2)
Nile2:请注意,以上地址并不包括0xm,x门2,x14,0陌,这4个地址保留用于rC从机的10位地址。控制本樸块的主机设备可能只
支持7位的I℃从机地址,此时需要将8位地址右移1位仵为地址来使用。例如,本模块默认地址0xe8,对应7位釣地址0x74
www.dauxl.com
修改I℃地址时序
延时地
正时地
证时地
20x9a
20x92
址/2
新地延时
址
1ns址
址
址
moms
修改1C地址须严格按照时序米进行,时序中的延时时间为最小时间。对于51单片机主机,
其可调用附件3所小的 change i2 c address (addr- old, addr new)函数来实现。
修改完毕后请给KS109重新上电,可观察到LED显示新地址。在修改KS109的I℃C地址过程
中,严禁突然给KS109断电。修改地址函数请不要放在 while(1)循环中,保证在程序中上电后
只运行一次
在PC地址设置为不同之后,在主机的两根IC总线上可以同时连接20个KS109。主机在
对其中一个KS109模抉进行控制时,其他模块自动进入微瓦级功耗休眠模式,因此不必担心电
流供应不足问题。
KS109工作流程:
在KSl09上电启动时,系统会开始自检,自检正常后其背面的LED会以进制方式闪烁显示其
8位IC地址,快闪两卜代表“1”,慢內一下代表“0”。例如显示0xea地址,其二进制数为
0B1101010,绿色LED渐亮→灭→快闪两下→灭→快闪两下→灭→快闪两下→灭→慢闪一下→
灭亠快闪两下→灭→慢闪一下→·灭→快闪两下→灭→慢闪一下→灭。
No3:LED闪烁时的绿色亮光可能会刺激到眼睛,请尽量不要近距离直视工作中的LED,可以使用眼睛的佘光来观察其闪烁
绿色LED灯
KSl09启动后如果收到主机的冇效数据指令,LED将立即停止闪烁显示。进入指令探测模
式
KS109使用TC接口与主机通信,自动响应上机的IC控制指令。指令为8位数据,指令发
送流程为:
IC地址(0xc8)
客存器2(0x02)
8位数据指令(xh)
延时等待哦查询S
线是否为高?
是
2C地址+1(0xe9)
接收16位LC数据
(high 8 bit- low bit)
www.dauxl.com
探测结束智能识别
KS109在发送完探测指令后,需要等待一段时问方可以获取正确的16位IC数据。而用户
只知道最大探测时间,但并不确知实际每次的探测时间。KS109采用了探测结束智能识别技术。
探测过程中SCL将直保持为低电平,用户可以通过查询SCL线是否变为高电平即 while(!SCL)
语句来等待,SCL线变为高则表明探测完毕,可以开始通过IC总线接收到KS109探测到的16
位数据。注意,发送亢探测指令后,需要延时约40us以上再查询SCL线是否变高,所述40us
为Ks109响应延迟。由」最快的探测指令0xa0也需要1ms的时间,因此建议廷时约lns后再判
断SCL线,这样做既不公打断正在进行的探测,也不会降低探测效率。也可以通过延时一段时
间再开始接收16位IC数据。(4)
Not4:这种总线钳制探测方式可以为客户获得更人的探测速度及效率,而不是通过定时器延时或 delay函数延时每次探测都要至少等
待65m3。换言之,用户大部分时候仅需要快速知晓lm范围内是否有障碍物。具体延时时间应大于表1所列各指令的最大探测间。
如果不希望SCL线在探测时被拉低,可以通过发送指令0xc3指令,之后断电重启KS109
后SCL线仍然不会拉低。如果想恢复1C钳制及SCL拉低功能,发送0xc2指令即可
配置方法非常简单,向本模块发送指令时序:“IC地址+寄存器2+0xc2/0xc3”即可,
发送完成后请延时至少2秒,以让系统自动完成配置。并开始按照新配置工作。
以附件3所示程序为例,配置代码如下
write byle(0xe8, 2, 0xc:2)
delays(2000)
探测结束智能识别功能配置好之后会自动保存,并立即按照新配置工作。KS109在重新上
电后将按新配置运行。
探测指令
探测指令发送完成后,KSl09将依据探测指令进入相应探测模式,主机此时须等待一段时
间方可开始通过r℃总线査询探测结果,过早査询r℃C总线将获得0xf值。注意,每一帧探测
指令格式均为:
IC地址
寄存器2
8位数据
所有I2C控制指令汇总如下
器命令返回值范围
寄存
返回值范围
备注
(10进制)
(16进制)
1-254
0×01-0×f1序版本标识及厂家标识
制造日期标识。16位数据的高8位为制造年份,
低8位为制造月份。1年开始造标识为1;12
年开始剛造标识为2;……;25年开始制造标识
l-252
Ox01-Oxfc
为F;26年开始制造标识为0:27年开始制造标
识为1。月份:1月份标识为1:10月份标识为A
12月份对应C。
第一级降噪
0xb0/0xb2/0xb4指令将工作于第一级降噪
0x71
无
无
0xb8/0xba/0xbc指令将工作于第一级降噪。出厂
默认设置,适用于电池供电
第二级降噪。
0x72
无
无
0xb00xb2/0xb4指令将工作于第二级降噪
0xb8/0xba/0xbc指令将工作于第二级降噪。适用
5
www.dauxl.com
于USB供电
第三级降喋。
0xb0/0xb2/0xb4指令将工作于第三级降噪
20x73
无
无
0xb8/0xba/0xbc指令将工作于第二级降噪
适用于较长距离USB供电
第四级降噪。
20x74
0xb0/0xb2/0xb4指令将工作于第四级降噪
无
无
0xb8/0xba/0xbc指令将工作于第二级降噪。
适用丁开关电游供电
20×77
无
无
将串口通信波特率配置为9600bps,出厂默认设置
0x79
无
无将串口通信波特率配置为1:20
本配置仅对0xb0/0xb2/0xb4指令有效:KS109使
20x7a
无
无
用0xb0/0xb2/0xb4指令时将工作于约15°-20°
波束角模式,出厂默认设置
木配置仅对0xb0/0xb2/0xb4指令有效:KS109使
无
无
用0xb0/0xb2/0xb4指令时将工作于身高测量模
式,适用于人体身高测量
本配置仅对0xb0/0xb2/0xb4指令有效:KS109使
用0xb0/(0xb2/(xb4指令时将作于仁意物体捕捉
Oxc
无
无
模式,适用于探测任意大小物体的接近;KS108将
工作于任意物体捕捉模式
木配置仅对0xb0/0xb2/0xb4指令有效:KS109使
Oxid
用0xb0/0xb2/0xb4指令时将工作于约15°的小波
束角模式
20x95
20x98
0x9c
0x92
无无无无无无无
无无无无无无无
0x71-0x7d参数配置第二时序
0x71-0x7d参数配置第三时序
0x71-0x7d参数配置第一时序
修改地址第二时序
修改地址第一时序
2
修改地址第三时序
0-11m范围,普通距离(不带温度衤偿),返回mm
0xb03411280mm|0x220×210mm|探测最大耗时约68ms.波束角可依据071-0x7d
配置调整
0-1lm范围,普通距离(不带温度补偿),返回μs,
0xb220065278ps0xc80 xfcfcus探测最大耗时约6ms。波束角可依据0×71-0d
配置调整。
Ilm范围,普通距离(带温度补偿),返回m,探
测最大耗时约87ms。波束角可依据0x71-0x7d配
20xb434-11280mm|0x22-0x2c10mm置调整。本指令在0x7默认模式下指令精度已校
准到1mm。测身高指令严禁使用0xbc指令,
测身高应该用0xb4指令
0-11m范围,普通距离(不带温度补偿),返冋mm
20xb834-11280mm0x220x2c10mm探测最大耗时约68ms。KS109波束角约10°,不
能修改波束角
www.dauxl.com
llm范围,普通距离(不带温度补偿),返回μs,
20xba20065278us0xc8-0 ) xfefeuLS探测最大耗时约6m。K109波束角约10°,不
能修改波束角
0-1lm范围,普通距离(带温度补偿),返回m,探
测最大耗时约87ms。KS109波束角约10°,不能
20xbc34-11280mn0x22-0x2c0mm
修攻波束角。测身高指令严禁使用0xbe指
令,测身高应该用0xb4指令!
Oxc
探测时IC的SCL线强制拉低,默认
222222
Oxc
OxC
Oxc
Oxc
无无无无无无
无无无无无无
探测时IC的SCL线不拉低
5秒休眠等待;55-65db发射音波
1秒休眠等待;5-65db发射音波
40-45d发射音波
20xc7
45-55db发射音波
返回9位精度的温度数据,按DS18B20格式,范围
Oxc
0-255
0-Oxff
为-40℃-+125℃,探测耗时约83ms(KS109S不支
持此命令)
返回10位精度的温度数据,按DSI8B20格式,范围
0-255
0-0xC
为-40℃-+125℃,探测耗时约168ms(KS109不支
持此命令)
返回11位精度的温度数据,按DS18B20格式,范围
2 Ocb
0-255
Oxff
为-40℃-+125℃C,探测耗时约315ms(KS109S不支
持此命令
返回12位精度的温度数据,按DS18B20柊式,范围
0-255
0-Oxff
为-40℃-+125℃,探测耗时约610ms(KS109S不支
持此命令)
读数据时寄存器3与寄存器2联合使用,寄存器2
0-255
0-0xC
返回16位数据探测结果的高8位,寄存器3返回
16位数据的低8位
0x70x79/本寄存器存储的是串口迪信波特率0760×79,供
查询用。0x79对应波特率115200bps,非0x79值
OxlT
对于波特率960bpS
本寄存器存储的是20个IC或串口地址,不包括
Oxdo-Oxre
0xfU,0x12,0x14,()x场,供查询用。
6
0x71-0x74本寄存器存储的是降噪级别0x71-0x74,供查询用
木寄存器存储的是波束角大小0x7a~0x7d,供查询
Ox7a-Ox7d
用
8
保留供升级用
9
109
Oxid
本寄存器存储型号:KS109
0xc4:5秒休眠等待:55-6Jdb发射音波
0Xc4,0xc5.0xc6,|0xc5:1秒休眼等待:5565db发射音波
10
0xc7,0xf0xc6:5秒休眠等待:40-50b发射音波
0xc7:5秒休眠等待:50-55d发射音波
l132
保留供升级用
www.dauxl.com
表1
距离探测
探测范围在0~1lm的0xb00xb20xb4指令,探测范围在0~11m的0xb8/0xba(0xbc指令。
迸过“I℃地址+寄存器2+距离探测指令”时序,延时或等待上表中所规定的相应时间后
再使用读取函数读奇存器2及奇器3的值,即可取得16位的距离数据。指令0xb0及0xb8是
按照25℃标准通过实际探测时间换算而来的距离值;指令0xb2及0xba探测返回的均是一个时
间单位(ps),其代表超声波从发出到遇到障碍物反射收回所经历的时间。
要获得精准的距离探测值,请使用0xb4或0bc命令,这两个命令自动使用高精度温度补
偿技入,探测值更稳定更精确。也可以使用0κb2/κba(传时+0κc9/κcwuOκcb/Oxcc(环塘湿
度)组合,探测出超声波在空气中的传输吋间及相应环境温度,再通过声速换算岀精桷的距离
值。使用经温度修正的αxb4指令,最高精度可达lmm,误差为0.152mm/17cm。随着环境与科技
的变化与发展,KS109内部使用的声速计算公式可能并不准确。为获得精度达到毫米级别的距
离,请通过超声波传输时间及坏境温度并使用可能的最新的声速计算公式来获取精确的距离值
如果需要达到米尺级别的探测效果,请使用0xb4指令。其精度校准到lmm,以金属网面
为基准,盲区8cm。使用0xb20xba(传输时间)指令盲区4cm。
0xb8/0xba0xb指令仅仅10°波束角,对于高精度探测不适用。因为物体賂有偏斜将导致
无法收到回波,或回波折射,导致探测结果值偏大。0xb8/0 Xba/Ocbc指令适用于超小波束角场合
例如波束需要通过·定宽度的缝隙,其他指令因波束角偏大可能无法通过。因此测身高指令严
蔡使用0xbe指令,测身高应该用0xb4指令!因为0xbc指令波束角太小,头一偏或发型吸波可
能测不到!所以测身高应用0xb4指令。
在远距离探测时,如果电源噪音较大,KS109将叮能不能达到最大量程。
电源降噪指令(0x71,0x72,0x73,0x74及不同物体探测配置指令(0x7a,0x7b,0x7c,0x7d)
KSI09默认电源推荐使用电池供电。如果使用噪音较大的电源,测距可能会岀现不稳定
的波动。用户可以通过发送0x71,0x72,0x73,0x74命令米配置KS109测距模块的杂波扣制
功能。α指令将使木模块配置为第—级降噪,适用」电池供电的场合,同时也是岀厂默认设
置。0x72指令将使本模块配置为第二级降噪,适用于USB供电等有一定高频噪音的场合。0x73
指令将使本模块配置为第三级降噪,适用于较长距离USB供电的场合。0x74指令将使本模块配
置为第四级降噪,适用于开关电源供电的场合
用户可以通过发送αxa,αx7b,0xc,αx7d来根据实际障碍物情况选择指令。参见表1
应尽可能选择比较小的值例如αx丌1以确俣测量精度。降噪级别越高,有用波肜被消除的概
率越人,如此很可能公降低本模块的探测精度及探测量稈。
同时,配置越髙的降噪级别,本模垬的波束角将越小,波東直线度越好,抗干扰性更髙,
但灵敏度将有所下降。
配置方法非常笸单,向本模块发送指令时序:“TC地址十寄存器2+0x9c;TC地址十
奇存器2+0x95;I℃C地址+寄存器2+0x98;IC地址+寄存器2+
0x71/0x720x730x740x7a/0x7b/0x7c/0x7d”即可,发送完成后请延时至少2秒,以让系统自动
完成配置。并开始按照新配置工作。
以附件3所小程序为例,将本模块配置为二级降噪,配置代码如下:
config_Ox7 Oxid(Oxe8.Ox72):∥如果FC地址为Oxe8
delays(2000)
将本模块配置为人体身高测量模式,配置代码如下:
config0x77O7ame8.hx7hb):∥如果FC地址为Ore8
delays (2000)
www.dauxl.com
配置代码请放在程序的初始化函数中,即 while(1)循环之前,以保护模块。KS109收到有效
配置指令之后,LED灯将长亮5s,表明配置成功
KS109在重新上电后将按新配置运行
注意:配置为0x71/0x720x730x74级别时,0xb0xb2/0xb4指令将按对应新级别工作。但
是0xb8/0xba(0xbc指令只有在配置为0x71时在0x71第级工作,配置为0x72(0x730x74时
0xb8/0xba0xbc指令将工作在0x72第二级工作。
0x7a0x7b/0x7c0x7d配置只对0xb00xb2/xb4三个指令有效。
0x7a配置对于0xb4指令校准,精度1mm。基准面为KS109的黑色金属网平面
0xb8/oxba0xbec指令是封装好10°波束角的,只能调整为0x71或0x72级别,其他配置
0x73/0x74/0x7a/0x7b/0x7c/0x7d不适用。
波特率修改
KS109默认波特率9600bps;可以修改为11520bps。修改办法为:
向本模块发送指令时序:“C地址+寄存器2+0x9c;rC地址+寄存器2+0x95;C
地址+寄存器2+0x98;PC地址+寄存器2+0x79”即可,发送完成后请延时至少2秒,以让
系统自动完成配置。重新上电后将开始按照新配置工作。无须冉次配置,会永久保存。
同理,改回9600bn波特率小法为
向本模块发送指令吋序:“IC地址+奇仔器2+0x9c;PC地址+奇存器2+0x95;IC
地址+寄存器2+0x98;rC地址+寄存器2+0x79”即可,发送完成后请延时至少2秒,以让
系统自动完成配置。重新上电后将开始按照新配置工作。无须再次配置,会永久保存。
可调用附件3所示函数con0x0x∽,将木模块配置为115200bps波特率,配置代码如
config Ox7Ox7l0e8,079);∥如FC地业为Ore8
delays (2000)
温度探测
温度探测包括0xc9,Oxca,oxcb,0xcc共4个探测指令,通过“IC地址+寄存器2+
0xc9/0xca/0xcb/0xcc”时序,延时或等待上表中所规定的相应时间后,再使用读取函数读奇存器
2及寄存器3的值,所取得的16位数据遵从DS18B20芯片的温度读数规则,具体请参阅DS18B20
的芯片资料。以oxcc指令为例,其将荻取共l6位的探测数据。16位数据中的前面5位是符号
位,如果测得的温度大于0,这5位为0,只要将16位数据除以16或乘以0.0625即可获得精确
到0.0625摄氏度的环境温度值。如果温度小于0,这5位为1,只需要将测到的16位数据按位
取反然后加1再乘以0.0625即可得到实际负温度值。例如返回的16数据为0xfe6a时,0xfe6a
换成二进制是0B111111001101010,最高位共5个1,因此是负温度,按位取反后二进制值
为0B000000010101,相应10进制值为405,加1后为406,406乘以0.0625等于25.375
则环境温度为-25375℃。如果返回的16位数据为0xlc6,其二进制值为0B00000110010
高5位为0,因此直接乘以0.0625即454乘以0.0625等于28.375℃。
时序图
时序图1:发送探测指令,指令格式为( Such as register2)
IC地址
奇存器2
8位数据指令
9
www.dauxl.com
ACK: Host wait a bit o from KS10
Address such as KS103S"Oxc8
Write the register number such as"
Write the command such as "oxb
START 1 1
00000
10110000
SDA / A6 X A5 X A4 X A3 X A2 X A1 RW ACKD7 XD6 D5 D4 D3 X D2 X D1 X DO \ACK D7 X DG X D5 X D4 X D3 D2 X D1 XDO ) ACK
a//234567u892/345678923456/789
Default scl=o when detectin
Uscr dctinc SCL-1 when detecting
时序图2:执行完时序图1后,等待SCL变高或延时10ms后接收16位数据,先高位后低
位,指令格式为:
「PC地址+1读寄存器2C地址+1读寄存器31
ACK: Host wait a bit o from Ks103
Not ACK
send a bit 1 to Ks103
Address+1 such as Ks103sOxeB+1
Receive the register 2"sdata
ress+1 such as Ks103 S Oxe8+
Rooaiwe the register 3s data
START
00
ⅹ xxxxxxx Nt STOP
D7 X) D4 D3 D2 XD1 DO ACK !! /A A5XA4)A3 A2)_ RMACK D7 X D6, D5 D4 D3 D2 D1 XDO)ACK
不刚6月闹月R同凡不烈同凡用同A同R周甘
时序图3:执行完时序图1后,等待SCL变高或延时100ns后接收寄存器ⅹ的数据(本例为
寄存器3),读任意寄存器指令格式( Such as register3):6
PC地址
寄存器3
C地址+1
读寄存器3
ACK: Host wait a bit o from Ks103
Not ACK, Host send a bit 1 to Ks103
STart Address such as KS103S"Oca!"
Write the register number such as3
Address+1 then will be Oxda +1
Receive the register 3 s data
SDAL/A7465(~4A3 XA2YAL)/W ACK/D7 XD6swu四D四AA6(443心ANKD)D6DDwR
START
aL35同元86元8角分23小眉7
Not5:釆用读任意寄冇器指令时,如果读寄存器2及寄存器3,必须先发送针对寄冇器2的探测指令。注意,所有探测指令都储冇在
寄存器2中。例程中采用了先发送探指令再读任意寄存器指令的序(读寄存器2+读寄存界3)。向KS109写入“PC地址+1”
后,在20-100kbs的r℃C通信連率时,不能立即去接收8bit的数据,要等待ACK低电平的有效回应,或再延时至少50us( delaytime),
才可以接收到寄存器的数据。在写“IC地址+1”与“读寄存器2/3”之间加一个全少50us延时( delaytime)的话,PC通信速率可以调
大仍可以与KS109可靠通信。小于20kbs的rC通信速率时,可以不用前面所述至少sous( delaytime)的延时。另夕,小于10cm的距
离探测,相隔时间建议大于lns,否则可能冇玍上次的超声波被下一次探测所接收到釣问题。总之,确保成功建立rC通信的关键有
两点:一,高低电平廷时均应不小于4.7us:第二,KS109收到主机釣有效探測数据绿色LED快闪但返回值不正确时,主机需要加
上 delaytime不小于sous的延时,即可获取正硝数据。请遵从时序图1~3之规定
休眠等待时间设置
休眠模式默认为5s等待,5s内未收到探测指令则自动进入休眠模式。另有1s模式可供用户
选择。通过C总线发送数据指令0xc5进入ls休眠模式;发送0xc4可以恢复5s休眠模式。
配冒方法非常简单,向本模块发送指令时序:“IC地址+寄存器240xc40xc5”即可,
发送完成后请延时至少2秒,以让系统自动完成配置。并开始按照新配置工作。
以附件3所示程序为例,配置代码如下:
write byte(0xe8, 2, 0xc4)
delays(2000
休眠等待时间改置好之后KS109会自动保存,并立即按照新配置工作。KS109在重新上电
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.