基于S08AW微控制器的转速检测系统设计.docx

上传人:b****8 文档编号:30086614 上传时间:2023-08-04 格式:DOCX 页数:25 大小:982.79KB
下载 相关 举报
基于S08AW微控制器的转速检测系统设计.docx_第1页
第1页 / 共25页
基于S08AW微控制器的转速检测系统设计.docx_第2页
第2页 / 共25页
基于S08AW微控制器的转速检测系统设计.docx_第3页
第3页 / 共25页
基于S08AW微控制器的转速检测系统设计.docx_第4页
第4页 / 共25页
基于S08AW微控制器的转速检测系统设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于S08AW微控制器的转速检测系统设计.docx

《基于S08AW微控制器的转速检测系统设计.docx》由会员分享,可在线阅读,更多相关《基于S08AW微控制器的转速检测系统设计.docx(25页珍藏版)》请在冰豆网上搜索。

基于S08AW微控制器的转速检测系统设计.docx

基于S08AW微控制器的转速检测系统设计

目次

1概述……………………………………………………………………………………5

1.1转速检测系统设计的目的和意义……………………………………………5

1.2转速测量系统的发展背景……………………………………………………5

2方案论证………………………………………………………………………5

2.1霍尔传感器测量方案……………………………………………………6

2.2光电编码器测量方案……………………………………………………6

2.3光电传感器测量方案……………………………………………………7

3总体方案设计………………………………………………………………………7

4硬件电路设计………………………………………………………………………8

4.1S08AW微控制器……………………………………………………………8

4.2数码管显示电路……………………………………………………………9

4.3报警电路…………………………………………………………………11

4.4信号采集电路……………………………………………………………12

4.5电机驱动电路和按键……………………………………………………13

5系统软件设计……………………………………………………………………15

5.1主程序设计………………………………………………………………15

5.2部分子程序设计…………………………………………………………16

总结……………………………………………………………………………18

致谢……………………………………………………………………………………19

参考文献………………………………………………………………………………20

附录A转速检测电路图……………………………………………………………21

附录B元器件清单…………………………………………………………………22

附录C效果图………………………………………………………………………………………23

附录D参考程序……………………………………………………………………………………24

 

1概述

随着电机在现代工业和农业生产过程中应用的日益广泛,越来越多的劳动力从繁重的工作中解脱出来,为更高效发挥劳动力的创造价值创造了条件。

然而机械化和自动化装置中电机运转的稳定性和安全性,是整个生产过程中的重要保证。

1.1转速检测系统设计的目的和意义

在工程实践中,经常会遇到各种需要测量转速的场合。

例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。

为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。

因此转速的测试具有重要的意义。

这次设计内容包含知识全面,对传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。

全面了解单片机和信号放大的具体内容。

进一步锻炼我们在信号采集,处理,显示发面的实际工作能力。

1.2转速测量系统的发展背景

目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法、同步测速法以及计数测速法。

计数测速法又可分为机械式定时计数法和电子式定时计数法。

传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式、电容式等,还有一些特殊的测速器是利用置于旋转体内的放射性材料来发生脉冲信号.其中应用最广的是光电式,光电式测系统具有低惯性、低噪声、高分辨率和高精度的优点.加之激光光源、光栅、光学码盘、CCD器件、光导纤维等的相继出现和成功应用,使得光电传感器在检测和控制领域得到了广泛的应用。

而采用光电传感器的电机转速测量系统测量准确度高、采样速度快、测量范围宽和测量精度与被测转速无关等优点,具有广阔的应用前景。

2方案论证

转速测量的方案选择,一般要考虑传感器的结构、安装以及测速范围与环境条件等方面的适用性;其次就是仪表的要求,除了显示以外还有控制、通讯和远传方面的要求。

这次课程设计给出三种转速测量方案,经过我和伙伴查资料、构思和自己的设计,总体电路我们有三套设计方案,部分重要模块也考虑了其它设计方法,经过分析,从实现难度、熟悉程度、器件用量等方面综合考虑,我们才最终选择了一个方案。

2.1方案一:

霍尔传感器测量方案

霍尔传感器是利用霍尔效应进行工作的,其核心元件是根据霍尔效应原理制成的霍尔元件。

本文介绍一种泵驱动轴的转速采用霍尔转速传感器测量。

