EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
可测1g重量的电子秤,已做成产品(附源代码和视频教程), `5 {* d& [% r, N
发现了一个非常不错的资料,分享给广大网友,共同学习。源程序还有视频教程的连接。大家热情高涨的话,原理图也下功夫找找再上传!2 h, P. `9 G6 V* E
3 d1 B- x' b3 Y! h6 |( J' P , S2 T! U& p: E l* m
0 ?5 J% p8 v" N& X. Q; ?: |
先附上方案描述: 厨房电子秤方案教程.pdf (521.39 KB, 下载次数: 0)
: K: N; \# f. W% i5 C0 n5 q拉到最下方,分享有源代码和视频教程链接。3 l, u- P( Z) l7 p2 I3 W+ b, b I/ _
![]()
5 n2 G# k7 V5 d2 X! I( o![]()
* L1 R1 t6 G, M% I/ v1 v' q$ o/ f: C" _3 P( H( c1 L3 x+ e5 O# n
) v8 z( e7 @; l
从硬件设计到程序设计,最后调试,详细的讲解了如何做一个厨房电子秤。
+ g: b4 y, |; m6 M4 c' n2 M方案特点: 1. 出厂一键校准功能 这个功能,是为了方便生产做的。 比如,工厂员工,每次只需要给电路板下载一下程序,再按一个按键,就完整了校准,就可以投入市场交到客户手中了。 2. 一阶滤波程序 在得到ADC数据计算重量时,采用了一阶滤波程序,使得显示的数值非常稳定。 3. 电池电压测量功能 在利用电池电压供电时,电池电压的降低,不会影响重量的测试数据。 4. 去皮功能 去皮,是个专业术语,你可以理解为“置零”。 举个例子,当你测量篮子里面物体的重量,你就可以用去皮功能去掉篮子的重量。 5. 低功耗功能 30秒,重量数据没有保持不变,表示人们不再使用它,进入低功耗模式,用去皮功能按键一键唤醒。
# p9 Z7 J5 Y! N
6 q0 Q: x" K+ _ u8 V0 J( F" |& E7 h" i& j; t" C" h
目录8 \- x2 @( F8 C6 _3 T+ x$ }
第1章 厨房电子称的硬件设计思路第2章 如何快速搭建一个厨房电子秤- 7 G5 @8 h1 e3 [ N. |& h/ L. e# I
第3章 称重传感器的安装
! g* t! i) p& ?3 L, ?* L0 L" ~第4章 称重传感器原理讲解第5章 CS1237差分ADC模块介绍第6章 厨房电子秤程序设计思路- ' n4 M/ f, c2 _7 K4 h; B/ q: C
第7章 厨房电子秤校准程序的实现第8章 用KEY1键实现不重新下载程序的情况下校准电子秤第9章 重量计算程序设计第10章 去皮功能介绍和程序设计' O) G1 n7 M) n% a/ l
第11章 低功耗模式程序设计第12章 数据的一阶滤波处理
! m: G/ y, _# n. p3 q0 F( `, `' a 第13章 测量电池电压程序设计- 2 y- L! v! y4 D8 h5 \ W- Z1 j
第14章 IAP15W系列单片机程序下载方法第15章 电子秤套件完整实验流程第16章 去皮功能介绍和程序设计第17章 称重传感器的安装
0 K# d6 g. T8 r4 k- X4 A第18章 称重传感器的安装
9 m% a1 S, @$ W, ]; |5 n![]()
9 Q8 i$ d; o( q# s, R( V y8 }$ }. P; n0 k
例程说明:
: l5 B6 g; V; n! t6 @---------------------------------------------------1 h/ h2 `- n2 b" z% O3 w) u9 b
工程硬件平台: 1,51Core-V1.0(51单片机最小系统板)
3 S' `# C e3 V+ h4 L# l: G 2,差分ADC模块-CS1237
, e8 D( r) j, \7 y! k- ^0 ^ 3,称重传感器模块
) @- c9 Y9 W6 p8 A& h9 Q, E 4,OLED显示器0.96寸,4PIN5 o* t$ p, b: W/ }) e/ ~ v
- C+ \( f+ L' B# g4 _( O工程程序版本:51单片机厨房(药房)秤方案 V1.0.0.0
& }% N. m& t" m- w) d(本例程仅提供一种实现思路,学会后完全可以使用其他品牌的单片机替代)8 w- k* ~0 T+ m
---------------------------------------------------1 |+ P- t2 ~) B, ^# a$ H
3 v( e, L4 W5 P- o------------------------------------------------------------------------------------------------------.& V3 U2 M9 z* h9 \) V
: A; U+ o& q. l3 M1 p0 d3 q' {* o硬件:1 v' k: J3 Z* v* E3 `
+ d! E' v( o4 z, k' ]( P u% m1,单片机内部时钟设置为 5.5296MHZ2 B! E1 J$ S6 s: d! u
* {' g$ q/ c1 J2,“差分ADC模块-CS1237”的电源正确连接到“51单片机最小系统板“的5V电源上。同时数字接口如下连接:
- u& M: ~! Z- `4 P# y( ^7 r& F OUT = P3^7;//数据对应IO口9 ]& o" u( E9 K3 I& K
CLK = P3^5;//时钟对应IO口
5 ]! h" j* M1 r( V8 N0 v% e
! X9 K( T4 H( N8 `3 ]3 z# c6 T3,”称重传感器模块“和”差分ADC模块-CS1237“连接好。接线定义如下:; B3 Y) ?3 d. N" E: h
CS1237模块的E+ 连接 红色
, h/ T$ g& r3 g CS1237模块的E- 连接 黑色& B& [$ P8 @! y( m6 P) {
CS1237模块的S+ 连接 绿色2 D7 c7 S9 X3 r3 X4 s
CS1237模块的S- 连接 白色
/ F# y% H7 O$ ^9 ?1 O& j5 n(本例程的软件上有处理,S+和S-不用区别正负极,因为CS1237的模拟输入通道是差分输入): v4 F8 {+ X { A* U) V" A8 M
8 w$ C3 l/ f! f5 i( {' [" r. Y+ j
4,OLED显示器0.96寸4PIN ,直接查到51最小系统板的P17排母上即可( r `8 l. n4 v
1 R5 p7 v- Q) e: \2 o: u, \
5,锂电池供电下的运行功耗:19mA 待机功耗:<2mA
5 k# ^4 `7 P) k! j6 G% y- M( U9 z7 ?$ @* C
------------------------------------------------------------------------------------------------------* n% B/ h8 R8 D$ g5 g
1 g F8 O [0 }
---------------------------------------------------5 _' p" \9 x6 H# z) _' o% y1 n/ D
* p6 X. j& P; }& [0 R6 r# k+ ?程序功能:" x6 q# T( T* v0 K# }& x7 h& F- P0 R
1, 第一个点校准功能。需要保证系统供电是一个精确的5V,第一次烧写完程序后会进行第一个点的自动校准。
5 D' y! K2 f* n# } t6 O' u 此功能也可以通过按 KEY1 按键随时进入。
2 D+ U! d* \8 ?+ R& x 第一个点校准后,不能直接称重,还需要第二个点校准。
$ K1 [% r6 b1 J0 c : j+ S. U5 X% D q) \9 y
2, 第二个点的校准功能。需要在秤盘上放一个500克的砝码,等待几秒,按下 KEY2 按键即可。8 h+ Q: K3 L& E' f$ N. b9 `- D
) r4 j( E/ B* H6 j: w$ b6 N
3, 去皮功能。经过两个点的校准后便可以正常使用。使用过程中随时可以去皮重。按下 KEY3 按键即可。
% ]( y* Q% X2 N6 v# P. ^2 q( {/ f' d" L% U
4, 电池供电使用。接上一节普通锂电池即可使用(也可以是两节或三节普通干电池串联),接到5V供电的位置即可。$ f2 Y% W1 _* T) V/ [
OLED显示屏会显示电池的电压,单位是mV。
2 s2 n: \& x8 M8 N$ o & P6 k& ?% l3 V: W
5, 程序正常执行显示的是实时重量。, |+ ^- b, q- Q8 d8 @: ]& q
( ?5 o5 U/ T9 q
6, 当程序检测到超过30S重量没有变化,则自动进入低功耗模式,关闭OLED以达到省电的目的。若想再次使用必须按下 KEY3 按键。" U4 ^) ? z0 h3 F0 p6 Z
(此时的KEY3按键相当于产品上面的“开机”按键。当然你也可以做一个电源开关,直接关闭系统)
) L+ X) E+ Y, I6 t7 F9 Y
6 W0 t+ E, p- P9 s: r3 N( q7, 开机去皮。由于每次开机时候,传感器受力情况会发生微妙变化(比如移动位置,秤盘被压过,底座没放平等),所以程序在每次开机时
4 R6 ]7 s# J8 t$ c* ?2 b, U, ` 会进行去皮,软件上消除此误差。& f% F$ D9 N$ w/ V ]8 D
* S& D, v, k' D+ b" q' Z1 ?
8, 按键KEY1和KEY2只在校准时候使用,若厂家做产品,只需要在出场时候校准使用即可。留给用户的接口只有KEY3按键,兼容去皮和开机唤醒。
0 l$ {: V1 S& p9 W
+ n7 R7 R( w4 w---------------------------------------------------
7 N: i6 S' j% n6 J分享源代码!: J3 S2 q+ i9 ^! V
! L0 ~, z, _; G2 F V' ]2 V
|