EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
可测1g重量的电子秤,已做成产品(附源代码和视频教程)* C! e) }8 o( t) J
发现了一个非常不错的资料,分享给广大网友,共同学习。源程序还有视频教程的连接。大家热情高涨的话,原理图也下功夫找找再上传!1 G9 G/ M2 }3 f; K
9 {% ?7 c" T4 ?
2 `4 K% Q6 E/ a6 `. v1 X9 H$ d8 G$ u% w c
先附上方案描述: 厨房电子秤方案教程.pdf (521.39 KB, 下载次数: 0)
% Z; N) D+ j% D3 v7 k9 C! N拉到最下方,分享有源代码和视频教程链接。
+ d m F, Z( {. b7 Y![]()
4 j# U% W7 U- u7 I5 k k 4 X* F$ ~, U( |# M' \+ T) t
: q" D% i" V- d7 N! w5 e
6 a- ?+ z' P4 `6 h! ]) M& h从硬件设计到程序设计,最后调试,详细的讲解了如何做一个厨房电子秤。( [- A3 T. Q- t% d
方案特点: 1. 出厂一键校准功能 这个功能,是为了方便生产做的。 比如,工厂员工,每次只需要给电路板下载一下程序,再按一个按键,就完整了校准,就可以投入市场交到客户手中了。 2. 一阶滤波程序 在得到ADC数据计算重量时,采用了一阶滤波程序,使得显示的数值非常稳定。 3. 电池电压测量功能 在利用电池电压供电时,电池电压的降低,不会影响重量的测试数据。 4. 去皮功能 去皮,是个专业术语,你可以理解为“置零”。 举个例子,当你测量篮子里面物体的重量,你就可以用去皮功能去掉篮子的重量。 5. 低功耗功能 30秒,重量数据没有保持不变,表示人们不再使用它,进入低功耗模式,用去皮功能按键一键唤醒。
7 M8 ?7 R y5 y# N
# P0 `6 N3 }# y5 S
4 O: Q ~( N2 ~' P% s" G0 e, M目录
3 j5 S' E& E/ O第1章 厨房电子称的硬件设计思路- * d& e. ^8 M+ Y0 k" l9 {' u+ K
第2章 如何快速搭建一个厨房电子秤第3章 称重传感器的安装# |4 T3 M4 `3 C5 w' A
第4章 称重传感器原理讲解第5章 CS1237差分ADC模块介绍- . a4 T' k7 t/ ~% [. W, j. U
第6章 厨房电子秤程序设计思路第7章 厨房电子秤校准程序的实现
; S+ F, c/ j( L9 N7 a8 p2 d6 k+ a/ B 第8章 用KEY1键实现不重新下载程序的情况下校准电子秤
$ _! D W% H2 C+ Q) Y. K) y 第9章 重量计算程序设计第10章 去皮功能介绍和程序设计
3 f0 I% c" T) R" k0 o4 ^" C& M第11章 低功耗模式程序设计
8 q; h; s2 Z- L" v0 o$ G: {3 ` 第12章 数据的一阶滤波处理- 9 d& h0 C$ u5 ^& w- J" Q3 J2 _
第13章 测量电池电压程序设计第14章 IAP15W系列单片机程序下载方法第15章 电子秤套件完整实验流程- , e% A0 E% `$ r. p: y& f5 l6 P
第16章 去皮功能介绍和程序设计第17章 称重传感器的安装- p6 ]; v) v- K: S/ _7 c w9 a
第18章 称重传感器的安装
/ D+ u3 y8 J) f ) D* S# u5 K+ K
' W& s8 r% }$ E' y7 S: ]; R. G例程说明:
2 c* L5 r Z8 ~) E5 m---------------------------------------------------
& B/ ^% B' Y- h& j" ^工程硬件平台: 1,51Core-V1.0(51单片机最小系统板)
6 f7 ^3 Y9 Q6 f9 W1 o8 S0 q7 S 2,差分ADC模块-CS1237
0 V+ Y D! A h 3,称重传感器模块, H3 l5 g# {. @$ X7 ?2 p& m9 D
4,OLED显示器0.96寸,4PIN1 S' f# j) Q9 h0 W4 Q+ l
, `3 G* M2 V, S. h% z
工程程序版本:51单片机厨房(药房)秤方案 V1.0.0.0/ t( ^8 A* x; u& g: ?
(本例程仅提供一种实现思路,学会后完全可以使用其他品牌的单片机替代)
" U3 `+ w( K; a/ g2 j---------------------------------------------------/ J0 j5 X8 M* e& k( D% O
8 h. U& w1 R. V% H" l. B [% _
------------------------------------------------------------------------------------------------------.
1 i6 v' N6 n/ r0 A) ?1 j! w) K/ W5 v7 t4 }
硬件:: M# o8 n2 m6 k& c3 e# Y6 H
/ a7 d5 i6 I* M1 Y' j1,单片机内部时钟设置为 5.5296MHZ0 k3 D3 F0 I) I' H" s( {& u8 Q
! F, e+ W' l- e5 J) [, L- x2,“差分ADC模块-CS1237”的电源正确连接到“51单片机最小系统板“的5V电源上。同时数字接口如下连接:
( l/ `! X$ b2 p) v. L7 R5 I% ~ OUT = P3^7;//数据对应IO口
' _; V5 x) O0 E# O9 u CLK = P3^5;//时钟对应IO口
0 [0 `1 H8 k) P6 s- b/ j8 } J
' F2 ?7 G% `* u3,”称重传感器模块“和”差分ADC模块-CS1237“连接好。接线定义如下:+ _6 Y& I" O k" ^0 L% [( a$ s
CS1237模块的E+ 连接 红色
% }% N$ Q# @6 _; o& o CS1237模块的E- 连接 黑色
, i5 m8 M% M8 L' R& G: m/ t CS1237模块的S+ 连接 绿色. O- b9 R/ m$ V4 w" |1 v' w4 k |: N
CS1237模块的S- 连接 白色
* e) c+ [# h3 b(本例程的软件上有处理,S+和S-不用区别正负极,因为CS1237的模拟输入通道是差分输入)
" Z+ O9 Z6 T* W8 O- Y- X/ m
+ N# L& R! y+ i: n( y( M4 |( O0 L4,OLED显示器0.96寸4PIN ,直接查到51最小系统板的P17排母上即可
' r4 {) o- {, L e( U
& x5 \ y6 j9 E. m5,锂电池供电下的运行功耗:19mA 待机功耗:<2mA
9 }0 B- f9 Z0 m5 O
( e' [( L. _6 x/ \; Y" j7 l------------------------------------------------------------------------------------------------------, ?* [- f% H1 N5 L0 X0 E; w
, m# p3 p: w3 Z( ?6 L4 e. b* K
---------------------------------------------------
p) d/ v+ R1 p. w+ v) ^' j- p9 G) }9 f' I- \' w
程序功能:/ y- @% P$ v( k) X- w' J
1, 第一个点校准功能。需要保证系统供电是一个精确的5V,第一次烧写完程序后会进行第一个点的自动校准。# }* w* [! M- z; J0 X
此功能也可以通过按 KEY1 按键随时进入。
: D: E% n: {' Z" j6 U( c5 I6 { 第一个点校准后,不能直接称重,还需要第二个点校准。
3 ] i+ b' D Q* a' e+ f $ ?, \' I# t+ D
2, 第二个点的校准功能。需要在秤盘上放一个500克的砝码,等待几秒,按下 KEY2 按键即可。$ A% ^2 ~2 p( _$ M* H, s
3 Z* l7 e0 x5 m
3, 去皮功能。经过两个点的校准后便可以正常使用。使用过程中随时可以去皮重。按下 KEY3 按键即可。
; m" N6 p$ g5 r; s& a( k# K z5 M7 A8 Y3 r9 d* I4 g% B
4, 电池供电使用。接上一节普通锂电池即可使用(也可以是两节或三节普通干电池串联),接到5V供电的位置即可。
6 @ Q& K9 O. g x OLED显示屏会显示电池的电压,单位是mV。
% H& r3 ?! T% o/ X% S) f 8 P$ W: N+ K C
5, 程序正常执行显示的是实时重量。
- w7 ]7 |8 y- ^/ n+ g# m6 ]4 O- ^( y
" w1 H' N, S) y! E6, 当程序检测到超过30S重量没有变化,则自动进入低功耗模式,关闭OLED以达到省电的目的。若想再次使用必须按下 KEY3 按键。6 g+ f% Z6 h) {
(此时的KEY3按键相当于产品上面的“开机”按键。当然你也可以做一个电源开关,直接关闭系统)
+ l) e+ Q3 Z, c) N$ s3 C) G. P0 k- X. S2 l
7, 开机去皮。由于每次开机时候,传感器受力情况会发生微妙变化(比如移动位置,秤盘被压过,底座没放平等),所以程序在每次开机时% r" Y' _& C5 H) ]* v/ M
会进行去皮,软件上消除此误差。" w# G" n) B. }$ X- s3 z3 d
1 o6 J& h! Y- V* N N; P8, 按键KEY1和KEY2只在校准时候使用,若厂家做产品,只需要在出场时候校准使用即可。留给用户的接口只有KEY3按键,兼容去皮和开机唤醒。/ a, r5 j2 _: B
' p5 j3 _5 s/ I& g8 E. q---------------------------------------------------
# X5 H5 r% N5 e1 k# g分享源代码!
* ~. d% s/ j. h- s$ t! E* a' |3 ~3 }$ K9 C! R7 j; z. u2 g
|