EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
可测1g重量的电子秤,已做成产品(附源代码和视频教程)& M( [( D: M. Y' e2 f3 l
发现了一个非常不错的资料,分享给广大网友,共同学习。源程序还有视频教程的连接。大家热情高涨的话,原理图也下功夫找找再上传!$ Q: A8 g8 l. |! \% x, _- h
$ R2 F9 E7 f, G
9 f: f# W! N( V q" D* g) m3 ?, I& a: Y( q5 ^+ t" R! W/ x* H
先附上方案描述: 厨房电子秤方案教程.pdf (521.39 KB, 下载次数: 0)
: V, p j5 ^8 Z1 ~" Z0 l& b拉到最下方,分享有源代码和视频教程链接。! O% i4 N* m; s+ r5 y
1 k. F1 ^% A/ R' K+ s3 |$ |, L5 r* L; g- a! r, D
; r- b- R) V5 n8 \3 |6 g- {) m; i
2 q5 O# t4 [& s7 P7 t- L从硬件设计到程序设计,最后调试,详细的讲解了如何做一个厨房电子秤。
4 Z* j/ c% L( l5 [5 d7 p方案特点: 1. 出厂一键校准功能 这个功能,是为了方便生产做的。 比如,工厂员工,每次只需要给电路板下载一下程序,再按一个按键,就完整了校准,就可以投入市场交到客户手中了。 2. 一阶滤波程序 在得到ADC数据计算重量时,采用了一阶滤波程序,使得显示的数值非常稳定。 3. 电池电压测量功能 在利用电池电压供电时,电池电压的降低,不会影响重量的测试数据。 4. 去皮功能 去皮,是个专业术语,你可以理解为“置零”。 举个例子,当你测量篮子里面物体的重量,你就可以用去皮功能去掉篮子的重量。 5. 低功耗功能 30秒,重量数据没有保持不变,表示人们不再使用它,进入低功耗模式,用去皮功能按键一键唤醒。
8 \0 r; p M4 r. _; ^2 U
7 P1 [/ D1 b" ^9 R5 o- i% [) @' Y' X1 Y
目录" T% e' L( U+ E8 K# p2 Z5 c
第1章 厨房电子称的硬件设计思路
0 t9 W: u" Z- `2 X" [3 C" S 第2章 如何快速搭建一个厨房电子秤- 4 X% }- V5 Z* y1 i3 b3 p# ^% p
第3章 称重传感器的安装. ]# q4 y5 u: | k9 M" x$ z E
第4章 称重传感器原理讲解第5章 CS1237差分ADC模块介绍- $ u7 _ r0 o5 u' D! y1 J( _
第6章 厨房电子秤程序设计思路
2 ?: q4 m$ `" s. G. n: D2 n 第7章 厨房电子秤校准程序的实现第8章 用KEY1键实现不重新下载程序的情况下校准电子秤
6 y, v' {4 t( p" ~: y* }/ R 第9章 重量计算程序设计第10章 去皮功能介绍和程序设计
8 ~: T+ d9 n& u& H第11章 低功耗模式程序设计第12章 数据的一阶滤波处理第13章 测量电池电压程序设计- 8 l1 n" d2 R8 K9 ]5 T9 R: F
第14章 IAP15W系列单片机程序下载方法- $ x ~/ r' `* y, c: {- }5 m6 h; r5 V
第15章 电子秤套件完整实验流程第16章 去皮功能介绍和程序设计第17章 称重传感器的安装
9 I* m* n. B! f ?2 E第18章 称重传感器的安装
# p& @ C9 y# @ B+ K( D; u0 p
' ?( m3 w I: A4 C, z9 N! x) r3 m, s7 ?8 U% W4 S
例程说明:2 ]; L I, _4 w
---------------------------------------------------
3 }& q7 Y# R! e4 t% U工程硬件平台: 1,51Core-V1.0(51单片机最小系统板)6 m4 C' I A( _& \! g+ R
2,差分ADC模块-CS12375 W1 k5 [4 A# Z" l$ l( Z- g
3,称重传感器模块) H# \, U9 }) ~7 y, R
4,OLED显示器0.96寸,4PIN
5 }+ B7 a- U W7 A! u E6 `6 ^/ i% ?% }. j" x% _, `% `; ]
工程程序版本:51单片机厨房(药房)秤方案 V1.0.0.0
" D5 i% P) T3 {! ]3 O: F! L. w(本例程仅提供一种实现思路,学会后完全可以使用其他品牌的单片机替代)4 i' e; q9 f. @) ^) g
---------------------------------------------------
! u2 p! s" j8 \1 D
0 E1 t, S4 {5 m5 {8 m" E9 \------------------------------------------------------------------------------------------------------.' K( f! U, |+ v1 p' F
$ n! i5 ]( g$ i1 u, K9 h5 \
硬件:
( J \: W& ~ m1 K4 t$ I' K) b. Z5 v' m+ v) G% p1 X
1,单片机内部时钟设置为 5.5296MHZ
0 d$ J7 Q+ i+ W& }: u. m8 r; D# u% D) n3 c3 T
2,“差分ADC模块-CS1237”的电源正确连接到“51单片机最小系统板“的5V电源上。同时数字接口如下连接:
9 E9 j6 }/ G) Y9 b3 I1 u+ p OUT = P3^7;//数据对应IO口# X3 p4 c7 X! x# E- v' d3 A6 d
CLK = P3^5;//时钟对应IO口* w. ~! R: ?# |0 t6 x7 a3 [
9 d/ }! |& p; l* g% T
3,”称重传感器模块“和”差分ADC模块-CS1237“连接好。接线定义如下:
' b6 c4 v7 u# W4 G1 J) }- p CS1237模块的E+ 连接 红色1 ~& g) D i. l4 d3 d
CS1237模块的E- 连接 黑色
5 ^' k( L% D! b5 @$ p | CS1237模块的S+ 连接 绿色* J9 C/ v0 i( g! ]: O
CS1237模块的S- 连接 白色/ w& H$ ^% [+ [# G/ |+ w5 j
(本例程的软件上有处理,S+和S-不用区别正负极,因为CS1237的模拟输入通道是差分输入)
1 j" l' X0 B: \- H, M4 I \/ z% z$ ]5 m! |$ [4 |0 ?; K9 W# |
4,OLED显示器0.96寸4PIN ,直接查到51最小系统板的P17排母上即可
1 J2 j: }' J6 x( K3 j
q- r( l7 ~' G5,锂电池供电下的运行功耗:19mA 待机功耗:<2mA
) _( C) C: L5 R2 I5 P G$ s" ?5 y) Q6 Y- X% x
------------------------------------------------------------------------------------------------------
( |8 m" c! ]* N2 i& y: v* L( H1 q2 E% I9 P
---------------------------------------------------
2 l0 _3 ^3 W/ j; S# S
2 h8 O7 m ~5 p( x程序功能:" t& M$ ^4 M# U$ f5 E V) @) ~
1, 第一个点校准功能。需要保证系统供电是一个精确的5V,第一次烧写完程序后会进行第一个点的自动校准。
. F' c8 p, S1 C7 l% [7 u 此功能也可以通过按 KEY1 按键随时进入。
. l1 l1 _3 I. O8 }# k 第一个点校准后,不能直接称重,还需要第二个点校准。
1 ^" h. W3 B, d 4 s' A8 A% v; o; j, b
2, 第二个点的校准功能。需要在秤盘上放一个500克的砝码,等待几秒,按下 KEY2 按键即可。0 K* b% a0 V$ b' N: S. N2 y
$ r5 N9 Y* \4 e z. r% ~" D3, 去皮功能。经过两个点的校准后便可以正常使用。使用过程中随时可以去皮重。按下 KEY3 按键即可。
8 p/ ~; j( ~& ?& e* C
# e( g' V' Q9 u4, 电池供电使用。接上一节普通锂电池即可使用(也可以是两节或三节普通干电池串联),接到5V供电的位置即可。
" r+ @, z. [# b# J- j8 z" ~* h OLED显示屏会显示电池的电压,单位是mV。
# H3 V% C! s% {+ h A/ X4 T& y" b . Z) v$ b( y* S9 ~
5, 程序正常执行显示的是实时重量。
: \2 V& f/ ~: ~) |( I e& N# H+ h2 @% k
6, 当程序检测到超过30S重量没有变化,则自动进入低功耗模式,关闭OLED以达到省电的目的。若想再次使用必须按下 KEY3 按键。! m- \5 x, m9 r* W- ]( ^
(此时的KEY3按键相当于产品上面的“开机”按键。当然你也可以做一个电源开关,直接关闭系统)
# Q* \* _' r; X- C o" z( N
. l/ p3 D; U/ r: ^ i7, 开机去皮。由于每次开机时候,传感器受力情况会发生微妙变化(比如移动位置,秤盘被压过,底座没放平等),所以程序在每次开机时/ D5 a) g; x ~- f$ j: T+ ?
会进行去皮,软件上消除此误差。
: j: u/ }# ]6 y4 e4 N2 f* U- E0 o( ?* v8 L- B2 {7 f" b; Z3 F- F
8, 按键KEY1和KEY2只在校准时候使用,若厂家做产品,只需要在出场时候校准使用即可。留给用户的接口只有KEY3按键,兼容去皮和开机唤醒。
: p4 a- u" Y8 }( [8 V; x; W1 k: S2 k1 L6 ^ X
---------------------------------------------------' g# s9 l6 q7 N3 D) c/ k
分享源代码!& w& P7 K$ u7 o( t" @3 w
! B- g6 a [* ] |