打印
[产品应用]

CW32 USB VAmeter(CW32充电检测仪-双向直通版)使用体验

[复制链接]
49|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-12-4 13:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
CW32 USB VAmeter(CW32充电检测仪-双向直通版)使用体验
产品图片:





此款产品团购自“CW32社区商城小程序”,并且按照产品规格要求购买了0.96寸TFT,拿到手后,第一时间打开购买信息中提到的资料链接。

其实第一时间是欣赏来着,怎么说呢?沉金工艺很棒,而且被大牛李工玩出了花了,电流流向清晰明了!!后面打印出3D外壳,安装后,按键手感也很不错,嘎嘣脆!

注:此款产品在立创开源平台链接为:

CW32L010充电检测仪 - 立创开源硬件平台

在资料链接中下载了最新的程序:
Docs

烧录时,遇到了问题,链接中的KEIL支持库安装有问题,向开发者大牛李工咨询后,在武汉芯源官网的固件库中下载了最新的支持库。链接如下:
https://www.whxy.com/uploads/fil ... heralLib_V1.0.2.zip

安装好后,又遇到Keil 的AC6无法编译通过的情况,再次向大牛李工咨询后,才知道目前AC6有很多兼容问题,只能使用AC5。没办法,继续下载AC5版本Keil MDK537(此版本安装过程请咨询百度),其中有一点说明:当安装完毕,配置好第5版本的编译器后,编译一直提示找不到授权路径,我按照网络教程设置环境变量也不行,重新配置编译器目录也失败了。最后恢复原状,通过右键管理员打开,成功编译!!!

到这一步,成功算是接近尾声了,满心欢喜地把珍藏多年的ST-LINKv2请出来,再拿出给予厚望的测试夹,开始了长达几十分钟的偿试接线过程,PDD几块几包邮的信号测试夹完美**,老老实实地用起了公母杜邦线,最终还是无法摆脱手动狗头的命运(用手按着插头,主要是不想焊接排针,因为后续要上外壳的)。

第一次接线上电后,提示找不到设备,我明明安装了link驱动的,再检查电脑的设备管理器,也正常识别出link设备,无法识别板子?板子坏了吗?重新安装一遍link驱动也没解决。最后静下心来仔细观察了电路图的下载接口,发现上面标明的是3V,而我接的是5V,抓紧改了过来,这里庆幸芯源的芯片支持宽电压电源,否则人为原因报废。还有另一点,手一抖,把正负极接反了,“我雷哥去!”芯片牛X。

经过前面多重磨难,终于得以取得真经!~~~本文到此结束,谢谢观看!

等~~~

显示不对,看人家的都是这个shai,我这边怎么是反的?不光是反的,而且边缘还有杂色!
取经百度、群友与大牛李工后,说是各厂家屏幕的寄存器设置不一致。解决方案有几种,而且CW32官方QQ群中也有修复后的例程下载,我这边偿试了中景园的0.96寸实例中的写法,备注如下:

/******************************************************************************
      函数说明:设置起始和结束地址(因每家寄存器设定不一样导致出现各种显示问题,本函数解决了边缘杂色的问题)
      入口数据:x1,x2 设置列的起始和结束地址
               y1,y2 设置行的起始和结束地址
      返回值:  无
******************************************************************************/
void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)
{
    if(USE_HORIZONTAL==0)
    {
        LCD_WR_REG(0x2a);//列地址设置
        LCD_WR_DATA(x1+26);
        LCD_WR_DATA(x2+26);
        LCD_WR_REG(0x2b);//行地址设置
        LCD_WR_DATA(y1+1);
        LCD_WR_DATA(y2+1);
        LCD_WR_REG(0x2c);//储存器写
    }
    else if(USE_HORIZONTAL==1)
    {
        LCD_WR_REG(0x2a);//列地址设置
        LCD_WR_DATA(x1+26);
        LCD_WR_DATA(x2+26);
        LCD_WR_REG(0x2b);//行地址设置
        LCD_WR_DATA(y1+1);
        LCD_WR_DATA(y2+1);
        LCD_WR_REG(0x2c);//储存器写
    }
    else if(USE_HORIZONTAL==2)
    {
        LCD_WR_REG(0x2a);//列地址设置
        LCD_WR_DATA(x1+1);
        LCD_WR_DATA(x2+1);
        LCD_WR_REG(0x2b);//行地址设置
        LCD_WR_DATA(y1+26);
        LCD_WR_DATA(y2+26);
        LCD_WR_REG(0x2c);//储存器写
    }
    else
    {
        LCD_WR_REG(0x2a);//列地址设置
        LCD_WR_DATA(x1+1);
        LCD_WR_DATA(x2+1);
        LCD_WR_REG(0x2b);//行地址设置
        LCD_WR_DATA(y1+26);
        LCD_WR_DATA(y2+26);
        LCD_WR_REG(0x2c);//储存器写
    }
}

