0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于STM32F103xC/STM32F103xD/STM32F103xE+HX711的电子秤设计方案

基于STM32F103xC/STM32F103xD/STM32F103xE+HX711的电子秤设计方案

来源: elecfans
2021-08-18
类别:工业控制
eye 16
文章创建人 拍明

原标题:基于STM32F103xC/STM32F103xD/STM32F103xE+HX711的电子秤设计方案

  什么是电子秤

  电子秤(英文名:electronic balance)是衡器的一种,是利用胡克定律或力的杠杆平衡原理测定物体质量的工具。按结构原理可分为机械秤、电子秤、机电结合秤三大类。

  电子秤主要由承重系统(如秤盘、秤体)、传力转换系统(如杠杆传力系统、传感器)和示值系统(如刻度盘、电子显示仪表)3部分组成。

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  基于STM32的多功能电子秤设计

  题目要求:

  1、基本部分:

  (1)能用键盘设置单价,称重后能同时显示重量、单价和总额;电子计价秤:最大称重为10.000公斤,重量误差不大于±0.1%;

  (2)具有TFT液晶屏显示,显示重量、单价、总额等信息。

  a、重量显示为5位数码,单位为公斤,最大重量显示值为99.999公斤;

  b、单价金额显示为5位数码,单位为元,最大单价金额显示值值为999.99元;

  c、总价金额显示为6位数码,单位为元,最大总价金额显示值值为9999.99元, 总价金额误差不大于0.01元;

  (3)具有去皮功能和总额累加计算功能;

  (4)能预存10种商品的单价;可以随意调出使用

  (5)测量并显示环境温度,温度测量误差不大于1℃;

  (6)称量0-10kg称重;

  (7)语音播报测量结果

  2、发挥部分:

  (1)具有实时时钟显示并具有掉电保护,可显示日历时钟(年、月、日、时、分、秒);

  (2)扩展高精度A/D转换器,提高电子计价秤测量精度,测量误差不大于±0.01%;

  (3)能预存10种商品的名称(或代号)和商品的单价;

  单元模块设计:

  1、主控芯片模块

  2、TFT液晶屏模块

  3、称重模块

  4、语音播报模块

  5、24bitAD HX711转换模块

  6、软件部分

  模块介绍:

  1、主控芯片模块

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  在该制作中,我们采用了STM32为主控芯片,主要是考虑到HX711是24bit的AD,运算量大,且我们的制作还加设了TFT彩色液晶模块,语音播报模块等的外设,普通的MCU的刷屏和运算速度是不够的,所以我选择了STM32作为主控芯片。下面是关于芯片的主要介绍:STM32F103xC 、STM32F103xD 和STM32F103xE 增强型系列使用高性能的ARM® Cortex™-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器( 高达512K字节的闪存和64K 字节的SRAM),丰富的增强I/O 端口和联接到两条APB总线的外设。所有型号的器件都包含3个12位的ADC、4个通用16位定时器和2 个PWM定时器,还包含标准和先进的通信接口:多达2 个I2C 接口、3 个SPI接口、2个I2S 接口、1个SDIO接口、5个USART接口、一个USB接口和一个CAN接口。

  2、TFT彩色液晶模块

  TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。该模块有如下特点:

  1、320&TImes;240的分辨率。

  2、16位真彩显示。

  3、自带触摸屏,可以用来作为控制输入。

  4、通用的接口,除了ALIENTEK MiniSTM32开发板,该液晶模块还可以使用在优异特、 STMSKY、红牛等开发板上。

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  这里在硬件上,TFTLCD模块与IO口对应关系如下:

  LCD_LED对应PC10;

  LCD_CS对应PC9;

  LCD _RS对应PC8;

  LCD _WR对应PC7;

  LCD _RD对应PC6;

  LCD _D[17:1]对应PB[15:0];

  TFTLCD显示需要的相关设置步骤如下:

  1) 设置STM32与TFTLCD模块相连接的IO。

  这一步,先将我们与TFTLCD模块相连的IO口设置为输出,具体使用哪些IO口,这里需要根据连接电路以及TFTLCD模块的设置来确定。

  2) 初始化TFTLCD模块。

  其实这里就是上和上面OLED模块的初始化过程差不多。通过向TFTLCD写入一系列的设置,来启动TFTLCD的显示。为后续显示字符和数字做准备。

  3) 通过函数将字符和数字显示到TFTLCD模块上。

  触控部分:

  电阻式触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。 当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。

  电阻屏的特点有:

  1)是一种对外界完全隔离的工作环境,不怕灰尘、水汽和油污。

  2)可以用任何物体来触摸,可以用来写字画画,这是它们比较大的优势。

  3)电阻触摸屏的精度只取决于A/D转换的精度,因此都能轻松达到4096*4096。

  3、称重模块

  满量程输出电压=激励电压x灵敏度2.0mv/v

  例如:供电电压是5v乘以灵敏度2.0mv/v=满量程10mv

  接线:红线输入电压+,黑线输入电压-,绿线输出信号+,白线输出信号- 安装方式:悬臂梁安装方式

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  4、语音播报模块

  WT588D 语音芯片是一款功能强大的可重复擦除烧写的语音单片机芯片。WT588D 让语音芯片不再为控制方式而寻找合适的外围单片机电路,高度集成的单片机技术足于取代复杂的外围控制电路。配套 WT588D VoiceChip 上位机操作软件可随意更换 WT588D语音单片机芯片的任何一种控制模式,把信息下载到 SPI-Flash 上即可。软件操作方式简洁易懂,撮合了语音组合技术,大大减少了语音编辑的时间。完全支持在线下载,即便是 WT588D 通电的情况下,一样可以通过下载器给关联的 SPI-Flash 下载信息,给 WT588D语音芯片电路复位一下,就能更新到刚下载进来的控制模式

  本作品的语音播报模块使用了一线串口控制模式,可通过发码端控制语音播放、停止、循环播放和音量大小,或者直接触发 0~219 地址位的任意语音,发码速度 600us~2000us; 有两种输出方式:PWM 和 DAC ,PWM 输出可直接推动 0.5W/8Ω的扬声器,DAC 输出外接功放,音质好。由于本作品对音质没有过高要求,所以使用PWM输出方式。

  使用WT588D语音播报模块时需要使用语音合成软件合成语音,然后通过Voice_Chip_V-B软件将语音对应特定地址编译成bin文件下载进WT588D模块中。

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  5、24bitAD HX711转换模块

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

  该芯片与后端 MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道 A 或通道 B,与其内部的低噪声可编程放大器相连。通道 A 的可编程增益为 128 或 64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道 B 则为固定的 64 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的 A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。 特点:

  • 两路可选择差分输入

  • 片内低噪声可编程放大器,可选增益为 64 和128

  • 片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源

  • 片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟

  • 上电自动复位电路

  • 简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程

  • 可选择 10Hz 或 80Hz 的输出数据速率 • 同步抑制 50Hz 和 60Hz 的电源干扰

  • 耗电量(含稳压电源电路): 典型工作电流:《 1.7mA, 断电电流:《 1µA • 工作电压范围:2.6~ 5.5V

  • 工作温度范围:-20~ +85℃ • 16 管脚的 SOP-16 封装

  

