stm32+hx711+称重传感器

这篇具有很好参考价值的文章主要介绍了stm32+hx711+称重传感器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本项目使用主控stm32f103c8t6(最小系统核心板),称重模块hx711,串口打印到电脑端显示数值。

 

hx711,stm32,嵌入式硬件,单片机

hx711,stm32,嵌入式硬件,单片机

这个传感器内部是一组半桥应变片,使用方法可以有以下三种:

1、使用一只传感器配合外接电阻组成全桥测量,量程为一个传感器的量程:50kg。对外接电阻要求较高。

2、使用二只传感器组成全桥测量,量程为两只传感器的量程之和:50kgx2=100kg

3、使用四只传感器组成全桥测量,量程为四只传感器的量程之和:50kgx4=200kg

我的称重组成是4个应变片半桥传感器串联组成一个桥路,供电后输出一组模拟电压信号。

连线: 黑线连信号正    白(黄)线连信号负   红线连 电源 。这里的V+连接E+,V-连接E-,Vout+连A+,Vout-连A-;hx711的另一边vcc接5V,gnd连gnd,SCK 和DT连自己设的引脚

桥结构图如下:

hx711,stm32,嵌入式硬件,单片机

 hx711,stm32,嵌入式硬件,单片机

单片机称重AD模块-HX711

       这个模块采用24位高精度的A/D转换器芯片hx711,是一款专为高精度电子称而设计的,具有两路模拟通道输入,内部集成128倍增益可编程放大器。输入电路可配置为提供桥压的电桥式(如压力、称重)传感器模式,是一款理想的高精度、低成本采样前端模块

代码:

void Init_HX711pin(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

    //HX711_SCK
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;          //端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   //推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //IO口速度为50MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);             //根据设定参数初始化GPIOC

    //HX711_DOUT
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;      //输入上拉
    GPIO_Init(GPIOB, & GPIO_InitStructure);

    //GPIO_SetBits(GPIOB, GPIO_Pin_1);   //初始化设置为0
}

u32 HX711_Read(void)                   //增益128
{
    u32 count;
    u8 i;
    HX711_DOUT = 1;
    delay_us(1);
    HX711_SCK = 0;
    count = 0;
    while (HX711_DOUT);
    for (i = 0; i < 24; i++)
    {
        HX711_SCK = 1;
        count = count << 1;
        delay_us(1);
        HX711_SCK = 0;
        if (HX711_DOUT)
            count++;
        delay_us(1);
    }
    HX711_SCK = 1;
    count=count^0x800000;//第25个脉冲下降沿来时,转换数据
    delay_us(1);
    HX711_SCK = 0;
    return(count);
}


void Get_Maopi(void)
{
	Weight_Maopi = HX711_Read();	
} 


//****************************************************
//称重
//****************************************************
void Get_Weight(void)
{
	HX711_Buffer = HX711_Read();
	if(HX711_Buffer > Weight_Maopi)			
	{
		Weight_Shiwu = HX711_Buffer;
		Weight_Shiwu = Weight_Shiwu - Weight_Maopi;				//获取实物的AD采样数值。
		printf("实物ad值是:%d\r\n",Weight_Shiwu);
	
		Weight_Shiwu = (s32)((float)Weight_Shiwu/GapValue-0.0383); 	//计算实物的实际重量
																		//因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的GapValue这个除数。
																		//当发现测试出来的重量偏大时,增加该数值。
																		//如果测试出来的重量偏小时,减小改数值。
	}
}
int main(void)
{	
  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  /* 初始化RGB彩灯 */
  LED_GPIO_Config();
	delay_init();
  
  /* 初始化USART 配置模式为 115200 8-N-1 */
  USART_Config();
	Init_HX711pin();               //HX711初始化
	Get_Maopi();
	delay_ms(1000);
	Get_Maopi();
	printf("皮毛值是:%d\r\n",Weight_Maopi);
  while(1)
	{	
		LED0 =~LED0; 
		 Get_Weight();
		delay_ms(4000);
		weight=(float)Weight_Shiwu/1000;
		printf("重量值是:%0.3fkg\r\n",weight);
		printf("ad值是:%d\r\n",Weight_Shiwu);
		 
	}	
}

 代码中GapValue要自己根据传感器值的不同来调试,我是用一个5kg和一个20kg的重物来测的,因为ad值的重物的重量是有着线性关系的,相当于解一个二元一次方程组,提供二元一次方程计算器。    2个重物之间的值尽量大一些,准度会稍微准一点。hx711,stm32,嵌入式硬件,单片机

 程序源码和电子秤HX711AD模块资料 :

