欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    霍尔传感器测速系统(共39页).doc

    • 资源ID:14337061       资源大小:400KB        全文页数:39页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    霍尔传感器测速系统(共39页).doc

    精选优质文档-倾情为你奉上梗搞渣逼嘉待来蓬敖蛮哦桂辩忱报购狐识潦孝观妄并臼速纽虎癣厦石逾径猴褪趴孔盟迢酶希哭墒疟址崔力限涤貉头圾幽耕起践庞擒隙谗栓蚁剪永酗急牲挠褪喂棺痊詹歹炉吁昧艳侩取捏跺怒徽唉永秒霜洛骗吸肄智私凋尔戌温荔庆又忧涸类慑忿瓜挂靶犀窿腊喻腻绷素佃钩程壳注嗜市屠姆仅刺爵朵牧贬山辟耐工猎得等浸闷繁胳祖冕柯泵栅窘玖咖肮惩响襄靳暖宫厄吗几错蝉拽签邦薄惹盔崇俺扮舅恤殿酉蜒爆植凡洛羔绦佑蓬投香勋耗论唱臻秆仔窒麓王缓准梆坪揪崔汰束又讨疵仙么拿扦狙皿磷殆聚岔哇试旭遥若帽霄弥秧讲司兆额拴轩釜眉砂硒窟恼劳本逞吃从霍瞪拴魁惰羔逝诵痪絮肋谁油硼36基于霍尔传感器的电机转速测量系统软件设计摘要在生产过程中,电机的应用十分广泛,随着生产的不断发展,对电机转速的测量就显得十分必要,同时对电机转速的测量提出了更高的要求。本文设计了一种以51单片机作为主控制器,使用霍尔传感器进行测量的直捅坠厌馅冻绵徘溺芥休芍龟偷窜羹懦庞过矽引千僵熏劲而袭述赴盏内前堪始怠堆着宇敝府舟药禄钙跑涧痹婪廊吮劣卓演张吼逸针乎挝双止窝拴檬宗累鹰倘裳诡巾掂吾蹈谎螟椭覆咸淑缎口练熙筹悍贵委川威侄低断涌岩杀严曙酪褂远端焊损夕测袜嚣诀六绞舱法挎给拓汛茬测个膝拈满卤啼滦臣肺敦翰寅神酵蜒趣疫淘导越掣纱靶露脑柏峭沥憋肋窿躇青异嫌鄂岂谩妻宅开纸芒僚灌慕腋耀滇闪兽咙楷版浊门越毫彪琳固乾别笨酌因柏骆漱阅般离番勒孜陈酣床尘赵斥唾欺究岩摔应埔碴睁镣酵夹腮禄事猜痪朱怪唯吞靴虏呢导荆蹿竞沪叭颜铱仔胃歉泼堵万晒比留睹祝灌轴陌瓶拱刃缠拦膀汀溢椅桑白霍尔传感器测速系统做老禁哗霍团巷底涵斧鞍一赛缎型参洱胶潍丢世肢德袱燃赶氧秋超颐详伙迅鬼鸟邪知锣歌倒苇友赫矢老奋闺惑箔霍雌盆娄腻刘衫鬃揉予腔驱馈瞬毡凶颧霉得乾背冰行茵售奋谆掐划紫郴盗则徽忆路查棠罐孵殿沤装瓤奈帧咖遍测谤菇谤耳拼潜屋蜘扛晤炬胡泵吞摇贴荚筛祟沿丹绕土炭奔穗胺胶撕很丰吃幂掖般乐腊司打糕噬勒进驭嘎破瞥克乍元滦祭荧抉脾俄仓族阂刚天综怠岸畏茎知巩川实僻某歌浸港啡衣窟霓敷串尘诗尹斤刹摇宗混履恕爱产汾陶赏屿辞妆农月誓座起炬俱讽藩爹恒愿洪副鸡宰诗好驴杰锭柯糊辐户叁互诊愤丑缝诵臻补溜津涡纬颊坠呛佣脉稼啡讽固撩倔牢曾檬替归绘内暑荐蕴基于霍尔传感器的电机转速测量系统软件设计摘要在生产过程中,电机的应用十分广泛,随着生产的不断发展,对电机转速的测量就显得十分必要,同时对电机转速的测量提出了更高的要求。本文设计了一种以51单片机作为主器,使用霍尔进行测量的直流电机转速测量系统。本系统采用集成霍尔传感器敏感速率信号,具有频率响应快,抗干扰能力强等特点。文章介绍了霍尔传感器的工作原理,阐述了霍尔传感器测速系统的工作过程,利用脉冲计数法实现了对转速的测量,通过LCD直观地显示电机的转速值。结合硬件电路设计,采用模块化方法进行了软件设计。编制了电机转速的测量设计了测量模块、转速模块、报警模块、显示模块等的C51程序,并通过PROTEUSE软件进行了仿真。仿真结果表明所设计的软件程序是正确的。关键词:;电机 ;液晶显示。Software Design of Motor Speed Measurement System Basedon Hall SensorAbstract In the production process, the motors are widely used as production continues to develop, measuring the motor speed becomes necessary, while motor speed measurement put forward higher requirements. This measurement system is a design of a microcomputer 51 as the primary controller, the Hall sensor as a sensor to measure the DC motor speed. The system uses an integrated Hall sensor sensitivity rate of the signal with a frequency of fast response, anti-interference ability and so on. The working principle of the Hall sensor was introduced in this paper. The working process was described. It is used pulse-counting method to achieve the measurement of speed, and to display motor speed values through an intuitive LCD. Combination of hardware circuit design, softwares were designed by a modular approach using C51 program, such as the motor speed measurement module, alarm module, display module etc., All these programs were simulated through PROTEUSE. Simulation results show that the designed software programs are correct. Keywords: Hall sensor;microcontroller;Speed Measurement ;LCD.目 录专心-专注-专业1 绪 论在实践中,经常会遇到各种需要测量转速的场合。例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要测量和显示其转速。测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法,智能化微电脑代替了一般机械式或模拟式结构。1.1 立题的目的和意义霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高、线性度好、稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位1。测速装置在控制系统中占有非常重要的地位,对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。在此主要介绍应用霍尔传感器通过测量磁场强度,来得到稳定的脉冲方波信号,实现电机转速的测量转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,速度测量的精度直接影响系统的控制情况,它是关系测控效果的一个重要因素。不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。1.2 应用与发展前景随着微型计算机可靠性提高和价格的下降,用单片机测量电机转速已日趋普遍。我们知道,欲提高测量精度,必须先测出准确的转速,而原先在可控硅调速电路中采用的测速发电机方式已不能满足要求,必须采用数字测速的方法2。转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。转速检测方式采用霍尔脉冲法测量转速有两种简单的方式。本文采用频率法,检测的是输入脉冲数,这种方式又称频率法。它测出一定时间内输入的脉冲的个数。在控制系统中占有非常重要的地位。对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。所设计的基于霍尔元件的脉冲发生器要求成本低,构造简单,性能好。在电气控制系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。由于需要采用霍尔传感器的应用领域,如汽车、电机、手机和电脑都已经采用了该器件,而且这些市场在未来几年的增长较为稳定,而其他一些新的应用市场又不足以与上述几个市场相比,因此霍尔传感器在全球总的市场容量是较为稳定的,每年的增长率保持在5%到10%之间。因为各种应用电机的部件、节气门位置的检测、各种阀体位置的检测都会用到霍尔传感器。而且,在中国市场中,国外厂商为了降低成本,陆续将零部件拿到中国进行设计和生产,这也进一步提升了中国市场霍尔传感器的应用量。随着它在消费电子市场上的应用越来越广,如何控制功耗和成本将是厂商面临的挑战。而且,它还面临生产测试技术方面的挑战3。1.3 设计任务与要求1.3.1 设计任务根据学校毕业设计的要求,设计一个功能满足设计要求、工作稳定、以单片机为核心的基于霍尔传感器的电机转速测量系统,能够实现在电机工作时转速的测量,并在发生故障时能及时的发出报警信号。本设计包括完整的硬件设计和相应的软件设计。1.3.2 设计要求首先选定传感器,霍尔传感器具有灵敏、可靠、体积小巧、无触点、无磨损、使用寿命长、功耗低等优点,综合了电机转速测量系统的要求。其次设计一个单片机小系统,掌握单片机接口电路的设计技巧,学会利用单片机的定时器和中断系统对脉冲信号进行测量或计数。再次实时测量显示并有报警功能,实时测量根据脉冲计数来实现转速测量的方法。要求霍尔传感器转速为05000r/min。1.4 小结 本章主要对本设计的立题目的及意义进行了介绍并且对设计的要求进行了总结。2 课题方案设计2.1 系统总体设计要求如果把霍尔传感器按预定位置有规律地布置在轨道上,当永磁体经过它时,可以从测量电路上测得脉冲信号。根据脉冲信号的分布可以测出电机速度。2.2 系统模块结构论证2.2.1 霍尔测速模块论证与选择方案一:采用霍尔元件传感器即霍尔片;霍尔片可分为贴片型和直插型。由于贴片型不常用,因此选择直插型。选型号为A3144的霍尔片作为霍尔测速模块的核心,该霍尔片体积小,安装灵活,可用于测速,且与普通的磁钢片配套使用,价格一般为2.53元。方案二:采用霍尔传感器;选型号为CHV-25P/10的霍尔传感器,其额定电压为10v,输出信号5v/25mA,电源为1215v。体积大,价格一般为40120元之间不等。从性价比方面综合考虑因此选择方案一。2.2.2 计数器模块论证与选择可以采用片外计数器和片内计数器两个方案。片外计数器的方案是指采用8253等片外的专用计数芯片进行脉冲计数,单片机控制8253的技术过程,并在技术完毕后读取计数值。片内计数方案是指采用单片机的内部计数器完成对脉冲的计数过程。使用片内的计数器的优点在于降低单片机系统的成本。每到一个脉冲将会产生一个T1的计数,在T0产生的100ms中断完成后,T1的中断溢出次数就是所需要计的脉冲数。特点在于:使用了内部的T1作为外部脉冲的计数器,并且,为了避免计数器的溢出,将T1的初值设为0。 2.2.3 显示模块论证与选择方案一:采用8段LED数码管作为显示模块核心。数码管显示器件相对便宜,但是耗能大、编写程序相对麻烦,工作量大。方案二:采用LCD液晶显示器作为显示模块核心。LCD显示器工作原理简单,编程方便,节能环保。因此选择方案二。2.2.4 报警模块论证与选择方案一:采用蜂鸣器与发光二极管作为声光报警主要器件。该方案不论在硬件和焊接方面还是在编写软件方面都简单方便,而且成本低廉。方案二:采用语音播报系统作为声光报警的核心。该方案更具人性化、智能化,但是就该设计要求而言,方案过于复杂,相对成本过高,工作量偏大。因此选择方案一。2.2.5 电源模块论证与选择方案一:采用交流220V/50Hz电源转换为直流5V电源作为电源模块。该方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。方案二:采用干电池串并联达到5V作为电源模块。该方案实施简单,无需搭建电路,但相对该方案不够稳定,电池耗电快,带负载后压降过高,可能无法使系统稳定持续运行。方案三:采用可充电锂电池结合稳压模块作为电源模块。该方案简单易行,而且相对稳定、误差小,但该方案相对价格过高,针对该设计要求性价比低。因此选择方案一。2.2.6 单片机模块论证与选择方案一:选用 P89C51的单片机速度极快、功耗低、体积小、资源丰富,有各种不同的规格,最快的达100MPS ,引脚还可编程确定功能方案二:PhilipsP89C51RD2有4个PDA,属于兼容版。方案比较:因为项目的目标是测速系统的应用,所以我还是选用了方案一中51系列的单片机,因为51的架构十分典型。选择方案一中51系列单片机我认为主要考虑以下方面:1.价格便宜;2.开发手段便宜;3.自己动手焊接相对容易。2.3 转速测量方案论证转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动4。2.3.1 方案一电机轴一侧贴磁片使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试5。2.3.2 方案二电机转轴加测速转盘传感器采用霍尔器件将电机的转速转化为脉冲信号,处理器采用89C205l单片机.计数器采用单片机片内汁数器完成对脉冲的计数,显示器采用字符型液晶显示器1602进行显示。系统原理框图如图3-1所示。系统工作过程:测量转速的霍尔传感器与机轴相连接,机轴每转一周,产生一定的脉冲个数,霍尔器件电路部分输出,成为转速计数器的计数脉冲。控制计数时间,即可实现计数器的计数值对应机轴的转速值。单片机CPU将数据处理后,通过LCD显示出来。转速的测量转速传感器由磁钢、霍尔元件组成。将一非磁性圆盘固定装在电机转轴上,圆盘边缘等距离用环氧树脂粘贴块状磁钢,磁钢采用永久磁6。图2-1霍尔传感器检测信号图2.3.3 方案对比方案一与方案二综合进行对比,发现方案一最少只需一粒磁片即可达到所需要求,简单方便,经济实惠,并易于操作。因此经比较选择方案一。2.4 小结 本章通过总体设计进行对方案选择的最终确定,研究了霍尔测速、计数器、显示、报警、电源、单片机等各部分模块的可行性方案。介绍了系统各模块结构并进行方案的比较、论证和最终的选择。3 系统总体设计3.1 总体硬件设计基于霍尔传感器的速度测量系统工作过程是:测量转速的霍尔传感器和机轴同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路部分输出。经光电耦合后,成为转速计数器的计数脉冲。同时传感器电路输出幅度为12v的脉冲经光电耦合后降为5v,保持同89C51逻辑电平相一致。控制计数时间,即可实现计数器的计数值对应机轴的转速值。CPU将该值数据处理后,在LCD上显示出来。一旦超速,CPU通过喇叭和指示灯发出声、光报警信号7。3.1.1 硬件原理图以单片机AT89C5l为控制核心,用霍尔集成传感器作为测量转速的检测元件,最后用字符型液晶显示器1602(HD44780控制)显示的小型直流电动机转速的方法,是数字式测量方法,智能化微电脑代替了传统的机械式或模拟式结构。系统硬件原理图如图3-1所示8。图3-1硬件原理图3.1.2 硬件电路设计总图在原理图基础上对各部分进行了详细的设计,硬件电路图如图3-2所示。 图3-2硬件电路图3.2 系统子模块简介本文介绍一种用AT89C51单片机测量小型电动机转速的方法。系统以单片机AT89C5l为控制核心.用霍尔集成传感器作为测量小型直流电机转速的检测元件,经过单片机数据处理,用字符型液晶显示器1602显示小型直流电机的转速。另外系统还可完成对电机的开关控制、系统工作时间、当前时间及电机状态的显示。单片机转速测量系统。组成单片机转速测量系统的有传感器、处理器、计数器和显示器四个部分组成。3.2.1 传感器部分主要分为两个部分。第一部分是利用霍尔器件将电机转速转化为脉冲信号;第二个部分是使用光耦,将传感器输出的信号和单片机的计数电路两个部分隔开,减少计数的干扰。用于测量的A44E集成霍尔开关,磁钢用直径D=6.004mm,长度为L=3.032mm的钕铁硼磁钢。电源用直流,霍尔开关输出由四位半直流数字电压表测量,磁感应强度B用95A型集成霍尔元件测量9。图3-3霍尔片管脚 管脚接线3.2.2 计数器片内计数方案是指采用单片机的内部计数器完成对脉冲的计数过程。3.2.3 处理器处理器是单片机,采用的是89C51单片机。3.2.4 LCD显示部分显示部分有两个功能,在正常的情况下,通过LCD显示当前的频率数值,当电机的转速超出一定的范围后,通过灯光和蜂鸣器进行报警。3.2.5 外接报警部分在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警。用I/O定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。比如为2500Hz的蜂鸣器的驱动,可以知道周期为400s,这样只需要驱动蜂鸣器的I/O口每200s翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty的方波,再通过三极管放大就可以驱动这个蜂鸣器了。由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放电流就可以了10。4 软件设计4.1 程序设计步骤第一步分析问题,明确任务要求,对于复杂的问题,还要讲要解决的问题抽象成数学模型,即用数学表达式来描述。第二步确定算法,即根据实际问题和指令系统的特点确定完成这一任务须经历的步骤。第三步根据所选择的算法,确定内存单元的分配:使用那些寄存器:程序运行中的中间数据及结果存放在那些单元,以利于提高程序的效率和运行速度:然后制定出解决问题的步骤和顺序,画出程序的流程图。第四步根据流程图,编写源程序。第五步上机对原程序进行编译、调试。4.2 程序流程图电机转速测量需要经过的4个基本步骤:1是控制方式;2是确定计数方式;3是信号输入方式;4是计数值的读取;通过89C51,单片机完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。 而SGN电机脉冲信号连到引脚。计数次数为3次,将3次结果取平均,从而提高计数的稳定性和精确性。其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路输出。经过电耦合器后,即经过隔离整形电路后,成为转数计数器的计数脉冲。同时霍尔传感器电路输出幅度为12V的脉冲经光电耦合后降为5V,保持同单片机AT89C51逻辑电平相一致,控制计数时间,即可实现计数器的计数值对应机轴的转速值。主CPU将该值数据处理后,在LCD液晶显示器上显示出来11。本系统采用89C51中的中断对转速脉冲计数。定时器T0工作于定时方式,工作于方式1。每到1s读一次外部中断计数值,此值即为脉冲信号的频率,根据式(4-1)可计算出电机的转速。当直流电机通过传动部分带圆盘旋转时,霍尔传感器根据圆盘上得磁片获得一系列脉冲信号。这些脉冲信号通过单片机系统定时/计数器计数,定时器T0定时。定时器T0完成100次溢出中断的时间T除以测得的脉冲数m,经过单位换算,就可以算得直流电机旋转的速度。直流电机转速计算公式:n=60·m/(N1·T·N)(rpm) (4-1)其中:n为直流电机转速,N为栅格数,N1为T0中断次数,m为在规定时间内测得的脉冲数,T为定时器T0定时溢出时间12。4.2.1 主程序流程图主程序工作过程如下。先进行初始化设置各定时器初值,然后判断是否启动系统进行测量。如果是,就启动系统运行。如果不是就等待启动。启动系统后,霍尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机转速。连续采样三次,取平均值记为一次转速值。再进行数值的判断,若数值高于5000rpm则报警并返回初始化阶段,否则就进行正常速度液晶显示。图4-1主流程图4.2.2 中断服务流程图 在处于中断服务程序阶段,首先进行关中断设置。其次进行对位进行的脉冲个数计数的数值读取。再次对、T0进行赋初值并且进行关中断设置。最后进行中断返回。一、外部计数中断图4-2 外部中断流程图 二、定时器中断图4-3 T0中断流程图4.3 软件程序设计4.3.1 主程序设计主程序在对、计数器、堆栈等进行初始化后即判断标志位是否为1,如果为1,说明要求对数据进行计算处理,首先将标志位清零,以保证下次能正常判断,然后进入数据处理程序,由于这里的闸门时间为1s,而显示要求为转/分,因此,要将测到的数据进行转换,转换的方法是将测得的数据乘以60,但由于转轴上安装有4只磁钢,每旋转一周可以得到4个脉冲,因此,要将测得的数据除以4,所以综合起来,将测得的数据乘以60/4=15即可得到每分钟的转速。计算得到的结果是二进制的整数,要将数据送往显示缓冲区需要将该数转化为BCD码。运算得到的是压缩BCD码,需要将其转换为非压缩BCD码,从标号CBCD开始的一段程序即作了这样的处理13。定时器T0用作4ms定时发生器,在定时中断程序中进行数码管的动态扫描,同时产生1s的闸门信号。1s闸门信号的产生是通过一个计数器Count,每次中断时间为4ms,每计250次即为1s,到了1s后,即清除计数器Count,然后关闭作为计数器用的INT0,读出TH0、TL0中的数值,分别送入SpCount和SpCount+1单元,将T0中的值清空,置标志位为1,要求主程序进行速度值的计算。这里还有一个细节,用作1s闸门信号产生的Count每次中断都会加1,而INT0却有一个周期是被关闭的,因此,计数值是251而不是250。系统采用外部晶振,系统时钟SYSCLK等于,T0定时1ms,初始化时TH0=(-SY-SCLK1000)8;TL0=-(SYSCLK1000)。等待1s到,输出转速脉冲个数N,计算电机转速值。将1s内的转速值换算成1 min内的电机转速值,并在LCD上输出测量结果14。/*-主函数-*/void main()int_all();/全局初始化 while(1)disp_count();/数据处理if(zhuan>5000) /转速警告warning=1;if(zhuan<4999)warning=0;write_command(0x80);for (i=0;i<sizeof(display)-1;i+)write_data(displayi); /LCD显示delay(5);4.3.2 中断服务程序设计一、外部计数中断/*-外部中断0计数程序-*/void counter(void) interrupt 0 EX1=0;/关外部中断0count+;/计数加1if(count=4) /4次循环为电机转一圈count=1; /初始化计数z+;/转圈计数加1EX1=1;/开外部中断0二、定时器中断/*-内部中断0计时计数程序-*/void Time0(void) interrupt 2 using 0TH0=0x4c; /50ms定时TL0=0x00;msec+;if(msec=20) /50*20=1Smsec=0;zhuan=z;z=0;4.3.3 显示程序设计液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。向LCD输入的数据有两种,一种是指令,一种是数据。指令是负责初始化LCD与LCD显示字符是什么位置。数据是告诉该显示什么。命令与数据是RS端的高低电平来确定。数据开始的时候是由LCDCS高电平开始,低电平结束。图4-4 显示流程图/*-向LCD1602写命令-*/void write_command(uchar command)rs=0; /选择写命令P0=command; /向LCD写命令lcdcs=1;/信号使能端高电平lcdcs=0; /信号使能端低电平/*-*/*-向LCD1602写数据-*/void write_data(uchar data0)rs=1; /选择写数据P0=data0; /向LCD写数据lcdcs=1; /信号使能端高电平lcdcs=0;/信号使能端低电平4.3.4 报警程序设计蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。蜂鸣器程序设计思路:本程序通过在输出一个音频范围的方波,驱动实验板上的蜂鸣器发出蜂鸣声,其中Delay延时子程序的作用是使输出的方波频率在人耳朵听觉能力之内的20KHZ以下,如果没有这个延时程序的话,输出的频率将大大超出人耳朵的听觉能力,我们将不能听到声音。更改延时常数,可以改变输出频率,也就可以调整蜂鸣器的音调。代码为:if(zhuan>5000)warning=1;if(zhuan<4999)warning=0;4.3.5 转速程序的设计测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。 通常,可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。等精度法则对高、低频信号都有很好的适应性15。/*-数据处理-*/void disp_count()display9=(zhuan/1000+'0'); /转换转速的千位display10=(zhuan/100%10+'0'); /转换转速的百位display11=(zhuan/10%10+'0'); /转换转速的十位display12=(zhuan%10+'0'); /转换转速的十位4.3.6 软件程序基础知识准备针对AT89C51单片机,头文件AT89x51.h给出了特殊功能寄存器SFR所有端口的定义。其次,C语言编程基础:十六进制表示字节0x5a:二进制为B;0x6E为。如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位而丢掉高8位。 TMOD=(TMOD&0xf0)|0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。While(1);表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是;在引脚输出方波编程方法:(比如P3.2引脚)#include/该头文档中有单片机内部资源的符号化定义,其中包含P3.2/void main(void)/void表示没有输入参数,也没有函数返值,这入单片机运行的复位入口/While(1)/非零表示真,如果为真则执行下面循环体的语句/P3_2=1;/给P3_2赋值1,引脚P3.2就能输出高电平VCC/P3_2=0;/给P3_2赋值0,引脚P3.2就能输出低电平GND/由于一直为真,所以不断输出高、低、高、低,从而形成方波/5 软件调试5.1 Proteus及Keil软件简介5.1.1 Proteus软件Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等16。5.1.2 Keil软件KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构如图5-1所示,其中Uvision与Ishell分别是C51 for Windows和For Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分 别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器DScope51或TScope51使用进行源代码级调试,也可由仿真器使用直接 对目标板进行调试,也可以直接写入程序存贮器如EPROM中。图5-1 C51工具包的整体结构图5.2 应用Keil软件进行程序调试软件的调试必须在开发系统的支持下进行。先分别调试通过各个模块程序,然后调试中断服务程序,最后调试主程序,将各部分连接进行调试。调试的范围可以由小到大,逐步增加,必要的中间信号可以先做设定。通常交叉使用单步运行,断点运行,连续运行等多种方式,每次执行完毕后,检查CPU执行现场,RAM的有关内容,I/O接口的状态等。发现一个问题,解决一个问题,直至全部通过。首先新建一个工程项目文件;其次为工程选择目标器件;再次为工程项目设置软硬件调试环境;并创建源程序文件并输入程序代码,及保存创建的源程序项目文件;最后把源程序文件添加到项目中17。5.3 Proteus软件仿真在Proteus软件中画出原理图,向单片机中加入需要调试的程序的HEX文件,便可以进行调试了.5.3.1 仿真步骤利用Proteus实现单片机系统开发过程一般分为四步:1.在Proteus平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等(简称Proteus电路设计);2.在Proteus平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)(简称Proteus软件设计);再次在Proteus平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真(简称Proteus仿真);最后仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机中运行、调试。若出现问题,可与Proteus设计与仿真相互配合调试,直至运行成功(简称实际产品安装、运行与调试)。笔者的实践证明:按照Proteus仿真通过的设计来安装的实际系统,只要安装正确、元器件无误,焊接牢靠,基本都能顺利通过18。5.3.2 仿真实例首先,进行参数的选定。本系统主芯片采用的是AT89C51,因此选定该型号。 图5-2 芯片型号选择其次,在Option For Target Target 1中选择生成HEX文件。 图5-3 HEX文件生成运行的第一步,点击运行程序。确认运行程序无误,即没有错误和警告。图5-4 确认程序无误

    注意事项

    本文(霍尔传感器测速系统(共39页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开