基于stm32的电子秤方案大全(多款stm32的电子秤设计方案)


  6、软件部分 TFT驱动部分:

  void LCD_WR_REG(u8 data) 写寄存器函数

  u16 LCD_ReadReg(u8 LCD_Reg) 读寄存器

  void LCD_WriteRAM_Prepare(void) 开始写GRAM

  u16 LCD_ReadPoint(u16 x,u16 y) 读取个某点的颜色值

  void LCD_DisplayOn(void) //LCD开启显示/ void LCD_Clear(u16 Color) 清屏函数

  void LCD_Init(void) 初始化lcd

  void LCD_DrawPoint(u16 x,u16 y) 画点

  void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color) 在指定区域内填充指定颜色

  void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2) 画线

  void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2) 画矩形

  void Draw_Circle(u16 x0,u16 y0,u8 r) 在指定位置画一个指定大小的圆

  void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) 在指定位置显示一个字符

  void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size) 显示数字

  void LCD_Show2Num(u16 x, u16 y, u16 num, u8 len,u8 size,u8 mode) 显示2个数字

  void LCD_ShowString(u16 x,u16 y,const u8 *p) 显示字符串

  WT588D部分:

  void wt588d_init(void) WT588D初始化

  void send_dat(u8 addr) 以一线串口方式发送数据到WT588D

  void pronounce_num(u16 t) 整数部分数字发音 范围(0~9999)

  void pronounce_point3num(u16 t) 小数部分数字发音范围(0~0.999)

  void pronounce_point2num(u8 t) 小数部分数字发音范围(0~0.99) HX711部分:

  u32 Read_HX711(void) 该函数读取HX711采集回来的经过放大以后的值

  u32 Sampling(void) 该函数将AD采样回来的值算术平均数字滤波,去掉最低和最高后的平均值

  main.c部分:

  void UI(void) 设置界面

  main函数中整合各个模块的函数实现电子秤称重功能,TFT显示功能等等。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案