精华内容
下载资源
问答
  • 2022-01-18 22:27:40

    HX710芯片最大的坑是差分信号的输入阈值,不要只看到Vinp-Vinn,要看差模电压输入的范围,是AGND+0.9~AVDD-1.3,这个奇葩设定是真的火,由于电压域的问题,datasheet没有明确写支持3.3V信号,为了兼容3.3V的信号在设计的时候使用的AVDD=VDD=3.3V,而压力传感器的电压为了获得更高的输出范围使用了5V,这样导致电桥的输出为2.5±10mV,因此超过了3.3-1.3=2V,是无法获取到正确的压力值的。注意下这个问题,但是在使用外部电源直接输入差分电压时,我使用2个独立电源一个供电,一个输入1mV的电源电压是可以准确读取的,这个是什么原因?

    更多相关内容
  • 1.由于世面上面普及HX711,单HX720有更大的优势!

    1.由于世面上面普及HX711,单HX720有更大的优势!

     

    2.驱动源码

    //管脚定义
    #define HX720_RCC	RCC_APB2Periph_GPIOB	 //HX720时钟引脚
    #define HX720CLK_Port	GPIOB			//HX720时钟引脚
    #define HX720CLK_Pin	GPIO_Pin_15	        //HX720时钟引脚
    #define HX720_RCC	RCC_APB2Periph_GPIOB	//HX720数据引脚
    #define HX720Read_Port	GPIOB			//HX720数据引脚
    #define HX720Read_Pin	GPIO_Pin_14	        //HX720数据引脚
    //定义
    #define HX720_CLK_H()   (GPIO_SetBits(HX720CLK_Port,HX720CLK_Pin)) //时钟线置高电平
    #define HX720_CLK_L()   (GPIO_ResetBits(HX720CLK_Port,HX720CLK_Pin))//时钟线置低电平
    #define GetDataPinState()  (GPIO_ReadInputDataBit(HX720Read_Port,HX720Read_Pin))//获取引脚状态
    
    //管脚初始化
    // 称引脚初始化
    void BalancePortInit(void)
    {
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(HX720_RCC, ENABLE);
    
        GPIO_InitStructure.GPIO_Pin = HX720CLK_Pin;	//时钟		     
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(HX720CLK_Port, &GPIO_InitStructure);
    	
        GPIO_InitStructure.GPIO_Pin = HX720Read_Pin;//数据
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(HX720Read_Port, &GPIO_InitStructure);
    }
    
    //机器周期延时 __NOP(); 1个us
    void DelayHX720us()
    {
      __NOP();
      __NOP();
    }
    
    //获取HX720数据
    uint32_t GetHX720Data(void)
    { 
        volatile uint32_t Count= 0;
        uint8_t i;
        HX720_CLK_L(); //使能AD(SCK置低)
        Count=0;
        while(GetDataPinState()); //AD转换未结束则等待。否则开始读取
        for (i=0;i<24;i++)
        {
            HX720_CLK_H();  //SCK 置高(脉冲)
    	//DelayHX720us();
            Count=Count<<1; //下降沿来时变量Count左移一位,右侧补
    	HX720_CLK_L();  //PD_SCK 置低
    	//DelayHX720us();
    	if(GetDataPinState()) Count++;//最右侧补1
        }
        //测量128增益 10HZ
        HX720_CLK_H();
        Count = Count^0x800000;//第25个脉冲下降沿来时,转换数据 异或
        //Count = Count & 0x7FFFFF; //恢复
        //DelayHX720us();
        HX720_CLK_L();
        //DelayHX720us();
    
        //测量VBAT-VOUT
        HX720_CLK_H();
        //DelayHX720us();
        HX720_CLK_L();
        //DelayHX720us();
    
        //128增益 40HZ	
        HX720_CLK_H();
        //DelayHX720us();
        HX720_CLK_L();
        //DelayHX720us();
        return(Count);//输出的数据是带符号的输出,处理数据的时候需要把符号去掉
    }

    3.数据分析

    • 数据手册写 输出数据在0x800000 - 7FFFFF之间。

    • 这个数据大家很迷惑估计,上面说的是 是以二进制补码的方式输出的
    • 0x800000 BIT=‭1000 0000 0000 0000 0000 0000‬  (24位)
    • 0x7FFFFF BIT=‭‭011111111111111111111111‬  (24位)
    • 那下面看下 补码的定义:计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理,符号位都是用0表示“正”,用1表示“负”
    • 这样就不难理解了,0x800000 最高位代表负数,这样 会出现1111 1111 1111 1111 1111 1111 - 7FFFFF 到 + 7FFFFF,这就出现一个问题 最小不是 0X800000,而是 带符号的 FFFFFF。这是我对数据的理解
    • 有个Blog也有讲数据分析的  传送门 可以看一下
    • 这样数据如果 异或  ^0x800000   (相同为0 相异为1)  这样数据就会从 0x000000 ---  FFFFFF;
    • 数据这样分析就应该理解了

    4.数据的处理

    • 由于 数据 ^0x800000,这样处理数据的时候最高位 就要小心处理,避免过零点,如果 INP<INN,这样数据是相反的,具体

    •  因此想数据直接转换为 采集的电压就必须注意这一点,如果 INP > INN 简单的去掉符号位,保留有效位就得到实际值了;反之就要去掉符号位,拿7FFFFF去减有效位,得到的是实际值

    5.数据的计算方式

    • 看手册是增益128  手册分辨率24bit,实际无噪声是 16bit,不过算的话还是 24bit。如果采集的数据小的话 这样可以用 16bi以下的数据就可以了,数据会准确很多吧
    • 理论精度:TheoreticalAccuracy = \frac{Vref}{2^{^{24}}}
    • 计算方式:
    • 例 :INP - INN = 2Mv  (Vref单位也是Mv)
    • ActualValue = \frac{2Mv \times {\color{Magenta} 128} \times {\color{DarkRed} 2^{^{24}}}}{​{\color{Green} Vref}}{\color{Magenta} }

    6.测量的数据转化为温度,误差还是可以接受的

    展开全文
  • STM32压力传感器信号采集-24位AD HX720 HX711 原理介绍

    万次阅读 多人点赞 2019-09-12 20:42:25
    我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,...最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,...

    我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的问题,替代了很多进口产品。

    最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,AD新能不一定能达到,参考源选的指标低了不能实现想要的精度。

    HX720内部带有128倍放大器,这也是专为压力传感器输出小信号设计的,降低了成本,提高了性能和可靠性。芯片内部带有振荡器,内部带有50Hz、60Hz滤波器,宽温度范围 -40~+85℃,8脚封装。缺点是输出速率比较低,10Hz、40Hz,对于很多应用也是可以的。精度和进口芯片也小有差距。

    典型设计如下:

    电气参数如下:

    厂家给出原理图和PCB供大家参考

    基于这些资料,设计了STM32控制HX720的压力采集模块。下面分别说下各部分功能。完整图纸如下:

    电源部分,供电来自USB的5V,考虑到HX720的稳定性,没有采用HX720输出的3.3V为单片机和其他部分电路供电。而是单独加了LM1117稳压芯片为处理AD以外电路供电。

    USB接口除了供电以外,还设计了CH340做USB转UART,方便和PC通信。CH340是江苏沁恒股份有限公司的芯片,这家公司出了很多好用的芯片,我还经常用他家USB、以太网、数码管驱动等芯片。

    AD部分,依照参考设计,AD芯片和传感器之间可以选用4线接线方式,也可以用6线接线方式,可以做实验对比。

    单片机部分,很多demo都有51做主控,现在很少有产品用51了,所以这样的demo不实用。我选用了比较流行的STM32,方便扩展其他功能。

     

    这两排是扩展的端子

    数码管部分,我直接用单片机的IO口驱动的数码管,现在单片机端口足够多,驱动能力也够强。

     

    按键部分没有加滤波消抖电路,最终还是要加软件滤波消抖。

    LED部分要加限流电阻,电流计算方式是 单片机电压减去二极管结电压再除以电阻值,有一点要注意,不同颜色的发光二极管结电压不一样。通常红色为1.6V左右,绿色有2V和3V两种,黄色和橙色约为2.2V,蓝色为3.2V左右。对于常用的几毫米大小的二极管,其工作电流一般在2毫安至20毫安之间,电流越大亮度越高。

     

    PCB如下

    实物如下

     

     

    展开全文
  • 我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,...最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,...

    我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的问题,替代了很多进口产品。

    最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,AD新能不一定能达到,参考源选的指标低了不能实现想要的精度。

    HX720内部带有128倍放大器,这也是专为压力传感器输出小信号设计的,降低了成本,提高了性能和可靠性。芯片内部带有振荡器,内部带有50Hz、60Hz滤波器,宽温度范围 -40~+85℃,8脚封装。缺点是输出速率比较低,10Hz、40Hz,对于很多应用也是可以的。精度和进口芯片也小有差距。

    实现单片机数据采集/传输/显示,使用C#编写上位机显示及标定功能。

    原理图如下

    PCB如下

    实物如下

    上位机如下

     

    展开全文
  • HX8394-F_DS_v01.09_170223

    2018-06-08 14:48:39
    HX8394-F_DS_v01.09_170223,调试手册!!!!!!!!!!!!!!!!!!!!!!!!!!
  • HX8394-F_DS_Temporary_V01.06

    2018-03-08 09:44:06
    lcd 液晶驱动datasheet,分辨率为1280*720 HD HX8394-F_DS_Temporary_V01.06 最新
  • HX8394F液晶驱动IC

    热门讨论 2015-09-06 09:32:39
    lcd 液晶驱动datasheet,分辨率为1280*720 HD,奇景公司的。 主要用手机显示屏的液晶驱动
  • HX82405SP新版.pdf

    2020-12-22 11:30:56
    千兆 POE+ 720MA 工业级 宽温 网络变压器 通普思H6072NL H6096NL网络变压器
  • 奥视安云台网络监控摄像头刷机包GK7102HX_V9.1.6.1.24-20170925(720P.云台机.b112.7601.newp2p.声波.客户升级版本).pkg
  • LINK-PP LP5006ANL对应HQST HX82407S 工业级千兆网络变压器 产品规格 ———————————————————————————————————— hqst型号:HX82407SP 对应型号:PULSE HX5004ANL TRC5006ANLLP...
  • 云雀361打印共享软件是一款长久的打印机一键共享软件,可以让你快速方便的共享打印机。功能介绍:1.打印共享设置简便,规避xp,win7,win8之间共享打印机的繁琐操作2.可以远程共享
  • 高通平台点亮屏幕调试

    千次阅读 2020-03-31 14:40:17
    */ static struct panel_list supp_panels[] = { + {"st7703_720p_video", ST7703_720P_VIDEO_PANEL}, {"ili9881d_720p_video", ILI9881D_720P_VIDEO_PANEL}, {"hx8394f_720p_video", HX8394F_720P_VIDEO_PANEL}, {...
  • SC1023 中文数据手册

    2017-11-17 10:08:27
    支持最大输出:1280HX720V@60fps 应用于 汽车,安防,工业相机 等。
  • MTK平台的LCM驱动移植

    2020-07-25 10:58:41
    1.将新LCM的驱动文件 xxxx_hd720_dsi_vdo 文件夹放在kernel-3.18\drivers\misc\mediatek\lcm下 驱动文件的命名格式为:型号_分辨率_MIPI接口_ 接口下SYNC模式 1)MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口)、...
  • dsi_hx8394f_720p_video: qcom,mdss_dsi_hx8394f_720p_video { qcom,mdss-dsi-panel-name = "hx8394f 720p video mode dsi panel"; qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; //指定此面板将...
  • //比如2个lane,但大分辨率如720*1280,需要4lane uint8_tdsi_lanemap; uint8_tlane0_state; uint8_tlane1_state; uint8_tlane2_state; uint8_tlane3_state; }; 这里可看出只支持到4lane,支持的lane对应的state为1...
  • mtk平台LCD驱动调试经验总结

    千次阅读 2020-10-16 17:46:18
    以mtk6737平台hx8363a的wvga屏举例说明 目录: 1、前期准备 2、开始移植LK部分 3、移植Kernel驱动部分 4、遇到一些问题的处理方法 5、附录1-查看系统运行过程中当前函数被哪些函数调用的方法 6、附录2-开机过程lcm...
  • 无线路由刷机失败修复办法与方案....................
  • 1. 打开服务 CMD 命令 services.msc 关闭 Hyper-v 相关服务 2 打开 策略 CMD 命令 gpedit.msc 计算机配置-模板-系统-Device Guard - 打开虚拟化安全 - 选择 已禁用 3 在任务栏搜索框 中 搜索 “启用或关闭...
  • 我做过很多工业用压力采集产品,用过很多高分辨率的ad芯片...最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,AD...
  • 对于等角的全景图,它必须是单个字符串(我文章使用的就是720°全景图); 对于立方体贴图,它必须是数组或对象(对应六个面)。 // Equirectangular panorama : panorama: 'path/to/panorama.jpg' // Cubemap as ...
  • 那么我们配置定时器记一个数的时间位0.01ms,0.01ms对应的是100kHz,定时器的分频系数 = 72M/100K = 720。这个时候我们定时器计数只要超过40ms/0.01ms = 4000即可,这里作者设置为5000。当然了,定时器中断就不需要...
  • linux qcom LCD framwork

    千次阅读 2018-06-26 14:39:03
    关键字MDSS : Multimedia Display sub system DSI: Display Serial Interfaceqcom,mdss-dsi-force-clock-lane-hs; // faulse :clock每帧回lp11 ture: clock不回 qcom,mdss-dsi-hfp-power-mode;...
  • int height = 720; int framerate = 20; int bitrate = 2500000; byte[] h264 = new byte[width*height*3/2];@Overrideprotected void onCreate(Bundle savedInstanceState) {StrictMode.setThreadPolicy(new ...
  • def get_sign(Pm): #这里是加密需要的字段 arg0 = Pm['appKey'] arg1 = Pm['utdid'] + "&" arg1 = arg1 + Pm['uid']+ "&" arg1 = arg1 + Pm['reqbiz-ext']+ "&" arg1 = arg1 + Pm['appKey']+ "&...
  • Android LCM(一)之LK_LCM点亮流程

    千次阅读 2019-05-21 11:44:16
    一. 入口 aboot_init() bootloader中的LCM 最开始是在 bootloader/lk/app/aboot/aboot.c 文件 aboot_init 函数中调用的. 和屏相关的工作为: void aboot_init(const struct app_descriptor *app) ...
  • RK平台mipi屏初始化序列配置

    千次阅读 2020-03-21 14:19:55
    RK平台mipi屏初始化序列都是在dts中进行配置,有两种方式,下面分别介绍两种方式的配置方法。 方式一 RK平台较老的SDK采用下面方式配置mipi参数,如:RK3128 5.1 SDK中就是采用的下面方式。 ...
  • 【Android驱动】高通LCD代码理解

    千次阅读 2020-04-23 17:09:13
    事出有因,哈哈 对屏配置文件内ILI9881D_720P_VIDEO_SIGNATURE的... 屏幕hx8394f LOG: signature = 0xa0087 屏幕ili9881d: signature = 0x210000 这个地方比较两次,对应软件里的#define DISPLAY_MAX_PANEL_DETECTION 2
  • A/A*算法解决八数码问题(C++实现)

    千次阅读 2020-01-17 20:44:50
    //hx为该节点到达目的节点的接近程度估计值 const Node * ptr1 = & s1 ; const Node * ptr2 = & s2 ; int Node [ 3 ] [ 3 ] = { { 1 , 2 , 3 } , { 8 , 0 , 4 } , { 7 , 6 , 5 } } ; ...
  • //panel_id= HX8389BG_QHD_VIDEO_PANEL; //panel_id= OTM9605A_QHD_CB03_VIDEO_PANEL; panel_id= ILI9806E_WVGA_VIDEO_PANEL; //kandi add at 2015.11.26 //panel_id= NT35512_FWVGA_VIDEO_PANEL; break; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 541
精华内容 216
关键字:

HX720