本项目使用主控stm32f103c8t6(最小系统核心板),称重模块hx711,串口打印到电脑端显示数值。
这个传感器内部是一组半桥应变片,使用方法可以有以下三种:
1、使用一只传感器配合外接电阻组成全桥测量,量程为一个传感器的量程:50kg。对外接电阻要求较高。
2、使用二只传感器组成全桥测量,量程为两只传感器的量程之和:50kgx2=100kg
3、使用四只传感器组成全桥测量,量程为四只传感器的量程之和:50kgx4=200kg
我的称重组成是4个应变片半桥传感器串联组成一个桥路,供电后输出一组模拟电压信号。
连线: 黑线连信号正 白(黄)线连信号负 红线连 电源 。这里的V+连接E+,V-连接E-,Vout+连A+,Vout-连A-;hx711的另一边vcc接5V,gnd连gnd,SCK 和DT连自己设的引脚
桥结构图如下:
单片机称重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个重物之间的值尽量大一些,准度会稍微准一点。
程序源码和电子秤HX711AD模块资料 :
链接:https://pan.baidu.com/s/1-tT6jRfDV8SAvVVFOBH8qg
提取码:dd11
猜你喜欢
- 17天前(兰州旅游文化产业发展有限公司)甘肃省兰州市2023年乡村旅游暨A级旅游景区管理工作培训班开班
- 17天前(大理悦云雅阁酒店电话)雅阁酒店集团|端午佳节礼遇,大理悦云雅阁度假酒店
- 17天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 17天前(2020海丝之路文化博览会)2023海丝之路文化和旅游博览会开幕
- 17天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 17天前(云南滇陇工程咨询有限公司)陇滇携手谋发展 文旅合作谱新篇
- 17天前(曼谷丽思卡尔顿公寓价格)曼谷丽思卡尔顿酒店盛大启幕,开创泰国奢华雅致新纪元
- 17天前(安岚度假村及酒店推出"山海之约"目的地婚礼计划)安岚度假村及酒店推出"山海之约"目的地婚礼计划
- 17天前(岭南东方大酒店)粤西成势 | 阳江阳春长兴岭南东方酒店正式签约,粤西文旅再添明珠
- 17天前(辽宁新增6个国家4a级旅游景区有哪些)辽宁新增6个国家4A级旅游景区
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章