用STM32手搓了一个自行车定位器!
能精准定位当前位置,想去哪就去哪,爱上骑行轻轻松松~
本文主要分享其——功能、硬件设计原理、软件设计原理。
下文包含内容如:如何提升定位器的定位精度?如何实现手机端同步查看定位信息?等
功能/亮点支持在【设备终端】【手机端】同步查看定位信息,含:地图显示、经纬度显示日常使用可续航两周可以用USBC连接电脑进行串口调试、查看信息项目可做为一个学习平台电路设计(6图)使用STM32G030F6P6单片机和EC800MCNGB联网+定位模组制作。
定位板-STM32G030F6P6主控-原理图
定位板-电源-原理图
定位板-PCB图
锂电池供电板-原理图
锂电池供电板-PCB图
实物图
下面,简述一下硬件参数+设计原理:
电源芯片:SY7069ADC,输出3.9v电压给单片机和4G模组供电单片机供电芯片+GNSS天线供电:XC6206P332MR,SOT23封装充电芯片:TP4056串口芯片:CH340N滤波能给ADC采集提供稳定电压,采集的是供电的锂电池的电压电池容量:2000mah;唤醒到休眠过程中平均功耗:90ma;定位成功后,休眠状态平均功耗:160ua预留BOOT位置,单片机被无意锁死的时可以用串口解锁存储芯片 提供数据存储区域,为后续功能扩展做准备已知:定位器得用磁铁进行外部唤醒(霍尔唤醒),很麻烦的样子,为什么这么设计?有什么作用?
这个设计是考虑到了户外使用场景。
如果使用按键就需要开孔,会不防水,所以采用这种无接触的方式,进行唤醒,也方便实现立即采集定位的功能。
同样的,由于防水需求,TYPEC用了一个防水的TYPEC胶塞(如图,在这个堆叠设计的第三层)。
对一个定位器来说,最重要的莫过于——定位的精准/速度+信号的接受能力+续航,那么……
①如何加快定位速度?
可以外置一个GNSS备用电池以存储部分星历,加快定位速度。
这里参考了【Quectel_EC800M-CN_硬件设计手册_V1.2】技术手册备电相关部分说明
②如何增强接收信号的能力?
使用有源天线,增强接收GNSS信号的能力。有源天线说明:
供电电压:3.0V左右选用陶瓷天线长宽:35mmx35mm。这里参考了【Quectel_EC800M-CN_硬件设计手册_V1.2】技术手册。
③如何降低功耗?选用单片机+联网模组的方案。
当定位上传数据到服务器以后,整体会进入到低功耗模式,此时可以将模组直接断电,以降低功耗。
当单片机处于休眠状态时,外部引脚处高阻态,根据电路设计,MOS会关断4G模组供电电源。
软件设计原理软件部分已开源,本章主要分享其原理
开源资料参考::https://oshwhub.com/yunjing258/spark-plan-locator
能在【终端】和【手机】查看定位信息的原理?
设备端根据设定的间隔时间,进行到时唤醒,执行联网、定位、上传数据等操作。
数据到服务器以后再转发到手机客户端,查看设备的定位信息。
中间借助MQTT服务器转发时间数据。
定位的 2种方式?
唤醒单片机自动定时定位
使用磁铁靠近霍尔芯片立即定位
开发方式
通过串口发送AT指令,操作通讯模组。
定位器端原理图
安卓客户端原理
【正文完】
你的点赞+关注,是我的动力~