AD7190称重模块开发套件:原理图与STM32例程源码

版权申诉
5星 · 超过95%的资源 17 下载量 99 浏览量 更新于2024-10-24 4 收藏 86.48MB ZIP 举报
资源摘要信息:"AD7190称重模块软硬件开发资料硬件参考设计+STM32软件例程工程源码.zip" 一、AD7190称重模块基础知识 AD7190是美国Analog Devices公司生产的24位精度Σ-Δ(Sigma-Delta)型模数转换器(ADC),专用于称重传感器等高精度测量场合。它集成了可编程增益放大器(PGA),可以连接桥式传感器或其他低电压信号源。AD7190支持多种工业标准的数字接口,如SPI和I2C,便于与微处理器或微控制器连接。 二、STM32微控制器 STM32是STMicroelectronics生产的一系列32位ARM Cortex-M微控制器,广泛应用于嵌入式系统中。STM32微控制器因其高性能、低功耗和丰富的外设集而被广泛应用于各类硬件设计中。 三、硬件开发资料详细解读 1. AD7190称重模块原理图:原理图是电子电路设计的重要组成,展示了AD7190称重模块的各个组成部分和连接方式。通过原理图,工程师可以了解模块的具体电路设计、元件布局和信号流向。 2. YS-F1Pro开发板程序与YS-F4Pro开发板程序:YS-F1Pro和YS-F4Pro开发板是专门针对AD7190称重模块开发的硬件平台。这些程序提供了与AD7190模块通信的固件代码,实现对称重数据的采集、处理和显示。 3. 硬石各类功能模块使用手册.pdf:该手册详细介绍了硬石开发板的功能模块使用方法,包括AD7190模块的相关配置和编程指南。 4. 称重传感器与AD7190模块接线图.png:接线图是连接传感器和AD7190模块的直观表示,指导用户如何正确地将传感器信号线连接到模块的相应接口。 四、软件开发资源 1. YSF4_HAL系列软件包包含不同功能的程序文件,如四路单端电压采集、两路差分电压采集、称重模块的串口打印和液晶显示等。这些软件包为用户提供了多种不同的应用案例,方便用户根据自己的需求进行开发。 2. 串口屏电子秤YSF4_HAL_HMI_007:此软件包集成了串口屏电子秤的功能,可以实现数据的显示和控制,提高电子秤的交互体验。 五、芯片资料与尺寸图 1. 芯片资料提供AD7190芯片的详细技术参数和特性,为硬件设计提供了理论基础。 2. AD7190称重模块尺寸图:尺寸图帮助用户了解模块的物理尺寸和安装尺寸,确保在设计安装时可以准确放置模块。 六、库文件与代码解析 1. AD7190称重模块库文件(AD14版本):库文件是用于简化开发过程的一组预先定义的函数和方法。AD14版本的库文件为开发者提供了针对特定应用的编程接口。 2. 源码包YSF4_HAL-xxx.rar:这些压缩包包含了针对不同功能需求的源码文件,用户可以根据自己的需要进行相应的编程和修改。 七、标签总结 本资源的标签“AD7190称重模块、硬石AD7190称重模块资料、硬件参考设计、STM32软件例程工程源码、串口屏电子秤”概括了文件的主要内容和应用场景。 通过本资源的详细解读,工程师和技术人员可以获得全面的开发支持,无论是硬件电路设计、软件编程还是系统集成,都能够找到对应的参考资料和工具,从而有效地实现基于AD7190称重模块的系统开发。
2022-01-17 上传
STM32单片机读写24位ADC_AD7190称重模块带液晶显示例程DEMO源码文件,可做为你的学习设计参考。 int main(void) { uint32_t lcdid; float data_temp; int32_t weight_count; uint8_t cali_flag=0; char str[50]; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); KEY_GPIO_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ lcdid=BSP_LCD_Init(); /* 调用格式化输出函数打印输出数据 */ printf("LCD ID=0x%08X\n",lcdid); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); HAL_Delay(1000); /* 开背光 */ LCD_BK_ON(); if(AD7190_Init()==0) { printf("获取不到 AD7190 !\n"); while(1) { HAL_Delay(1000); if(AD7190_Init()) break; } } printf("检测到 AD7190 !\n"); weight_ad7190_conf(); HAL_Delay(500); weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); /* 无限循环 */ while (1) { weight_count=weight_ad7190_ReadAvg(6); data_temp=weight_count-weight_Zero_Data; weight=data_temp*1000/weight_proportion; printf("重量:0x%5X->%f\n",weight_count,weight); sprintf(str,"0x%5X",weight_count); LCD_DispString_EN(190,80,str,BLACK,RED,USE_FONT_24); sprintf(str,"%0.2fg",weight); LCD_Clear(140,100,300,64,BLACK); LCD_DispString_EN(140,100,str,BLACK,YELLOW,USE_FONT_64); HAL_Delay(100); if(KEY1_StateRead()==KEY_DOWN) // 清零 { weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); cali_flag=1; } if(KEY2_StateRead()==KEY_DOWN) // 校准:必须先按“清零”键,然后把20g砝码放在称上,按下校准键 { if(cali_flag) { weight_count = weight_ad7190_ReadAvg(6); weight_proportion=(weight_count-weight_Zero_Data)*1000/100; printf("weight_proportion:%d\n",weight_proportion); } cali_flag=0; } }