"); //-->
超声波市面上主要有两类,一种是 HC-SR04/05,通过测量 Trig触发波形发出 和 Echo 回波接收的时间差来计算模块到障碍物的距离;另一种是KS-103系列,较之于HC-SR系列。KS-103探测精度更高,距离更远。其工作模块有两种:①UART模式②IIC模式。下面分别介绍两类模块的三种工作模式
1、HC-SR04模块的LabVIEW程序。
主要是读高电平的时间,并且应当注意到对超声波影响最大的一个因素——温度。不同温度环境下,声波的速度不同。计算公式如下:s=(331.5+0.607T)*t , T表温度,t表示读取到的时间(单程)。LabVIEW程序如下:
程序相对简单,较容易读懂。
2、KS-103模块的LabVIEW程序(UART模式)
103是集成了PIC单片机与一身的模块,使用uart模式时。只要注意控制指令即可,对于myRIO应当理解串口的工作方式。程序如下:
3、KS-103模块的LabVIEW程序(IIC模式)
仔细查阅103的手册你会发现,其工作在iic模式下时,需要注意一下几点:
①他的默认从机地址为0xE8,但是myrio只支持七位的从机地址。相当于将八位地址0xE8右移一位,变为0x74。这是IIC的write模式,读模式时,从机地址+1,变为0x75.
②IIC模式时,发送控制指令和读取数据指令的时序。
发送控制指令时,在连接了从机地址的情况下,无需再将从机地址写入到指令发送中。因为,连接了从机地址之后就固定方向发送和接收数据了,如第一帧中的控制指令发送。第二帧中的延时函数是为了给超声波一个传输时间第三帧是发送读取命令,如时序图2:读取数据时,需要将地址+1,所以此时连接的从机地址为0x75.第四帧中的延迟是为了符合103Datasheet中的延时要求 ”向 KS103 写入“I
2C 地址+1”后,在 20~100kb/s 的 I2C 通信速率时,不能立即去接收 8bit 的数据,要等待 ACK 低电平的有效回应,或再延时至少 50us(delaytime),才可以接收到寄存器的数据。“ 最后一帧读取数据,从机地址依旧是0x74,字节数为2,因为数据存放在2、3寄存器中。然后使用一个索引数组,第0个的数据是高八位,需要乘以256之后加上第八位。得到距离值,单位是mm. 需要注意的一点是,乘以和加上的时候,数据类型应当为automatic formatting。
iic超声波模块LabVIEW程序如下:
结束语:由于学习myrio的时间也不长,毕竟新兴的板子资料和例程都较少。希望对myrio有兴趣的朋友能够多多指正,多多交流。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。