首页 » 通讯 » 基于新唐单片机的电压电流表头制作(INA226)_存放器_的是

基于新唐单片机的电压电流表头制作(INA226)_存放器_的是

雨夜梧桐 2024-10-04 00:32:45 0

扫一扫用手机浏览

文章目录 [+]

一.所需硬件

1. INA226功率芯片,这个是采集数据的紧张器件,下面会有先容。

基于新唐单片机的电压电流表头制作(INA226)_存放器_的是 基于新唐单片机的电压电流表头制作(INA226)_存放器_的是 通讯

2. 屏幕(这里利用的OLED12864-7线SPI),用于显示电压电流值。

基于新唐单片机的电压电流表头制作(INA226)_存放器_的是 基于新唐单片机的电压电流表头制作(INA226)_存放器_的是 通讯
(图片来自网络侵删)

3. 单片机(这里利用的是新唐N76E003),由于我们要把采集的数据转换成我们所须要的数值显示在屏幕上,以是不须要太强大的MCU,一样平常的最小的51即可。

4. 采样电阻——100mΩ。
INA226须要用采样电阻来获取电流值,以是这个电阻只管即便选择精度高一点的,功率大一点的。

5. 剩下的便是一些单片机的基本外设了,电容、电阻等等就不多说了。

二.INA226简介

直接放截图吧,更详细的内容看附件的芯片手册。

三.硬件PCB

根据INA226的手册,大略的画了一个PCB,将单片机、OLED屏也集成到了PCB中,AD工程请见附件。

事理图:

PCB图:

四.软件编写

1. INA226驱动,IIC通信,须要在单片机进行IIC驱动编写,详细可见附件的IIC_INA226.c

2. INA226的读写

INA226有10个寄存器,个中4个是可读可写,6个只能读取

每个寄存器的意义请看下图,程序里也有。

之后便是INA226的读寄存器和写寄存器

INA226_data.Read_Data[1]是输入的电压值,也便是iread(0x80,2),读取的0x80的地址(本机地址),0x02是读取的寄存器,由手册可知,0x02代表的是总线电压。
如果不准的话,可以变动后面的系数1.25。
我这里觉得还挺准的。

INA226_data.Read_Data[0是输入的电流值,也便是iread(0x80,4),0x04是读取的寄存器,由手册可知,0x04代表的是电流,INA226_data.Var_Iref是系数,也是同理,校准用的。

3. OK,紧张的已经搞定,接下来便是OLED12864的驱动了,我利用的是大字体显示,本来屏幕就小,那么字就大一点。

下图是电流和电压的数值显示

4. 基本差不多了,还有把稳的是初始化的时候,INA226须要写入采样韶光和电流的校准值

寄存器0x05,校准寄存器,0x0036是怎么算出来的呢,手册上面有公式。

公式:0.00512/( 电流分辨率0.001A 取样电阻0.1)=51.2=0x0033

之后觉得不是很准,我把数值上调到了=0x0036

寄存器0x00,采样韶光寄存器。
设置转换韶光204us,求均匀值次数128,采样韶光为204128,设置模式为分流和总线连续模式。

五.实物调试

接下来便是把程序烧录到单片机中,进行调试了,下图是我制作完成的实物,大家凑合看吧,看着有点Low,哈哈,调试了好永劫光,也换过好多硬件调试,上面是我制作的履历心得,分享给大家。

原标题:基于新唐单片机的电压电流表头制作(INA226)原作者:小叶三千本文为21ic有奖征文作品,详情请见21ic论坛活动专区:第二届万元红包——蓝V达人有奖征文活动,如果您也有兴趣参与征文,欢迎进入论坛参与活动~

相关文章