霍尔转速传感器的结构原理图如图3.1。

 传感器的定子上有2个互相垂直的绕组A和B,在绕组的中心线上粘有霍尔片HA和HB,转子为永久磁钢,霍尔元件HA和HB的激励电机分别与绕组A和B相连,它们的霍尔电极串联后作为传感器的输出。

图2.1霍尔转速传感器的结构原理图

缺点:

采用霍尔传感器在信号采样的时候,会出现采样不精确,因为它是靠磁性感应采集脉冲的,使用时间长了会出现磁性变小,影响脉冲的采样精度。

2.2方案二:

光电编码器测量方案

   光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。

它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。

缺点:

光电编码器相对于其他传感器而言费用更高以及更容易损坏,考虑到这次课程设计的实际情况,我们决定不适用光电编码器。

2.3方案三:

光电传感器测量方案

光电传感器是一种小型电子设备,它可以检测出其接收到的光强的变化。

光电传感器主要由发光二级管和感光三极管组成,其中发光二极管主要是提供光源,通过调节感光三极管进而输出方波脉冲。

光敏三级管的外型与一般三极管相差不大,一般光敏三极管只引出两个极——发射极和集电极,基极不引出,管壳同样开窗口,以便光线射入。

为增大光照,基区面积做得很大,发射区较小,入射光主要被基区吸收。

工作时集电结反偏,发射结正偏。

在无光照时管子流过的电流为暗电流很小,比一般三极管的穿透电流还小;当有光照时,激发大量的电子-空穴对,使得基极产生的电流增大,此刻流过管子的电流称为光电流。

优点:

这种方案使用光电转速传感器具有采样的脉冲宽度稳定,精度高,采样速度快,范围广的特点。

综上所述,通过考虑本次课程设计的实际情况以及对以上三个方案的对比,经过我们小组讨论决定使用光电传感器来作为本设计的信号输入。

3总体设计方案

图3.1系统结构图

本次课程设计我们采用的飞思卡尔公司的S08AW板子为基础设计的转速检测系统,这个转速检测系统主要包括数码管显示、发光二级管或蜂鸣器报警、信号采集电路、电机驱动电路以及调节转速的按键。

在这个系统中信号采集电路由光电传感器和CD40106组成,光电传感器主要是用于采集电机转速,将电机的转速转换成方波信号;CD40106主要是用于调理传感器输出的信号,让输出信号更接近方波信号。

S08AW微控制器主要是将采集到的脉冲信号进行处理,然后在数码管中显示和通过驱动电路控制电机的转速以及处理按键信息。

S08AW微控制器是这次课程设计的核心,这次课程设计的程序也是根据微控制器的工作原理进行编写的。

数码管主要用于显示电机的转速,这次采用74HCT244N芯片驱动数码管点亮。

电机驱动电路主要用于通过控制MOS管的接通和截止进而控制电机的转速,从而实现调速的目的。

按键主要是用于调节调整电机转速的占空比从而实现调速。

4硬件电路设计

4.1S08微控制器

作为控制系统的核心,微控制器通过程序控制键盘输入、数码管显以及电机的运转情况;同时通过光电传感器采集信号对单片机进行控制。

S08AW60微控制器特性:

1、中央处理器为A08CPU;

2、最高可达40MHzCPU时钟频率和20MHz内部总线频率;

3、约62Kb片上在线可编程Flash存储器,具有模块保护与安全选项功能;

4、2Kb片上RAM;

5、时钟源选项为晶体振荡器、陶瓷谐振器、外部时钟或内部时钟。

外设模块:

1、具有自动比较功能的16通道、8位/10位精度的模数转换器ADC;

2、具有两个可选的串行通信接口模块SCI;

3、串行外设接口模块SPI;

4、内部集成总线模块IIC,在最大总线负载情况下,其最高工作频率可达100kbps,且负载越少,波特率越高;

5、2个定时器TPM模块为共有(2+6)通道的16位定时器/脉宽调节器,每个通道都具有可选的输入捕捉、输出比较及PWM功能;

6、8个键盘中断模块KBI可通过软件选择边沿模式或边沿/电平模式。

在本次课程设计过程中主要用到的I/O口有PTB0-PTB3、PTD0-PTD3、PTA0-PTA1、PTG0-PTG3、PTF4-PTF5、PTC0-PTC3等接口,除此之外还用到了脉宽调制和定时器等模块。

其中PTB0-PTB3、PTD0-PTD3八个端口用来驱动数码管的段选,PTA0-PTA1用来报警,PTG0-PTG3用来进行数码管的位选,PTC0-PTC3用来接按键的输入,PTF4用来接传感器的输出,将脉冲信号送到微控制器,PTF5用来控制电机的转速。

