锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于单片机的电机转速测量设计

时间:2023-11-25 07:37:02 p11转速传感器

文末下载完整信息
2.系统结构
? ?本文主要测量电机转速,然后用数字管显示电机转速!
? ?该装置主要由两部分组成。1光电测速部分。2.脉冲处理和显示部分!
? ?光电测速部分主要由光电传感器组成!脉冲处理部分主要通过施密特触发器对接收到的脉冲进行波形校正,由单片机组成T1口输入,经80C51处理后显示输出电机的转速
让我们了解一下光电测速部分!
3.获取脉冲信号
? ?获取脉冲信号的方法有很多,这些方法都有自己的应用场合。下面逐一分析。
3.1霍尔传感器
? ?霍尔传感器是一种对磁敏感的传感元件,常用于开关信号采集CS3020、CS3040等,这种传感器是一种与三极管相似的三端装置,只要连接到电源和地面,就可以工作。输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。
在这里插入图片描述
? ?利用霍尔传感器获取脉冲信号,其机械结构也可以相对简单。只要在转轴周围粘上磁钢,使霍尔开关靠近磁钢,就会有信号输出。当转轴旋转时,脉冲信号输出将继续产生。若将多粒磁钢粘在圆周上,可实现旋转一周,获得多个脉冲输出。粘磁钢时,应注意霍尔传感器对磁场方向敏感。粘贴前,可手动接近传感器。如果没有信号输出,可以在另一个方向再试。 该传感器不怕灰尘、油污,广泛应用于工业现场。
3.2.光电传感器
? ?光电传感器是一种应用广泛的泛的设备,有各种形式,如透射、反射等,基本原理是当发射管光照射到接收管时,接收管指南,相反关闭。以透射为例,如图2所示,当不透光物体挡住发射与接收之间的间隙时,开关管关闭,否则打开。因此,在转轴上安装遮光叶片,如图3所示片,如图3所示,安装在转轴上,产生脉冲信号。当叶片较多时,旋转一周可以获得多个脉冲信号。


3.3.光电编码器
? ?光电编码器的工作原理与光电传感器相同,但它将光电传感器、电子电路、码盘等整体组成。只要光电传感器的轴与转轴连接,就可以获得多种输出信号。广泛应用于数控机床、转盘、伺服传动、机器人、雷达、军事目标测动、机器人、雷达、军事目标测量等。如图4所示,是光电编码器的形状。
本课程选用光电传感器,采用穿透法测量电机转速。详细介绍了光电传感器的原理。
当不透明物体挡住发射和接收之间的间隙时,开关管关闭,否则打开。因此,在转轴上安装遮光叶片,如图3所示片,如图3所示,安装在转轴上,产生脉冲信号。当叶片较多时,旋转一周可以获得多个脉冲信号。 这里我们只转10个孔!一分钟内,如果产生1万脉冲,电机转速为1万r/min.
4、硬件连接
? ?速度测量的方法决定了速度测量信号的硬件连接,速度测量实际上是频率测量,因此,频率测量的一些原则也适用于速度测量。
? ?通常可以用计数法、脉宽法和其他精度法进行测试。所谓计数法,就是给定闸门时间,在闸门时间内计数输入的脉冲数;脉宽测量是利用待测信号的脉宽控制计数门,计数高精度高频计数信号。由于闸门不能与被测信号同步,这两种方法都存在±第一种方法适用于高频信号,第二种方法适用于低频信号。等精度法对高低频信号适应性好。
如上图:因为光电传感器不好仿真,这里我们采用了555芯片构成一个施密特触发器,由光电传感器得到的脉冲由2,5脚输入,经3脚输出接到单片机的T1(P3.5).。经89C51编程后由P1口输出通过数码管显示出转速!
5.实验程序及分析
? ?测量速度,使用光电传感器,被测电机驱动纸旋转,我们在纸上开了10个小孔,电机 ? ?每周产生10个脉冲和12个脉冲,需要在数字管上显示转速值(转/分)。
实验程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define LED_DAT P1
sbit LED_SEG0 = P0^3;
sbit LED_SEG1 = P0^2;
sbit LED_SEG2 = P0^1;
sbit LED_SEG3 = P0^0;
//sbit pin_SpeedSenser = P3^5; ////光电传感器信号连接T1上
#define TIME_CYLC 100
//12M定时器10器10ms 中断一次 我们一秒钟计算一次转速
// 1000ms/10ms = 100
#define PLUS_PER 10 ///码盘的齿数 ,假设码盘上有10个齿,即传感器检测到10个脉冲,认为1圈

#define K 100.0 ///校准系数
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar data Disbuf[4];// 显示缓冲区
uint Tcounter = 0; //时间计数器
bit Flag_Fresh = 0; // 刷新标志
bit Flag_clac = 0; //计算转速标志
bit Flag_Err = 0; //超量程标志
//在数字管上显示四位数
void DisplayFresh();
//计算转速,将结果放入数字管缓冲区
void ClacSpeed();
///初始化定时器T0
void init_timer0();
///初始化定时器T1
void init_timer1();


免费下载全套资料:
关注v-x-公-众-号:【嵌入式基地
后-台-回-复:【毕业设计】 即可获资料
回复【编程】即可获取
包括有:C、C 、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式Linux、Unix、QT、物联网、算法导论、大数据等数据

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章