仪器综合课程设计
《仪器综合课程设计》
任务书与说明书
智能化重量测量仪设计
Design of an Intelligent Weight Measuring Instrument
学院名称:
专业班级:
学生学号:
学生姓名:
指导教师姓名:
指导教师职称:
2015 年 1月
《仪器综合课程设计》任务书
题目: 智能化重量测量仪设计
专业班级: 测控 学号: 姓名: 指导教师:
一、课程设计目的意义
课程设计是工科各专业的主要实践性教学环节之一,是围绕一门或多门主要课程,运用所学课程的知识,结合实际的应用而进行的一次综合分析和设计能力的训练。
本课程设计是测控技术与仪器专业本科生的一次综合性课程设计,将综合应用电子技术、传感器技术、测控电路、微机系统与接口技术、单片机应用技术、C语言、数字信号处理、电路设计、虚拟仪器设计、智能仪器设计、微机测控系统设计等课程,结合以上课程的实验环节,培养和锻炼学生熟悉和掌握仪器系统设计整个环节。帮助学生将各专业课程内容综合起来,融会贯通,形成系统的概念,迅速迈过从理论到实践的门槛。
同时,培养学生具备应用文字处理软件撰写规范的课程设计说明书的能力。通过本课程设计的实践训练,使学生掌握解决测控技术与仪器领域实际复杂工程问题时所应具有的查阅资料、综合运用所学知识解决问题能力,为后续毕业设计以及从事专业工作打下坚实的基础。
二、对毕业要求及其指标点的支撑
1. 仪器综合课程设计支撑专业培养计划中毕业要求2、毕业要求3、毕业要求7、毕业要求10和毕业要求11。
2. 仪器综合课程支撑专业培养计划中毕业要求2中的指标点4,能够运用数学、自然科学和工程科学基本原理,识别、表达、并通过文献研究分析测控系统与仪器领域相关的复杂工程问题,以获得有效结论,占该指标点达成度的20%。
3. 仪器综合课程支撑专业培养计划中毕业要求3中的指标点4,能够根据总设计任务要求,完成符合特定功能、性能、成本等需求的机电测控系统、电子仪器设计,依据相关标准、规范,综合考虑社会、健康、安全、法律、文化以及环境等制约因素,并体现创新意识,占该指标点达成度的30%。
4. 仪器综合课程支撑专业培养计划中毕业要求7中的指标点2,能够理解和评价针对测控系统与仪器中复杂工程问题的工程实践对环境、社会可持续发展的影响,占该指标点达成度的50%。
5. 仪器综合课程支撑专业培养计划中毕业要求10中的指标点2,能够撰写调查分析报告和设计文稿、陈述发言、清晰表达或回应指令,占该指标点达成度的30%。
6. 仪器综合课程支撑专业培养计划中毕业要求11中的指标点2,具备在测控系统与仪器工程实践中应用管理与经济决策知识的能力,占该指标点达成度的30%。
三、课程设计总体要求与基本内容
1. 课程设计总体要求
通过布置具有一定难度的设计题目,利用所学的智能仪器和微机测控系统知识,要求学生按照小组独立完成所布置题目设计任务。在分析与设计过程中,要求学生养成良好的设计习惯,学会分析实际问题,并能利用所学的知识建立系统结构,学会软硬件设计、调试技巧和方法。根据题目任务的具体要求,提出以下总体要求:
(1)要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
(2)既要虚心接受老师的指导,又要充分发挥主观能动性。结合题目任务,独立思考,努力钻研,勤于实践,勇于创新。
(3)按规定的时间独立完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
(4)要严格遵守学校的纪律和规章制度,学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
(5)在设计过程中,要严格要求自己,树立工程实践意识,严肃认真的科学态度和严谨求实的工作作风,必须按时、按质、按量完成课程设计。
(6)小组成员之间,分工明确具体,各负其责,要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。每位学生能够明确团队成员之间的任务关系,并在团队中担任好自己的角色。
(7)能独立查阅资料,了解专业前沿发展现状和趋势,设计方案经过小组讨论论证,确保正确可行,正确划分系统功能模块,系统设计要尽量实用,数据与功能分析要详细。
(8)实验仪器在使用前一定要仔细阅读使用说明书,严格按要求使用仪器设备,由于操作不当造成损坏学生负责。
(9)学生所在组选出小组负责人,负责仪器及元器件的保管工作。
(10)根据《江苏大学课程设计说明书写作规范》的格式要求,认真撰写课程设计说明书,说明书以个人为单位,并装入课程设计资料袋提交,设计的仪器或者系统以组为单位提交,答辩以组为单位。
2. 具体内容
(1)分析设计任务,明确设计指标和功能要求。
(2)收集相关资料,并完成总体方案论证与设计工作,画出总体功能框图。要求:能够依据设计任务性能指标要求,能够运用数学、自然科学和工程科学基本原理,识别与提炼、定义与表达、通过文献研究分析测控系统与仪器领域相关的复杂工程问题,获得有效检测与控制数学模型等结论;能够设计针对机电测控系统与电子仪器中复杂工程问题的
中能够体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素;能够理解和评价针对测控系统与仪器中复杂工程问题的工程实践对环境、社会可持续发展的影响;理解工程实践活动中管理与经济决策基本知识,并能应用在测控系统与仪器的多学科环境工程实践中,进行必要技术经济分析。
(3)各单元电路设计,包括详细的电路原理图,各元器件及芯片功能引脚图。包括电路设计必要计算分析。
(4)设计方案交由指导老师审查,领取元器件及仪器设备,缺少的自己购买。
(5)硬件电路安装与调试。
(6)程序设计,并调试通过。
(7)撰写课程设计说明书。
(8)提交仪器,现场测试,并提交设计说明书,参加答辩。要求能够就测控系统与仪器中复杂工程问题与老师、同学进行有效沟通和交流,包括撰写调查分析报告和设计文稿、陈述发言、清晰表达或回应指令。
(9)做好元器件及仪器设备归还、工作室卫生打扫等善后工作。
四、课程设计说明书的内容要求
课程设计说明书是课程设计工作的总结和提高,课程设计说明书应反映出作者在课程设计过程中所做的主要工作及主要成果,以及作者在课程设计过程中的经验教训。必须同时提供纸质文档和电子文档。
1、课程设计说明书内容
课程设计说明书包括以下几个主要部分:
(1)课程设计封面(统一)
(2)课程设计任务书(包括题目、设计任务技术性能及功能要求,设计小组分工等,依据提供任务书补充,修改更具体);
(3)课程设计中英文摘要;
(4)目录(课程设计大纲);
(5)引言(题目背景及设计目的意义)
(6)现状综述分析(对参考文献综述,分析技术发展水平、特点及趋势)
(7)设计方案论证及关键技术方法介绍(包括对关键技术应用原理分析,设计总体功能框图、电路的总体结构框图,总体设计方案的比较选择等,内容要体现:能够依据设计任务性能指标要求,能够运用数学、自然科学和工程科学基本原理,识别与提炼、定义与表达、通过文献研究分析测控系统与仪器领域相关的复杂工程问题,获得有效检测与控制数学模型等结论;能够针对机电测控系统与电子仪器中复杂工程问题的解决方案,设计
够体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素;能够理解和评价针对测控系统与仪器中复杂工程问题的工程实践对环境、社会可持续发展的影响;理解工程实践活动中管理与经济决策基本知识,并能应用在测控系统与仪器的多学科环境工程实践中,进行必要技术经济分析等内容)
(8)硬件电路设计调试(包括电路参数必要设计计算、元器件型号的选择确定等,硬件电路调试工具、硬件电路制作、连接、安装、调试等步骤)
(9)软件系统设计调试(包括设计手段、设计过程、设计步骤,软件系统调试工具、方法及步骤等);
(10)性能试验结果分析(性能功能测试实验,测试数据和误差结果分析等);
(11)结论及展望
(12)设计小结与体会
(13)参考文献
(14)附录(其他图表)
2、课程设计说明书编写基本要求
(1)每个学生必须独立完成课程设计说明书;
(2)课程设计说明书写规范、文字通顺、图表清晰、数据完整、结论明确;
(3)课程设计说明书后应附近期参考文献,以期刊为主,至少10篇以上;
(4)要求课程设计说明书用A4纸打印装订成册;
(5)电路图用Protel绘制。
(6)署名设计学生和指导教师姓名;
(7)课程设计电子文件存档,保管齐全。
具体格式参看《江苏大学课程设计说明书写作规范》。
五、课程设计题目及任务要求
设计任务:设计《智能化重量测量仪器》,实时测量拉力、压力或重量,测量范围0~5Kg,测量精度1.0g,响应时间在200毫秒之内。仪器采用便携式结构,能显示测量力(或重量),并有补偿与滤波等功能。
具体分工是:
组长:,负责程序的编写
成员:,负责总体方案的设计及原理图和后面的调试
,负责电路的连接和调试以及PPT制作
六、课程设计进度安排
本课程设计时间为三周(15天),安排在第7学期,可参考以下进度进行。
七、课程设计地点及时间安排
地点:工业中心测控实验室、微机应用实验室和实验机房
时间: 17(15)、18、19周,周一到周五
上午8点30分到11点30分
下午1点30分到4点30分
八、答辩与评分标准
答辩时间:19周,星期四、五全天
答辩过程:先由小组成员演示设计作品(每组1套);然后组长PPT汇报(每组1份),汇报设计的主要内容及分工完成情况;然后由指导教师对各人提出问题,各学生独立回答与解决问题;最后各学生递交各自完成的设计说明书,要求每位学生提交的设计说明书同组同学之间相同率不得超过50%。
课程设计考核方式:采用平时考勤、课程设计阶段考核、设计说明书和陈述答辩综合考核相结合形式。具体内容和比例:
(1)平时每天考勤,学习态度,及平时指导交流沟通情况。设计分析过程能够依据设计任务性能指标要求,运用数学、自然科学和工程科学基本原理,识别与提炼、定义与表达、通过文献研究分析测控系统与仪器领域相关的复杂工程问题,获得有效检测与控制数学模型等结论,要求能够就测控系统与仪器中复杂工程问题与老师、同学进行有效沟通和交流,占成绩考核的10%;
(2)文献检索及查阅资料能力,总体方案设计论证与方案,硬件电路设计与参数计算、电子器件选择,软件设计调试,作品演示效果,是否满足基本要求的各项功能及技术指标等。能够根据总设计任务要求,针对复杂工程问题的解决方案,设计完成满足特定功能、性能、成本等需求的机电测控系统、电子仪器或者部件设计,在设计中,依据相关标
准、规范,综合考虑社会、健康、安全、法律、文化以及环境等制约因素,并体现创新意识,占成绩考核的50%;
(3)课程设计说明书层次清晰,结构合理,描述准确,图表格式规范,内容完整。能够理解和评价针对测控系统与仪器中复杂工程问题的工程实践对环境、社会可持续发展的影响,具备在测控系统与仪器工程实践中应用管理与经济决策知识的能力,能够进行必要技术经济分析,两方面各占成绩考核的10%,合计占成绩考核的20%;
(4)陈述答辩及回答问题,包括内容介绍(PPT)、过程演示。能够撰写调查分析报告和设计文稿、陈述发言、清晰表达或回应指令,占成绩考核的20%。
验收各阶段完成情况,各项设计完成后,由指导教师统一主持答辩,结合平时情况,给出最后成绩。成绩分优、良、中、及格和不及格五个档次。
九、考核成绩对毕业要求各指标点达成度
(1)考核学生能够运用数学、自然科学和工程科学基本原理,识别、表达、并通过文献研究分析测控系统与仪器领域相关的复杂工程问题,以获得有效结论,占总成绩10%。
(2)考核学生能够根据总设计任务要求,完成符合特定功能、性能、成本等需求的机电测控系统、电子仪器设计,依据相关标准、规范,综合考虑社会、健康、安全、法律、文化以及环境等制约因素,并体现创新意识,占总成绩50%。
(3)考核学生能够理解和评价针对测控系统与仪器中复杂工程问题的工程实践对环境、社会可持续发展的影响,占总成绩的10%。
(4)考核学生能够撰写调查分析报告和设计文稿、陈述发言、清晰表达或回应指令,占总成绩的20%。
(5)考核学生具备在测控系统与仪器工程实践中应用管理与经济决策知识的能力,占总成绩的10%。
题目:智能化重量测量仪设计
胡锦坤
(江苏大学机械工程学院仪器科学与工程系,江苏,镇江,212013)
摘要:智能化重量测试仪主要以单片机作为中心控制单元,通过称重传感器应变片进行信号采集,在配以键盘、显示电路及强大软件来组成。本次设计是基于STC单片机型号为STC12C5A60S2的测量与显示。通过单点式称重传感器将压力转换成电信号再经过变送器进行信号放大,送至单片机,然后由单片机内置10位A/D转换芯片将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LCD显示器可以识别的信息,最后显示输出。附加单价总价功能通过键盘,向单片机输入数据和命令,由单片机系统处理,显示需要的值。
关键词:STC单片机 智能化 应变片 变送器 LCD A/D 键盘
Design of an Intelligent Weight Measuring Instrument
Abstract: Intelligent weight tester is mainly at the center of the single chip microcomputer as control unit, through a strain gauge weighing sensor signal acquisition, in the match with the keyboard, display circuit and powerful software to component. This design is based on the models for the measurement and display of STC12C5A60S2 on STC microcontroller. Through single point weighing transducer to convert pressure into electrical signals through transmitter signal amplifier, sent to the single-chip microcomputer, then by the built-in 10 bit A/D conversion chip converts analog signals into single chip microcomputer can identify the digital signals, then through single chip microcomputer is converted into LCD display information that can be recognized, the display output. Additional unit price total function through the keyboard, input data and the command to the single-chip microcomputer and processing by microcomputer system, according to need.
Keywords: STC single-chip intelligent Strain gauge transducer A/D LCD keyboard
目录
第一章 绪论 ................................................................................................................................................ 1
1.1引言 ................................................................................................................................................ 1
1.2 国内外现状综述 ........................................................................................................................... 2
第二章 总体方案设计 ................................................................................................................................ 4
2.1 设计功能和性能指标要求 ........................................................................................................... 4
2.2 设计方案 ....................................................................................................................................... 5
2.3 方案可行性分析 ........................................................................................................................... 5
2.4 总结 ............................................................................................................................................... 6
第三章 硬件电路设计 .............................................................................................................................. 7
3.1传感器 ............................................................................................................................................ 7
3.2信号调理电路 ................................................................................................................................ 8
3.3显示LCD和键盘 ............................................................................................................................ 9
3.3 STC12C5A60S2 ............................................................................................................................ 10
3.4本章小结 ...................................................................................................................................... 12
第四章 软件设计 ...................................................................................................................................... 13
4.1主程序 .......................................................................................................................................... 13
4.2 AD转换子程序 ............................................................................................................................ 14
4.3 显示子程序 ................................................................................................................................. 15
4.4 按键扫描程序 ............................................................................................................................. 16
4.5本章小结 ...................................................................................................................................... 16
第五章 系统调试 ...................................................................................................................................... 17
5.1调试过程与结果 .......................................................................................................................... 17
5.2本章小结 ...................................................................................................................................... 19
第六章 结论与展望 .................................................................................................................................. 20
第七章 心得体会 ...................................................................................................................................... 21
参考文献 .................................................................................................................................................... 22
附 录 .......................................................................................................................................................... 23
第一章 绪论
1.1引言
本次课程设计应用了大量基础知识和专业知识,是大学阶段初次的综合性设计。根据课程设计要求与现在学校所有的单片机,我们选择了STC12C5A60S2单片机,此款单片机内置10位A/D转换芯片,此模块能够提高我们产品可靠性、经济性,使我们的设计变得简单了一些。预计实现0~5Kg重量测量,数字显示,键盘控制及其他拓展功能。
(1) 题目背景
称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。重量测试仪是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。 重量测试仪的发展过程与其它事物一样,也经历了由简单到复杂,由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。特别是近30年以来,工艺流程中的现场称重、配料定量称重、以及产品质量的监测等工作,都离不开能输出电信号的电子衡器。这是由于电子衡器不仅能给出质量或重量信号,而且也能作为总系统中的一个单元承担着控制和检验功能,从而推进工业生产和贸易交往的自动化和合理化。 所以就需要一种工业称重仪来方便工业生产中对于重量的把握,这样可以大大提高工业生产的效率,节约工业成本。
(2) 设计目的意义
为了学习和巩固知识,提高对所学应用基本理论分析和解决实际问题的能力,应设计 并制作实际的模型实现电子重量测试仪要求的功能,从而达到并熟悉一个产品完整的开发流程和具体内容, 提高实践应用能力。本次课程设计进一步锻炼同学们在微型计算机应用 方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须 紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。同学们要着重学会面对 一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。
1.2 国内外现状综述
近年来,智能重量测试仪已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为重量测试仪的发展奠定了其础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子重量测试仪,并在70年代中期约对75%的机械秤进行了机电结合式的电子化改造。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到围民经济各领域,取得了显著的经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。50年代中期电子技术的渗入推动了衡器制造业的发展。60年代初期出现机电结合式电了衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展。电子重量测试仪重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。
一些发达国家在电子称重力一面已经达到了较高的水平。特别是在准确度和可靠性等方面有了很大的提高。在称重传感器方面,国外电子秤产品的品种和结构又有创新,技术功能和应用范围不断扩大,成果举例如下:
(l)美国Revere公司研制出PUS型具有大气压力补偿功能的拉压两用的称重传感器,用于高准确度检验平台,称重平台,准确度可达5000d。
(2)德国HBM公司研制成功C2A、C16A两种不同结构的1-100t具有耐压外壳保护的防爆称重传感器,其防爆性能符合欧洲EN50014和EN50018d级标准。
(3)美国斯凯梅公司研制出新一代高准确度不锈钢F6Ox系列5-5000kg称重传感器,准确度6000d。用于湿度大,腐蚀性强的环境中,而且防水。
(4)德国塞特内尔公司研制出以被青铜为弹性体材料,快速称重用200型称重传感器。其特点是线性好,固有频率高,动态响应快。独创油阻尼装置与过载保护装置一体化,保证称量时速度快,工作寿命长。组装3一30kg电子平台秤,准确度可达4000d。
但就总体而言,我国电子衡器产品的数量和质量与工业发达国家相比还有较大差距,其主要差距是技术与工艺不够先进、工艺装备与测试仪表老化、开发能力不足、产品的品
种规格较少、功能不全、稳定性和可靠性较差等。
通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化:
1.小型化 体积小、高度低、重量轻,即小、薄、轻。近几年新研制的电子平台秤结
构充分体现了小薄轻的发展方向。
2.模块化 对于大型或超大型的承载器结构,如大型静动态电子 汽车衡等,已开始
采用几种长度的标准结构的模块,经过分体组合,而产生新的品种和规格。
3.集成化 对于某些品种和结构的电子衡器,例如小型电子平台秤、 专用秤、便携
式静动态电子轮轴秤、静动态电子轨道衡等,都可以实现秤体与称重传感器,
钢轨与称重传感器,轨道衡秤体与铁路线路一体化。
4.智能化电子衡器的称重显示控制器与电子计算机组合,利用电子 计算机的智能来
增加称重显示控制器的功能。
5.综合性 电子称重技术的发展规律就是不断的加强基础研究并扩大 应用,扩展新
技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控
制、信息处理等问题。
其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。电子重量测试仪是电了衡器中的一种,衡器是国家法定计量器具,是围计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
第二章 总体方案设计
2.1 设计功能和性能指标要求
智能重量测量仪的工作以电子元件:称重传感器应变片,变送器,单片机电路,显示电路,通讯接口电路,稳压电源电路等电路组成。当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号。该信号经放大电路放大输出到模数转换器。转换成便于处理的数字信号输出到CPU运算控制。CPU接受来自A/D转换器输出的数字信号,经过复杂的运算,将数字信号转换为物体的实际重量信号,并将其存储到存储单元中,CPU根据程序将这种结果输出到显示器,直至显示这种结果。控制器还可以通过对扩展I/O的控制,对键盘进行扫描,而后通过键盘程序,对整个系统进行控制。数据显示部分根据需要实现显示功能。
本次称重仪实现重量实时测量与显示,通过键盘控制可以实现单价显示、总金额的显示和清零等智能功能。整体设计方案框图如图2-1.
图2-1 整体方案设计框图
2.2 设计方案
下面为本次设计的硬件总体设计图:
图2-2 总体电路连接图
2.3 方案可行性分析
此次设计主要解决的是称重的问题,而称重最重要的是传感器的精度以及单片机的A/D转换,确定重量m和输出电压u的关系,只要找到他们的线性的关系就可以通过编程显示出来。对于重量m的确定可以采用电阻应变式传感器,由于它具有结构简单、体积小、使用方便、性能稳定、可靠、灵敏度高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应用最广泛的传感器之一。电阻应变式传感器由弹性元件和电阻应变片构成,当弹性元件感受到物理量时,其表面产生应变,粘贴在弹性元件表面的电阻应变片的电阻值将随着弹性元件的应变而相应变化。通过测量电阻应变片的电阻值变化,可以用来测量各种参数。由于传感器信号微小,本次设计的信号调理电路是用的LDST-V-SP
精密型传感器型号变送器。它是将电源稳压模块和信号放大器集成在一个模块上,它的抗干扰能力大大的增强。而起称重传感器也是由这个模块提供,这就在很大程度上避免了传感器供电电压不稳定导致测量结果不准确的可能。它有24V电压供电,通过分压稳压之后给传感器供电,幅度为5-15V,使得传感器输出0-5V的电压,然后送入单片机进行A/D处理。键盘采用了4×4的薄膜键盘,具有轻便,而且成本低廉。由于STC的运行速度很快,因此采用反转法扫描键盘,不会出现丢失数据的情况。而显示模块则选用了LCM12486R的LCD模块,它能够识别中文字符,因此显示就比较容易了。最后在连接好电路图,然后在keil上编程,源程序编译之后就可以下载到单片机中。
2.4 总结
本章主要确定了这次课程设计的总体方案,设计除称重以外的价格功能,了解了设计的基本知识,为后面的每个步骤做好铺垫。
虽然有了LDST-V-SP变送器,为了达到精度为1g,给传感器提供稳定的直流信号,保证电源的波动不会引起传感器输出的波动还是比较难的。所以要考虑到硬件和软件上的问题,精心的设计不要忽略任何一个细节。
第三章 硬件电路设计
3.1传感器
传感器采用差动电桥力传感器,电路原理如图3-1所示,实物图如图3-2所示。输入电压5~10V,输出2mV/V。变式传感器,它的核心组件是金属应变片,它可以根据称台受压的不同,应变片的敏感栅也随同变形,引起应变片电阻值相应变化,通过测量电路将其转化为电压信号输出。此外,此应变式传感器独特的镂空式悬臂梁结构,当受到同样的压力时,与实心的悬臂梁相比,它会有更大的形变,也就意味着更高的灵敏度。
当弹性体承受载荷产生变形时,输出信号电压可由下式给出:
传感器引出四条线,其接线关系如下:
红:激励电源电压+
黑:激励电源电压-
绿:输出信号+
白:输出信号-
图3-1 传感器电路原理图
图3-2 传感器实物图
3.2信号调理电路
本次设计的信号调理电路是LDST-V-SP重量变送器。下面为它的实物图和引脚图。
图3-3 变送器实物图
图3-4 变送器的引脚图
其中,各引脚的功能:
E+: 接传感器的电源正 24V:电源正
S+:传感器正信号 VOUT:信号输出
S—:传感器负信号 GND:电源负
GND:传感器的电源负 GNDD:屏蔽线
GNDD:传感器屏蔽线
该变送器供电为24VDC,输出电压为0-5V,精度为0.1%。称重变送器通常采用SMT工艺,针对工业过程的电阻应变式信号传感器而设计制造,适用于于不同规格称重传感器, 广泛应用于应用于定值控制、称重变送、张力变送、称重料位等,PLC控制系统。
3.3显示LCD和键盘
LCD引脚实物图:
图3-5 LCD引脚实物图
LCD引脚原理图:
图3-6 LCD引脚原理图
设计采用型号为LCM12486R的LCD显示器,该显示器能够显示4×8个汉字,里面有2M的中文型ROM,总共提供8192个中文汉字,另外绘图显示画面提供了一个64×256点绘图区域。它还提供多种功能指令,比如画面清除、光标归位、显示打开或关闭等。使用时先初始化LCD,然后确定显示位置,即可进行数字显示。
键盘则选择了4×4的薄膜键盘,该键盘轻巧,成本低廉。
3.3 STC12C5A60S2
在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。
STC12C5A60S2单片机,其主要包括输入/输出端口、定时器/计数器、数/模转换、串行设备输入输出、通用异步串行接口、复位等功能,并且内嵌60K字的闪存(FLASH),内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。该单片机多数指令是单周期指令,指令代码完全兼容传统8051,但运行速度比AT89S51单片机快8-12倍。
引脚功能:
VCC:供电电压; GND:接地;
P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收;
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当
用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号;
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:
P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1)
P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)
P3.6 WR (外部数据存储器写选通) P3.7 RD (外部数据存储器读选通)
同时P3口同时为闪烁编程和编程校验接收一些控制信号; RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高平时间;
ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;
PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现; EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入; XTAL2:来自反向振荡器的输出;
图3-7 STC12C5A60S2实物图
图3-8 STC12C5A60S2引脚原理图
3.4本章小结
硬件是整个设计的基础,硬件电路的设计必须搞清应变片的线路连接、变送器的接口和单片机型号及引脚的功能。在查清楚资料以后掌握了硬件的基本知识,电路连接相对简单,但线路对信号的飘逸有一定的影响,必须稳定信号的输入保证显示数据的精确度。同时STC12C5A60S2单片机也是我们第一次真正零距离接触到的单片机。
第四章 软件设计
本设计采用C语言编程,编译环境为keil-uvision,它在代码编译、优化以及错误、警告定位方面都做了改进,在调试时有很好的错误提示功能,用户能够直接在上面仿真,为用户的软件编辑、调试提供了更加友好的界面。
4.1主程序
主程序开始,首先定义初始化程序, 定义0~9十个数字对应的显示ASCII编码,AD采集程序、LCD显示程序、按键程序。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。程序结构如图4-1。
4-1 程序结构图
图4-2 主程序流程图
4.2 AD转换子程序
图4-3 AD转换子程序的流程图
AD转换子函数中,采用延时等待的方式等待AD转换完毕,循环连续采集多次,将所采集的数据求取平均值,这样能够从很大的程度上消除随机误差,使得测量结果更加的准确。
首先在调用LCD显示时,应该先初始化LCD显示器,然后定位显示的位置,之后就可以送入需要显示内容所对应的编码。下面为程序流程图。 下面为程序流程图:
图4-4显示程序流程图
采用4*4的薄膜键盘,用反转法扫描键盘,一旦有按键就执行相应的服务子程序。
图4-5
键盘扫描程序流程图
4.5本章小结
主要提供了本设计的系统软件的设计总体方案,转换程序和显示程序和键盘扫描程序的流程图,具体的程序清单在后面的附录中。
第五章 系统调试
5.1调试过程与结果
电路图的连接接还是很轻松的,由于准备工作很完善,面包板连线及调试也很顺利,主要是在空载时零位调节很困难,到最后也发现不可能能够过软件的方式处理。通过砝码来测得重和AD转换的数字量之间的关系,通过直线拟合的方式实现重量和AD转换结果之间的函数关系,这样就可以通过编程来实重量的测量和显示了。
在调试的过程当中,会遇到很多意料之外的情况。不如LCD显示不稳定等,总不能发现问题出在何处,探索了很久了,排除硬件方面的问题,后面通增加AD转换的次数的方式来求取平均值,这样在很大程度上解决了问题。
图5-1 实物调试图
传感器输出信号为mV量级,经过信号调理电路滤波放大后,输出电压经过AD转换的数字量D。0~1000g输出测量传感器、AD转换值如表1所示。后数据经MATLAB处理如图所示。拟合直线后线性度为:
拟合直线的方程:mg=4.5090 *D-694.0271 (D表示数字量)
表1 AD转换数字量输出
图5-2 重量与数字量拟合直线图
5.2本章小结
通过不断的调试后,经过设计此称重仪的误差范围为±1左右变化,智能称重仪基本实现了它的功能,但存在数据显示不稳定,有一定的飘逸,经过使用电源适配器的供电,电源模块可以进一步提高精,不断改进才完成称重仪的设计并把成果展示出来。
第六章 结论与展望
结论:本次称重仪实现重量实时测量与显示,通过键盘控制可以实现单价显示、总金额的显示和清零等智能功能。
此称重仪基本达到了任务书的要求,可以精准测量称量10g的小型物体,但限制于砝码的数量没能测量满量程 5Kg 重量时的输出,对于此传感器来说也没法实现大量程较大数据的测量,其输出也没有与软件配合调试,进行进一步的标定。本次设计为了更加准确稳定的提供电源,电源模块采用了绿杨YB1731A5A 直流稳压电源提供传感器和信号调理电路电源,实际产品中应考虑两节电池的低电压、低功耗设计,优化传感 方案和信号调理电路,减小模拟信号输出的波动,为后面AD 采集模块提供更加稳定的模拟信号。
在下一代产品中,提升硬件设计方案,选择性能更加优异的传感器和调理电路方案,通过按键可选择不同量程,满足对物体测重和人体体重的测量,降低对电源的要求从而可以提升便携性、满足外观设计的要求。升级处理器芯片,使LCD能够更加稳定的显示测量的重量值,通过Bluetooth 或WiFi与智能设备连接,通过智能设备的APP 实现体重变化的智能统计,通过软件分析变化趋势,实现健康监测功能。并可以设置语言播报功能。
第七章 心得体会
本次三周的课程设计是大学以来收获最丰富的课程设计,对我们所学的专业知识进行了有力的实践,尤其是对本专业的核心课程单片机系统及其相关知识有了进一步的掌握,体会到了设计产品的完整的过程,从方案论证到样品测试及最后的设计定稿,每一步都需要严格的测试论证,我们小组不同的软硬件设计分工也要求我们要保持良好的沟通,解决软硬件结合中可能出现的各种问题。在实践过程中增长了知识、丰富了经验,提高了解决问题的能力。系统的分析与设计过程是对学习的总结过程,更是进一步学习和探索的过程。系统的分析和设计是项辛苦的工作,但同时也是一个充满乐趣的过程。在设计过程中遇到新问题就需要不断探索和努力使问题得到解决。
本次设计我负责传感器及其电源模块、信号调理电路和单片机的连接设计。在拿到传感器了解其参数后,考验自己的第一个问题就是给传感器提供稳定的电源,保证在传感器测量的力没有变化时电源的波动不能引起传感器输出的变化,电路的接线和电路原理图的设计都要自己做,感受一定的压力。我们将整个系统根据不同的功能化分成模块,在分别进行程序设计,逐个攻破,最后在将其整合即可。课程设计进一步锻炼我们在单片机应用方面的实际工作能力。学习知识必须紧密联系实际,掌握知识更要强调解决实际问题的能力。通过此次课程设计让我学会面对一个实际问题时自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题。通过这次课程设计,使我受益颇多。巩固了课堂上学到的理论知识,又掌握了常用硬件的使用,在此基础上学习了单片机程序设计的方法,并在实践中应用。在实践中也出现了很多问题,有些问题如标号重复,没有分配好空间,都是由于不够严谨造成的,和组员经过讨论都得到了解决,也培养了我们解决问题的能力,和我们严谨的科学态度。
本次课程设计我在此要感谢胥保文老师,胥老师在整个的设计过程中给我们提供了必要的课设工具,不管什么时候去都能问他要到设备,为我们的成功做了保证,同时也要感谢一位研究生他也给我们提供了软件编写的指导。这次课程社也使我的沟通交流能力得到了提高。 再次感谢所有帮助我们的老师同学,以及我们小组成员,没有他们的帮助,我也没法顺利完成此次课程设。
参考文献 [1] 夏如铁.侯贵斌 雷仕庆 称重计量控制仪表的现状与发展趋势[J].水泥科技.中国合肥.合肥水泥研究设计院 2010.03 [2] 我国称重仪表业现状与发展趋势[OL].仪表展览网 [3] 刘大茂《智能仪器原理与设计》.国防工业出版社
[4]张毅刚《单片机原理及应用》.高等教育出版社
[5]马忠梅《单片机的C语言应用程序设计》.航空航天大学出版社
[6] 贾伯年《传感器技术[M]》.东南大学出版社
[7] 刘让周.智能化应变式称重传感器设计.湖南大学
[8] 赵广平.电子称重传感器设计.仪表技术与传感器
附 录
#include
#include
#define uint unsigned int /* uint表示无符号整形
#define uchar unsigned char /* uchar表示无符号整形
uchar key_no[]={'0','1','2','3','4','5','6','7','8','9'}; /*送往LCD显示数据的ASCII码值*/
uint price=0; /*用来存储键盘输入的单价*/
uint weight[4]={0,0,0,0}; /*存重量的千位、百位、十位、各位*/
uint money[3]={0,0,0}; /*用来存价格的十位、各位、小数第一位*/
uint mg=0; /*mg表示物体的重量*/
sfr AUXR1 = 0xA2;/*一些特殊寄存器的声明*/
sfr P0M0 = 0x94;
sfr P0M1 = 0x93;
sfr P1M0 = 0x92;
sfr P1M1 = 0x91;
sfr P2M0 = 0x96;
sfr P2M1 = 0x95;
sfr P3M0 = 0xB2;
sfr P3M1 = 0xB1;
sfr PIASF = 0x9D;
sfr ADC_CONTR = 0xBC;
sfr ADC_RES = 0xBD;
sfr ADC_RESL = 0xBE;
sbit RW = 0x96;
sbit RS = 0x95;
sbit E = 0x97;
sbit PSB = 0x93;
sbit RST = 0x94;
unsigned char code table[]={
"重量: g "
"总金额: 元"
"单价: 元/kg "
" 智能电子秤 "
};
void init_ADC(); /*初始化AD转换*/
void init_LCD();
void read_ADC(uint c); /*读取AD转换的值并且保存在数组中*/
void wcmd_LCD(uchar n); /*向LCD中写入命令子程序*/
void wdata_LCD(uchar m); /*向LCD中写入显示的数据子程序*/
bit rbusybit(); /*读取LCD的忙标志*/
void locate(uchar a); /*定位LCD数据显示位置*/
void countmoney(); /*计算金额程序
void clear1(); /*清屏子程序*/
uchar keyscan(); /*键盘扫描程序*/
void keyserve(uchar ch); /*按键服务子程序*/
void displayweight(); /*显示所称量重物的质量,显示质量为四位,最多为4996*/ void displaydanjia(); /*显示重物的单价的子程序*/
void displaymoney(); /*显示重物的价格,单位为元*/
void delay(uint n); /*软件延时子程序,延时为n ms*/
void display(); /* 显示文本程序
void main()
{ uchar ch;
init_LCD();
display();
displayweight();
displaydanjia();
displaymoney();
while(1)
{
init_ADC();
displayweight();
ch=keyscan(); /* 调用键盘扫描程序
keyserve(ch); /* 调用键盘扫描程序
countmoney(); /* 调用计算金额函数
displaymoney(); /* 调用显示总金额子程序
}
}
void init_ADC() /*初始化ADC并且启动AD转换*/
{ uint i;
uint result=0;
AUXR1=0x04;
PIASF=0x02;
ADC_RES=0;
ADC_RESL=0;
ADC_CONTR=0xc9; /* 启动AD转换
for(i=0;i
{ delay(2);
ADC_CONTR=0x49; /* 禁止AD转换
delay(4);
result+=ADC_RES*256+ADC_RESL; /* AD转换值相加
ADC_CONTR=0xc9;
}
read_ADC(result);
}
void read_ADC(uint c) /*读取AD转换的值并且保存*/ { float bb;
bb=c/40.0; /* 求取AD转换的平均值
mg=(uint)(4.5090*bb-694.0271); /* 计算重物的质量 weight[0]=mg/1000%10; /* 千位
weight[1]=mg/100%10; /* 百位
weight[2]=mg/10%10; /* 十位
weight[3]=mg%10; /* 个位
}
void displayweight() /*显示重量的子程序*/
{ uchar i;
while(rbusybit());
locate(0x83);
for(i=0;i
wdata_LCD(key_no[weight[i]]);
}
uchar keyscan() /*键盘扫描程序,看看是否有键按下*/ {
uchar scan1,scan2,keyvalue;
P2=0xf0;
delay(4);
scan1=P2;
if((scan1&0xf0)!=0xf0)
{
delay(20);
P2=0x0f;
delay(4);
scan2=P2;
keyvalue=scan1|scan2;
}
return keyvalue;
}
void keyserve(uchar keyvalue) /*按键处理服务子程序*/ {
switch(keyvalue)
{
case 0xd7:
{ price=0;
displaydanjia();
break;
}
case 0xee:
{ price=1;
displaydanjia();
break;
}
case 0xde:
{ price=2;
displaydanjia();
break;}
case 0xbe:
{ price=3;
displaydanjia();
break;
}
case 0xed:
{ price=4;
displaydanjia();
break;
}
case 0xdd:
{ price=5;
displaydanjia();
break;}
case 0xbd:
{ price=6;
displaydanjia();
break;
}
case 0xeb:
{ price=7;
displaydanjia();
break;
}
case 0xdb:
{ price=8;
displaydanjia();
break;
}
case 0xbb:
{ price=9;
displaydanjia();
break;
}
case 0xe7: /* *表示计算和显示金额 */
{ displaymoney();
break;
}
case 0xb7: /* #键表示清除键 */ { clear1();
break;
}
default: break;
}
}
void displaydanjia() /*显示输入的单价的信息子程序*/ {
while(rbusybit());
locate(0x94);
while(rbusybit());
wdata_LCD(key_no[price]);
}
void displaymoney() /*显示价格的子程序*/
{ uint i=0;
while(rbusybit());
locate(0x8c);
delay(2);
wdata_LCD(key_no[money[0]]);
wdata_LCD(key_no[money[1]]);
wdata_LCD(0x2e);
delay(2);
wdata_LCD(key_no[money[2]]);
}
void countmoney() /*计算价格并保存*/
{
float cg;
uint ng;
cg=mg/1000.0;
cg=cg*(float)(price);
ng=(int)(cg*10);
money[0]=ng/100;
money[1]=ng/10%10;
money[2]=ng%10;
}
void display() /* 显示文本子函数
{
uint i,j;
wcmd_LCD(0x30);
wcmd_LCD(0x80);
for(i=0;i
{
for(j=0;j
wdata_LCD(table[i*16+j]); }
}
void init_LCD() /*LCD初始化*/ {
delay(15);
wcmd_LCD(0x30);
wcmd_LCD(0x01);
delay(1);
wcmd_LCD(0x06);
delay(1);
wcmd_LCD(0x0c);
}
void clear1() /*清屏子程序*/ {
uchar i;
for(i=0;i
{
money[i]=0;
}
price=0;
displaydanjia();
displaymoney();
}
bit rbusybit() /*读取忙标志*/ {
bit result;
P0=0xff;
RS=0;
RW=1;
E=1;
delay(1);
result=(bit)(P0&0x80);
return result;
}
void wcmd_LCD(uchar n) /*写命令*/ {
while(rbusybit());
PSB=1;
RS=0;
RW=0;
delay(1);
P0=n;
delay(1);
E=1;
delay(1);
E=0;
}
void wdata_LCD(uchar m) /*写数据*/ {
PSB=1;
while(rbusybit());
RS=1;
RW=0;
delay(1);
P0=m;
delay(1);
E=1;
delay(1);
E=0;
}
void locate(uchar a) /*定位显示*/ {
while(rbusybit());
wcmd_LCD(a|0x80);
}
void delay(uint n) /*延时n毫秒*/ {
uint j;
uint i;
for(i=0;i
for(j=0;j
;
}