图4.1S08AW微控制器

4.2数码管显示电路

数码管显示器具有耗电省、配置灵活、线路简单、安装方便、耐振动、寿命长等优点,而且价格更低廉。

数码管通常有共阴极和共阳极两种型号,一般共阳极数码管必须外接电阻,共阴极不一定外接电阻。

共阴极数码管的放光二极管阴极必须接低电平,当某发光二极管的阳极为高电平时,此二极管点亮;共阳极数码管的发光二极管是阳极接高电平,对于要点亮的发光二极管使其阴极接低电平即可。

4.2“8”字型数码管

D7D6D5D4D3D2D1D0

DP

g

f

e

d

c

b

a

表1字形码各位定义

数据线D0与a字段对应,D1与b字段对应······,以此类推,如表1所示。

通常显示代码存放在程序存储器中的固定区域中,构成显示代码表。

当要显示某字符时,可根据地址及显示字符查表。

本课程设计共用到了3个数码管用于显示电机的转速,这3个数码管通过74HCT244N芯片控制数码管的显示;另外由三个9012作数码管的段选段,选择相应的数码管进行工作。

图4.3数码管显示电路图

4.3报警电路

图4.4报警电路图

发光二极管是由Ⅲ-Ⅳ族化合物半导体制成的,其核心是PN结。

因此它具有一般P-N结的I-N特性,即正向导通,反向截止、击穿特性。

此外,在一定条件下,它还具有发光特性。

在正向电压下,电子由N区注入P区,空穴由P区注入N区。

进入对方区域的少数载流子一部分与多数载流子复合而发光。

每个仪器都有一定的量程,当超出仪器的量程长时间或者超出太多时,容易使仪器不能正常工作。

在这次课程设计过程中当超出量程时,通过二极管进行报警。

当小于最低量程时,二极管D1点亮;当大于最高量程时,二极管D2点亮。

在这次课程设计中我们有计算了限流的电阻:

R=(Vcc-Vd-Vmcu)/I

其中Vcc=5V,Vmcu=0,Vd=1.4-2V,I=5-10mA。

由此可以计算出发光二极管的限流电阻大约等于470欧姆。

4.4信号采集电路

图4.5信号采集电路

在该电路中通过发光二极管发光,从而控制感光三极管的通断。

当感光三极管截止时,Q5三极管处于截止状态,电阻22中没有电流通过,输出是5V的高电平;

当感光三极管导通时,Q5三极管的基极是高电平,三极管导通,则输出为低电平。

当点击旋转时,感光三极管有时能接收到发光二级管发出的光,有的时候不能接收到,从而实现产生方波脉冲。

其中电阻1和4起到限流的作用,2起到分流的作用,3作为输出电阻。

图4.6CD40106

CD40106由六个斯密特触发器电路组成。

每个电路均为在两输入端具有斯密特触发器功能的反相器。

触发器在信号的上升和下降沿的不同点开、关。

在这次课程设计中CD40106起到调理传感器产生的方波,在使用时14口接电源,7接地,10作为数据输出端,11作为数据输入端,对于没有用到的5个施密特触发器的输入端引脚应全部接地,以免外界的干扰对施密特触发器造成不良影响。

4.5电机驱动电路和按键

在微控制器应用系统中,通常都要有人机对话功能,键盘就成为人机联系的必要手段。

键盘电路的设计应使MCU不仅能识别是否有键按下,还要能识别是哪个键按下,而且能把此键所代表的信息翻译成计算机能接收的形式。

对于一组键或一个键盘,需要通过接口电路与MCU相连,MCU可以采用查询或中断方式了解有误键盘键输入并检查是哪一个键被按下,并将该键号送入累加器ACC,然后通过散转指令转入执行该键的功能程序,执行完又返回到原始状态。

按键可以分为两类:

独立式按键和行列式按键。

本课程设计采用独立式按键进行输入,通过按键可以调节电机的转速。

电路图中的电阻选择公式:

R=Vcc/I,其中Vcc=5V,I小于10mA,为了降低微控制器的输出电流,可以电流选的小点(1mA),其中的电阻值为5.1K。

图4.7电机驱动

图4.8按键电路

对于驱动电路,当PTF5输出低电平时,MOS管的源区、衬底、漏区三者形成背靠背的PN结,无论电压的值为多少,总有一个PN结是反偏的,漏源之间的电阻值很大,从而使电机停止;当PTF5输出高电平时,三极管的漏源级之间形成导通的沟道,形成回路。

