




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I / 26 下载文档可编辑 传感器脉冲信号处理电路设计 摘 要 介绍了一种基于单片机平台,采用霍尔传感器实施电机转速测量的方 法,硬件系统包括脉冲信号产生,脉冲信号处理和显示模块,重点分析, 脉冲信号处理电路,采用 c 语言编程,通过实验检测电路信号。 关键词:霍尔传感器;转速测量;单片机 II / 26 下载文档可编辑 目目 录录 1 1 绪论绪论.1 1.1 课题描述 .1 1.2 基本工作原理及框图 .1 2 2 相关芯片及硬件电路设计相关芯片及硬件电路设计.1 2.1 系统的主控电路.1 2.2 STC89C52 单片机介绍.2 2.2.1 STC89C52 芯片管脚介绍 .3 2.2.2 时钟电路.4 2.3 单片机复位电路 .5 2.4 霍尔传感器电机采样电路 .6 2.4.1 A3144 霍尔开关的工作原理及应用说明 .6 2.4.2 霍尔传感器测量原理.7 2.5 电机驱动电路 .8 2.6 显示电路 .8 3 3 软件系统设计软件系统设计.9 3.1 软件流程图 .9 3.2 系统初始化 .10 3.3 定时获取脉冲数据 .11 3.4 数据处理及显示 .12 3.5 C 语言程序.13 总总 结结.17 致谢致谢.18 III / 26 下载文档可编辑 参考文献参考文献.19 1 / 26 下载文档可编辑 1 1 绪论绪论 1.1 课题描述 在工农业生产和工程实践中,经常会遇到各种需要测量转速的场合, 测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测 元件,得到的信号是模拟量,控制系统的硬件部分非常复杂,功能单一, 而且系统非常不灵活、调试困难。数字式通常采用光电编码器、圆光栅、 霍尔元件等为检测元件,得到的信号是脉冲信号。单片机技术的日新月异, 特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心 的数字式测量方法,使得许多控制功能及算法可以采用软件技术来完成。 采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效 的提高工作效率。本课题,是要利用霍尔传感器来测量转速。由磁场的变 化来使霍尔传感器产生脉冲,由单片机计数,经过数据计算转化成所测转 速,再由数码管显示出来。 1.2 基本工作原理及框图 本课程设计的电机采用直流电机,然后利用霍尔传感 A3144 对电机的 转速进行采样从而输出脉冲信号。主控芯片采用 STC89C52 单片机,对脉 冲个数进行计数并经过数据处理以后得到单位时间内电机转过的转数机电 机的转速,再通过显示电路将电机转速显示出来。基本工作原理框图如图 1 所示。 电机驱 动电路 电机转速 采样电路 STC89C5 2 单片机 主控电路 显示电路 2 / 26 下载文档可编辑 图 1 基本工作原理框图 2 2 相关芯片及硬件电路设计相关芯片及硬件电路设计 2.1 系统的主控电路 图 2 是该系统的主控单元的电路图。J2、J3、J4、J5 是单片机的 I/O 端口的扩展,预留接口用于调试等。主控芯片采用 STC89C52 单片机,该 系统中采用定时器 0 作为定时器,定时器的时间为 1S。定时器 1 作为计数 器,对 P35 引脚采集到的脉冲信号进行计数操作,单片机然后对数据进行 处理,计算出 1S 内计数脉冲的个数,即电机转速。然后通过显示电路将 电机转速显示出来,从而实现整个系统的功能。 T2/P10 1 T2EX/P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST 9 RXD/P30 10 TXD/P31 11 INT0/P3.2 12 INT1/P3.3 13 T0/P34 14 T1/P35 15 WR/P36 16 RD/P37 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN/P44 29 ALE/P45 30 EA/P46 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U1 89C52 VCC GND 1 2 3 4 5 6 7 8 J2 1 2 3 4 5 6 7 8 J3 1 2 3 4 5 6 7 8 J4 1 2 3 4 5 6 7 8 J5 P00 P01 P02 P03 P04 P05 P06 P10 P11 P12 P13 P14 P15 P16 P17 P20 P21 P22 P23 P24 P25 P26 P27 P30 P31 P32 P33 P34 P35 P36 P37 VCC P01 P02 P03 P04 P05 P00 P20 P21 P22 P23 P24 P25 P26 P27 P10 P11 P12 P13 P14 P15 P16 P17 P30 P31 P32 P33 P34 P35 P36 P37X2 X1 RSTP07 P06 P07 图 2 单片机主控电路 2.2 STC89C52 单片机介绍 国芯微电子公司生产的 STC89C52 单片机是为一个 8 位通用的微处理 3 / 26 下载文档可编辑 器2,采用工业标准的 51 内核,工作电压为 5V,在低端的微控制器领域, 这个单片机的性能非常好。采用 CHMOS 制作工艺制作,功耗很低。芯片内 部集成了一个可反复擦写 10 万次的只读存储器 ROM 和一个升具有 256 个 字节的随机存储器 RAM。随机存储器(RAM 器件)采用标准 MCS-52 指令系 统并且兼容 MCS-51 指令系统。单片机片内部还集成了一个通用的 8 位中 央处理器与一个 FLASH 存储单元,还有定时器、串口中断、外部中断等 外设资源。AT89C52 单片机这些优点使其得大多数设计者的青睐,为许多 嵌入式控制电路提供了一种灵活、实用、经济实惠的设计模式。其引脚图, 如下图 3 所示: T2/P10 1 T2EX/P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST 9 RXD/P30 10 TXD/P31 11 INT0/P3.2 12 INT1/P3.3 13 T0/P34 14 T1/P35 15 WR/P36 16 RD/P37 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN/P44 29 ALE/P45 30 EA/P46 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U1 89C52 图 3 单片机引脚图 2.2.1 STC89C52 芯片管脚介绍 1 引脚至 8 引脚为单片机端口的输入/输出脚。 4 / 26 下载文档可编辑 9 引脚:是单片机的复位引脚。当单片机上电以后,时钟电路开始工作, 如果复位引脚出现高电平的时间超过两个机器周期以上,单片机将进入复 位状态。 10 引脚至 17 引脚是单片机 P3 端口的输入/输出引脚,P3 口与 P2 很相 似,不同的是 P3 口有很多第二功能,比如说定时器、外部中断、串口中 断、串口通信等功能,在实际应用中,我们对 P3 口的第二功能应用的是 比较多的。 18、19 引脚分别是时钟电路的输出端、输入端,一般通过 22pF 的瓷片 电容接地,为单片机提供时钟新信号,相当于这个系统的心脏。 29 引脚一般用于扩展单片机存储器空间。当次引脚输出低电平的时候, 选通外部程序存储器。如果输出高电平,则不选择外部存储器,即没有选 择存储器扩展功能。单片机上电默认高电平。 30 引脚跟 29 引脚差不多,也是单片机的存储空间不足的时候用于,通 过使用外部的存储器,来扩展单片机自身存储空间的不足,从而改善单片 机存储空间的问题。 31 引脚也是跟程序存储器相关的控制端口,在开发应用中一般很少用 到,因为随着社会的发展,单片的发展非常迅速,单片机内部的存储空间 是足够用的,所以这些第二功能是很少用到的,并且现在已经有很多更低 功耗的单片机,更大的存储器的单片机已经被生产应用,并逐渐占领低端 单片机的市场。 39 引脚至 32 引脚是 P0 端口的输出输入引脚,其输出端口漏极开漏, 与 P2 口结合可作为 16 跟地址总线服用端口。当作为普通的 I/O 端口的时 5 / 26 下载文档可编辑 候,需要上上 10K 的拉电阻,否则 P0 端口不能正常工作。 40 引脚为 VCC,是给芯片供电的引脚,额定电压为 5V,并且该引脚旁 边要加上滤波电路,防止电压波动很大的时候烧毁芯片。 20 引脚为 GND,很显然是单片机的接地引脚,为电路各处的电压提供 一个基准值。 P1 口的部分管脚的第二功能如表 4 所示: 表表 4 4 P1P1 口的部分管脚的第二功能口的部分管脚的第二功能 引脚号第二功能 P1.0 T 定时器 2 的复用引脚,或者输出一个时 钟脉冲 P1.1 T2/C2 的控制输入引脚 P1.5 MOSI 即主出从入,用于 SPI 通信 P1.6 MISO 即主入从出,用于 SPI 通信 P1.7 SCK 时钟信号,用于 SPI 通信 P3 口的部分管脚的第二功能如表 5 所示: 表表 5 5 P3P3 口的部分管脚的第二功能口的部分管脚的第二功能 引脚号第二功能引脚号第二功能 P3.0 RXD 串口接收 P3.4 T0 的外部计数器输 入 P3.1 TXD 串口输出 P3.5 T1 外部计数器输入 P3.2 外部中断 0 P3.6 允许外部写入引脚 6 / 26 下载文档可编辑 P3.3 外部中断 1 P3.7 允许外部读取引脚 2.2.2 时钟电路 图 5 为单片机的时钟单元电路,晶振采用 12MHz,C1 和 C2 均为 22pF 的陶 瓷电容。51 单片机会对时钟电路进行 12 分频,给单片机提供机器时钟。 时钟电路是单片机的心脏,它控制着单片机的工作节奏。单片机就是通过 复杂的时序电路完成不同的指令功能的。 12 X1 C1 C2 GND X2 X1 图 5 时钟电路 2.3 单片机复位电路 图 6 是系统复位电路3,C3 为 10UF 的电解电容,R2 是 10K 的电阻, REST 是低位按键。复位电路的基本功能是:系统上电时提供复位信号,直 至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定 的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖 动而影响复位。单片机的复位引脚保持高电平 2 个机器周期以上,就会进 入复位状态。 7 / 26 下载文档可编辑 VCC R2 GND C3 CAP REST RST 图 6 复位电路 2.4 霍尔传感器电机采样电路 霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种。 本系统采用开关型霍尔传感器型号为 A3144。其内部集成了信号放大电 路、整形电路、输出电路。当霍尔传感器采集到外部脉冲信号以后,通过 内部集成小信号放大器电路把信号放大,然后经过一个施密特触发器整形, 最后通过一个集电极开漏的三极管输出。该传感器为开关型霍尔传感器, 所以输出为数字信号。由于集电极开漏,所以在应用的电路中,需要加一 个 10K 左右的上拉电阻 R1。1 引脚为 VCC,2 引脚为 GND,3 引脚为信号输 出端。 8 / 26 下载文档可编辑 1 1 2 2 3 3 J1 A3144 VCC GND R1 VCC P35 霍尔传感器 A3144 电路 2.4.1 A3144 霍尔开关的工作原理及应用说明 根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件4。它具有 对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿 命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛 的应用。 霍尔传感器 A3144 是 Allegro MicroSystems 公司生产的宽温、 开关型霍尔效应传感器,其工作温度范围可达-40150。它由电压 调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、 施密特触发器和 OC 门输出极构成,通过使用上拉电阻可以将其输出接入 CMOS 逻辑电路。该芯片具有尺寸小、稳定性好、灵敏度高等特点,有两种 封装形式,一种是 3 脚贴片微小型封装,后缀为“LH”;另一种是 3 脚直 插式封装,后缀为“UA”5。 9 / 26 下载文档可编辑 A3144E 系列单极高温霍尔效应集成传感器是由稳压电源,霍尔电压 发生器,差分放大器,施密特触发器和输出放大器组成的磁敏传感电路, 其输入为磁感应强度,输出是一个数字电压讯号。它是一种单磁极工作的 磁敏电路,适用于矩形或者柱形磁体下工作。可应用于汽车工业和军事工 程中。 霍尔传感器的外形图和与磁场的作用关系如图 3.6 所示。磁场由磁钢 提供,所以霍尔传感器和磁钢需要配对使用。 (a)霍尔元件和磁钢 (b) 管脚图 图 2.4.1 霍尔传感器的外形图 2.4.2 霍尔传感器测量原理 测量电机转速的第一步就是要将电机的转速表示为单片机可以识别的 脉冲信号,从而进行脉冲计数。霍尔器件作为一种转速测量系统的传感器, 它有结构牢固、体积小、重量轻、寿命长、安装方便等优点,因此选用霍 尔传感器检测脉冲信号,其基本的测量原理如图 3.7 所示,当电机转动时, 带动传感器运动,产生对应频率的脉冲信号,经过信号处理后输出到计数 器或其他的脉冲计数装置,进行转速的测量6。 10 / 26 下载文档可编辑 图 2.4.2 霍尔器件测速原理 2.5 电机驱动电路 本系统采用型号为 RF-300FA 的直流电机,额定供电电压为 5.9V,在本 系统中采用 5V 供电。由于电机直接由电源供电,不是采用单片机单片机 端口驱动,所以无需在添加驱动电路,即可适用于系统应用。J6 是直流电 机接口,电位器 PR3 为 10K,通过调节电位器可改变通过电机的电流,从 而控制电机的转速,实现无极调速。 1 2 J6 MOTRO VCC PR3 GND 图 2.5 电机驱动电路 2.6 显示电路 11 / 26 下载文档可编辑 显示电路采用四位一体数码管,电路设计为横流驱动方式,使数码管 亮度均匀。Q1、Q2、Q3、Q4 均为 PNP 型三极管,型号为 8550。PR1 为阻值 为 2.2K 的 4P8 排阻,具有限流作用,防止三极管击穿。 (a) Q1 8550 Q2 8550 Q3 8550 Q4 8550 A1 A2 A3 A4 GNDGNDGNDGND 1 2 3 4 5 6 7 8 RR1 P20 P21 P22 P23 (b) 图 3.0 显示电路 3 3 软件系统设计软件系统设计 3.1 软件流程图 12 / 26 下载文档可编辑 图 4.1 所示是软件流程图,首先进行软件初始化,然后主函数进行数 据处理,定时器函数设置定时时间是否到达 1S,达到 1 秒就更新电机转速 变量。没有达到 1S 则不进行数据更新处理。数据处理以后,通过数码管 显示。计数器中断函数,通过外部脉冲计算脉冲个数,定时器在更新电机 转速变量的时候,会读取 TH0、TL0 寄存器,并清空寄存器。 计数脉 冲 TH0、TL0 寄存器值加 1 TH0、TL0 寄存器值不 变 开始 程序初始化 化 定时 1S 读取 TH0、TL0 寄 存器的值 数据处理 数码管显示 (a) 主函数 Y N N Y 图 3.1 软件流程图 3.2 系统初始化 系统初始化函数主要是对系统的配置进行初始化,在这里使用到的定 (b)定时器中断函 数 13 / 26 下载文档可编辑 时器 0 和计数器 1,所以只需要对定时器 0 和计数器 1 进行初始化即可。 下面是初始换函数: /定时器初始化,定时器 0 定时,计数器 1 计数 void Timer_Init() TMOD=0 x51;/定时器 1:16 位定时器负责定时;定时器 0::16 位计 数器负责计数 /定时器 0 配置 TH0 = 0 xDC;/10ms 定时初值 TL0 = 0 x00; ET0 = 1;/使能定时器 0 中断 TR0= 1;/允许定时器 0 计数 /计数器 1 配置 TH1 = 0 x00;/计数器初值 TL1 = 0 x00; TR1= 1;/允许计数器 1 计数 EA = 1; /使能总中断 3.3 定时获取脉冲数据 根据本系统的测速原理,可以知道,单片机通过 P3.5 将来自动累计 外部脉冲的个数,将其保存到 TH1,TL1 寄存器中。然后通过定时器中断 14 / 26 下载文档可编辑 服务函数,定时读取这两个寄存器中数据,并将其清空为 0,以便计数器 重新开始计数。以下是代码分析: /*- - 函 数:uint16 Get_DC_MotorSpeedCounterValue( void ) 输入参数:无 返回参数:计数器所记的数值 - -*/ uint16 Get_DC_MotorSpeedCounterValue( void ) uint8 temp1 = 0 , temp2 = 0; /两个临时变量,分别用来保存 TH1 和 TL1 的数值 uint16 Temp_DC_MotorSpeedCounter = 0; temp1 = TH1; temp2 = TL1; /uint8 类型强制转换为 uint16 类型然后移位,计算计数脉冲数 Temp_DC_MotorSpeedCounter = ( ( uint16 ) temp1 8 ) + ( uint16 )temp2; TH1 = 0; TL1 = 0; return Temp_DC_MotorSpeedCounter;/检测到的直流电机旋转的圈数, 15 / 26 下载文档可编辑 即计数器的值 void T0_Interrupt() interrupt 1 static uint8 counter = 0; TH0 = 0 xDC;/10ms 定时初值 TL0 = 0 x00; counter+; if( counter = 100 ) /10ms*100 = 1s counter = 0; DC_MotorSpeedCounter = Get_DC_MotorSpeedCounterValue(); 3.4 数据处理及显示 获取电机转速以后,需要单片机将数据显示出来。但是电机转速十一 个 uint16 类型的数据,因此需要吧这个整数的千位、百位、十位和个位 分离出来,然后通过各位的数值对应的数码管的段码,将数据正确的显示 出来。 以下是数据处理函数: void Data_Process( uint16 x ) /将数据的千百十个位分别提取 16 / 26 下载文档可编辑 出来,放入缓冲区 Disp_Buffer0 = x/1000; Disp_Buffer1 = x%1000/100; Disp_Buffer2 = x%100/10; Disp_Buffer3 = x%10; 以下是主函数,负责系统各个外设的控制: /=主函数= void main() uint8 i; Timer_Init(); while(1) Data_Process( DC_MotorSpeedCounter ); for( i = 0 ; i 4 ; i + ) P0 = Digit_Bits Disp_Bufferi ; P2 = Digit_Segi; Delay_Ms(1); 17 / 26 下载文档可编辑 3.53.5 C C 语言程序语言程序 #include void Timer_Init(); uint8 Digit_Bits= 0 x3f,0 x06,0 x5b, 0 x4f,0 x66,0 x6d, 0 x7d,0 x07,0 x7f, 0 x6f; uint8 Digit_Seg=0 x0e,0 x0d,0 x0b,0 x07; uint8 dispbuf8=0,0,0,0,0,0,10,10; uint8 temp8; uint8 dispcount; uint16 counter; uint8 T1count; bit flag; uint16 x; void main() uint8 i ; Timer_Init(); while(1) 18 / 26 下载文档可编辑 if(flag=1) flag=0; x=TH1*256+TL1; for(i=0;i8;i+) tempi=0; i=0; while(x/10) tempi=x%10; x=x/10; i+; tempi=x; for(i=0;i6;i+) dispbufi=tempi; counter=0; 19 / 26 下载文档可编辑 T1count=0; TH1=0; TL1=0; TR1=1; void Timer_Init() TMOD=0 x51;/00n00 0000 0101 0001 定时器 0:16 位定时器负责定时; 定时器 1:16 位计数器负责计数 /定时器 0 配置 TH0=0 xDC; /9.216ms 定时初值 TL0=0X00; ET0=1; /使能定时器 0 中断 TR0=1; /允许定时器 0 计数 /计数器 1 配置 TH1=0 x00; /计数器初值 TL1=0 x00; ET1=1; /使能计数器 1 中断 TR1=1; / 允许计数器 1 计数 EA=1; / 使能总中断 20 / 26 下载文档可编辑 void t1(void)interrupt 3 using 3 T1count+; void t0(void)interrupt 1 using 1 TH0=0 xDC;/10ms 定时初值 TL0=0 x00; counter+; if(counter=500) /10ms*100=1s TR1=0; counter=0; flag=1; P0=Digit_Bitsdispbufdispcount; P2=Digit_Segdispcount; dispcount+; if(dispcount=4) dispcount=0; 21 / 26 下载文档可编辑 总 结 课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社 会,从事职业工作前一个必不少的过程。 ”千里之行始于足下” ,通过这次 课程设计,我深深体会到这句千古名言的真正含义。在这次设计过程中, 体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、 突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节, 从而加以弥补。我今天认真的进行课程设计,学会脚踏实地迈开这一步, 就是为明天能稳健地在社会大潮中奔跑打下坚实的基础,在这次课程设计 当中我碰到了许多问题,我曾经接触过这方面的书籍和实物,也对其有一 些简单的了解。但是却不知道具体的工作原理,当我拿到课程设计的题名 后完全不知道该怎么办好,在杨老师的悉心指导下,我明白了其中的道理, 于此同时我通过大量地阅读和查阅相关的资料,最终此次课程设计才得以 完成。 通过这次课程设计让我懂得了在以后的学习和工作当中要不断地完善 自我、努力上进、刻苦钻研力争在电子信息行业有一个好的发展和结果。 22 / 26 下载文档可编辑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒吧五一活动方案
- 函数考试题大全及答案
- 广东色彩考试题及答案
- 工程构造考试题及答案
- 膏方考试题及答案
- 港股通考试题及答案
- 企业战略规划与执行监控模板长期发展
- 工程项目成本估算及预算编制模板
- 防火防汛考试题及答案
- 儿科进修考试题及答案
- 金太阳福建省2025-2026学年高三上学期9月开学联考英语试卷
- 2025年党校政治学理论考试题库及答案
- 公司合规管理与检查表模板
- (高清版)DZT 0261-2014 滑坡崩塌泥石流灾害调查规范(1:50000)
- 市政工程质量通病防治手册图文
- NB/T 10739-2021井工煤矿辅助运输安全管理规范
- GB/T 22562-2008电梯T型导轨
- GB/T 11638-2020乙炔气瓶
- GB/T 10081-2005矩形内花键长度系列
- GA/T 1968-2021法医学死亡原因分类及其鉴定指南
- GA 1551.6-2021石油石化系统治安反恐防范要求第6部分:石油天然气管道企业
评论
0/150
提交评论