chatgpt能做方案吗

精英怪

chatgpt能做方案吗,如何选择Arduinoarm树莓派单片机?

首先介绍一下超声波测距的原理和特点:

chatgpt能做方案吗

控制器通过超声波探头向空间发出20KHz以上,一般是38KHz的声波信号。

超声波信号碰到障碍行之后,由于波的特性,发生反射,控制器通近超声波探头检测到反射波,根据发射与接收的时间差,计算障碍物的距离。

由于超声波的频率超过了人耳能听到的20Hz-20KHz的范围,所以超声波并不能被人听到。

声音在空间中的传播大概为340m/s,控制器发射超声波之后开始计时,当接到收到有效的回波时结束计时,根据该计时时间(如t)通过公式340*t/2即可以算出距离。

关于超声波测距,有几个问题要解决:

1)超声波探头发射超声波时的激励信号

一般原理是通过控制器的单片机产生38KHz的PWM信号,采用硬件电路将单片机产生的PWM信号进行升压,放大功率,产生约80V的信号施加在超声波探头上,激励超声波探头,使其向空间发射超声波。

2) 超声波的余振

控制器在发射超声波时,当超声波探头发射一段时间的超声波后,控制器停止产生PWM信号之后,在停止发射之后,超声波探头接收并检测回波。如果检测到回波,则计算回波的时间。但是这个时间,超声波探头并不会立即停止发射超声波,由于惯性,超声波仍然会继续振荡,并最终停止下来,这段时间的超声波被称之为余波。

由于控制器无法判断余波以及回波,所以无法正常计算距离,这就造成了检测的死区,一般的余振时间为1.3ms左右,对应的死区距离为20-30cm,也就是说通过汽车的前进、倒车雷达无法检测20-30cm内的障碍物。

3)回波检测的实时性

控制器的MCU停止产生PWM信号之后,必须要在 1.3ms以内开始判断回波,同时通过定时器对回波的时间进行计时,在程序的主循环中都无法达到ms级的响应,所以需要通过定时器中断,在定时器的中断服务程序中进行判断并计算。

4)回波的有效检测

超声波探头接收到回波信号之后,通过硬件电路进行信号调理,放大滤波之后产生38kHz的方波信号送入单片机,同时进行峰值检波送入单片机,当单片机检测到信号超过一定峰值,同时通过单片机的脉宽捕捉功能,判断是否有单片机是否有方波信号,而且方波的频率是否在38kHz左右,如果满足两个条件,则通过回波的时间计算距离。

如果题主只是检测车位,方案应该是在车位旁边固定安装超声波探测器,如果该超声波探测器检测到一定距离内有障碍物,则认为该车位停有车辆,如果更进一步的,在车位的四周安装多个超声波探头,通过这些探头检测车辆的位置,通过语音引导车主停车。

如果未来5G普及,可以通过5G将位置信息发送给汽车的显示屏,通过显示屏引导车主停车。

从上分析来看,要实现所说的功能,控制器要采用实时操作系统,必须要在ms级的时间内进行响应,而且要有PWM,定时器,脉宽捕捉等功能。

arm、树莓派资源丰富,但是都会采用linux等非实时操作系统,响应外界输入可能要几百毫秒才以上,无法满足超声波测距的实时要求。

Arduino是在MCU的基本上再做了一层封装,资源利用,系统调度不能自主控制,应该也不能满足实时性要求。

所以用MCU,不带操作系统写一段简单的程序即可。

如果是直接购买现成的超声波探测器,一般这样的控制器会有RS485的接口。

至于数据采集,由于探测器本身需要供电,没有办法用电池供电,布线是不可避免的,所以建议采用可靠性的有线通信,比如RS485.

设计一个主控,该控制采用RS485与分布在停车场周围的探测器通信的同时,向探测器提供电源。

因此可以用4芯线进行手拉手等的连接。

主控可以采用以太网模块/ WiFi模块(如ESP8266)与电脑或者服务器通信。

可以考虑STM32F103。

最后,需要考虑供电问题,如果采用集中供电的方案,一个停车场可能有几百个停车位,所有的探头同时则需要非常大的电源供电,只用一根四芯线的载波能力有限,无法提供这么大的电流。

所有探测试可以设计成低功耗模式,主控通过RS485唤醒,比如可以按照 100ms的间隔时间轮流唤醒一批探测器进行车辆检测。

与此同时,在探测器上考虑采用大电容进行储能,通过大电容给探头供电进行检测。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,152人围观)

还没有评论,来说两句吧...