哪位仁兄有霍尔元件工作原理高中测速原理图及51单片机程序,能不能给我一份,谢谢急!

查看: 2435|回复: 19
51单片机霍尔测速与PWM调直流电机转速快慢(含源码+原理图+论文+PCB封装)
·& && &&&1.本设计采用STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机作为主控制器·& && &&&2.采用霍尔传感器非接触式测电机转速·& && &&&3.LCD1602液晶显示当前的转速,转速单位为转/分(RPM)。和显示当前的pwm占空比0~100%。·& && &&&4.电机的速度可以通过按键调整,也可以开始暂停,正转和反转。 注意:磁铁和霍尔元件最近距离在2mm左右,太近可能会在电机转动时碰到霍尔元件,太远霍尔元件可能会检测不到磁铁。 使用说明:液晶屏第一行显示电机转速,第二行显示占空比,占空比数值越大,电机转速越快。系统一共有6个按键,单片机附近的独立按键是系统的复位按键,按下单片机会复位。下面一排是控制按键:1键:加速键,可以短按,占空比加1,也可长按,占空比连续加;2键:减速键,可以短按,占空比减1,也可长按,占空比连续减;3键:正转切换键,按下后电机正转;4键:反转切换键,按下后电机反转;5键:开始暂停键,按一下开始,再按一下暂停。
1.本选题的理由及意义
现在电气传动的主要方向之一是电机调速系统采用微处理器实现数字化控制,近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,并且随着现代化生产规模的不断扩大,各个行业对直流电机的需求愈益增大,并对其性能提出了更高的要求。为此,研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。
本题正是以此为出发点, 利用单片机来实现对电机转速的监测和控制。
2.需要重点研究的关键问题及解决问题的思路
关键问题一:如何选择合适的单片机
如何选择合适的单片机是本课题待解决的第一个问题。综合各方面因素考虑,本课题将采用AT89S52,利用AT89S52芯片进行低成本直流电动机控制系统的设计,能够简化系统构成、降低系统成本、增强系统性能、满足更多应用场合的需要。系统实现对电机的正转、反转、急停、加速、减速的控制。
关键问题二:如何选择合适的电机驱动
如何选择合适的电机驱动是本课题待解决的第二个问题。综合各方面因素考虑,本课题将采用三极管驱动电机
关键问题三:采用何种方法来改变占空比
如何选改变占空比是本课题待解决的第三个问题。改变占空比的方法通常有定宽调频法,调频调宽法,定频调宽法,由于前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起震荡,因此采用定频调宽法来改变占空比。
关键问题四:软件编程及调试
软件编程及调试是本题待解决的第四个问题,也是最为重要关键的问题,关系着该系统能否实现其功能。
3.创新点及实践价值
PWM-脉冲宽度调制技术,通过对微处理器输出的一系列数字脉冲宽度进行调制,等效地获得模拟电路所需的波形,从而实现对模拟电路控制的一种有效技术。采用PWM技术可以避免传统调速系统模拟电路容易随时间飘移、产生一些不必要的热损耗、以及对噪声敏感等缺点,并且PWM调速系统低速特性好,动态抗干扰能力强的特点.由此来实现直流电机的启动、停止、加速、减速、正转、反转以及速度的动态显示,并且大幅度提高了转速显示的精确性。
4.完成本选题所需的工作条件(如资料、工具书、计算机设计绘图、实验、调研)及解决办法
(1)直流电机原理简述的相关资料
(2)& & PWM控制转速等的一些资料
(3)& & 模电、数电书籍
(4)& & 焊接工具一套
67-元件清单
1)& & 9*15万用板
2)& & STC89C51单片机
3)& & 40脚IC座
4)& & 1602液晶
5)& & 16p母座
6)& & 16p排针
7)& & 10k电阻*3
8)& & 1k电阻*5
9)& & 3v直流电机
10)& & 3*1万用板
11)& & 磁铁*2
12)& & 塑料管
13)& & 3144霍尔传感器
14)& & 4148二极管*4
15)& & 8050三极管*4
16)& & 8550三极管*2
17)& & 103排阻
18)& & 104独石电容
19)& & 10uf电解电容
20)& & 30pf瓷片电容*2
21)& & 12M晶振
22)& & 按键*6
23)& & 自锁开关
24)& & DC电源插口
25)& & 导线若干
26)& & 焊锡若干
27)& & USB电源线或电池盒
制作出来的实物图:
单片机直流电机控制转速仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
电路原理图如下:
单片机源程序如下:
#include &reg52.h&
#define uchar unsigned char
#define uint unsigned int
void displaym();
sbit en=P2^5;& && && && && & //1602&&6管脚
sbit rs=P2^7;& && && &//1602端口& && &&&4管脚
sbit rw=P2^6;//lcd1602控制端口 5管脚
sbit num1=P1^0;& && && && && && && && && && && && && && && && &//占空比加1
sbit num2=P1^1;& && && && && && && && && && && && && && && && && && && && && && & //占空比减一
sbit num3=P1^2;& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && & //正传
sbit num4=P1^3;& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &//反转
sbit num5=P1^4;& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && & //开始停止切换
sbit out=P3^4;& && && && && && && && && && && && && && && && && && && &//PWM输出用于正传
sbit out1=P3^7;& && && && && && && && &//PWM输出用于反转
uint zhuansu,flag,z1,z2,m,flag_1,zheng,fan,
void delay(uint z)//延时1ms函数
{
for(x=0;x&z;x++)
& &&&for(y=0;y&110;y++);
}
void write_com(uchar com)//向1602写一字节(控制指令)
{
&&rs=0;
&&P0=
&&delay(5);
&&en=0;
&&delay(10);
&&en=1;
}
void write_data(uchar date)//向1602写一字节(数据)
{
&&rs=1;
&&P0=
&&delay(5);
&&en=0;
&&delay(5);
&&en=1;
}
void init()//初始化函数
{
&&en=0;
&&rw=0;
&&write_com(0x01);& && && &//lcd初始化
&&write_com(0x38);& && && && && && && && && && && && && && & //5X7显示
&&write_com(0x0c);& && && && && && && && & //关闭光标
&&TMOD=0x01;& && && && && &//定时器方式1& && && &&&
&&TH0=0
&&TL0=0x00;& && && && && & //定时器装入初值
&&EA=1;& && && && && && &&&//开总中断
&&ET0=1;& && && && && && & //定时器0开中断
&&TR0=1;
&&EX1=1;
IT1=1;& && && && && &&&//定时器启动&&
TH1=0
&&TL1=0x66;//定时100us
&&ET1=1;& && && && && && & //定时器1开中断
&&TR1=1;
&&write_com(0x80);
&&write_data('V');
&&write_data(':');
&&write_com(0x87);& && && && && &&&//第一行显示转速
&&write_data('r');
&&write_data('p');
&&write_data('m');
&&write_com(0xc0);
&&write_data('z');
&&write_data('h');
&&write_data('a');
&&write_data('n');
&&write_data('k');
&&write_data('o');
&&write_data('n');
&&write_data('g');
&&write_data('b');
&&write_data('i');& && && & //在第二行显示zhankongbi:
&&write_data(':');
&&displaym();
}
void keyscan()&&//键盘扫描函数
{
&&if(num1==0)& &&&
&&{
& & delay(5);& && &//消除抖动
& && && &if(num1==0)
& && && &{
& && && && && & if(m&=199)
& && && && && &&&m++;
& && && && && && && && &displaym();& && && && && && && && && && && && && && && && && && && && && && &//设定占空比加一
& &&&}
&&}
&&if(num2==0)
&&{
& & delay(5);
& && && &if(num2==0)
& && && &{
& && && && && && &if(m&=1)
& && && && && & m--;
& && && && && && && && &displaym();& && && && && && && && && && && && && & //设定占空比减一
& && &&&
& && && &}
&&}
& & if(num3==0)
&&{
& & delay(5);
& && && &if(num3==0)
& && && &{
& && && & zheng=1;& && && && && & //正传标志置1
& && && & fan=0;& && && & // 反转标志置0
& && &&&
& && && &}
&&}
& && &if(num4==0)
&&{
& & delay(5);
& && && &if(num4==0)
& && && &{
& && && & zheng=0;& && && && && &&&//正传标志置0
& && && & fan=1;& && && & // 反转标志置1
& && &&&
& && && &}
&&}
& && &if(num5==0)
&&{
& & delay(5);
& && && &if(num5==0)
& && && &{
& && && &while(num5==0)& && && &;
& && && & kai=1-
& && && &}
&&}
}
void display()
{
&&write_com(0x82);
&&zhuansu=zhuansu*30;& && && & //将两秒内的计数乘以30得到转每分
&&if(zhuansu/10000!=0)
& &write_data(zhuansu/);& && && && && && && && && && && && && && && && &&&//如果转速的万位不为0& && &&&正常显示否则显示空格
& &else
& &write_data(' ');
&&if(zhuansu/1000==0)
&&write_data(' ');
&&else
&&write_data(zhuansu%+0x30);& && && && && && && && && && && && && && && && && && && && && & //如果转速小于1000 千位为空格 否则正常显示
&&
&&if(zhuansu/100==0)
&&write_data(' ');
&&else
&&write_data(zhuansu%/100+0x30);& && && && && && && && && && && && && && & //如果转速小于100 百位为空格 否则正常显示
& & if(zhuansu/10==0)
&&write_data(' ');
&&else
&&write_data(zhuansu%%100/10+0x30);& && && && && && && && && && && & //如果转速小于10 十位为空格 否则正常显示
&&write_data(zhuansu%%100%10+0x30);
&&write_com(0xd0);& && && && && && && && &&&//如果没有这句,当中断内的显示函数执行完,就会在转速的位置显示占空比数据,导致乱码
}
void displaym()
{
write_com(0xcb);
& &if(m/200%10!=0)
&&write_data(m/200%10+0x30);& && && && && && && && && &//如果占空比百位不为0则显示百位否则显示空格
&&else
&&write_data(' ');
&&
&&if(m/200%10==0&&m/20%10==0)
&&write_data(' ');
&&else
&&write_data(m/20%10+0x30);& && && && && && && && && && && &//如果占空比小于10 十位正常显示&&否则显示空格
&&
&&write_data(m/2%10+0x30);& && && && && && && && && && && &//显示个位
}
void main()
{
& & flag_1=0;
& && &&&m=100;& && && && && && && && && && && && && && && && && && && &//占空比为100
& && &&&zhuansu=0;& && && && && && && && && && && && && && & //转速初值0
& && &&&flag=0;
& && &&&zheng=1;& && && && && && && && && && && & //初始化电机正转动
& && &&&fan=0;
& & init();& && && && &&&//初始化
& && &&&while(1)
& && &&&{
& && &&&keyscan();& && && && && && && && && && &&&//键盘扫描程序
}
void int1()interrupt 2& && && && && && && && && && &&&//外部中断1脉冲技术记录电机的转速 电机转一圈zhuansu加一
{
&&zhuansu++;
}
void int2()interrupt 3& && && && && && && && && && && & //定时器0显示转速
{
&&TH0=0
&&TL0=0x00;//定时10ms
&&flag++;
& && && &
&&if(flag==200)& && && && && && && && && && && &&&//计时到达2s
& & {
& && &&&display();& && && && && && && && && && && && && & //显示转速
& && &&&zhuansu=0;& && && && && && && && && && && && && && &//转速置0
& && &&&flag=0;
& && &&&}
}
void int3()interrupt 1& && && && && && && && && && && && && &&&//产生PWM
{
&&
&&TH1=0
&&TL1=0x00;//定时100us
&&
& && && & flag_1++;
& && &&&if(flag_1&199)
& && &&&flag_1=1;
& && &&&if(kai==1)& && && && && && &//如果kai==1电机启动
& && &&&{
& && &&&if(zheng==1)& && && && && && && && && && &&&//电机正转
& && &&&{
& && &&&if(flag_1&m)& && && && && && && && && && && && && && &//小于占空比m输出PWM=0输出电压为1
& &&&{out=0;
& && && &out1=1;}
& && && &else
& && && &{
& && && &&&out=1;
& && && &&&out1=1;
& && && &}
& && && &}
& && && && && &&&if(fan==1)& && && && && && && && && &//电机反转
& && &&&{
& && &&&if(flag_1&m)& && && && && && && && && && &&&//小于占空比m输出PWM=0输出电压为1
& && && & {
& && && && &out=1;
& && && && && & out1=0;
& && && & }
& && && &else& && && && && && && && && && && && && && && && && && && && && && && && & //大于m输出PWM=1输出电压为0
& && && & {
& && && && &out=1;
& && && && && & out1=1;
& && && & }
& && && &}
& && && &}
& && && &if(kai==0)& && && && && && && && &&&//kai=0电机停止转动
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载(包含完整的设计论文):
(11.42 MB, 下载次数: 179)
12:49 上传
点击文件名下载附件
共享资料的黑币奖励!
共享资料的黑币奖励!
共享资料的黑币奖励!
共享资料的黑币奖励!
赞一个,学习学习
用楼主原有的程序.hex可以很好的运行,但是楼主.c文件有问题
这个确实不错。学习中……
仿真正转好像实现不了
一直都想找到变速这个程序,很想搞明白,谢谢楼主分享
请教大神,显示部分出现乱码怎么办?
请教大神,显示部分出现乱码怎么办?
能不能给我发下,我黒币不够,下载不了。
谁能给我发下,我黒币不够,下载不了。
哦。好好 学习了
很不错的分享,给我解决很大的一个问题
真厉害,佩服!谢谢分享,学习了。
Powered by霍尔测速C程序
10:21:40编辑:什么鱼 关键字:&&&&
光传感器的分辨率为100000RPM,而牙科手机机芯转速为300000RPM~400000RPM左右。由此说来,光学传感器根本不能满足要求。
如今,在设计的也只能达到60000RPM左右,还非常不稳定。常想不稳定因素应该在软件方面下功夫。硬件已经用LM311芯片解决纯数字式传输,CPU能够完全识别的方波信号。
在软件方面还得下许多工夫。哎,我的C++,何时能灵活的派上用场,期待中......&/**************************************************
Yang Xiufeng
**************************************************/
// 单片机内部专用寄存器定义
#define uchar unsigned char
#define uint unsigned int
//数据类型的宏定义
sbit LS138A = P2^2;
//定义138译码器的输入A脚由P2.2控制
sbit LS138B = P2^3;
//定义138译码器的输入脚B由P2.3控制
sbit LS138C = P2^4;
//定义138译码器的输入脚C由P2.4控制
//此表为 LED 的字模, 共阴数码管 0-9
unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uint data z,
//定义无符号整型全局变量
//====================================================
void init(void)
//定义名为init的初始化子函数
//init子函数开始,分别赋值
TMOD=0X51;
计数器T1 定时器T0
//计数器初始值
//定时器t0
// IE=0X00;
//=============================================
void delay(uint k) //延时程序
uint data i,j;
for(i=0;i<k;i++)
for(;j<125;j++) {;}
//================================================
void display(void)
//数码管显示
unsigned int LedOut[10];
LedOut[0]=Disp_Tab[z%000000];
LedOut[1]=Disp_Tab[z%0000];
LedOut[2]=Disp_Tab[z%000];
LedOut[3]=Disp_Tab[z%00];
LedOut[4]=Disp_Tab[z%];
LedOut[5]=Disp_Tab[z%];
//百位带小数点
LedOut[6]=Disp_Tab[z%100/10];
LedOut[7]=Disp_Tab[z%10];
for( i=0; i<9; i++)
//实现8位动态扫描循环
P0 = LedOut[i];
//将字模送到P0口显示
//使用switch 语句控制位选
也可以是用查表的方式 学员可以试着自己修改
case 0:LS138A=0; LS138B=0; LS138C=0;
case 1:LS138A=1; LS138B=0; LS138C=0;
case 2:LS138A=0; LS138B=1; LS138C=0;
case 3:LS138A=1; LS138B=1; LS138C=0;
case 4:LS138A=0; LS138B=0; LS138C=1;
case 5:LS138A=1; LS138B=0; LS138C=1;
case 6:LS138A=0; LS138B=1; LS138C=1;
case 7:LS138A=1; LS138B=1; LS138C=1;
delay(125);
//=========================================
void main(void)
//主程序开始
uint temp1,temp2;
//调用init初始化子函数
temp1=TL1;temp2=TH1;
counter=(temp2<<8)+temp1;
//读出计数器值并转化为十进制
display();
//无限循环语句结束
//主程序结束
//===================================================
// uint chushi=60;
void timer0(void) interrupt 1 using 1
//定时器t0
//chushi--;
//if(chushi<=0){
z=counter /0.5*60 ;
//读出速度
//每50MS清一次定时器
关键字:&&&&
来源: 21IC
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
P3-5口接转速脉冲
**************************************************/
#include &reg51.H&
// 单片机内部专用寄存器定义
#define uchar unsigned char
#define uint unsigned int
//数据类型的宏定义
sbit LS138A = P2^2;
//定义138译码器的输入A脚由P2.2控制
sbit LS138B = P2
– 10KB GPIO 选项:14、22、48 引脚 ADC 选项:10 和 12 位斜率 SAR 其它集成外设:模拟比较器、DMA、硬件乘法器、SVS、12 位 DAC(以上资料摘自于百度百科)C语言程序(采用IAR for 430):#include &&msp430x14x.h&typedeftyped&uchar &RecBuf[256];uchar &Wuchar &R&&void Send1Char(uchar sendchar
主程序1:void main(){& &uchar i,j,k& &i=0;& &j=0;& &while(1)& &{& & & i=key();//键盘循环扫描,其值赋给变量数组table& & & if(i!=0)//键盘子程序返回值非0,即有按键按下& & & {& & & & & table[j]=i;//将值存在变量数组中j++; & & & &nbsp
#include &reg51.h&#include &intrins.h&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //_nop_();延时函数用#define& Disdata P0&&&&&&&&&&&n
由于STC单片机的速度比8051速度快,属于1个时钟/机器周期高速单片机。速度快当然是它的优点,但对于要移植传统的8051程序而言,需要修改时序来实现某功能.以下程序是ds18b20简单的驱动程序,其实是在网上Down的,经本人稍作修改之后,在STC12C5A32S2中调试通过的,最后读温度返回一个unsigned int,低12位就是温度数据。在主程序里进行运算即可得到实际温度值。呵呵~~/***********ds18b20子程序*************************//***********ds18b20延迟子函数(晶振11.0592MHz )*******/void delay_18B20(unsigned
STM8S的硬件I2C还是存在问题,不敢贸然使用.#define SCL PE_ODR_ODR1#define SDA PE_ODR_ODR2#define SDAM PE_IDR_IDR2#define SET_SCL_OUT() {PE_DDR_DDR1=1; PE_CR1_C11 = 1; PE_CR2_C21 = 0;}#define SET_SDA_OUT() {PE_DDR_DDR2=1; PE_CR1_C12 = 1; PE_CR2_C22 = 0;}#define SET_SDA_IN() {PE_DDR_DDR2=0; PE_CR1_C12 = 0; PE_CR2_C
热门资源推荐
最新单片机文章
最新视频课程
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。
相关热搜器件基于MCS-51单片机的车辆测速仪的设计与制作_图文_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于MCS-51单片机的车辆测速仪的设计与制作
&&本文是基于MCS-51单片机的车辆测速仪的设计,系统以AT89C52单片机为处理控制核心,设计了频率计,实现了信号频率的测量,并根据多普勒效应,将频率转换为速度,最后采用系统化LCD显示模块实时显示所测速度的车辆测速仪的设计方案以及系统软件。
阅读已结束,下载本文需要
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
&#xe64e;加入VIP
还剩39页未读,
定制HR最喜欢的简历
你可能喜欢单片机测速的几种方案解析
单片机测速的几种方案解析
测速是工农业生产中经常遇到的问题,学会使用技术设计测速仪表具有很重要的意义。
要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。
一、脉冲信号的获得
可以有多种方式来获得脉冲信号,这些方法有各自的应用场合。下面逐一进行分析。
图1 CS3020引脚图
霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是V、地、输出。
使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。
这种传感器不怕灰尘、油污,在工业现场应用广泛。
2.光电传感器
光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图2所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。为此,可以制作一个遮光叶片如图3所示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。
图2 光电传感器的原理图
图3 遮光叶片
光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。如图4所示,是某光电编码器的外形。
图4 成品光电编码器
二、硬件连接
测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,测量的一些原则同样适用于测速。
通常,可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在&1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。等精度法则对高、低频信号都有很好的适应性。
这里为简化讨论,仅采用计数法来进行测试。
图5所示是测速器的电路图,由六位和测速接口组成。其中T0处接的只画了一只CS3020组成的霍尔传感器接线图,如果采用光电传感器接口也是一样的,读者可自行画出接线图。
图5 测速计电路原理图
三、软件编程
  测量转速,使用霍尔传感器,被测轴安装有12只磁钢,即转轴每转一周,产生12个脉冲,要求将转速值(转/分)显示在数码管上。
  程序如下:
  DISPBUF EQU 5AH ;显示缓冲区从5AH开始
  SecCoun EQU 59H
  SpCoun EQU 57H ;速度计时器单元57H和58H,高位在前(57H单元中)
&&&&&往下看有更多相关资料
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)基于霍尔传感器测速,51单片机实现计数测速
简介:,在仿真中等价于测量外部脉冲频率;如果修改输入脉冲的频率,在数码管上可实时显示当前频率!功能:霍尔传感器测速,霍尔传感器的信号输出脚接T1(P3.5)引脚测量范围:假设转盘只有一个磁钢,转速低于10r/S则显示0,高于655360r/s则计数溢出(一般应用不会超出此限)51单片机计数测速仿真原理图如下:
电路相关文件(请在PC端查看下载)
扫码关注电路设计技能
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
该设计基于51单片机设计的英文单词拼写学习仿真设计,设计一个以单片机为核心的单词记忆测试器;实现单词的录入(为使程序具有可演示性,单词不少于10个);单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,也可以直接进入下一个或者上一个;单词背完后给出正确率。proteus仿真,矩阵键盘分别代表A~Z,“确认”,“不认识”,“下一个”。进行单词拼写测试。使用12864液晶屏。
来自:时间:
功能介绍:发射机组成:STC89C52RC单片机+DHT11温湿度传感器+红外发射管。接收机组成:STC89C52RC单片机+LCD1602液晶+红外接收管+蜂鸣器报警+按键。 发射机采集温湿度信息通过红外发射管将温湿度信息发射出去,接收机通过红外接收管接收温湿度信息,解析出温湿度信息显示在液晶上,用户可通过按键设置温湿度的报警上限值,一旦温湿度超过上限则会进行蜂鸣器声光报警!资料说明:
附件内容提供AD格式原理图PCB工程文件,用altiumDesigner打开。程序采用C语言编写,通过keil软件编译,文件为工程源代码。技术咨询QQ:(咨询时请说明来自电路城);
实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.1-c.wffa3933nUGPkN&id=
来自:时间:
之前在网上被种草的一个创意时钟设计:
当时被毒到了,一直就想山寨一个玩玩。但空闲的时间总是太紧缺,从开始到完成断断续续地做了好久,总算完成了。
先来一张制作完成的图片,受加工条件和材料的限制,尽了最大的努力后才勉强做成了现在的样子。、
如何操作?
正常的时间显示状态下,编码器不起作用,LED全灭。
按下编码器,红色LED亮起,表示为小时调节模式,左右旋转调整到正确的位置。再次按下编码器,红色LED熄灭,绿色LED点亮,进入分钟设置状态,同样左右旋转调整到当前的分钟数,每加减一分钟,就把秒归零。这样在标准时间为X时X分0秒时调一下就达到了分秒同时对好的目的。再按一下,LED全灭,回到正常显示状态。
视频演示:
转载自【数码之家】
来自:时间:
基于51单片机的智能电子钟设计,可显示时间,修改时间,定闹钟,且闹钟铃声为天空之城两只老虎等,且能进行温度的测量,既有LCD1602显示部分,又有数码管显示部分
来自:时间:
这个是上了一个学期的51,老师要求做的课程设计。主持人按下开始键,指示灯亮,八个人开始抢答,抢答成功后,对应的人的灯亮,指示灯灭,此刻其他人都不能再抢答,两位数码管由30秒开始倒计时,倒计时到0后蜂鸣器响,两位数码管的倒计时时间也是可以自己设置,由两个按键控制,一个控制十位的加,一个控制个位的加。附件里有仿真原理图,源程序,pcb图
来自:时间:
猜你喜欢(实时推荐最适合你的电路)
利用51单片机做的一个双轴自动追光系统,可以用于太阳能充电系统的寻光自动化,从水平和纵向两个方向找到最佳光源点,实现能源利用最大化。图一:控制板部分
图二:寻光步进电机与光比较模块
附件资料截图:
来自:时间:
51单片机音乐仿真:所有的资料请见附件!
来自:时间:
火星科技针对学生和企业群体等提供一套实用的工作在2.4G频段的飞行套件,包括:遥控器+飞控(集成了接收机)。买家通过自行组装飞机后,可用于四轴的无线控制。遥控器发射端主要由N76E003、LT8920、OLED组成。飞控主要由STC8A、LT8920、MPU6050组成。51单片机接收机-四轴一体飞控实物截图:
其具有以下优点:
1、体积小巧:飞控十分小巧,采用弯排针,极大的方便了买家的四轴组装(一般电调和遥控留出的接口均为2.54mm间距)。
2、集成度高:板载无线芯片(LT8920)和ipex天线,相比NRF,大大降低了成本。
3、抗干扰:遥控器与飞控配对以后,一一对应收发,不受其它周边遥控干扰。
4、功能丰富:飞控上搭载的MCU,在接收无线数据的同时,能采集飞机电池电压并回传显示在遥控的OLED上;遥控的四段开关和两路按键可以组合实现飞行模式(暂未实现)、请求配对、显示风格切换等功能。二、电气特性工作电压:4.5V-5.5V整体尺寸:长40mm*宽25mm电机通道:4通道三、特色功能电池电压采集。低压报警失控保护电压回传航灯状态显示四、常用操作说明飞控板每次开机会启动设备自检,无线LT8920硬件故障会信号指示灯会低速频闪。对频方式:按住飞控板上的对频按键,然后给飞控板上电,上电后自动进入对频,对频过成功过成功信号指示灯双闪。工作状态下:信号指示灯闪烁的频率与通信质量挂钩,频闪越快证明通信质量越稳定。蜂鸣器在低压、上锁、解锁、校准等会有对应的提示音。校准:遥控起上内八开始校准,上外八取消校准。校准必须在上锁状态下执行。上锁解锁:下内八解锁操作、下外八上锁操作。无线数据传输格式:1、发送M&DATA发送的数据有飞机电池电压、通信质量、飞控供电电压等。2、接收M&DATA接收接收按遥控器的通道数据及控制数据。格式可以拿到代码后自行修改,比如定长、不定长、校验各种传输协议等等。单片机采用的是51内核新塘N76E003、18K Flash、1K Ram,封装TSSOP20引脚兼容STM8S003。优点就不用多说了,简单+性价比!代码是由Keil5编写。五、联系我们更多优惠请关注小店:https://shop.taobao.com/飞行测试视频链接:https://pan.baidu.com/s/1xfRXpL_SsEkY6sz1VvBxUA
来自:时间:
火星科技自主设计51内核新唐N76E003六通道遥控器,支持双向通讯,支持电压采集回传,低电量报警、设备失联报警、设备低电量报警、OLED显示屏UI显示、手动对频配对等,功能全面,测试稳定。可用于无人机、船、小车、机器人等的无线遥控。新唐N76E003六通道遥控器实物展示:接收机配对操作,见下图:接收机配套资料下载:51单片机接收机-四轴一体飞控 完整资料PCB、源代码
遥控器常用操作说明:遥控器每次开机会启动设备自检,如果外设有不正常工作的会显示不正常的设备信息。遥控器除有两个摇杆电位器,左边摇杆上下不自动回中(左手油门),右边摇杆自动回中,分别对应CH1、CH2、CH3、CH4四个通道。还有两个拨动开关用来控制CH5、CH6通道。两个通道可以自由组合高低,一般用来控制运行模式。左上方和右上方各有一个按键、分别是用来手动介入控制,目前加入了长按功能,分别对应界面UI的切换和进入配对模式的功能。短按没有写功能函数,用户可以在代码中自行修改。蜂鸣器控制引脚是复用的下载口,所以在下载程序或者更新固件的时候需要把开关打到数据“DAT”端。在需要用蜂鸣器作为提示或者报警的时候只需讲开关拨回蜂鸣器“BEEP”端就可以了。蜂鸣器的提示声音分为1、2、3、4、5声,每种声音都代表一种功能性故障提示,如遥控器电池电量过低、遥控器与受控设备失联等等。OLED屏幕上面可以显示遥控器与被控设备的一些相关信息。分别有遥控器与被控设备之前的通信质量、遥控器电池电压、被控设备电池电压、接收机电池电压、遥控通道舵量数据等。分别有图形界面和数据界面两种显示模式,显示模式可以通过按键切换。
无线数据传输格式:1、发送M&DATA2、接收M&DATA格式可以拿到代码后自行修改,比如定长、不定长、校验各种传输协议等等。单片机采用的是51内核新塘N76E003、18K Flash、1K Ram,封装TSSOP20引脚兼容STM8S003。优点就不用多说了,简单+性价比!代码是由Keil5编写。
工作电压:3.6V-5.5V充电电压:DC5V整体尺寸:长30mm*宽13mm输出通道:六通道支持无线:LT8920无线模块、NRF24L01无线模块等应用领域
无人机车船舵机控制
联系我们更多请关注小店:https://shop.taobao.com/飞行测试视频链接:https://pan.baidu.com/s/1xfRXpL_SsEkY6sz1VvBxUA
来自:时间:
功能说明:1.利用STC89C52RC单片机驱动74HC595,来驱动两个1.英寸的两位共阳数码管;2.载有无线射频模块(433M或其他),可用过遥控触发计分累加.板上另有有线按键接口引出,亦可通过有线方式进行计分.3.语音播报计分功能,板载语音芯片及语音功放电路,可驱动5W喇叭输出.4.智能比较胜负判定,当某方大于对方6分(具体可通过程序修改)及以上时,会语音播报胜利方,并提示"比赛结束".资料说明: 附件内容提供AD格式原理图PCB工程文件,用altiumDesigner打开。程序采用C语言编写,通过keil软件编译,文件为工程源代码。技术咨询QQ:(咨询时请说明来自电路城);附件资料截图:
来自:时间:
2017 年 12 月 20日
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
0521liujun购买了:
免费下载!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。}

我要回帖

更多关于 霍尔元件原理图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信