有读者有疑问,怎么吴鉴鹰介绍的都是硬件和软件的结合,而且内容还讲的那么细,觉得很罗嗦,亲们不要急,在以后的章节中,一些现在工业常用的项目技巧我会逐步与大家分享,到时候可能针对某些特定的知识点单独分享!谢谢亲们的支持和理解!
今天,吴鉴鹰来给大家讲述第四讲,就是日常生活中很常见的电子秤的设计,这个东西貌似很简单,其实要做一个稳定性高,精度高的电子秤也不是一个简单的事情。
首先鹰哥来给电子秤的做个简单的介绍:
图 1
电子称是什么,讲的专业点就是:利用物体的重力作用来确定物体质量的测量仪器,也可用来确定与物体质量相关的其他量的大小,参数,或特性
用我们自己话讲就是测重量的。
图 2
电子称一般由以下三部分组成。承重、传力复位系统,称重传感器,测量显示和数据输出的的载荷测量装置。当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力-电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,我们这里显示采用是12864,其实真实显示应该不会用这个,鹰哥在这里主要是跟大家分享12864驱动程序的编写。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。
图 3
电子秤介绍鹰哥就介绍到这了,下面开始硬件部分的介绍了。
首先,鹰哥给大家从该设计的最前端讲起了,先是信号的采集,在这里就是所测得物体的重量,将物体的重量转化成我们MCU能测量的电压信号。
本设计采用SP20C-G501电阻应变式传感器,其最大量程为7.5 Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秤的一次仪表。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图所示
图 5
传感器工作原理
其工作原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的的敏感栅也随之变形,其阻值发生相应的变化,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式所示:
Eout = R2R4×(ΔR1/R1+ΔR2/R2+ΔR3/R3+ΔR4/R4)/(R2+R4) (这是传感器的知识,感兴趣可以找下相关的资料)
放大电路介绍:
主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放做成一个差动放大器。
一般说来,集成化仪用放大器具有很高的共模抑制比和输入阻抗,因而在传统的电路设计中都是把集成化仪器放人器作为前置放人器。然而,绝人多数的集成化仪器放大器,特别是集成化仪器放大器,它们的共模抑制比与增益相关:增益越高,共模抑制比越大。而集成化仪器放大器作为心电前置放大器时,由于极化电压的存在,前置放大器的增益只能在几十倍以内,这就使得集成化仪器放大器作为前置放大器时的共模抑制比不可能很高。有同事问过鹰哥试图在前置放大器的输入端加上隔直电容(高通网络)来避免极化电压使高增益的前置放大器进入饱和状态,但由于信号源的内阻高,且两输入端不平衡,隔直电容(高通网络)使等共模干扰转变为差模干扰,结果适得其反,严重地损害了放大器的性能。
为了实现信号的放人,其设计电路如图所示:
图 6
1. 前级采用运放Al和A2组成并联型差动放大器。理论上不难证明,存运算放大器为理想的情况下,并联型差动放人器的输入阻抗为无穷人,共模抑制比也为无穷人。更值得一提的是,在理论上并联型差动放人器的共模抑制比与电路的外围电阻的精度和阻值无关。
2. 阻容耦合电路放存由并联型差动放大器构成的前级放大器和由仪器放大器构成的后级放大器之间,这样可为后级仪器放大器提高增益,进而提高电路的共模抑制比提供了条件。同时,南于前置放大器的输出阻抗很低,同时又采用共模驱动技术,避免了阻容耦合电路中的阻、容元件参数不对称(匹配)导致的共模干扰转换成差模干扰的情况发生。
3. 后级电路采用廉价的仪器放大器,将双端信号转换为单端信号输出。由于阻容耦合电路的隔直作用,后级的仪器放大器可以做到很高的增益,进而得到很高的共模抑制比。
图 7
可见康华光版的模电pg36页的介绍:VR1= V1 - V2和VR1/R1 = (V3-V4)/(2R2+R1),顾得
V3-V4 = (2R2+R1)×VR1/R1 = (1+2R2/R1)×(V1-V2)
由减法电路:VO = R4(Vi2-Vi1)/R1,可得
VO = -R4×(V3-V4)/R3= -R4×(1+2R2/R1)×(V1-V2)/R3
所以电路的电压增益为:
AV = VO/(V1-V2)=-R4×(1+2R2/R1)/R3
在鹰哥的这个设计里面,将数据代入得到:
AV = -20×(1+2×4)/10 = -18
AD采样模块:
在检测系统中,传感器将采集到的信号(例如:我们这个项目中,信号就是瓦斯的浓度),这些信号都是模拟信号,将这些模拟信号进行处理,放大、滤波、补偿、以及信号的变换等方式,然后在案通过某些芯片将模拟信号变成数字信号,这里我们用ADC0809将传感器转化的电压进行数字化,然后再传递给MCU,也就是51单片机。一定会有人问我,为什么采用这么低档次的51单片机,精确度如此低的ADC0809,鹰哥告诉你,一个好的项目并不是采用的芯片越高档就越好,而且对于初学者,档次越低的芯片,学到的东西越多,所以大家不要嫌弃51单片机低级,也不要嫌弃ADC0809芯片不够先进。
相信鹰哥,只要你能把ADC0809用好,别的AD转换芯片也没有问题。
鹰哥来给大家简单介绍一下ADC0809芯片。
图 8
ADC0809芯片简单介绍
当时鹰哥采用的是ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件,。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。芯片的引脚图如图所示:
1、ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。
(1) IN0-IN7:8路模拟量输入端;
(2) D0-D7:8位数字量输出端;
(3) ADD-A、ADD-B、ADD-C:3位地址输入线,用于选通8路模拟输入中的一路;
(4) ALE:地址锁存允许信号输入端,高电平有效;
(5) START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使ADC0809复位,下降沿启动A/D转换);
(6) EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平);
(7) OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量;
(8) CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ;
(9) REF(+)、REF(-):基准电压;
(10) Vcc:电源,单一+5V;
(11) GND:接地。
2、ADC0809的主要特性有:
(1) 8路输入通道,8位A/D转换器,即分辨率为8位;
(2) 具有转换起停控制端;
(3) 转换时间为100μs;
(4) 单个+5V电源供电;
(5) 模拟输入电压范围0~+5V,不需零点和满刻度校准;
(6) 工作温度范围为-40~+85摄氏度;
(7) 低功耗,约15mW。
3、ADC0809的工作过程:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
对于AD采样的模块就到这了,后面内容更加精彩。
显示部分:
本项目采用12864液晶屏显示,由于 IO口资源不够用,所以只能采用串口驱动,可以节约大量的IO口资源,不要说鹰哥是小气啊,其实是IO口不够。
图 9
图 10
这是实物图片,左边是用AT89C51做的,右侧和下面的是移植到C8051F020单片机上面的。 图 11
图 12
人机界面:
由于电子秤需要设置单价(十个数字键),还具有确认、删除等功能,总共需设置17个键(包括一个复位键)。键盘的扩展有使用以下方案:
采用矩阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图2-4给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。结合本设计的实际要求,16个按键使用4×4矩阵式键盘,另外四个键使用独立式按键实现。
图 13
电源模块:
采用7805,7905,7812和7912组成稳压电路
7805,7905固定式三端稳压器可输出±5V,固定式三端可调稳压器7812和7812组装电路可对称输出±12v,其电路图如图所示
由三端可调式稳压器和三端固定式稳压器共同组成,所用器件比方案一多,但电路组装简单,不会增添麻烦,在方案二中可直接得到+5v和±12的输出电压.
使用时比较方便。
图 14