void LCD_Init(void)
{
        long i;
       
        LCD_GPIO_Init();//初始化GPIO
       
        LCD_RES_Clr();//复位
         for(i=0;i<10000;i++);
        LCD_RES_Set();
         for(i=0;i<10000;i++);
       
        LCD_BLK_Set();//打开背光
   for(i=0;i<10000;i++);
       
        LCD_WR_REG(0x11); //Sleep exit
        for(i=0;i<200000;i++);   //Delay 120ms
        LCD_WR_REG(0xB1);  //Normal mode   
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x3C);   
        LCD_WR_DATA8(0x3C);   

        LCD_WR_REG(0xB2);  //Idle mode
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x3C);   
        LCD_WR_DATA8(0x3C);   

        LCD_WR_REG(0xB3);  //Partial mode   
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x3C);   
        LCD_WR_DATA8(0x3C);   
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x3C);   
        LCD_WR_DATA8(0x3C);   

        LCD_WR_REG(0xB4); //Dot inversion
        LCD_WR_DATA8(0x03);   

        LCD_WR_REG(0xC0);  //AVDD GVDD   
        LCD_WR_DATA8(0x0E);   
        LCD_WR_DATA8(0x0E);  
        LCD_WR_DATA8(0x04);   

        LCD_WR_REG(0xC1);  //VGH VGL   
        LCD_WR_DATA8(0xC5); //C0  

        LCD_WR_REG(0xC2); //Normal Mode   
        LCD_WR_DATA8(0x0d);   
        LCD_WR_DATA8(0x00);   

        LCD_WR_REG(0xC3);  //Idle   
        LCD_WR_DATA8(0x8D);   
        LCD_WR_DATA8(0x2A);   

        LCD_WR_REG(0xC4);  //Partial+Full   
        LCD_WR_DATA8(0x8D);   
        LCD_WR_DATA8(0xEE);   

        LCD_WR_REG(0xC5);     //VCOM
        LCD_WR_DATA8(0x06); //1D  .06


        LCD_WR_REG(0x36);     //MX, MY, RGB mode
        if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x08);
        else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC8);
        else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x78);
        else LCD_WR_DATA8(0xA8);  

        LCD_WR_REG(0x3A);
        LCD_WR_DATA8(0x55);
               
        LCD_WR_REG(0xE0); //positive gamma   
        LCD_WR_DATA8(0x0b);   
        LCD_WR_DATA8(0x17);   
        LCD_WR_DATA8(0x0a);   
        LCD_WR_DATA8(0x0d);   
        LCD_WR_DATA8(0x1a);   
        LCD_WR_DATA8(0x19);   
        LCD_WR_DATA8(0x16);   
        LCD_WR_DATA8(0x1d);   
        LCD_WR_DATA8(0x21);   
        LCD_WR_DATA8(0x26);   
        LCD_WR_DATA8(0x37);   
        LCD_WR_DATA8(0x3c);   
        LCD_WR_DATA8(0x00);   
        LCD_WR_DATA8(0x09);   
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x10);   

        LCD_WR_REG(0xE1);   //negative gamma  
        LCD_WR_DATA8(0x0c);   
        LCD_WR_DATA8(0x19);   
        LCD_WR_DATA8(0x09);   
        LCD_WR_DATA8(0x0d);   
        LCD_WR_DATA8(0x1b);   
        LCD_WR_DATA8(0x19);   
        LCD_WR_DATA8(0x15);   
        LCD_WR_DATA8(0x1d);   
        LCD_WR_DATA8(0x21);   
        LCD_WR_DATA8(0x26);   
        LCD_WR_DATA8(0x39);   
        LCD_WR_DATA8(0x3E);   
        LCD_WR_DATA8(0x00);   
        LCD_WR_DATA8(0x09);   
        LCD_WR_DATA8(0x05);   
        LCD_WR_DATA8(0x10);   
       
        LCD_WR_REG(0x21);     //Display inversion
    //delay1ms (120);
    for(i=0;i<200000;i++);
        LCD_WR_REG(0x29);     //Display on
}

电路原理图如下:



从图中可以看出,TypeC公头与母座是直通的,INA199A支持双向检测电流,所以在电压范围:DC5V~24V、电流范围:0~5A内是可以随便正反插拔的。

此款产品,如今已稳定运行若干天,内置的板子温度测量值在30左右,已测试过65W氮化镓快充,也偿试了带有EMARK的线,结果有些失望,板子黑屏无显示,看板子线路原理图,只接了DP、DN,EMark线估计走了其它协议进行检测)。

详细的故障解决方案都收录在本产品的资料合集中:

Docs

好了,感谢各位~~~ 另外,友情提示一下,这个绿色外壳在公头处尺寸偏小,需要双双割掉一层皮才可以。要么在打印前调整下开口尺寸。



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/wdf2gy/article/details/143859448

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1981

主题

15794

帖子

12

粉丝