联盛德W806+INA226 = 功率计

这里目录

  • 一、 项目概述
  • 二、硬件设计
    • 1、硬件方案确定
  • 三、软件设计
    • 1、程序设计
    • 2、程序流程
  • 四、结束语

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

立创EDA中的硬件设计

程序代码

github地址

一、 项目概述

        这个是我自己抽空做的一个小设计,感兴趣的可以试一试,就当练手,可惜的是当时下单的时候搞错了,没有下单基佬紫,原谅色有点丑,只能将就。
上图:
在这里插入图片描述
        就是一个功率计、也叫库仑计、还叫什么什么计,那不重要,作用都是用来采集外部电压、电流、功耗的。本计以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/1000X32767 = 81.9175mV。采样电阻为0.025,最大电流为 = 81.9175/0.025 = 3276.7mA。这就是Maximum Expected Current。
Current_LSB = Maximum Expected Current / 32767 = 0.1。
CAL = 0.00512 X 1000 / (0.025 X 0.1) = 2048
注意:以上公式中有的是/1000有的是*1000这里是单位的换算。

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

2、程序流程

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

四、结束语

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1620224.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

奔驰C260L(W206)升级柏林之声音响系统,体验不一样的感觉

22款奔驰C级在音响系统方面也做出了改变,20款奔驰C级的小柏林音响是13喇叭590瓦功率,小柏林音响是多了哪两个喇叭呢?也就是眼镜盒上的两个,在之前的C级车型上,小柏林是没有这两个扬声器的。无论是小柏林还是大柏林&…

奔驰STAR3电子电气架构1

以下文章来源于佐思汽车研究 ,作者周彦武 奔驰在2020年推出的新一代S级轿车,代号W223,E/E架构采用了奔驰最新的STAR3架构,2021年的新C级,代号W206也采用了STAR3架构,奔驰所有车型都将升级到STAR3架构&…

WinPlan经营大脑:精准预测,科学决策,助力企业赢得未来

近年,随着国内掀起数字化浪潮,“企业数字化转型”成为大势所趋下的必选项。但数据显示,大约79%的中小企业还处于数字化转型初期,在“企业经营管理”上存在着巨大的挑战和风险。 WinPlan经营大脑针对市场现存的企业经营管理难题,提供一站式解决方案,助力企业经营管理转型…

量化:pandas基础

文章目录 简介Series构造 DataFrame构造列的查改增删填充默认值 简介 pandas是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构。 pandas主要的两种数据结构为Series和DataFrame,分别用于处理一维和二维数据。 Series Series 是一种类…

{转,推荐大家仔细研究一下,呵呵}美女经理人全球博客征婚,条件超级变态

我偶然在一个博客网站上看到一个美女博客的征婚启示,条件挺搞笑,转贴给大家看看.由于条件非常多,文章比较长,但是希望大家耐心地看下去,会很有意思.文章如下: 小女芳龄二八,上有老人两代,佳人在水一方。容貌自慕压倒桃花,身材人夸…

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…

六、Json 数据的交互处理

文章目录 一、JSON 数据的交互处理1、为什么要使用 JSON2、JSON 和 JavaScript 之间的关系3、前端操作 JSON3.1 JavaScript 对象与 JSON 字符串之间的相互转换 4、JAVA 操作 JSON4.1 Json 的解析工具(Gson、FastJson、Jackson)4.2 ResponseBody 注解、Re…

c语言练习题35:求两个数二进制中不同位的个数

求两个数二进制中不同位的个数 //编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? //输入例子 : //1999 2299 //输出例子 : 7 //int calc_diff_bit(int m, int n) 思路: 1. 先将m和n…

如何复刻稚晖君的ctrl-FOC-lite

一、simpleFOC版本工程使用clion重新打开为“Cmake”工程: 1、我删除了simpleFOC版本工程文件夹下的cmake-build-debug、.idea文件夹; 2、使用clion重新打开为“Cmake”工程,配置均按照稚晖君的教程进行的配置。 3、使用stm32cubeMX6.5版本重…

