ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:1.33MB ,
资源ID:5868852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5868852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子秤.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子秤.docx

1、电子秤 电子信息工程师实践设计报告 开 课 学 院:计算机与信息学院 专 业 班 级: 学 生 姓 名及学号: 指 导 教 师: 课 题 名 称: 3kg电子秤 2017年1月6日1、课题概述 作为一名电子信息工程专业的学生,掌握基本的电路知识,并运用到项目实践中非常重要,能够提高自身的科学文化素养,对知识更加全面的掌握。本课程设计为制作一个电子秤,比较具有实用价值,同时通过制作PCB电路板和AD采样芯片的使用提高自己的能力,掌握基本的专业技能。2、课题任务本课程设计主要任务是设计一个电子秤,电子秤称重范围是:0-3kg,精度是:5g。具有超过称重上限报警功能和复位功能。3、技术方案及关键问题

2、本课程设计从硬件和软件两个方面开始。硬件方面主要分为两个部分,第一部分是基本主电路板的设计,利用51单片机为主电路板。第二部分是AD采样电路板的设计。AD芯片用的是HX711芯片。软件部分主要是驱动HX711芯片以及实现电子秤的功能。关键问题:1、AD采样芯片的使用。在制作电子秤的过程中要将传感器输出的模拟量转换为数字量,因此要用到AD采样芯片。采样芯片的位数直接影响了最终的测量结果,也就是所谓的分辨率。本课程设计使用的是24位的HX711采样芯片,采样精度较高,测量结果较为准确。2、由于普通电脑USB输出电流为500mA会出现电子秤因电流过小而不工作问题并且利用电脑USB作为单片机供电电源携

3、带不方便,因此利用利用了一个电源220V转9V的电源适配器,再利用LM7805稳压芯片将9v电源稳压到5v为单片机供电。3、由于未使用电脑USB作为电源,因此没有USB下载电路,本单片机程序下载器使用的是USB转TTL转RS232下载器。4、称重传感器用的是桥式传感器。 4、设计实现及测试课程设计的第一步便是电路板的制作,本课程设计使用51单片机作为基本电路。电路原理图附后。1、 AD转换电路本次课程设计AD转换电路使用的是24位的HX711芯片。HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所

4、需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为20mV或40mV。通道B则为固定的32增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。(1)、HX

5、711芯片特点如下:两路可选择差分输入。片内低噪声可编程放大器,可选增益为64 和128。片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源。片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟。上电自动复位电路。简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程。可选择10Hz 或80Hz 的输出数据速率。同步抑制50Hz 和60Hz 的电源干扰。耗电量(含稳压电源电路):典型工作电流:1.7mA, 断电电流:1A。工作电压范围:2.6 5.5V。工作温度范围:-20 +85。16 管脚的SOP-16 封装。(2)、管脚说明 SOP-16L封装表一 管脚描述

6、(3)、模拟输入通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别20mV或40mV。通道B为固定的32增益,所对应的满量程差分输入电压为80mV。通道B应用于包括电池在内的系统参数检测。因此本课程设计使用通道A作为模拟差分输入,选择增益是128。(4)、串口通信串口通信线由管脚PD_SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平时,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK应为低

7、电平。当DOUT从高电平变低电平后,PD_SCK应输入25至27个不等的时钟脉冲(图一)。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次A/D转换的输入通道和增益,参见表二。 表二输入通道和增益选择PD_SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。图一 数据输出,输入通道和增益选择时序图(5)、AD采样

8、电路原理图如下(6)AD采样电路获取输出数据代码如下:/读取HX711unsigned long HX711_Read(void) /增益128 unsigned long count; unsigned char i; HX711_DOUT=1; /DOUT为高电平时,表明A/D转换器没有准备好数据 Delay_hx711_us(); HX711_SCK=0; count=0; while(HX711_DOUT); /直到DOUt为低电平,表明已经准备好数据 for(i=0;i24;i+) HX711_SCK=1; count=count= 0) Weight_Shiwu = (unsign

9、ed long)(float)Weight_Shiwu/GapValue); /计算实物的实际重量 else Weight_Shiwu = 0; /MS延时函数(12M晶振下测试)void Delay_ms(unsigned int n) unsigned int i,j; for(i=0;in;i+) for(j=0;j= Max_Value ) /超过设置最大值或者传感器本身量程最大值报警 Buzzer = 0; else Buzzer = 1; HX711.c#include HX711.h/延时函数void Delay_hx711_us(void) _nop_(); _nop_();/

10、读取HX711unsigned long HX711_Read(void) /增益128 unsigned long count; unsigned char i; HX711_DOUT=1; /DOUT为高电平时,表明A/D转换器没有准备好数据 Delay_hx711_us(); HX711_SCK=0; count=0; while(HX711_DOUT); /直到DOUt为低电平,表明已经准备好数据 for(i=0;i24;i+) HX711_SCK=1; count=count1; HX711_SCK=0; if(HX711_DOUT) count+; HX711_SCK=1; /第2

11、5个脉冲下降沿来时,转换数据,选择的是A通道增益为128 count=count0x800000; /异或操作 Delay_hx711_us(); HX711_SCK=0; return(count);LCD1602.c#include LCD1602.h/MS延时函数(12M晶振下测试)void LCD1602_delay_ms(unsigned int n) unsigned int i,j; for(i=0;in;i+) for(j=0;j0) LCD1602_write_data(*s); s+; Void Init_LCD1602() LCD1602_EN = 0; LCD1602_

12、RW = 0; /设置为写状态 LCD1602_write_com(0x38); /显示模式设定 LCD1602_write_com(0x0c); /开关显示、光标有无设置、光标闪烁设置 LCD1602_write_com(0x06); /写一个字符后指针加一 LCD1602_write_com(0x01); /清屏指令LCD1602.h#ifndef _LCD1602_H_#define _LCD1602_H_#include /LCD1602 IO设置#define LCD1602_PORT P0sbit LCD1602_RS = P25;sbit LCD1602_RW = P26;sbi

13、t LCD1602_EN = P27;/函数或者变量声明extern void LCD1602_delay_ms(unsigned int n);extern void LCD1602_write_com(unsigned char com);extern void LCD1602_write_data(unsigned char dat);extern void LCD1602_write_word(unsigned char *s);extern void Init_LCD1602();#endifHX711.h#ifndef _HX711_H_#define _HX711_H_#incl

14、ude #include /IO设置sbit HX711_DOUT=P33; sbit HX711_SCK=P32; /函数或者变量声明extern void Delay_hx711_us(void);extern unsigned long HX711_Read(void);#endifmain.h#ifndef _MAIN_H_#define _MAIN_H_#include sbit Buzzer = P24;/函数或者变量声明extern void Delay_ms(unsigned int n);extern void Buzzer_Di();extern void Get_Maopi();extern void Get_Weight();#endif九、指导教师评语及成绩评语(学生工作评价):建议成绩: 指导教师(签字): 年 月 日评语(学生工作评价):答辩成绩: 答辩小组组长(签字): 年 月 日学生持设计报告并参加集中答辩,答辩小组合议给出最终成绩。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1