导航:首页 > 编程语言 > 光电码盘lcd测速程序

光电码盘lcd测速程序

发布时间:2023-03-24 06:00:45

A. 光电码盘是如何测量电机转速的有何特点

转速测量的方法分为两大类:直接法和间接法。直接法即直接观测机械或电机的机械运动,测量特定时间内机械运转规律从而测出机械运动的转速。间接法是因为机械或电机机械运动而产生变化的其他物理量与转速之间的关系来间接确定转速。因机械或电机的机械运动而产生的变化并与转速有关的物理量有很多,所以间接测量转速的方法也有很多。

一、光电码盘转速测量法
光电码盘测速法是在电机转子端轴上固定一个光电码盘,光电码盘上设置有一个或多个能透光的光栅,每个光栅背后都有一个光敏元件对应。随着电机转动,光电码盘也随着转动,当固定光源照射在光电码盘上时,透过光栅的光被光敏元件接收并产生脉冲电信号。假如光电码盘的编码数为1,在时间t内测量得到的脉冲数为N,则转速n=60N/(t*1)。码盘上的编码数量越多,测量精度也随着越高。

光电码盘测速法示意图

二、霍尔元件转速测量法
顾名思义,此方法是利用霍尔开关元件测转速的。跟光电码盘测速一样,霍尔元件测速法也是在电机转轴上安装一个圆盘,圆盘上若干对小磁钢,小磁钢越多,分辨率越高,霍尔开关则固定在小磁钢附近,当电机转动时,圆盘上的小磁钢会一次经过霍尔开关,每一个小磁钢经过,霍尔开关便会输出一个脉冲,计算单位的脉冲数就可以确定旋转体的转速了。

霍尔元件测速法示意图

三、离心式转速测量法
离心式转速表是利用物体旋转时产生的离心力来测量转速的。

我们都知道离心力与转速的换算公式:g=r×11.18×10-6×n2

其中g为离心力、r为轨迹曲率半径、n为转速(r/min)。

当离心式转速表的转轴随被测物体转动时,离心器上的重物在惯性离心力作用下离开轴心,并通过传动系统带动指针回转。当指针上的弹簧反作用力矩和惯性离心力矩相平衡时,指针停止在偏转后所指示的刻度值处,即为被测转速值。这就是离心式转速表的原理。测转速时,转速表的端头要插入电机转轴的中心孔内,转速表的轴要与电机的轴保持同心,否则易响准确读数。

四、测速发电机转速测量法
测速发电机即为输出电动势与转速成比例的微特电机。利用直流发电机的电枢电动势E与发电机的转速成正比的这一关系测量转速。测转速时,测速发电机连接到被测电机的轴端,将被测电机的机械转速变换为电压信号输出,

B. 光电测速码盘原理

该装置可利用双路输出的旋转编码器输出两组相位差90度的脉冲,通过这两组脉冲版测量转速和旋权转的方向。
1.具体工作原理:
由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90°相位差(相对于一个周波为360°),将C、D信号反向,叠加在A、B两相上,可增强稳定信号。由于A、B两相相差90°,可通过比较A相在前还是B相在前,以判别编码器的正转与反转。编码器以每旋转360°提供多少的暗刻线称为分辨率,也称解析分度、或直接称多少线,也就是一转所发出的脉冲数。

C. 求一个基于STM32的速度测速程序

硬件:用红外对管制和光码盘进行测速。软件用STM32的编码模式进行测量,编码模式的程序固件库有挺好用的,很准确。

D. 89c52 单片机测速程序 光电码盘

这个说白了就是测量脉冲的个数,也就是理想方波的频率。

给你一个测频率的程序,仅供参考

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
float f=0;
uchar LED0_data,LED1_data,LED2_data,LED3_data;
uchar i=0;
uchar code Segcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void display();
void delay(uint v);
void initime();

/*定时器初始化*/
void initime()
{
TMOD=0x51; //T1计数器,T0定时器,方式1
TL0=(65536-10000)%256;
TH0=(65536-10000)/256;
TL1=0;
TH1=0;
ET0=1;
EA=1;
}

/*延时子函数*/
void delay(unsigned int c)
{
unsigned int i,j;
for(i=0;i<c;i++)
for(j=0;j<100;j++);
}

/*将十进制数拆成送数码管的显示码*/
void dectobit(int dec)
{
LED3_data=dec/1000;
dec=dec % 1000;

LED2_data=dec/100;
dec=dec % 100;

LED1_data=dec/10;
dec=dec % 10;

LED0_data=dec;
}

/*显示程序*/
void display()
{
P0=Segcode[LED3_data]; //个位
P2&=~0x01;
delay(10);
P2|=0x01;

P0=Segcode[LED2_data]; //十位
P2&=~0x02;
delay(10);
P2|=0x02;

P0=Segcode[LED1_data];
P2&=~0x04;
delay(10);
P2|=0x04; //百位

P0=Segcode[LED0_data]; //千位
P2&=~0x08;
delay(10);
P2|=0x08;
}

void main(void)
{
initime();
TR0=1;
TR1=1;
while(1)
{
dectobit(f);
display();
}
}

timer()interrupt 1 using 2
{
i=i+1;
if(i==100)
{ i=0;
f=TH1*256+TL1;
TL1=0;
TH1=0;
}
TL0=(65536-10000)%256;
TH0=(65536-10000)/256;
}

E. 光电码盘传感器用于语音智能小车测速和测距

1、光电码盘很不错,精度跟线数有关系(你自己看一下码盘,上面有很细的轮辐,回轮辐数答就是线数,常用的是100线,还有更多的,线数越多,精度越高,价格也越高)。
2、直接测量小车行进速度很困难,距离远一些,精度低一些还可以用GPS什么的,但在室内那么点距离,你拿什么测?总不会说上视频图像处理吧,这个运算量单片机可吃不消。
你要测车轮转速是可以的,比如用霍尔传感器,不过这个测量的精度远不如码盘测量。一个轮子一般来说最多也就放在3-6个传感器,车子越小,放得越少,这个精度远不如100线码盘。
3、行进距离就是测量到的线数(脉冲个数),除以100后得到圈数,然后乘以轮子的周长即可。
教程没有,你拿到小车后试验一下就可以了。如果你有单片机的编程基础,很简单,也就两三天的工作量而已。

阅读全文

与光电码盘lcd测速程序相关的资料

热点内容
cnc圆弧怎么样编程 浏览:199
java二叉堆 浏览:850
少儿编程后会怎么样 浏览:783
ps去掉扫描文件无效部分 浏览:191
快速创建文件夹路径路径 浏览:849
京东app虚拟试衣 浏览:136
三星电视智能升级卡 浏览:327
word文件字号 浏览:460
word文档去除下划线 浏览:576
贝多芬交响曲版本 浏览:532
下载的视频文件损坏了 浏览:119
怎么把jpg转成cad格式的文件大小 浏览:674
如何编程真人快打 浏览:57
double运行数据最长多少 浏览:367
tr90如何看数据 浏览:418
word里面插了一个文件怎么打开 浏览:40
苹果7限时秒杀1999元 浏览:748
如何提升app推送触达率 浏览:584
vba用kill删除文件路径错误 浏览:648
linux查看10个文件总大小 浏览:423

友情链接