链接:https://pan.baidu.com/s/1-tT6jRfDV8SAvVVFOBH8qg 
提取码:dd11文章来源地址https://www.toymoban.com/news/detail-721472.html

到了这里,关于stm32+hx711+称重传感器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32读取HX711压力传感器芯片数据

    目录 一、HX711压力传感器芯片介绍 1.1 HX711芯片介绍 1.2 芯片管脚与描述 1.3 芯片特点 二、测量原理 2.1 芯片原理图 2.2 压力传感器输出电压值 2.3 芯片原理概述 2.4 数据输出,输入通道和增益选择时序图 2.5 程序计算原理 2.5.1 如何计算传感器供电电压?  2.5.2 如何将 AD 值反向转

    2024年04月16日
    浏览(45)
  • 电子模块|压力传感器模块HX711---硬件介绍与C51&&STM32驱动

    HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性

    2024年02月14日
    浏览(62)
  • HX711压力传感器(基于STM32F103C8T6)

    HX711模块是我们目前比较常见的压力传感器模块,主要的作用是用来做压力检测,重量监测等等。博主的这篇博文主要实现功能为,在对重量或者压力进行监测的同时,可以累加或者清零数值,在此基础上就可以对比如饮水量进行统计等等。 HX711模块是市面上比较常见的模块

    2024年02月11日
    浏览(58)
  • 嵌入式 STM32 SHT31温湿度传感器

    目录 简介 1、原理图  2、时序说明  数据传输 起始信号  结束信号  3、SHT31读写数据  SHT31指令集 读数据  温湿度转换 4、温湿度转换应用  sht3x初始化 读取温湿度  什么是SHT31?  一主机多从机--通过寻址的方式--每个从机都有唯一的地址(器件地址0x44+引脚地址)1 + 读写位

    2024年02月01日
    浏览(68)
  • 电子模块|压力传感器模块HX711---硬件介绍

    HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性

    2024年02月07日
    浏览(45)
  • Hx711称重模块+STM32+CubeMX

    提示:以下是本篇文章正文内容,下面案例可供参考 传感器连接hx711,hx711连接STM32,如下图所示 1)数据线DT设置为Input 2)时钟线SCK设置为Output 打开串口并选择中断,其他配置保持不变 注:根据官方给出的程序写ReadCount,红色框程序要稍微改一下。将ADSK=1;与ADSK=0;看作一个数

    2024年02月01日
    浏览(40)
  • 【hx717称重传感器采集芯片】双输入通道高精度 24 位模/数(A/D)转换器芯片(附芯片手册)

    以下是官方文档的简介 HX717A/B 采用了海芯科技专利技术,是一款专为高精度电子计量仪表而设计的 24 位 A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优

    2024年02月17日
    浏览(64)
  • K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示

    单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M HX711称重模块 STC89C52RC驱动HX711称重模块 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M HX711称重模块 STM32F103C8T6驱动HX711称重模块参数 串口与OLED0.96双显示 其他资料目录 直戳跳转 HX711参数 1.两路可选择差分输入

    2023年04月27日
    浏览(68)
  • 【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第3章 温度传感器DS18B20

    DS18B20 是 DALLAS 最新单线数字温度传感器,新的\\\"一线器件\\\"体积更小、适用电压更宽、更经济。Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 \\\"一线总线\\\"接口的温度传感器。 DS18B20采用的单总线协议,也就是只需占用主机一个I/O口,无需其他外围电路,直接将

    2024年02月21日
    浏览(49)
  • IoT物联网嵌入式设备中30种常见传感器模块简介及原理讲解

    人们为了从外界获取信息,必须借助于感觉器官。而单靠人们自身的感觉器官,在研究自然现象和规律以及生产活动中它们的功能就远远不够了。为适应这种情况,就需要传感器。因此可以说,传感器是人类五官的延长,又称之为电五官。 在现代工业生产尤其是自动化生产过

    2023年04月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包