搜索
bottom↓
回复: 21
打印 上一主题 下一主题

最近给自己的树莓派4做了一个UPS

[复制链接]

出100入95汤圆

跳转到指定楼层
1
发表于 2021-2-5 21:03:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fszhang 于 2021-2-5 21:06 编辑

最近公司项目需要我制作一个测试系统,但大家反映又不想带电脑,于是我使用自己的树莓派4制作了一个UI,使用4节18650供电。
制作这个UPS一个是原因是不想直接断电来关机,二是树莓派是没有RTC的。如果做测试,需要准确的时间来储存数据的。
底板使用了一个锂电池充电芯片,充电电流800mA左右,MCU使用MSP430,采集电池电压,提供时钟。关机电流60uA左右。
工作时升压模块将电池电压升为5V给树莓派和测试板供电。
开机后,树莓派会从430读取时间和其他电池信息。


关机时充电也会唤醒MCU,显示充电指示灯。


开机后把树莓派的一个引脚置高,关机后这个引脚会变低电平,MCU会通过这个来判断是否关机,延时一段时间后再关闭电源。
当然不会直接引脚判断这么简单,树莓派也会向MCU写入关机数据的。

现在使用3D Builder来做前期工作方便很多。

B站视频







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入93汤圆

2
发表于 2021-2-5 21:11:32 | 只看该作者
能让树莓派开机工作多久?

出100入95汤圆

3
 楼主| 发表于 2021-2-5 21:16:21 来自手机 | 只看该作者
tim 发表于 2021-2-5 21:11
能让树莓派开机工作多久?

只带派8个小时,基本上上班一天。带测试板的话时间会短一点,测试板5V100mA, 派在700左右。

出100入95汤圆

4
 楼主| 发表于 2021-2-5 21:46:30 | 只看该作者
本帖最后由 fszhang 于 2021-2-5 21:47 编辑

MSP430做从机有一个坑。就是一个通常的读操作需要先写入一个地址,再读取数据。官方例程只有单独写与单独读的。
树莓派QT的库里面只有写REG, 8/16bit,读REG, 8/16bit, 我需要MCU里面在第二个起始信号时由接收切换为发送数据。
我使用的F5342这个芯片读与写操作是由MCU内部自己处理的,100K的速度下,读写切换速度不够,数据经常错误。

我的解决办法是,正常写REG数据时,地址在0x80以内,如果地址是大于0x80,下一次I2C操作是读, 读的地址是写入的数据。

树莓派上写数据是: WriteReg8bit(fd, Reg, Data)
读数据:WriteReg8bit(fd, 0x80, Reg), Delay(), Read(fd) 最后一次读数据不带任何地址。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出10入113汤圆

5
发表于 2021-2-5 22:02:28 | 只看该作者
买个交流充电的充电宝就行了,多简单点事儿。

出100入95汤圆

6
 楼主| 发表于 2021-2-5 22:07:19 来自手机 | 只看该作者
饭桶 发表于 2021-2-5 22:02
买个交流充电的充电宝就行了,多简单点事儿。

RTC怎么解决?充电宝不还是拖线?

出0入4汤圆

7
发表于 2021-2-5 23:11:07 | 只看该作者
fszhang 发表于 2021-2-5 22:07
RTC怎么解决?充电宝不还是拖线?

不可以加个RTC芯片在I2C总线吗?开机就可以自动更新时间了。

出0入442汤圆

8
发表于 2021-2-5 23:33:24 来自手机 | 只看该作者
fszhang 发表于 2021-2-5 21:46
MSP430做从机有一个坑。就是一个通常的读操作需要先写入一个地址,再读取数据。官方例程只有单独写与单独读 ...

不明白你到底在说什么。iic协议规定读操作就是要先写寄存器地址,然后重启,读数据啊。很多设备都是这样的啊。这不是坑,这是时序要求严格。

出100入95汤圆

9
 楼主| 发表于 2021-2-5 23:47:46 来自手机 | 只看该作者
wye11083 发表于 2021-2-5 23:33
不明白你到底在说什么。iic协议规定读操作就是要先写寄存器地址,然后重启,读数据啊。很多设备都是这样 ...

你调试过430的从机I2C吗?我也没怪正常的读操作协议啊,只是说430在重启时由接收到发送状态转换不够

出100入95汤圆

10
 楼主| 发表于 2021-2-5 23:51:33 来自手机 | 只看该作者
lwy86 发表于 2021-2-5 23:11
不可以加个RTC芯片在I2C总线吗?开机就可以自动更新时间了。

那不还是要加板子了?

出0入4汤圆

