Hi3861设备开发试验记录(一)
source link: https://www.51cto.com/article/755875.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Hi3861设备开发试验记录(一)
经过一段时间的学习积累,想尝试做做产品。也许结果又是一次探索,但是带着问题去解决问题能更好的学习。
最初在Hi3516上使劲,但是很难搞,需要写u-boot,还要自己写驱动,进步艰难就先放一下。在Hi3861上一些简单设想更容易实现一些,Hi3861芯片是内置SRAM和Flash,理论上OpenHarmony自带的hispark_pegasus编译程序生成的bin文件可在烧录到所有的Hi3861模块上。当然鸿蒙系统适配的开发板跟其他hi3861模块会有不一样的地方,在使用中肯定会有一些问题,等遇到问题再想办法解决吧。
Hi3861的模块产品还是挺多的,百度一下能搜索到一大堆产品,在淘宝搜索到一块不贵的Hi3861 Wifi模块,本来人家卖的是Wifi模块,通过AT命令使用。这个模块是个最小系统集成模块,金属壳下面已经做好了运行的最小工作电路,通过简单连线就能工作。
而且它们的产品有鸿蒙认证。Hi-12F跟Hi-07S只是天线形式不同,如果把板子放到金属设备箱里,肯定会对信号有屏蔽作用,通过IPEX接口把天线引出来,根据不同环境使用不同的天线,这样更灵活。
然后买了2块试了一下,没想到真的可以跑起来。又在立创做个扩展板,把端口引出来方便后面使用。最后做好是这个样子。
先写个Hello world,再做个点灯试验,都可以运行。
这种玩法不是一个低成本的玩法,并且在使用中会遇到很多电路方面的问题,如果是要学习入门的话还是开发板更适合一些。这么做主要方便连接各种模块,模拟实际的运行情况。
在试验中万用表是必备的工具,焊接工具也是必备的,串口模块,杜邦线,面包板,各种模块的试错,所以实际使用不是看起来那么简单。
我这里列个必备品清单:
50块钱的学生数字子万用表,40块钱60W电烙铁套件,5块钱USB转TTL烧录串口模块,常用电阻、电容、三极管包100块钱,杜邦线公对母,公对公,母对母,10块钱,面包板大的小的都要有差不多10多块钱。led小灯,电源模块,电池盒,18650电池2个,充电器,50块钱。
这些东西最好一次淘齐,电容电阻很便宜,几块钱就能买100个,但是不确定具体会用到什么型号的,所以直接买个常用包,避免用到了没有那就会很抓急。
先试验OLED模块,可以在运行中显示内部情况,比如智能小车测试,不能连着串口线跑圈试验啊,OLED是必备模块之一。买的时候也没仔细看,只看价格便宜了,收到才发现是sh1106驱动的OLED 显示屏,跟以前学习使用的ssd1306的驱动芯片不同,但是大同小异,根据提供的资料重新写个驱动,上电测试,不能显示……,抓狂,看到其他I2C通信设备有上拉电阻,接一个10K电阻上拉,好了可以点亮了。后来测试如果单独只连接hi3861芯片就可以不用上拉,这是为什么?估计是电路中串联其他模块引起的电压不稳,造成通信出错。如果不试验永远不知道会有这么样的情况,所以电源模块分路输出是很有必要的。
通过屏幕能显示运行数据,再有一个能够跟单片机通信的工具,可以实时输入参数,就避免修改一次参数就要重烧写一次。寻一遍觉得红外遥控器可以试试。
一个不到3块钱的红外遥控器,有接收头,还含纽扣电池。又遇到电路问题,hx1838红外接收头的工作电压是5V,单片机工作电压是3V,单片机直接读取5V模块的端口数据,可能会电流过大读取出错,需要连接一个减压电阻,10-100欧电阻。但是这个红外接头带了一个减压电阻,连接就很方便了。按键不太好,用力按会引发连续发送,3块钱的东西就不要求太高了,通过代码也可以过滤掉。最后通过试验没问题。
然后是电源部分,设备要工作必须要有电源,有些连接的设备需要的电量比较大,比如智能小车的电机,机械臂舵机,仅一个5V电源的输入是不够的,串联后电流损耗很大,到电路末端就带不动了,18650锂电池,单个3.7V两个串联7.4V,然后连接一个电压转换模块。
电压模块具体用什么规格看接入设备的用电情况,这个模块6V-12V输入,5V和3V多路输出。如果是驱动12V的设备还要串联更多电池,换输出更高的电压模块,还有个供电方案就是接个充电宝……
接线看起来很乱,其实连接很简单,所有的模块都是由电源线和数据线组成的,模块必然有一个GND和VCC接口,跟电源端连接就行了,数据通信接单片机相应的端口上,模块接其他设备就看具体情况。hi3861有一组串口通信接USB通信模块上进行数据烧写和通信,复位端口接个按键接GND,VCC和GND接电源,这样就可以了。
一点经验分享,先写到这里,后面做一个具体应用。
文章相关附件可以点击下面的原文链接前往下载:
https://ost.51cto.com/resource/2748
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK