|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于单片机的电子秤测重原理 和设计方法
: y+ b# O. b* S. `* G7 l9 g; T# O
0 T9 p4 V" K( }) D5 ]5 S8 n* U: @( \! S0 |' F
功能:1 P5 G8 U" M2 U: r2 K: H
按键K1为去皮功能,K2和K3是修改报警参数值。K2加,K3减。当所测重量大于设置的报警值时,P3.0驱动继电器工作,继电器可以接报警装置等。
! a5 M/ s; ]! Y& U3 Y 校正方法:如果所测重量偏小。则按住K3键不放,再按下K1键。 直到显示重量为正确重量时再放开K1和K3按键。
9 \9 l/ S6 W1 R 如果所测重量偏大。则按住K2键不放,再按下K1键。 直到显示重量为正确重量时再放开K1和K2按键。。 校正系数具有断电保存功能。
0 y0 y8 o, l2 c+ R/ r5 _$ P' b 1 g7 s/ E2 S' U3 Z, k7 F# L
) X4 D6 Z3 R- S3 u# o
二、测重原理讲解:
" B. M3 w7 I& ~" h. J9 v: n6 q, l1.
& q H; B6 W) o3 c: `0 O满量程输出电压=激励电压*灵敏度 1.0mv/v
- h2 ~1 e. l1 R) }* P0 O5 P例如:供电电压是 5v 乘以灵敏度 1.0mv/v=满量程 5mv。4 B8 A- _& n9 n. x( [
相当于有 5Kg 重力产生时候产生 5mV 的电压。
- B% a5 p. W9 u. _8 n2.; d2 T7 a9 e/ V, i; c4 s9 @6 {
概述:711 模块 A 通道带有 128 倍信号增益,可以将 5mV 的电压放大 128 倍,然后采样输' X/ |* P9 s4 p7 k
出 24bit AD 转换的值,单片机通过指定时序将 24bit 数据读出。. S9 u) Z* e) j# W) M& m
详细讲解程序计算原理:% a3 y, A# U3 M9 R
步骤 1 11 1:如何计算传感器供电电压
3 V' v. y% w; @$ r0 z! dHX711 可以在产生 VAVDD 和 AGND 电压,即 711 模块上的 E+和 E-电压。* X7 t; A5 @8 r+ V/ M
该电压通过 VAVDD=VBG(R1 +R2 )/R2 计算。5 T2 O& G$ D: I/ [
VBG 为模块儿基准电压 1.25v, H O- _& }* d
R1 = 20K,R2 = 8.2K
! h0 d8 t7 g7 i5 [1 J ]因此得出 VAVDD = 4.3V; F' H3 k4 |% f U5 i
(为了降低功耗,该电压只在采样时刻才有输出,因此用万用表读取的值可能低于 4.3v,因4 q: d; t+ b' o
为万用表测量的是有效值。)& u3 ]; g" y3 R0 M/ Q# T
. H& r+ i% h+ g" Y
步骤 2 22 2:如何将 AD ADAD AD 值反向转换为重力值。
0 G! s$ O% \: V) j# @假设重力为 A Kg,(x<5Kg),测量出来的 AD 值为 y
1 |! o C# }/ \+ \+ k6 `& U# \传感器输出,发送给 AD 模块儿的电压为 A Kg * 4.3mV / 5Kg = 0.86A mV7 ?! u) v" Q8 q* d2 G; l
经过 128 倍增益后为 128 * 0.86A = 110.08AmV
+ P: d( q" L, q5 E v转换为 24bit 数字信号为 110.08A mV * 224 / 4.3V = 429496.7296A* S. G: \/ V0 b6 V2 W% P
所以 y = 429496.7296A3 W5 h" ^4 y3 M
因此得出 A = y / 429496.7296
% x7 ?) A' N& ?4 N. G2 v所以得出程序中计算公式. A$ S# m" Y9 k6 R# x7 x; _
Weight_Shiwu = (unsigned long)((float)Weight_Shiwu/429.5);3 T& r0 w( ?% Y3 K
特别注意:& G; D! _, Q0 q- c! K% N' w o5 k1 m
因为不同的传感器斜率特性曲线不是完全一样,因此,每一个传感器需要矫正这里的 429.5/ F0 R' n+ ^6 q0 I9 @
这个除数,才能达到精度很高。
" R! n; R& ^1 s7 }4 C; i {2 ~" r修改以下部分代码用于校准(该段程序在 main.c 最上面)
p5 m5 j9 Q# K4 f8 A#define GapValue 430& l2 h+ p* T& a2 G7 B
当发现测试出来的重量偏大时,增加该数值。
% r/ F! E# [9 [& n2 b/ E如果测试出来的重量偏小时,减小改数值。该值可以为小数,例如 429.5 等。
+ v; |/ B7 e7 R% J+ f9 T* N+ x* B% B* Y6 ]5 y( \( o9 T
/ B9 P; l- W& n/ d \7 V; @, y
9 b* w4 p; p6 Z7 h% p, e1 B4 {
完整文档下载:3 I4 Q7 f/ ~5 Z' J8 P
1 U' `1 n) i- G/ M$ n8 w% u7 ]
|
|