《基于单片机的电子秤设计HX711.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子秤设计HX711.docx(29页珍藏版)》请在优知文库上搜索。
1、目录引言-1-第一章系统的组成及工作原理-11. 1系统的组成-1-1.2系统的工作原理-2-第二章系统硬件设计2-2. 1主控芯片STC89C52单片机根本系统-2-2. 1.1STC89C52单片机性能介绍-2-2. 1.2STC89C52单片机引脚功能-2-2. 1.3复位电路-3-2. 1.4晶振电路-4-2.2A/D转换芯片HX711接口电路的设计-4-2.2 .1HX711引脚功能-5-2.3 .2取711管脚说明-6-2.3压电传感器的设计-8-2. 3.1应变式电阻传感器-8-3. 3.2应变片式电阻传感器的结构和原理-9-4. 3.3全桥测量电路-10-2.4显示电路设计-1
2、0-2. 4.1LCD1602命令及时序-13-3. 5键盘输入-14-第三章系统软件设计15-4. 1C语言在单片机中的应用-15-3. 2系统主程序流程图-16-3. 3子程序设计-16-3. 3.1A/D数据采集子程序-16-3. 3.2显示子程序-16-3. 3.3键盘打描子程序-16-第四章系统的调试174. 1AD值反向转换重力值的参数计算-17-5. 2误差分析-17-总结18致谢19-参考文献-19-附录1系统原理图错误!未定义书签。附录2系统程序清单20-附录3实物图28-基于单片机的电子秤设计电子与信息工程学院电子信息工程专业2023级1班唐杰指导教师吕虹引言随着人们生活水
3、平的不断提高,商业水平越来越现代化,人们对商品的度量速度和精度也提出了新的要求。目前,商用电子计价秤的使用非常普及,逐渐会取代传统的杆秤和机械案秤。电子计价秤在秤台结构上有一个显著的特点:一个相当大的秤台,只在中间装置一个专门设计的传感器来承担物料的全部重量。为了满足电子秤的设计要求,本设计针对普通商业度量需要分析和设计。论述了系统的设计思想、方法及设计实施过程,详细分析了各个模块的选用、功能及实现方法,包括系统的硬件构成,传感器的选择,系统的运作流程图等,以及所用到的一些工具,工作环境。我们进行了各单元电路方案的比拟论证及确定,最终选取以STC89C52单片机为控制核心,传感器选用HL-8型
4、悬臂梁式电阻应变式传感器。该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机本钱,提高了整机的性能和可靠性。该芯片与后端MClJ芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的存放器进行编程。第一章系统的组成及工作原理1.1 系统的组成本数字电子秤系统可分为单片机控制电路、A/D转换电路、传感器、LCD显示、矩阵键盘、蜂鸣器模块等几局部,其系统组成如图1-1所示。12系统的工作原理系统原理如图IT所示,系统通过传感器将压力这种物理量转化为电信号,即传感器内部的电阻应变片感应到压力后,电阻发生
5、微小变化,通过全桥测量电路将电阻的微小变化转化成电压的微小变化,HX711将信号调整到A/D能采集的范围,然后由A/D进行采集,接着把采集到的24位上下电平通过DOUT送到单片机进行处理,单片机处理后,把数字信号输送到显示电路中,由显示电路输出测量结果。整个系统实现了用单片机来控制输出,在线性度确实定过程中,需要对程序进行反复的修改,最终实现设计的要求。第二章系统硬件设计2.1主控芯片STC89C52单片机根本系统STC89C52单片机性能介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K的在系统可编程闪烁存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C
6、51产品指令和引脚完全兼容。片上flash允许程序存储器在线可编程,也适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统上可编程闪烁存储单元,使得STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案。STC89C52具有以下标准功能:8K字节闪烁存储器,256字节读写存储器,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至OHZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许读写存储器、定时器/计数器、串口、中断继续工作。掉电保护方式下,读写
7、存储器内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.STC89C52单片机引脚功能VCC:电源。GND:地。PO口:PO口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个HL逻辑电平。对PO端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,PO口也被作为低8位地址/数据复用。在这种模式下,PO具有内部上拉电阻。在闪烁编程时,PO口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。Pl口:Pl口是一个具有内部上拉电阻的8位双向I/O口,Pl输出缓冲器能驱动4个HL逻辑电平。对Pl端口写1”时,内部上拉电阻把端口
8、拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送“1”。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在闪烁编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具
9、有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。RST:复位输入。当晶振工作时,RST引脚持续2个机器周期高电平将使单片机复位。EA/VPP:访问外部程序存储器控制信号。为使能从OooOH到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接Vcc。在闪烁编程期间,EA也接收12伏VPP电压。XTALh振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。复位电路单片机上电时,
10、当振荡器正在运行时,只要持续给出RST引脚两个机器周期的高电平,便可完成系统复位。外部复位电路是为提供两个机器周期以上的高电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是Vcc上的电压与电容器上的电压之差,因而RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的电压与VCC上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的电压就随着下降,RST脚上只要保持IonlS以上高电平,系统就会有效复位。电容Cl可取1033UF,R取IokQ,充电时间常数为IOXIOFXK)XloJIOoms。复位电路的实现可以有很多种
11、方法,但是从功能上一般分为两种:一种是电源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。本设计使用了第二种方法,其电路图如图2T所示。图2-1STC89C52单片机复位电路,晶振电路图晶振电路STC89C52单片机有一个用于构成内部振荡器的反相放大器,XTALl和XTAL2分别是放大器的输入、输出端,外接石英晶体或陶瓷振荡器以及补偿电容C2、C3构成并联谐振电路。当外接石英晶体时,电容C2、C3选30pF10pF;当外接陶瓷振荡器时,电容C2、C3选40pF+IOpFoSTC
12、89C52系统中晶振频率一般在1.2、12MHZ选择。外接电容C2、C3的大小会影响振荡器频率的上下、振荡频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机,以便减少寄生电容,保证振荡器稳定可靠工作。在本系统中,选择了12MHZ石英晶振,电容Cl、C2为30pF。其电路图如图2-1所示。2. 2A/D转换芯片HX711接口电路的设计根据设计要求,系统要求输出的电流信号为201000mA,步进为ImA,且要求显示数值,因此,给定量的执行元件A/D转换器至少需要12位的转换精度。结合系统的设计要求,并考虑到单片机的1/0接口资源紧张等因素,最终确定选用HX711量化精度能到
13、达l4096l1000,完全能到达设计的精度要求。HX711接口电路如图2-2所示。图2-2HX711接口图11X711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点、降低了电子秤的整机本钱,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的存放器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分
14、别为20mV或40mV。通道B那么为固定的64增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接部件。上电自动复位功能简化了开机的初始化过程。3. 2.1HX711引脚功能表2-lHX7U引脚功能管脚号名称性能描述1VSUP电源稳压电路供电电源:(不用稳压电路时接AVDD)2BASE模拟输出稳压电路控制输出(不用稳压电路时为无连接)3AVDD电源模拟电源:4VFB模拟输入稳压电路控制输入(不用稳压电路时应接地)5AGND地模拟地6VBG模拟输出参考电源输入7INA模拟输入通道A负输入端8I
15、NA+模拟输入通道A正输入端9INB模拟输入通道B负输入端10INB+模拟输入通道B正输入端11PD-SCK数字输入断电控制(高电平有效)和串口时钟输入12DOUT数字输出串口数据输出13XO数字输入输晶振输入(不用晶振时为无连接)出14Xl数字输入外部时钟或晶振输入,0:使用片内振荡器15RATE数字输入输出数据速率控制,0:10Hz:1:80Hz16DVDD电源数字电源:HX711管脚说明模拟输入通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别20mV或土40mV。通道B为固定的增益,所对应的满量程差分输入电压为40V。通道B应用于包括电池在内的系统参数检测。供电电源数字电源DVDD)应使用与MCU芯片相同的数字供电电源。HX711芯片内额稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压(VSUP)可与数字电源(DVDD)相同。稳压电源的输出电压值(VAVDD)由