IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 联盛德W806+INA226 = 功率计 -> 正文阅读

[嵌入式]联盛德W806+INA226 = 功率计

本文使用环境:
电脑:windows10
主控:W806(240MHZ)
外设采集:INA226(IIC)
外设显示:0.91 OLED(IIC)
编译环境:平头哥的CDK
原理图PCB:立创EDA,(当然完全开源,链接就在下面,可以自己拿去改)

立创EDA中的硬件设计:
https://oshwhub.com/xiansenzhao/w800-gong-shuai-ji_copy

一、 项目概述

????????这个是我自己抽空做的一个小设计,感兴趣的可以试一试,就当练手,可惜的是当时下单的时候搞错了,没有下单基佬紫,原谅色有点丑,只能将就。
上图:
在这里插入图片描述
????????就是一个功率计、也叫库仑计、还叫什么什么计,那不重要,作用都是用来采集外部电压、电流、功耗的。本计以W806单片机作为主控,INA226作为外部电压电流采集IC来做的设计。这里不讨论成本什么的,只考虑能不能行,感不感兴趣。当时这款开发板给我的最深刻的印象就是240Mhz,还有价格8.9,芯片是5.9RMB。所以毫不犹豫买回来试一试,毕竟任何一个电子爱好者都是搜集开发板,然后吃灰。

USB3.0接口。
输入电压:4.5-36。
测量电流:0-5A。PS – 我并没有实际测过,只做过2A一小时的实际测试,5A没那条件,干不了。

主控:W806
显示:0.91OLED(IIC)
电压电流:INA226(IIC)
这两个外设其实可以使用一路IIC的,但我是分开设计的。

二、硬件设计

????????关于硬件设计链接我放在了开头,有需要的可以直接拿过去修改,当然我画的板子还是存在各种的小问题,有问题的可以指出来,大家一起修改。

1、硬件方案确定

????????在设计之前肯定是首先选择方案,详情见下图,当然这里的方案选择前面也说了,是我的一厢情愿,并未实际考虑成本是否最优等。完全是我自己的兴趣爱好,仅此而已,所以不再赘述。
在这里插入图片描述

说明一下:
1、下载问题
????????板子设计有CH340N,所以不需要外接USB转TTL了,同时复位键我也直接接到了单片机上,应该可以实现不用按复位键就可以实现程序的下载和执行 当然这是我后面加的功能,并没有在我第一版上实现,这个功能并未实际验证,但是问题不大,因为我看到群里有老哥这样做了,正常使用,所以可以参考这个设计
2、实际焊接中的问题:
????????焊接的时候,遇到过电源不接负载输出电压不正常的情况,接上负载一切正常,所以如果有参考设计的请注意一下这个问题。

三、软件设计

1、程序设计

考虑到实际的需求,软件设计分为如下几个方面:
在这里插入图片描述

1、数据保存
????????这里主要用于保存充电的时间,当有功耗产生时,才进行计时,断开后数据会保存在flash中,直到手动清零,否则不会自动清理。
2、定时器计时
????????每一秒钟中断一次,使用一个变量进行计时,没一秒钟加一次。我实际测过,24小时之内是没有问题的,时间不会有肉眼可见的偏差,当然因为我只做了24小时,所以并不是说最长只有24小时。
3、电压电流采集
????????程序我都是参考网上的教程,所以不做过多的说明,在最后我也会把源程序附上,可以直接下载。只说我遇到的问题。INA226初始化问题:
在这里插入图片描述
????????前两个函数没问题,主要是第三个函数的CAL值,存在争议。
在这里插入图片描述

????????CAL是在.h文件定义的,我参考的其他设计,所以在INA226的采样电阻第一版使用R100即0.1欧姆,实际应用的时候发现最多只能测量600多mA的电流,最后采用四个0.1并联的方式,将电阻降到了0.0245才正常使用。当然0.025的采样电阻我也最多只测试过2A的电流,因为手里最多就只有2A的负载,并未低其他数值进行测试,有条件的可以试一试。讲一讲这个值是怎么算的。
首先查看ina226的datasheet:(手册15页)
在这里插入图片描述
????????CAL就是写入寄存器的值,RSHUNT是采样电阻的值这里为:0.025。进一步也就是说需要算出Current_LSB的值。这就涉及到其他的公式了,我在这里也是一头雾水,现在大概看懂了一些。有兴趣的可以看一看原版英文手册。

????????INA226_VAL_LSB,是电压寄存器的LSB,也就是说一个bit代表多少电压的意思,采用默认值2.5uV,寄存器的最大值位0X7FFF = 32767,所以最大的电压为 = 2.5/100032767 = 81.9175mV。采样电阻为0.025,最大电流为 = 81.9175/0.0025 = 3276.7mA。这就是Maximum Expected Current。
Current_LSB = Maximum Expected Current / 32767 = 0.1。
CAL = 0.00512
1000 / 0.025 = 2048
注意:以上公式中有的是/1000有的是*1000这里是单位的换算。

4、OLED显示
????????就是单纯的使用OLED显示。看程序就能看懂。
5、外部中断按键
????????主要是预留的按键,其中一个按键并未使用到,另外一个按键用于时间的清零。

2、程序流程

????????比较简单直接看图。
在这里插入图片描述
????????程序不再展开了,可以直接参考源代码。

四、结束语

????????本工程只能说参考,设计中还是有很多的不合理的,大家可以在下面留言评论,后续有时间再改版。

????????有人可能会问精度,emmm。犹豫没有专业的设备,所以无法给出具体的值,我有一个买的电流计,用起来两个数值差不多的,所以感兴趣只能自己去慢慢调教。

最后再上一张图。
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:06:46  更:2021-11-24 08:08:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:42:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码