微控制器可以通过控制PTF5端口的电平,从而实现控制电机的停转,进而控制电机的占空比。

在驱动电路中,MOS管的工作和截止状态变化时很快的,从而使电机中的电流变化也是很快,由公式E=LdI/dt,其中L是固定不变的,dI/dt是电流的变化速率,由于dt很小导致E很大。

肖特基二极管的作用就是形成回路,减小电流的变化率,从而保护MOS管;二极管D4的作用也是保护MOS管,当电压达到一定值时二极管被击穿,从而保护MOS管。

5系统软件设计

系统软件主要分为主程序和子程序两部分。

5.1主程序设计

首先要分析系统对软件的要求,然后进行软件的总体的设计,包括程序的总体设计和对程序的模块化设计。

按整体功能分为多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件。

根据设计的要求,单片机的任务是:

内部进行计数,在计算出速度后显示。

软件编程用C语言完成的,需要能掌握C语言,还要熟练S08AW微控制器。

从程序流程图、编写程序、编译,到最后的调试,是很复杂的。

图5.1主程序流程图

主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。

主程序流程图如图5.1所示:

系统上电或复位后,首先进行定时器和计数器的初始化,然后进行高速检测,进而对检测的值进行判断,大于100并小于600时进行显示;大于600时进行报警;小于100时进行低速检测,检测的结果小于10时进行报警;大于10小于100时进行数码管显示。

5.2部分子程序设计

图5.2显示程序流程图

显示程序是通过S08AW微控制器控制的,对程序执行的结果进行显示,显示程序要进行不间断的扫描确保显示结果的及时性。

由于指令的执行时间非常短,人的肉眼是很难分辨的所以要对有些指令进行延时操作,从而达到可以观察的效果。

在主程序或其他子程序中都可以调用延时子程序,达到延时的效果。

总结

本次课程设计采用S08AW微控制器技术来实现转速的测量,可以提高转速测量的精确度,并且加快了采样的速率,具有较好的实时性。

基于S08AW微控制器的转速测量系统,具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰性能好的特点。

在设计的信号处理电路中经过滤波和信号调理,能够进一步减少误差,使测速精度得到提高。

在这次课程设计中王老师对我们硬件部分要求比较高和在没一个地方都要将道理讲得通,这是我们以前在课堂和设计中所没有做到的。

在以前的学习中我一直觉得软件是我们学习的重点,硬件部分由别人做就可以了,然而经历这次课程设计我觉得我的观点是不对的,硬件部分也是我们学习的重点。

在前几次设计中我们直接用别人的电路图,有的电路图我们根本就不懂他们的工作原理,更不用说其中电阻和电容参数的选择了,不过以前的教训告诉我们这样是不行的,将多个人的电路图拼到一起的最终结果是根本就不能正常工作。

通过这次课程设计我们对S08AW微控制器有了更加深入的了解,对电机转速的检测、控制以及报警等环节进入深入了解。

同时在自己的亲身实践中,也发现了自己的一些不足的地方,有待进一步提高与改善。

此次毕业设计任务是高精度大范围的电机转速测量系统,在实际调试中遇到的种种问题使我在设计与调试中学习到了许多知识。

在调试中不断发现问题进而解决问题,这是一个再学习的过程,其本身就是对自己的一次锻炼,培养了自己独立思考,动手解决问题的能力。

从而从各个方面得到提高与完善了自己,使自己的各个方面提高到一个新的台阶,同时为以后的工作打下基础。

 

致谢

经过三个星期的忙碌,本次课程设计已经接近尾声,通过这次学校组织的课程设计,端正了自己学习的态度,锻炼了自己独立动手的能力,在此,我要感谢每一个帮助过我的人。

  

首先,我要感谢的是我们的导师王威老师。

王威老师作为学院里的领导,平日里工作繁多,但在我做课程设计的每个阶段,都给予我悉心的指导和帮助。

可以说,没有王威老师的悉心指导和帮助,我们的这次课程设计不可能这么顺利。

另外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。

再次,我要感谢的是我的同学胡志强,在这次课程设计中他给我们每一组的成员都认真分析每一部分,讲解其中我们不明白的部分。

在这次课程设计期间,他给了我不少的关心和帮助。

同时我还要感谢我的队友李克强同学,这次课程设计由我们两个共同完成,在这次课程设计过程中他给与我很大的帮助。