(转)游戏类型

百科名片 游戏类型主要分为:ACT、FTG、STG、FPS、SLG、RPG、AVG、SIM、SPG、RAC、PUZ、MUG、ETC等其他类型。 目录 1 ACT介绍 1.1 动作1.2 平台动作1.3 动作射击 2 FTG介绍 3 STG介绍 3.1 射击3.2 光枪射击 4 FPS介绍 5 SLG介绍 5.1 策略5.2 即时战略 6 RPG介绍 6.1…

C++ 工具

C参考手册 Learncppcplusplustutorialspoint/cplusplusAwesomeC 写在最后:若本文对您有帮助,请点个赞啦 ٩(๑•̀ω•́๑)۶

JUC的常见类

Callable interfacce 也是一种创建线程的方式 Runnable 能表示一个任务(run方法),返回void Callable 也能表示一个任务(call方法),返回一个具体的值,类型可以通过泛型参数来指定(object) 如果进行多线程操作,如果你只是关心多线程的执行过程,使用Runnable即可,如果是关心多线程…

利用adobe audition cc2014中置声道提取制作伴奏

“adobe audition cc2014制作伴奏”这四个字我在网上查了半个月了,但还是没查着解决方法,于是,我便自己琢磨做了做。 准备:adobe audition cc2014,歌曲(最好是无损格式)。 1.打开 adobe audition cc2014 2.…

会声会影提取伴奏乐教程

2019独角兽企业重金招聘Python工程师标准>>> 时常会遇到这样的问题,看到一段精彩的视频,发现它的伴奏不错,想提取出来。遇到这种情况,会声会影有什么好办法吗,怎样提取伴奏乐呢? 一、首先打开视…

JAVA中如何知道某项目使用什么数据库类型

文章目录 1. 前言2. 先说结论3. 代码案例 1. 前言 最近在写第三方工具的时候,需要判断使用方项目具体使用了什么数据库类型,从而进行不一样的实现逻辑。当然可以让用户在YML中配置说明项目用什么数据库,但用户不一定填写正确。因此需要想其他…

appium+python自动化测试

获取APP的包名 1、aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity 2、在android-sdk里面双击SDK-manager,下载buidl-tools 3、勾选build-tools,随便选一个版本,我这里选的是24的版…

工控流量分析题+wireshark学习

写在前面 暑假报名了工控比赛 所以要找些工控的题目来刷刷 正好比赛方提供的靶场有很多类似的题目 开始痛苦的学习过程。。。 Wireshark Capture filter <Protocol name> <Direction><Host(s)><Value><Logical operations><Expression>…

bootstrap富文本编辑器的使用

bootstrap-wysiwyg是一款轻量级的富文本编辑插件&#xff0c;大致长这样 在此记录一下我使用它踩过的坑和经验。 插件的引入 插件其实分为两部分&#xff1a;顶部的一系列编辑按钮和下方的div编辑框 前台代码如下&#xff1a; <div style"height: 50px;">&…

用C#语言实现记事本

C#实现记事本 一、记事本界面设计 1、打开VS2013 单击 文件→新建→项目 2、选择模版→Visual C#→windows→windows窗体应用程序&#xff0c;在下面的名称写Notepad 3、更改窗体名称&#xff0c;单击窗体→右下角属性→text&#xff0c;修改为“记事本” 补充&#xff1a…

pixhawk计算机无法识别,PIXHAWK教程 3.1.2 连接你的遥控输入和电机(Pixhawk)

连接你的遥控输入和电机(Pixhawk) 目录 连接你的遥控输入和电机(Pixhawk) 连接蜂鸣器和安全开关 连接其他外部设备 连接遥控输入 连接电机输入 安装螺旋桨 顺时针和逆时针桨的识别 连接蜂鸣器和安全开关 蜂鸣器和安全开关依附于Pixhawk。 分别连接到蜂鸣器和开关端口。 连接其他…