立即注册
查看: 2468|回复: 1

[经验分享] MTK6582开发板,MT6582核心板,MT6582充电电池调试

已绑定手机
发表于 2019-3-27 15:11:15 | 显示全部楼层 |阅读模式 来自 广东省深圳市
MTK6582开发板,MT6582-核心板,MT6582充电电池调试

[mt6582]电池及充电参数配置
.PM 充电
1 配置文件位置:
CUSTOM_kernel_Battery= battery
MediaTek\custom\\kernel\battery\battery\cust_battery.h
mediatek\custom\\kernel\battery\battery\custom_fuel_gauge.h


2充电常用参数修改:
..\mediatek\custom\\kernel\battery\battery\cust_battery.h


3充电电流修改:
#defineUSB_CHARGER_CURRENT                                         Cust_CC_550MA   //  :Cust_CC_450MA
#define AC_CHARGER_CURRENT                                           Cust_CC_800MA   // : Cust_CC_650MA
4.充电电阻设定(根据硬件的bom):
#defineR_CURRENT_SENSE 2                              //0.2 Ohm// 0.2欧姆
5  充电温度检测设定
#defineBAT_TEMP_PROTECT_ENABLE    1       //
// #defineBAT_NTC_TSM_1
NTC修改为10K电阻或者47K电阻(NTC 为电池温度保护NegativeTemperature Coefficient)
#define BAT_NTC_101    //#define BAT_NTC_47 0


其他:
#defineV_CHARGER_MIN 4400            //modify      //4400 // 4.4 V
#defineV_CHARGER_ENABLE 1           //1:ON , 0:OFF      //


其他宏定义说明:
#defineR_CURRENT_SENSE 2                              //0.2 Ohm   //检测当前充电的电阻
#define R_BAT_SENSE4                                  //times of voltage  //测量电池电压检测电阻
#define R_I_SENSE 4                                                      //times of voltage  //测量接电感电流传感器电压的电阻
#defineR_CHARGER_SENSE   ((R_CHARGER_1+R_CHARGER_2)/R_CHARGER_2)     


// times ofvoltage  测量充电器检测电压的电阻
#defineV_CHARGER_MAX 6500                                    //6.5 V   充电器的电压最大值
#defineV_CHARGER_MIN 4400                                      //4.4     充电器的电压最小值
#defineV_CHARGER_ENABLE 0                                    //1:ON , 0:OFF    //充电电压保护使能


/* Teperaturerelated setting */
#defineRBAT_PULL_UP_R             39000       //检测电池温度的上拉电阻
#defineRBAT_PULL_UP_VOLT          1800     //检测电池温度的下拉电阻
#defineTBAT_OVER_CRITICAL_LOW     68237     //用于计算电阻的值


//#defineTBAT_OVER_CRITICAL_LOW     483954
#defineBAT_TEMP_PROTECT_ENABLE    0           电池温度保护
#define BAT_NTC_100    负温度系数


6.7充电界面显示修改:
\mediatek\custom\\lk\include\target\cust_display.h//坐标
\mediatek\platform\MT6577\lk\mt_logo.c//显示


6 电池容量、电池曲线修改:


电池容量修改:


mediatek\custom\\kernel\battery\battery\custom_fuel_gauge.h
#define Q_MAX_POS_50 ((2168* 1316) / 1307)
#define Q_MAX_POS_25   2168
#define Q_MAX_POS_0 ((2168 * 1220) / 1307)
#define Q_MAX_NEG_10  ((2168 * 1162) / 1307)
#define Q_MAX_POS_50_H_CURRENT ((2168 * 1295) / 1307)
#define Q_MAX_POS_25_H_CURRENT ((2168 * 1270) / 1307)
#define Q_MAX_POS_0_H_CURRENT ((2168 * 1102) / 1307)
#define Q_MAX_NEG_10_H_CURRENT ((2168 * 599) / 1307)


电池曲线集成方式:(电压-百分比对应表需要电池厂商提供)
mediatek\custom\\kernel\battery\battery\cust_fuel_gauge.h


BATTERY_PROFILE_STRUCbattery_profile_t1[] =// T1 0C
BATTERY_PROFILE_STRUCbattery_profile_t2[] =// T2 25C


alps\mediatek\kernel\drivers\power\battery_meter.c


关键  int force_get_tbat(void)
alps\mediatek\custom\mt6582\kernel\battery\battery\cust_battery_meter.h


//#define FIXED_TBAT_25


根据是否使用fueLGAge温度设置成恒定或自动检测:


/* Disable Battery check for HQA */
//#ifdef MTK_DISABLE_POWER_ON_OFF_VOLTAGE_LIMITATION
#define FIXED_TBAT_25
//#endif


[FAQ05789][bmt]Bat_on pin脚悬空会有什么问题 ?
  1.Bat_on pin是用来检测电池+检测电池温度
  2.该pin脚的电压范围0-1.062V
  3.如果不使用NTC功能,请将Bat_on pin脚接地,并且软体固定返回温度25.


MT6575 MT6515 MT6577 MT6517  MT6589
如果悬空:
  1.软体会判断找不到电池。
  2.插着usb或是充电器 不能开机,会卡住检测电池的循环里。
  3.不插usb或是充电器 可以正常开机, 但是底层获得的电池的温度是最低的温度,-20度。如果这个时候还采用FG的电量计算方式 会以-10度来构造zcv表格。
  4.开机之后,在75/77平台上面,插入USB,可以充电,不会关机。 在89平台,一旦插入usb,就会重启。(软体检测到该pin脚悬空,判断为无没有电池,调用关机函数)
已绑定手机
已实名认证
一牛网现金打赏上线了!解问题 赚现金,知识收益,等你来!具体详情请点击:一牛网现金打赏说明
发表于 2019-3-27 18:22:11 | 显示全部楼层 来自 广东省深圳市
看看是什么
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
微信客服扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表