最后我要感谢这次一起完成课程设计的同学,在这次课程设计中他们也给予我很大的帮助。

总之,感谢每一位关心过我,爱护过我的人。

滴水之恩,当涌泉相报。

 

参考文献

[1]王立国.基于光电红外传感器的电机转速检测控制装置设计.制造自动化.2001年

[2]尹溪,裴沛.基于单片机的发电机转速检测系统设计.高新技术产业发展.2011年

[3]杨帆,李晓敏.基于PLC高速计数器的转速检测系统设计.内肛科技.2006年第8期

[4]李贵山,林正星,郝勇.微机控制的电机转速实时检测系统.自动化仪表.1999年6月

[5]李晓海,南新元,谢丽蓉.基于高速脉冲计数器的电机转速测量系统设计.微电机.2012年2月

[6]高嵩,赵珂,杨绍国.机车柴油机转速的检测方法及其实现.机车电传动.2004年3月10日

[7]李俊,许国友.智能型电机转速检测系统的设计.计量装置及应用

[8]孙玉坤,陈照章,朱湘临.基于锁相环的光电传感器信号调理电路.仪器仪表学报.2004

[9]陈照章,朱湘临.梳状光电传感器及其信号调理电路的研制.仪表技术与传感器.2002

[10]徐敏航.MCS-96单片机在船舶柴油机转速检测中的应用.柴油机.2011

[11]李孺昕,王林.基于ATmega16单片机光纤转速检测.中国测试技术.2008

[12]王威.嵌入式微控制器S08AW原理与实践.北京航空航天大学出版社.2009

[13]张迎新,雷道振.单片微型计算机原理、应用及接口技术.国防工业出版社.2009

 

附录1:

电路图

 

附录2:

名称:

数量:

参数:

光电传感器

1个

光电

小电机

1个

直流

肖特基二极管

1个

发光二极管

2个

N沟道MOSFET

1个

CD40106

1个

电阻

4个

330(1个);470(2个);47K(1个)

按键

2个

电源

1个

蜂鸣器

2个

S08实验板

1个

74HCT244N

1个

数码管

3个

电容

4个

0.1uF(3个);10uF(1个)

三极管

3个

9012

附录C:

附录D:

#include/*forEnableInterruptsmacro*/

#include"derivative.h"/*includeperipheraldeclarations*/

#defineucharunsignedchar

#defineuintunsignedint

ucharDisp_Value[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uinttime=0;

uintspeed=0;

uintpluse=0;

uintbai=0;

uintshi=0;

uintge=0;

voidInit_TPM();

voidInit_Port();

voidInit_ECT();

voiddelay();

voidtransform();

voidspeed_show();

voidInit_TPM(void)//定时器初始化

{

TPM1MODH=0x61;

TPM1MODL=0xA8;

TPM1SC=0x4F;

TPM1C0SC=0x44;

}

voidInit_Port(void)//IO口初始化

{

PTBDD=0XFF;

PTDDD=0XFF;

PTGDD=0XFF;

PTADD_PTADD0=1;

PTADD_PTADD1=1;

PTCDD=0X00;

PTFDD_PTFDD4=0;

PTFDD_PTFDD5=1;

PTCDD=0X00;

}

voidInit_ECT(void)//时钟初始化

{

ICGC1=0x78;

ICGC2=0x20;

}

voiddelay(ucharnum)

{

charm,n;

while(num--)

{

for(m=0;m<=100;m++)

for(n=0;n<=100;n++);

}

}

voidtransform(uintdata)//转换函数

{

bai=data/100;

shi=data/100%10;

ge=data%10;

}

interruptVectorNumber_Vtpm1ch0voidTPM1_CH0_ISR(void)

{

TPM1C0SC_CH0F=0;//清除中断标志

pluse++;//脉冲累加

}

interruptVectorNumber_Vtpm1ovfvoidTPM1_OVF_ISR(void)

{

TPM1SC_TOF=0;//清除中断标志

time++;//时间累加

}

voidspeed_show()

{

while(time>=1)

{

speed=pluse;//time;

pluse=0;

time=0;

}

transform(speed);

PTGD_PTGD2=0;

PTBD=Disp_Value[bai];

PTDD=Disp_Value[bai]>>4;

delay

(2);

PTGD_PTGD2=1;

PTBD=0xff;

PTDD=0xff;

PTGD_PTGD1=0;

PTBD=Disp_Value

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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