基于51单片机的智能塔吊控制器设计
摘要
智能塔吊控制器为针对塔吊在工地实际施工中的安全隐患而研制。控制器内部有单片机最小系统、实时时钟、E2PROM等集成电路组成,为了提高仪器的抗干扰能力和可靠性,在控制器内外信号之间采用了全光电隔离措施;控制器外部有压力传感器、霍尔传感器、控制和保护电路组成。控制器主要完成塔吊在施工过程中的高度、幅度、负载重量、力矩实时监测、超限报警和保护等功能,为塔吊的安全施工提供保护措施,可广泛应用于各种塔吊控制场合。
关键词:AT89C51单片机 塔吊控制器 光电隔离
Design of intelligent tower crane controller based on 51 MCU
Abstract
The intelligent tower controller is designed to aim at the safety hidden trouble that the tower crane can be exposed to in construction.The inside of the controller is composed by integrate circuits such as SCM(Single Chip Micyoco),real time clock, E2PROM and CMOS chip.In order to improve the ability of antiiamming and dependability,it adoptes the whole photoelectricity isolation in the signal of inside and outside.The outside of the controller is composedby altitude sensor,extent sensor,weightsensor,the control and protection circuits.The controller is mainly used to complete the functions such as the watch of the height,the extent,the weight of the load and the moment.Besides it can give an alarm and protect the instrument when the load exceeds the limit.The intelligent tower crane controller has many functions and its parameter can be conveniently intercalated.So it can be used in many occasio.
Keywords:51 SCM(single chip micyoco);tower crane controller;photoelectricity isolation
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期:
指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
导师签名: 日期: 年 月 日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、学生掌握专业知识、技能的扎实程度
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□ 优 □ 良 □ 中 □ 及格 □ 不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□ 优 □ 良 □ 中 □ 及格 □ 不及格
5、完成毕业论文(设计)期间的出勤情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
(在所选等级前的□内画“√”) 指导教师: (签名) 单位: (盖章)
年 月 日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
(在所选等级前的□内画“√”) 评阅教师: (签名) 单位: (盖章)
年 月 日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、对答辩问题的反应、理解、表达情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、学生答辩过程中的精神状态
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格 评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长): (签名)
年 月 日 教学系意见:
系主任: (签名)
年 月 日
目录
摘要 2
Abstract 2
第一章 绪论 4
1.1 塔吊监控研究现状 4
1.2 塔吊监控研究的意义 5
第二章 方案设计 6
2.1 整体设计思路 6
2.2 整体设计框图 7
第三章 设计辅助内容 8
3.1 AT89C51 单片机控制芯片 8
3.2 AE2501B 电机驱动芯片 9
3.3 A/D 模数转换芯片 10
3.4 运放电路LM324 11
第四章 硬件设计方案 12
4.1 数码管显示设计 12
4.2 压力传感器电路设计 12
4.3 驱动直流电机电路设计 14
4.4 闪光报警电路设计 15
结论 17
参考文献 19
致 谢 20
附 件一 原理图 21
附 件二 元器件清单 22
附 件三 程序清单 23
第一章 绪论
1.1 塔吊监控研究现状
塔式起重机通常又称为塔吊,是目前在建筑工地上使用得非常普遍的大型垂直吊装起重运输机械设备。在日常的使用中,如果塔吊司机不知道牵引小车在某一位置时最大能吊起多重的货物,也不知道正在吊的货物有多重,所以塔吊存在发生塔身翻侧、折断和塔吊吊臂折断等事故的危险。由于塔吊体型庞大,一旦发生事故就必然是大事故或者是特大事故,不但造成人员的伤亡,往往还伴随着巨大的经济损失;而导致事故的原因大部分都是因为塔吊在起吊货物时超重。因此,如何知道塔吊当前所起吊货物的重量和牵引小车在当前位置是否超重至关重要,本文介绍的塔式起重机起重性监控器就是为解决这个问题而研制。
图1.1-1 塔吊图形
表1.1-1 工作幅度
塔吊根据吊臂长度的不同有45m、50m和55m等多种规格,而每一种不同吊臂长度规格的塔吊根据吊钩的设置又有二倍率和四倍率之分,一旦吊臂长度确定,吊钩倍率确定,则牵引小车在吊臂上每一个位置都对应着一个最大吊重量,也就是说牵引小车在某一位置上所起吊货物的重量不能超过在同一位置所对应允许的最大吊重量,这种塔吊吊臂长度、吊钩倍率与允许的最大吊重量三者之间严格的对应关系所形成的曲线,在塔吊术语上就称之为起重性能曲线。因此,塔吊司机必须严格按照起重性能曲线操作,牵引小车在每一个位置所起吊的货物都不能超过起重性能曲线上所对应允许的最大吊重量,否则的话发生事故就不可避免了。可见起重性能曲线对塔吊的安全运行是何等的重要,换言之,本文介绍的塔式起重机起重性监控器是塔吊司机安全操作的保证,为塔吊带来一种既安全又实用而且也是塔吊必不可少的自动化装备。
1.2 塔吊监控研究的意义
在事故多发的建筑行业,保证施工人员的人身安全,工地的建筑材料、及施工质量、设备等财产安全是施工单位管理者关心的头等大事。建筑工地属于环境复杂,人员复杂的区域。考虑到设备及人员的安全,一套有效的现场及远程视频监控系统对于管理者来说是非常有必要的。通过视频监控系统,管理者可以了解到现场的施工进度,可以远程监控现场的生产操作过程,和现场材料的安全。塔式起重机安全监控设备的使用,一方面由于准确地记录了其运行情况,为监督部门提供了加大管理力度、严格执法的依据。进而督促操作和指挥人员提高安全意识减少或杜绝安全事故隐患。另一方面其塔吊监控器及时报警功能要能及时提醒操作人员预防突发的安全隐患。唯一不利的是需要增加部分投资,但这与事关人民安全相比是非常值得的。为此,相关专业部门提出了有关塔吊监控器的事项。
第二章 方案设计
2.1 整体设计思路
塔式起重机起重性能监控器的主板主要用于传感器信号的检测、处理。本设计采用AT89C51作为主板的控制核心,AT89C51是一种低功耗,高性能CMOS 8位单片机,,采用了AEMEL公司的高密度、非易失性存储技术制造,它有较小的精简I/O端口,体积很小。此外,AT89C51设计和配置了震荡频率可为0HZ并通过软件设置省电模式。AT89C51在空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行口和外中断系统可继续工作,掉电模式冻结振荡器并保存RAM数据,停止芯片其它功能直至硬件复位,所以AT89C51非常适用做应用系统的处理器。
首先从传感器的形变量所转换的电压入口,由于外在的因素是非电量的变化,所以通过传感器通过外在压力的变化不失真地转换成相应的电量,并且经过转换的模拟电压很小,只有几十或者几百mV,要想该电压能够体现出所要表达的物理量,必须经过运放电路放大,把较小的信号放大得到约0~5V之间的电压,以便符合单片机芯片工作的正常共工作电压范围。单片机处理的是数字信号,之前还应需把放大的模拟信号经过A/D转换器转换成数字信号。因此主板芯片通过电压的大小可以传感器所感受的压力大小。在运行情况状态下,如果检测到超重或者计算后的力矩超限,则会提示闪光报警。但是在实际使用中,为了消除起动等情况下的重量冲击信号,需要提供延时保护程序。延时时间为10ms为单位,因此可设定的延迟时间为0ms~255ms。当重量或者力矩超限时间大于本参数值乘以10ms时,才能提示闪光报警。
处理过的信号通过单片机要通过数码管显示出来,数码管显示七段数码管连接单片机的P0口,驱动数码管选择三极管操作简单可行,实际电路也简单,电机的运行通过驱动芯片进行。有信号发生时,附着在电机上运动的磁钢,每经过霍尔元件,霍尔元件会相应地输出一个脉冲,通过时间和脉冲的大小,进而可以计算得到塔吊吊物高度和钢丝绳所运动的距离,通过霍尔提供的脉冲信号通过单片机输出到电机驱动芯片,从而控制电机的运行状况。进一步可以测出吊钩的高度和小车的位移,两个电机所控制不同对象,一个电机控制小车来回的位移,用来控制吊物与塔吊垂直的距离大小,另外一个电机用来起动吊物。
报警电路就是让相关责任人提早发现非正常运行时所出现的问题,便于及时采取措施面对,消除隐患所带来的事故。然而本设计电机运行的同时,随着重物的加大,当重量值大于重量预警值时,控制器就会驱动发光二极管进行闪光报警,鉴于本设计是实验操作模型设计,选择闪光报警以显示其功能的可行性,不能应用于实际操作中,不易于被人们察觉。然而在实际建筑工地上,塔吊正常运行工作时,当吊物超过一定报警预警值,发出相关声光报警,使人们对声光报警产生的信号更为敏感,采取相应的措施应对,避免事故的发生。
2.2 整体设计框图
通过整体思路的设计,该设计是以AT89C51单片机芯片为核心主板的设计,外围扩展电路通过单片机对数字信号的处理实现对应的功能。其中,主要有几个单元模块组成电机的驱动电路、霍尔传感器电路、数码管显示电路、压力传感器信号放大模拟转换电路和和闪光报警电路组成,通过他们之间的关联,从而确定出对应的总体设计框图,简单设计框图2.2-1:
图2.2-1 塔吊监控设计框图
第三章 设计辅助内容
3.1 AT89C51 单片机控制芯片
AT89C51(图三)L公司生产的低电压,高性能CMOS8位单片机,片内含有4k bytes 的可反复擦写的只读程序存储器和128 bytes 的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51可为你提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:与MCS-51产品指令完全兼容; 4k字节可重擦写Flash闪速存储器;1000次擦写周期;全静态操作;三级加密程序存储器;128*8字节内部RAM;32个可编程I/O口线;2个16位定时/计数器;6个中断源;可编程串行UART通道;低功耗空闲和掉电模式。
功能特性概述:AT89C51提供以下标准功能:4k字节Flash闪存存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串口通信,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通讯口及中断系统继续工作。掉电方式保护RAM中的内容,但晶振停止工作并禁止其他所有部件工作直到下一个硬件复位。
图3.1-1 AT89C51引脚图
3.2 AE2501B 电机驱动芯片
AE2501B为集控制与电机驱动一体的两功能功功率放大驱动器,将分立元件集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该电路的两个输入端口与TTL/CMOS电平兼容,具有良好的抗干扰性,两个输出端可直接驱动直流电机正反转运动,具有较大的电流驱动能力,每通道可通过500mA的持续电流,峰值电流可达到1.1A;同时具有较低的输出饱和压降,内设抗浪涌保护电路适用于感性负载,使之在驱动继电器、直流电机、步进电机或开关功率管时安全可靠;因此被广泛用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。
其特点:低静态电流,宽的电源电源范围:3-9V,集控制与驱动一体,峰值电流1.1A,持续工作电流500mA,内置反响续流二极管,始于感性负载,与标准TTL/CMOS输出电平兼容,方便接口,让输入同为低时,马达停止,电路处于低功耗待机状态。
图3.2-1 AT2501B管脚图
表3.2-1 功能描述
序号 符号 功能 1 INA 电机正转输入 2 VCC 电源电压 3 VOB 电机反转输出 4 GND 地 5 GND 地 6 VOA 电机正转输出 7 VCC 电源电源 8 INB 电机反转输入
逻辑功能如表3.1-2:
表3.1-2 逻辑功能表
INA INB VOA VOB 直流电机 H L H L 正转 L H L H 反转 L L OPEN OPEN 停止 H H X X X
3.3 A/D 模数转换芯片
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的分辨率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
其特点:8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源提供供电输入电压在0~5V之间;工作频率为250KHZ,转换时间为32us;一般功耗仅为15mW。
管脚顶视图图3.3-1:
图3.3-1 ADC0832管脚顶视图
芯片接口说明
CS_ 片选使能,低电平使能。 CLK 芯片时钟输入
GND 芯片参考0电位(地)。 Vcc/REF 电源输入及参考电压输入(复用)。
D1 数据信号输入,选择通道控制。 D0 数据信号输出,转换数据输出。
CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。
ADC0832与单片机的接口电路如图3.3-2:
图3.3-2 接口图
正常情况下ADC0832与单片机接口应为4条数据线,分别是CS,CLK,D0,D1。但由于D0端与D1端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将D0和D1并联在一根数据上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用。D0/D1的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片使能端CLK输入时钟脉冲,D0/D1端则使用D1端输入通道功能选择的数据信号。在第1个脉冲的下沉之前D1端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前D1端应输入2位数据用于选择通道功能。
3.4 运放电路LM324
LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单元电源应用场合的标准运算放大器相比,它们有一些显著特点,该运算放大器可以工作的低到3.0伏或者高达32伏的电源下,静态电流大致为MC1471的静态电流的五分之一,共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性,输出电压范围也包含负电源电压。
其特点如下:1 短路保护输出;2 真差动输入及;3 低输入偏置电流:最大为100纳安;4 单电源工作:3.0伏到32伏;5 每一封装四个放大器;6 内部补偿;7 共模范围扩展到负电源;8 行业标准引脚输出;9 在输入端的静电嵌位增加可靠性而不影响器件的工作。
第四章 硬件设计方案
4.1 数码管显示设计
在设计该课题时,首先想到的是通过课题的设计能够显示出吊物的高度和吊物的重量,从而有效的设计可以从数码管上显示出塔吊所运行的状况。在应用数码管进行显示时,首先需要考虑的问题是驱动电流,与发光二极管相同,数码管的发光段也需要串联限流电阻,以共阳极为例,串联的限流电阻阻值越大,电流越小,亮度越低;电阻值越小,电流越大,亮度越高。在使用限流电阻时需要在每一段线上都串联限流电阻,而不要在公共端上串联电阻,如果在公共端上串联一个限流电阻,则在显示不同数字时,将会造成数码管的亮度不同。用三极管控制共阳极数码管是利用三极管的开关特性,比如用pnp三极管的话,集电极接地,然后通过基极控制三极管的通断,当通过单片机给基极一个低电平时,发射极导通,集电极与发射极也之间也导通了,一般都是用三极管控制数码管的位选引脚。简单地说就集电极和发射极相当于一个开关,基极是控制端,基极给高电平是,开关是断开基极给低电平时,开关合上。设计图如图4.1-1所示:
图4.1-1 数码管显示电路
4.2 压力传感器电路设计
由于力的大小无法直接读出观测到,需要通过一定的转换条件可以显示出要测得数据大小,通过压力传感器形变量的改变,通过电压的输出可以有效地转换所得力的大小。压力传感器是将输入的机械应变ε 转换为变化的变换元件。电阻变换器的输入应变ε =ΔL/L,即材料的长度相对变化量,它是一个无量纲的相对值。通常ε =10-6 为一个微应变。电阻变
换器的输出量为电阻值的相对变化量ΔR/R。电阻变换器有金属电阻变换器和半导体电阻变换器两种类型。根据半导体材料的压阻效应:Δρ/ρ=σπ且ρ=Eε其中:σ是应力(F/S);π是压阻系数,π=(40~80)*10-11m2/N,E是弹性变量,E=1.67*1011N/m2,所以电阻的相对变化为(ΔR/R)≈πEε 要测量其他物理量,如压力、力、加速等,就要先将应变片贴在相应的弹性元件上,这些物理量被转换为弹性元件的应变,再经应变片将应变转换为电阻输出量。
压阻式传感器的满量程输出信号为70~350mV不等,其输出阻抗很高,这就要求放大电路也有很高的输入阻抗,不从传感器输出端吸收电流,以免破坏传感器的工作状态,这里介绍的是有芯片LM324组成的运放电路。LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性其工作特点1.短路保护输出 2.真差动输入级 3.可单电源工作:3V~32V 4.低偏置电流:最大100nA 5.每封装含四个运算放大器。6.具有内部补偿的功能。7.共模范围扩展到负电源 8.行业标准的引脚排列9.输入端具有静电保护功能
经过LM324放大的约0~5V之间的电压信号经常adc0832的处理,把模拟信号转换为数字信号供单片机软件处理操作。作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H
图4.2-1 压力传感器电路
4.3 驱动直流电机电路设计
电机驱动电路首先要从编码器着手,本设计采用对方向盘旋转角度的测量选用电编码器作为传感器,其输出电路选用集电极开路型,输出分辨率选用360个脉冲/圈,考虑到电机转动是双向的,既可顺时针旋转,也可逆时针旋转,需要对编码器的输出信号鉴相后才能计数。常用的光电编码器有3相输出,A相、B相和Z相,AB两相一圈输出N的脉冲,z相一圈输出一个脉冲,AB两相相位差90,A超前则正转,B超前则反转。鉴相电路用来分辨A相超前还是B相超前,即实现判断当前编码器的旋转方向,我使用的方案是参考网络上的经典电路,74LS00-与非门,74LS86-异或门,74LS379-D触发器搭出来的电路。
当编码器顺时针旋转时,A相信号在相位上超前B 1/4周期。经过D触发器后,Q1为高电平,Q2为低电平,C1保持低电平。相反之,当逆时针方向旋转时,C1将保持低电平,C2形成的计数脉冲可作为双向计数器“-”端的输入信号,从而完成对编码器输出脉冲的计数。实际应用中可根据编码器每圈输出脉冲数来增减可逆计数的个数,如编码器分度为1024脉冲/转,另外,利用A、B信号相位相差90度的特点在计数电路的前端增加倍频电路,可以提高编码器的测量精度。
经过单片机的软件控制,经过单片机芯片输出不同的高低电压信号来驱动从而确定电机的运行状况。通过DJ1+和DJ1-电平高低情况来进行控制电机。下面介绍一下有关电机驱动芯片AE2501B管脚功能的介绍:其中1脚控制电机正转输入信号,8脚控制电机反转输入信号,3脚控制电机反转输出,6脚控制电机正转输出,4和5脚接地端,2和7脚接电源端。逻辑功能如下:(1)当1脚(INA)为高电平,8脚(INB)为低电平时,电机正转。(2)当1脚(INA)为低电平,8脚(INB)为高电平时,电机反转。(3)当1脚(INA)为低电平,8脚(INB)为低电平时,电机停止。(4)禁止是1和8脚同为高电平。通过输入高低电平的不同,从而有效地控制电机的正反转,达到所预期的效果。其设计总结电路图如图4.3-1所示:
图4.3-1 电机驱动电路
4.4 闪光报警电路设计
闪光报警是最简单,也是最常用的一种报警方式。单片机应用系统中的闪光报警就是在控制指示灯的程序中加入定时程序,按一定的时间间隔来交替点亮与熄灭指示灯。闪光报警在硬件连接上非常简单,通常可利用AT89C5 1的I/0口直接驱动发光二极管实现,如图1所示。该电路中发光二极管一般反向连接,其正端接+5V,负端通过限流电阻与YO口线相连。限流电阻阻值的选择要同时考虑发光二极管的驱动电流及I/O口线的负载能力,一般可选择330n或360n.若使某发光二极管点亮,则只需向相应的输出口输出低电平。设计电路如图4.4-1所示:
图4.4-1 闪光报警电路
若P1.0).
[2]马家辰,孙玉德.MCS~51 单片机原理及接口技术[M].哈尔滨工业大学出版社.1998,9:3-25.
[3]徐志良.单片机原理与控制技术[M].北京:机械工业出版社,2001.
[4]王晓明.单片机的单片控制[M].北京:北京航空大学出版社,2002.
致 谢
大学三年学习时光已经接近尾声,在此我想对我的母校,我的父母、亲人们,我的老师和同学们表达我由衷的致意。感谢我的家人对我在大学三年来深造的默默支持:感谢我的母校浙江机电给了我学三年深造的机会,让我能继续学习和提高自己,感谢三年来老师和同学们的关系和鼓励,感谢工行提供的助学贷款服务项目,所有的这一切让我充满了感动,感谢你们对我的关心与帮助。
这篇塔吊监控课题的设计得到许多老师和同学们的关注,让我更好地完成此次甚至是大学的最后一次有意义的设计,让我学会了很多,从选题到查阅资料,课题原理的确定,期中元件的代换,后期的选型调整等各个环节你们都给予了悉心的指导,这两个月来,两位指导老师都给提供了明确的思路,设计方法,技术讲解等等,图书馆的老师提供了各个参考资料提供给我做毕业设计作参考,同学的讲解指导让给我对这次设计更有信心,总之一切的一切,大的方面感谢学校提供了我学习的一切基本设施,感谢老师给予的知识讲解,感谢同学们的热情帮助等等的一切,你们都给予了很大的帮助,在此,我再一次真诚地向帮助过我的老师和同学表示感谢!
谨以此文献给他们!
附 件一 原理图
附 件二 元器件清单
表四
名称 位置 规格 数量 备注 芯片 U1 AT89C51 1 U3 ADC0832 1 U4、U5 AE2501B 2 U6 74LS175 1 U7 74LS00 1 U8 LM324 1 U9、U10 74LS193 2 数码管 DS1、DS2 2 开关 S1~S4 4 马达 MG1、MG2 2 晶振 Y1 12MHZ 1 三极管 Q1、Q2 8550 2 发光二极管 D1 1 压力传感器 R110 SMOWO压力变送RW-ST01型测力 1 编码器 P1 欧姆龙E6B2-CWZ6C.600 1 电阻 R1~R9、R18 10K 10 R10~R11 1K 2 1/4W R16~R17 680 2 R20~R23 30K 4 R28~R31 100K 4 R19 330 1 电容 C1 10uF 1 C2、C3 30uF 2 C4、C7 47uF 2 电解电容 C5、C6 0.01uF 2 瓷片电容
附 件三 程序清单
#includeAT89X51.H
#includeabsacc.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
/*---接口定义 ---*/
sbit Menu = P2^5; //菜单选择
sbit TZDJ = P2^4; //停止电机
sbit ZFZ = P2^3; //正反转选择
sbit DJXZ = P2^2;//电机选择
sbit LED_DK1 = P2^1; //数码管段控第1位
sbit LED_DK2 = P2^0; //数码管段控第2位
sbit ADC0832_CS = P1^1;
sbit ADC0832_CLK = P1^2;
sbit ADC0832_DODI = P1^3; //停止电机
sbit DJ1a = P1^4; //直流电机1控制+
sbit DJ1d = P1^5;//直流电机1控制-
sbit DJ2a = P1^6; //直流电机2控制+
sbit DJ2d = P1^7;//直流电机2控制-
sfr DAT = 0x80; //数码管8位段控数据
sfr JXQ_DAT = 0xB0; //鉴相器8位数据
void Init();
void tzjcl();
void LED_display();
void delay();
uchar Menu_value=0,DJXZ_value=0,ZFZ_value=0,TZD_value=0,TZDJ_value=0;
uchar *LED_1,flag=0,ADC0832_Hd,ADC0832_Ld,i,k,ADC0832_dat=100, H_dat=10;
/*---主函数---*/
void main(void)
{
Init();
while(1)
{
if((Menu=0)||(DJXZ=0)||(ZFZ=0)||(TZDJ=0))
{
TH1 = 0xfc;
TL1 = 0x18;
TR1=1;
}
LED_display();
}
}
void Init()
{
ADC0832_CS = 1;
LED_1=ADC0832_dat;
TMOD=0x10;
TH1 = 0xfc;
TL1 = 0x18;
EA=1;
ET1=1;
TR1=0;
}
/*---按键判断与处理程序---*/
void t1(void) interrupt 3 using 0
{
TR1=0;
flag=flag+1;
if(flag=1)
{
if(Menu=0)
{
if(Menu_value!=2)
Menu_value=Menu_value+1;
else
Menu_value=0;
}
if(DJXZ=0)
{
if(DJXZ_value!=1)
DJXZ_value=DJXZ_value+1;
else
DJXZ_value=0;
}
if(ZFZ=0)
{
if(ZFZ_value!=1)
ZFZ_value=ZFZ_value+1;
else
ZFZ_value=0;
}
if(TZDJ=0)
{
if(TZDJ_value!=1)
TZDJ_value=TZDJ_value+1;
else
TZDJ_value=0;
}
loop:if((Menu=1)(DJXZ=1)(ZFZ=1)(TZDJ=1))
{
TH1 = 0xfc;
TL1 = 0x18;
TR1=1;
flag=1;
}
else
goto loop;
}
if(flag=2)
{
if((Menu=1)(DJXZ=1)(ZFZ=1)(TZDJ=1))
{
flag=0;
tzjcl();
}
else
goto loop;
}
}
/*---塔吊运行程序---*/
void tzjcl()
{
if(Menu_value=0) //运行电机
{
if(TZDJ_value=0)
{
if(DJXZ_value=0)
{
if(ZFZ_value=0)
{
DJ1a = 1;
DJ1d = 0;
}
else
{
DJ1a = 0;
DJ1d = 1;
}
}
else
{
if(ZFZ_value=0)
{
DJ2a = 1;
DJ2d = 0;
}
else
{
DJ2a = 0;
DJ2d = 1;
}
}
}
else
{
DJ1a = 0;
DJ1d = 0;
DJ2a = 0;
DJ2d = 0;
}
}
if(Menu_value=1) //测量物重
{
loop:ADC0832_Hd= 0;
ADC0832_Ld= 0;
k= 0;
_nop_ ();
ADC0832_CS = 0;
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
ADC0832_CLK = 1;
ADC0832_DODI = 1;
_nop_ ();
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
ADC0832_CLK = 1;
ADC0832_DODI = 0;
_nop_ ();
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
ADC0832_CLK = 1;
_nop_ ();
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
for(i=0;i8;i++)
{
ADC0832_CLK = 1;
_nop_ ();
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
ADC0832_Hd |= ADC0832_DODI;
ADC0832_Hd=1;
}
for(i=0;i8;i++)
{
ADC0832_CLK = 1;
_nop_ ();
_nop_ ();
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
k|= ADC0832_DODI;
k=i;
ADC0832_Ld |= k;
}
ADC0832_CLK = 1;
_nop_ ();
_nop_ ();
ADC0832_CS = 1;
ADC0832_CLK = 0;
_nop_ ();
_nop_ ();
if(ADC0832_Hd=ADC0832_Ld)
{
ADC0832_Hd=ADC0832_dat;
LED_1=ADC0832_dat;
}
else
goto loop;
}
if(Menu_value=2) //测量高度
{
H_dat=(JXQ_DAT/16)*10+(JXQ_DAT%16);
LED_1=H_dat;
}
}
/*---显示函数---*/
void LED_display()
{
uchar code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f}; //数码管段码,分别为0到9.
uchar code table2[8]={0x01,0x02}; // 数码管位空序列
uchar table1[2];
table1[0]=*LED_1%10;
table1[1]=*LED_1/10;
LED_DK1=table2[0];
delay();
DAT=table[table1[1]];
LED_DK2=table2[1];
delay();
}
/*---延时函数---*/
void delay()
{
uchar i,j;
for(i=200;i0;i++)
{
for(j=200;j0;j++)
;
}
}
学位论文原创性声明
本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。
学位论文作者(本人签名): 年 月 日
学位论文出版授权书
本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。
论文密级:
□公开 □保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)
作者签名:_______ 导师签名:_______
_______年_____月_____日 _______年_____月_____日
独 创 声 明
本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行
文档评论(0)