tag 标签: gb

相关博文
  • 2025-5-31 16:45
    226 次阅读|
    0 个评论
    【拆解】一款有GB并且带四线的充电宝
    这是一款品胜-带四线充电宝,输出5V2A,最大功率10W。 型号:LS-DY153 电池容量:1000mAh(典型)37Wh 9800mAh(额定)36.26Wh 输入:5V2A 输出:5V2A 额定容量:5800mAh(2A) 执行标准:GB/T 35590-2017 正面,来个特写。 背面,来个特写。 带四线的放电口,来个特写。 开关按键,充电口,放电口,显示屏,来个特写。 拆开上盖,可以看见电池包,PCB板。 聚合物锂离子电池,3.7V,1000mAh,37Wh。 可以看见电路板,带有热电偶,监测电池温度的。 插上充电线,用万用表测量电池两端的充电电压是4.06V。 用工具拆下螺丝,可以看到PCB板的另一面。 IP5508是集成数码管驱动的 2A 充电/2.4A 放电移动电源SOC, INJOINIC(英集芯) 的。 XB7608 是高集成度的锂电池保护芯片,集成了先进的功率管,高精度电压检测和延迟电路。 CPC-5的封装形式,并且只需要一个外围器件,非常适合用于空间有限的电池保护板用。 具有过充保护,过放保护,过流保护、短路保护和支持反接等完整的锂电池保护功能,并且具有非常小的工作电流,可以延长电池的寿命。 准确的过充电检测电压确保了安全和充分地充电。 电池包已经不能存100%的电了,最多28%了,摸起来电池表面也鼓起来挺大的,这该是退休了,拆的电路板和配线还可以保存起来使用。
  • 热度 1
    2025-5-31 14:37
    197 次阅读|
    2 个评论
    【拆解】一款带GB的喊话器专用U型电池
    这款喊话器专用U型电池的规格参数, 输入电压/频率/电流:110-240V~50/60Hz 0.2A , 输出电压/电流:12V-0.3A 证书编号:2020180807012817 执行标准:GB/T 13837-2012. GB 17625.1-2012. GB 8898-2011 交流充电口,来个特写。 输出口,来个特写。 打开后盖,可以看到电池包和PCB板。 取下PCB板,看一看连接线。 PCB板是单面板,来个特写。 从PCB板的输入到输出,了解一下使用的元件。 输入端的保险丝采用的蛇形走线来替代的,采用的是半波整流电路。 398K47 该是做DC/DC 的PWM用的。 红色线连接电池包的正极,白色线连接电池包的负极。 用万用表测量一下,输出的电压3.09V。 看一看PCB板的TOP层。 CS1N60 是 N-CHANNEL MOSFET,管子后面是反激变压器。 下面了解一下电池包的工作原理,用万用表量一下电压3.1V。 电池包的参数,18650 1500mAH 11.1V。 拆开电池包,可以看到电池保护板。 电池保护板,来个特写。 10CB N60H是驱动IC,8205A是N沟道场效应管。 用万用表量一量每一节电池的健康情况,第一节电池电压是0V。 第二节电池电压是1.22V。 电三节电池电压是3.65V。 在看一看电池的正极和负极的连接方式。 采用的单节电池,用铜片分别连接到保护板上,然后通过保护板整体输出一路电压。 这种产品电池是核心部件,电池老化了,就该换电池了,电池包用卡扣接在PCB板上,方便拆卸。 两轮电动车和新能源电车的电池包也是采用这样的组装方式,不同是电池材料的区别。 早期的特斯拉电车就是用上千节的18650电池组装成电池包,来给电车供电的。
  • 热度 31
    2010-12-30 12:16
    4142 次阅读|
    13 个评论
    前言 如 topic 所示, 这是一个很传统的知识点. 当我们的项目, 需要将 gb码转化为 Unicode 码时, 我们进行大量文章检索后, 郁闷发现, 很难找到现成的转换表文件为我们所用. 在发现一份被定义的转化表头文件后, Allen 如获珍宝, 立即将该转换表数组, 做成一个转换文件, 以节省同行进行同议题探讨的时间. 工作步骤 1. 获取gb2unicode 头文件: 因为匆忙工作, 未能记录下从哪位同仁的blog中获得, 该 gb2unicode 的码表头文件.对此这里表歉意了. 该头文件定义如下: //#typedef  unsigned short int   uint16;  #define MAX_UNI_INDEX  6768 //const uint16 GB_TO_UNI = const unsigned short int GB_TO_UNI =  {   {0x554A,0xB0A1},//GB2312:啊 {0x963F,0xB0A2},//GB2312:阿 {0x57C3,0xB0A3},//GB2312:埃 {0x6328,0xB0A4},//GB2312:挨 // ... {0x9F3D,0xF7FC},//GB2312:鼽 {0x9F3E,0xF7FD},//GB2312:鼾 {0x9F44,0xF7FE}//GB2312:齄 }; 2. 生成 gb2unicode.bin 文件: void CBuild_GBtoUnicode_fileDlg::OnButtonBuild() {  CString strPath = GetDeviceFullPath();  CString strFileName = strPath + "gb2unicode.bin";  // build file  CString sTemp;  CFile file( strFileName, CFile::modeCreate | CFile::modeWrite );  BYTE tmp ;  memset(tmp, 0, sizeof(tmp));  for(int i=0; i  tmp = GB_TO_UNI 8;   tmp = (BYTE)GB_TO_UNI ;   tmp = GB_TO_UNI 8;   tmp = (BYTE)GB_TO_UNI ;      file.Write(tmp, sizeof(tmp));  }  file.Close();  CString sMsg = "Build " + strFileName + " successed!";  AfxMessageBox(sMsg); } 3. 使用二分法基于GB码之索引查找Unicode 码  void CBuild_GBtoUnicode_fileDlg::OnButtonTrax() {  BYTE sTemp ;    memset(sTemp, 0, sizeof(sTemp));  m_editChar.GetWindowText((char*)sTemp, sizeof((char*)sTemp));  UINT len = strlen((char*)sTemp);  UINT index = 0;  BOOL flag = FALSE;  if(len == 1) {   if(sTemp 127) { flag = TRUE; }  }  else if(len == 2) {   index = (sTemp 8) + sTemp ;   if( (index0xb0a1) || (index0xf7fe) ) { flag = TRUE; }  }  else {   flag = TRUE;  }  if(flag == TRUE) {   AfxMessageBox("Please input the correct Chinese char or ascII char!");   return;  }  // do trax  CString sSource, sDirection;  // arcII char  if(len == 1) {   sSource.Format("0x%x", sTemp );   m_editSrc.SetWindowText(sSource);   sDirection.Format("0x00 0x%x", sTemp );   m_editDrt.SetWindowText(sDirection);  }  // gb char with lookup table of bin file  else if(len == 2) {   sSource.Format("0x%x 0x%x", sTemp , sTemp );   m_editSrc.SetWindowText(sSource);   // find unicode code based on gb code   CFile file;   CString strPath = GetDeviceFullPath();   CString sBinFilename = strPath + "gb2unicode.bin";   if(!file.Open(sBinFilename, CFile::modeRead)) {    AfxMessageBox("File can NOT be openned!");    return;   }   // half mothed   int low,high,mid;   low = 0; high = MAX_UNI_INDEX;   UINT gbcode_mid = 0;   BYTE tmp ;   while(low  {    mid = (low+high)/2;    file.Seek((mid2)+2, CFile::begin);    file.Read((char*)tmp, 2);    gbcode_mid = (tmp 8) + tmp ;    if( index gbcode_mid ) high--;    else if( index gbcode_mid ) low++;    else break;   }   if(lowhigh) {    AfxMessageBox("Cannot find gb char in current gb2unicode table!");    return;   }   // result   file.Seek( (mid2),  CFile::begin );   file.Read((char*)tmp, 2);      sDirection.Format("0x%x 0x%x", tmp , tmp );   m_editDrt.SetWindowText(sDirection);      file.Close();  } } 验证 使用一个测试工具, 我们验证了头尾以及中间若干GB码. 其结果与头文件之码表数组均一一匹配. 总结 在GB to UNICODE 这个传统的topic 中, 我们借助网络查询, 在接近1个工作日的时间内, 并没有找到一个合适的转换文件. 故基于一个转化数组的帮助下, 我们制作了该转换文件, 一般可用于保存在 FLASH 中, 供同行们使用 MCU 来检索对应的 UNICODE 码. 同时, 要指出因为二分法的使用, 查表的速度应符合普通应用. 我们记录工作于此 blog, 我们希望能有助于同行进行类似的工作,  不再浪费宝贵的工程时间于此传统议题上. Allen 作于深圳福田 2010.12.30
相关资源