11
发表于 2021-2-6 00:07:06 | 只看该作者
不是引了I2C总线到你的UPS吗,没有一起加上去吗?

出0入442汤圆

12
发表于 2021-2-6 00:13:36 来自手机 | 只看该作者
fszhang 发表于 2021-2-5 23:47
你调试过430的从机I2C吗?我也没怪正常的读操作协议啊,只是说430在重启时由接收到发送状态转换不够 ...

没用过430,搞过fpga模拟iic device,调信号滤波器花了不少时间,反复了几次。一般从机应该在发完最后一个ack时进入输出模式,难道430还要等一会儿才会出数据?看看scl是不是被拉低了,虽说大多数外设都不支持scl stretch,但是我碰到过一款tdk的超声测距芯片,我的固件做不了scl stretch,不兼容。。

出0入4汤圆

13
发表于 2021-2-6 10:26:59 | 只看该作者
电池供电的PI 不现实

出0入25汤圆

14
发表于 2021-2-6 10:47:37 | 只看该作者
lz  qt5 在pi直接开发吗?  还是在 pc上 开发后,在放到pi上跑?  希望lz 指点一二

出100入95汤圆

15
 楼主| 发表于 2021-2-6 11:20:09 来自手机 | 只看该作者
rei1984 发表于 2021-2-6 10:47
lz  qt5 在pi直接开发吗?  还是在 pc上 开发后,在放到pi上跑?  希望lz 指点一二 ...

直接安装开发,调试,生成的应用直接运行

出100入95汤圆

16
 楼主| 发表于 2021-2-6 11:24:03 来自手机 | 只看该作者
wye11083 发表于 2021-2-6 00:13
没用过430,搞过fpga模拟iic device,调信号滤波器花了不少时间,反复了几次。一般从机应该在发完最后一 ...

这款型号的MCU的应答都是自动完成的,树莓派在第二次启动时非常快,430有时候来不及切换模式,发不了数据,导致派收不到数据

出100入95汤圆

17
 楼主| 发表于 2021-2-6 11:28:21 来自手机 | 只看该作者
rei1984 发表于 2021-2-6 10:47
lz  qt5 在pi直接开发吗?  还是在 pc上 开发后,在放到pi上跑?  希望lz 指点一二 ...

我用QT是因为找不到在派上运行的VS chart,C++也算是和C#最像的语言了,之前用Python做过一次界面,实在受不了那个语言。QT上面的Chart也挺漂亮的。

出0入25汤圆

18
发表于 2021-2-6 11:40:19 | 只看该作者
fszhang 发表于 2021-2-6 11:28
我用QT是因为找不到在派上运行的VS chart,C++也算是和C#最像的语言了,之前用Python做过一次界面,实在 ...

树莓派  做 qt 开发。 是用 pyqt  还是  qt c++ 版本?  有没有什么入门的资料。  之前我也是用tk 来做界面,太没有美感了

出100入95汤圆

19
 楼主| 发表于 2021-2-6 12:10:50 来自手机 | 只看该作者
rei1984 发表于 2021-2-6 11:40
树莓派  做 qt 开发。 是用 pyqt  还是  qt c++ 版本?  有没有什么入门的资料。  之前我也是用tk 来做界 ...

听说有很多方法,我是直接安装的QT creator,没有教程,界面是直接拉出来的,和C#不同的是,QT有个信号和槽的概念,然后调到哪里不会的就去网上找,改一改。可以先看看正点和微雪的教程,熟悉一下基本的

出0入25汤圆

20
发表于 2021-2-6 12:31:46 | 只看该作者
fszhang 发表于 2021-2-6 12:10
听说有很多方法,我是直接安装的QT creator,没有教程,界面是直接拉出来的,和C#不同的是,QT有个信号和 ...

好的,谢谢

出0入0汤圆

21
发表于 2021-2-7 01:42:00 | 只看该作者
能不能开源个原理图参考一下??  

出100入95汤圆

22
 楼主| 发表于 2021-2-7 11:50:54 来自手机 | 只看该作者
solojimes 发表于 2021-2-7 01:42
能不能开源个原理图参考一下??

这个是公司项目,开源不行。其实这个东西重点是软件,硬件很简单。关键点: 430使用一个32768晶振接到XT1,不断电跑RTC,主时钟使用内部的,一路I2C从机, ADC采电池,5V电压,几路管子开关供电。难点是很多状态机处理。还有就是树莓派断电时,MCU进入LPM3模式。要处理好单片机复位时各端口的状态会不会引起其他电路的耗电。我这个电路里还使用了淘宝买的一个升压模块,5V3A。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-31 06:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表