100米±2mm高精度激光测距仪,附开发全流程

前言  jlc eda  
星火计划,必出精品!且还是与众不同的精品~
绝大部分开源项目都是开源pcb和代码,好点的再加个结构,但是这些过程是如何从无到有的呢?很少有人会详细解答!
本次工程将手把手教你从硬件选型,原理图pcb,软件编程和结构建模……
我会从几个方面,全方位介绍我们开发一个产品的流程!
包含:
规格书解读、元器件选型;
原理图pcb;
软件编程;
结构建模;
面板绘制。
工程描述  jlc eda  
使用pls-k-100激光测距仪模块+esp32做mcu,可以实现100米±2mm高精度激光测距,和其他对比精度是很高的!
了解pls-k-100激光测距仪  jlc eda  
先简单的看看模块的参数。
参数图  
pls-k-100测量精度高,测量速度快,安装操作简单。已广泛用于家装测量,工业控制等各领域。
产品特点:
体积小巧
重量轻
测距距离远,可达100m
精度高,最高可达1mm
耐高低温-30~+60℃,常温款0-40℃
模块图  
从选型到绘制原理图  jlc eda  
元器件选型+mcu选型+编程选型+需求分析+原理图。
这一部分是整个文章最核心部分!!
01确定核心元器件
首先你需要知道你做的这个东西的核心元器件是什么。
不同的产品可能有不同的核心元器件,复杂的产品甚至是有多个核心元器件。
例如:手机的核心元器件就是soc;蓝牙音响的核心器件是功放和蓝牙芯片。以蓝牙音响举例,你要想好是侧重蓝牙芯片还是侧重功放,再选型。
这个激光测距仪的核心元器件就是——pls-k-100激光测距仪模块。
这个模块是串口通讯的,所以mcu只要有串口通信都可以使其工作。
其他像电源芯片和mcu都是非核心元器件。原理图上只需要接到mcu的串口脚即可。这里我使用hdr2.54排针连接到主板,此外还需要接上拉电阻。
02预选mcu
因为这个元器件可以通过串口通信,然后接收指令和发送测量数据,因此mcu选有串口通信的mcu,像是esp32、普通的51单片机、stm32、甚至上树莓派等arm的处理器都是可以的。
但是这都需要功能需求分析后才能选,这里先告诉大家选用的是esp32。
03选定编程软件
至于选用什么mcu又关系到你选择编程软件的问题。
例如stm32,可以支持keil、st官方的cube mx、iar arm版、vscode、arduino。
esp32也可以用官方的ide或者arduino等。
如果是简单的做点东西,我还是更推荐使用arduino。
04确定功能需求
那么确定了核心器件和mcu这种主要需求后,剩下的就是其他需求了。
其他需求指的是什么呢?
最简单的就是看系统的输入输出。
我举一些例子:
有无外置电池?是一直插电使用还是随身携带使用?
如果有电池需求,那么电池电压选择?
电池低于系统电压?需要升压芯片
电池高于系统电压?需要降压芯片
有无用户输入?如何输入?使用按键还是摇杆?使用鼠标还是键盘?使用触屏还是语音识别?细分一下又可以分为:按键是io输入还是adc输入?摇杆是adc输入还是编码输入?
有无用户输出?如何输出?使用屏幕还是led灯?使用震动还是机械反馈?使用蜂鸣器还是语音播报?这里也可以细分:led灯是否需要呼吸灯?led灯有几盏,多的话是否需要译码器?屏幕是否需要驱动芯片又或者直接驱动?
05看看别人是怎么做的
我找来了一个优利德的lm150e+ 150m激光测距仪,就看系统的输入输出。
输入:两节aaa电池、按键、激光测距模块
输出:屏幕显示距离、激光测距模块
在这里激光测距仪是输入也是输出,输出了激光然后输入了激光反馈,因此才测得距离。
看完了别人的那我们就仿照它来做吧。
06确定输入按键
首先输入是肯定用按键,因为这种产品有时你是看不见测量的屏幕。
比如测量缝隙的时候你的眼睛就不能盯着触摸屏,如果用触摸屏那不如实体按键来的准确。
然后就是按键数量,优利德的一共有7个按键:
开机兼测量模式的复合按键
测量长宽高算体积面积的按键
储存按键
多组数据加减求和的按键
基准切换的按键
蜂鸣器开关的
关机和清零复合按键
我们简单点,就要个测量,基准切换,开关机,蜂鸣器开关,然后我们再加点其他东西。
比如说优利德的没有单位切换,那我加一个单位切换,我想要一个单纯的激光开关,不测量,我想把测量模式分开……
那么一套下来我们就一共需要至少8个按键:
蜂鸣器开关
激光开关
基准切换
单位切换
连续测量
单次测量
开机
关机
然后这就有一个问题:
我们电池产品的话要考虑低功耗,所以用按键开关机就要做开机电路,关机电路等。
但是想简单点的话直接做一个硬开关,开关电池的供电就好了。
所以以上,就确定要有6个按键,一个开关。
07确定屏幕输出
输出用的屏幕可以用彩色屏,1602屏,也可以用oled。
但是这种仪器,彩色屏的话成本会高,而1602屏显示的信息就又太少了。如果想要经济又实惠,可以用oled。
虽然是单色但也足够。
使用带驱动的模块oled屏幕,可以用spi或者iic通讯,这种不是需要快速显示的。
为了节省io先预选iic通讯,原理图上需要上拉电阻:
08确定外围
除了主要的输入输出外,我还需要加入其他外围,方便用户指示或者调试用。
①蜂鸣器
用于提示用户,需要加三极管驱动,原理图上只需要当下管,io驱动即可:
②激光指示灯
用于提示用户前激光是否打开,不需要用眼睛去看,虽然是二类激光产品,但是看久了还是对眼睛不好。
led想用io直接驱动:
③串口输入输出
用于方便调试和升级烧录用,这里就用ch340c把。
这个前期可以用,后期产品开发成型后可以做空焊。
看规格书搭好电路。
需要注意的是v3脚,3.3v直接接3.3v,5v要外接退耦电容。
我这里使用的是usb的5v直接供电。
当然如果是stm32可以留jtag或者swd,这部分可以等选完mcu再回过来确定,也是可以的。
④电池电量和充电指示
如果要使用到电池电量指示那么首先要检测,很明显需要用adc检测,而充电器是否插入可以用io或者adc检测。
09确定mcu和io分配
那么输入输出和外围都预选后,就要选择mcu了。
实际上确定mcu可以在前面,也可以在这里,这是一个动态调整的过程。
比如前面选择了资源较少的mcu,后面需求多了,那么就要更换更大资源的mcu。如果一开始就选很多资源的mcu也是可以的,但是这样就不经济,因此需要结合需求综合的确定出mcu。
首先先确定外围,通讯,io数量:
核心,激光测距仪模块:uart
蜂鸣器:io
调试:uart
按键:io6或adc1或adc*2?
电池电量检测:adc
充电器插入检测:adc或io?
屏幕:iic或spi?
那么需要一个mcu要有两个uart,adc1~3路,io2~8或10,iic或spi。
最好是硬件的,虽然很多时候软件也能模拟,但是没有硬件效率高。
mcu这部分io分配需要仔细去看规格书或者io解读才能知道。
传统8051单片机没有硬件iic,adc,直接不看。
esp8266 io不够。
经典stm32f103c8t6备选。
esp32 备选
还有很多很多mcu都是可以的,mcu满足需求后反过来再看看编程环境和现有的库。
第3节推荐过arduino开发。
实际上stm32f103c8t6也是支持arduino的,esp32也是,都可以使用很多现成的库。
不过综合考虑后还是选择esp32,主要理由是:
现阶段stm32f103c8t6支持arduino不够完善;
esp32支持wifi,后续可以增加联网功能;
外围简单,无需晶振。
然后回过头来在确定按键全部可以用io,比较好开发,屏幕用iic。
最后就是mcu分配io了。
首先先按照那些io口能输入,能输出,功能复用等先分配。
例如esp32,有些io是开机会输出pwm啊,或者只能输入不能输出。
比如说开机会输出pwm最好就不能接led啊蜂鸣器的,拉高启动失败就不能接上拉的iokey等等,这些都需要做调整。
然后除了看以上情况还需要看pcb的布线是否走得通,好不好出现,走不走的顺,走不了只能调换io,这些是要pcb画到一半再回过头来调整的。
选择好mcu后还需要画上mcu外围,也就是最小系统电路。
对于esp32最小系统基本上就是电源和复位电路了。
当然我集成到ch340自动下载电路了,因此这两个按钮实际上可以省掉。
如果是stm32等还需要外围晶振电路。
10确定电池和电源系统
首先这种手持产品不可能说接着个ac电,type-c5v来用,这样很不方便,因此电池肯定是要有,那选什么电池?选多大的呢?
主要还是看各个元器件的输入电压范围。
那么我们需要找规格书。
关于如何找规格书,有空我可以写个文章单独讲如何找,这里先直接给出来:
mcu
蜂鸣器
激光测距模块
ch340
oled屏幕  
以上就是主要元器件的工作电压范围,除了mcu和激光测距模块是在3.3v,其他都可以到3.3~5v。
综合考虑各个系统给定3.3v。
然后就是确定电源(电池)。
如果是一节锂电池(4.2v~3.2v,3.7v额定),那么又有两种方法:
1.是升压到5v然后降压到3.3v;
2.是直接降压到3.3v。
实际上锂电池大多数情况到后面压降很厉害了,能用的基本都在3.3v以上,考虑到经济和损耗,不如直接降压到3.3v。
那么降压又有dcdc和ldo,这里更推荐使用dcdc。
因为大多数ldo需要有0.1~1v的压差才可以使用。
例如:1v压差需要4.3v才能降压到3.3v,而我们电池电压会波动,所以大多数ldo都用不了,而且我们希望一个电源降压芯片就给整个系统供电,因此使用dcdc效率更高而且电流带载能力越大。
这里使用我经常用的一颗lp3220。
根据数据手册上典型应用图就可以搭出来电路了。
可以带1.2a电流,而且可以低压差甚至无压差输出。
例如3.4v输出3.3v,3.3v输出3.3v,当然3.2v不可能输出3.3v,这就需要升降压芯片了,但是这里没有必要用到升降压。
如果是两节锂电池串联(8.4v~6.4v,7.4v额定),那么推荐用dcdc直接到3.3v是最好的,但是两节锂电池又需要考虑电池均衡的问题,还有电池的管理芯片和外围也比单节的多得多,因此不如用单节锂电池。
干电池的话也是可以的,但是自己做diy的话就不推荐了,要经常买,两节干电池串联实际上只有2.几v的电压,基本上是升压了。
综合考虑下来还是使用单节锂电池最为经济。
11电源管理芯片和电源路径
选定电池单节锂电池后要考虑充电问题,充电芯片有很多,我这里选的是tp5100,单节充电可以上到2a,不过我选用的是1a电流。
然后要考虑路径管理,很多电池产品例如手机,可以边用边充电,但是考虑到激光测距仪专用性比较强,也不是24小时都要插电用的,更多是手持的时候,因此没做路径管理。
当然要做路径管理也是可以的,如下:
边用边充,5v给电池充电同时给系统5v供电,没有5v时用电池供电。
那么到这里元器件选型+mcu选型+编程选型+需求分析+原理图就完了!


光纤封装UV胶固化的特点以及应用优势的介绍
三星Note9国行评测 一款过于求稳的全球旗舰
苹果HTC专利战:败诉将影响Android市场
区块链技术的应用有望解决供应链金融的发展痛点
物联网是超越互联网的全新体系 将引领IT技术走向第三次产业浪潮
100米±2mm高精度激光测距仪,附开发全流程
高清混合矩阵助力电力应急指挥中心建设
关于本田公司新款燃料电池车的性能分析
苏州同元发布亚洲唯一自主可控新一代数字化设计验证平台MWorks2018
智能照明在推动LED工业照明行业发展中的应用
智能家居的便捷体验,在生活与工作中寻找平衡点
防松垫圈UL认证
华为MateBook对比苹果MacBook:比出了华为的底气
了解一下DMRS的EVM计算有哪些不同以及测量过程
M5连接器4pin电蜂
上海将成为中国电信的首个5G试用城市
遥控开关应用
开创手机历史的摩托罗拉能靠折叠手机扭转市场局面吗?
光伏发电+储能系统,尝试搭建社区微电网
研发人员利用液晶弹性体设计了一种自动折叠机器人