2438|0

3416

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

【R7F0C809】Geek充电器制作总结 [复制链接]

本帖最后由 ljj3166 于 2015-10-23 18:22 编辑

经过2个来月的挣扎
预期的计划,基本上达成
这贴算是做最后的总结吧

上回忘记贴上电流测试的图片了
这次补上

直接把电流表串入锂电池充电端口
屏幕显示161mA,电流表显示0.16A
看上去好美啊
大量程测小电流,误差会比较大
没想到照片抓得这么惊险

U口的充电电流
实在是没有测大电流的办法
只能测0.1欧姆采样电阻两端的电压了
mv档,测得44.4mV,可以计算出来实际通过电流应该是44.4/0.1=444mA
屏显示446mA
也算可以啊
其实上面的图都是抓拍的,实际平均误差有正负10mA
哈哈哈
上一张全速充电pp

锂电口927mA
U口达到1463mA,差点冲爆保险丝
这里有个很大的设计缺陷
锂电充电IC的散热没有认真处理
想加散热片,空间也比较紧张

一、整体介绍


1--电源指示灯
2--9至36v输入
3--复位按键
4--屏幕接口
5--锂电池充电指示(绿灯亮红灯灭表示充电完毕、红灯亮表示正在充电、绿灯亮红灯闪烁表示无电池接入)
6--TP4056充电IC
7--锂电池充电接口(本来打算用万能充的接口,结果没找到,可惜了)
8--瑞萨R7F0C809调试接口(EZ-CUBE口)
9--交互按键
10--MOS管,控制U口充电状态
11--采样电阻,100m欧
12--USB设备充电接口
13--KIM-055L,整板的动力源泉,可将9-36v降压至5v,效率在97%以上


原型和样机的合照,一个老爹+俩兄弟
小的矮一些,专门花1块2买了个35v1000uF的胖电容
背面就是运放和C809的电路了
随便看看吧
再来介绍一下LCD界面

以CH1为说明对象
1--电池接入指示(接入显示闪电,未接入显示插头)
2--电池充电指示(充电显示动态增长,未充电显示空白)
3--充电端口电压
4--充电电流
5--实时电量(使用mAh单位)
6--累积充电量(wh单位)
与CH1不同,CH2采集到的电压实际上是采样电阻电压放大33倍后的结果
看个未接入电池的图片


二、设计过程
这次DIY主要用到了瑞萨C809的AD、键中断、定时器、外部中断等基础外设模块
活动过程中,没有过多地讨论控制器如何使用
比较多地是在记录自己DIY的过程
关键的内容,陆陆续续都在之前的帖子里面有展示
一些基本的外设驱动:LED+TIMER+UART+键中断
仔细了解了一下AD:AD采样
分享了一下拍脑瓜的方案:方案介绍
界面和菜单的设计:HMI界面简单设计HMI屏菜单设计
还用到了一些外部存储器:模拟IIC,EEPROM
发现之前的方案有缺陷,果断整改:USB充电及采样电路设计
原理图、PCB分享起来:打样回来,阿哩哩,开测
做了些简单的测试:作品测试
基本上整个过程就如上所述
软件方面也没有什么特别的地方
2ms定时器作为软件循环的基准
每0.5s,进行一次AD采样和数据转换
采样结束,进行数据处理和累加,送LCD显示
AD采样中进行了简单的数值滤波
键中断用于采样按键的键值,通过键值来调整状态机的状态跳变
从而达到HMI界面的变化
外部中断主要用来判断是否有锂电池接入,然后显示不同的图标
that's all

三、心得总结
主要针对 这块控制器吧
C809作为小家电控制器,真心好用,完全是为小家电而生
先说键中断吧
个人觉得是这块片子很有特色的地方
寄存器很少,一个寄存器就可以把所有的按键值全部吃下
如果使用键中断,几乎可以不用考虑抖动的问题(至少楼主测试按键的时候,觉得完全不用去抖)
这个充电器用的三向类似滑轮的按钮
键程比较长,必须要去抖了。。。。。。
再说AD
比起某些其他控制器的AD,C809的AD采样确实比较稳定
即使不采用滤波,也会得到比较稳定的采样值
不使用外部参考电压,比较坑
不过如果能保证控制器电源电压稳定的话,这个AD不会让人失望
个人觉得算是做得很不错的了
太罗嗦,上个测试视频吧
楼主第一次学用视频剪辑
处女作了

顺便吐槽一下微软
MS,你把Windows movie maker做得完善点会屎啊
DIY到这里,其实个人意犹未尽
还有很多可以继续折腾的地方

接下来吐槽了

-----------------------------------------前方高能槽点示警---------------------------------------------
片子不错
IDE,我就只能呵呵了
文本编辑器、编译器、仿真器
一个IDE主要的部分,感觉有些小问题
难道又是楼主打开方式不对????
看看三宗罪
1、文本编辑器的罪状

谁能告诉我
红框框里面是个啥符号?
法国法郎?
重点是这个居然也能通过编译
擦啊,这个文本编辑器,真牛。
2、仿真器罪状
只有两个断点,忍了
关键是有两个断点,经过多次编译下载的后
设置的这两个断点莫名其妙直接就消失了
但是仿真的Event窗口还是显示有
必须删掉后,才能够继续设置断点
没有抓到证据
但是这个现象是肯定存在的
坑了楼主好久
一直以为是EZ-CUBE有问题
3、编译器罪状
不知道算不算编译器的问题
很奇葩
这段代码:
  1. char u[18],t[18]="102410241024102488",i;
  2. for(i = 0;i<18;i++){
  3.                 x24c08_write(i,t[i]);
  4.          }
  5.          
  6.          for(i = 0;i<18;i++){
  7.                 u[i] = x24c08_read(i);
  8.                  }
复制代码


在早期的帖子中测试非常好
由于需要,做成了这样

  1. uint8_t temp;
  2. x24c08_write(0x00,10);
  3. temp = x24c08_read(0x00);
复制代码
楼主只是想测试一下新做的PCB
IIC能不能正常使用
结果debug的时候,temp死活读不到数据
害得楼主换了上拉再换eeprom
后来
一不小心改成这样(其它的一个字没改)

  1. uint8_t temp;
  2. char u[18],t[18]="102410241024102488",i;
  3. x24c08_write(0x00,10);
  4. temp = x24c08_read(0x00);
复制代码


看出啥区别来没?
就比上面那个多了个字符串定义
居然就能正常了
......
没心情去看它的汇编了
解决了就行

--------------------------------------------分割线-------------------------------------------

感谢EEWorld和瑞萨能够举办这次活动
感谢管管们的辛勤工作
继续努力......




点赞 关注(1)
个人签名

So TM what......?


回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表