基于51单片机的电机转速测量与显示系统,汇编
- 格式:doc
- 大小:3.73 MB
- 文档页数:36
基于C51单片机直流电机测速仪设计摘要:电机的转速是各类电机运行过程中的一个重要监测量,测速装置在电机调速系统中占有非常重要的地位,特别是数字式测速仪在工业电机测速方面有独到的优势。
本文介绍了一种基于C51单片机的光电传感器转速测量系统的设计。
系统采用对射式光电传感器产生与齿轮相对应的脉冲信号,使用AT89C51单片机采样脉冲信号并计算每分钟内脉冲信号的数目,即电机对应的转速值,最终系统通过LCD实时显示电机的转速值。
经过软硬件系统的搭建,分别通过Protues软件系统仿真实验和实际电路搭建检查实验。
仿真实验表明本系统满足设计要求,并且结构简单、实用。
整个直流电机测速系统在降低测速仪成本,提高测速稳定性及可靠性等方面有一定的应用价值。
关键词:转速测量;光电传感器;单片机Based On C51 SCM Single DC Motor Speedometer DesignABSTRACT:Motor speed is all kinds of motor operation is an important process to monitor the amount of speed measuring device in the motor control system occupies a very important position, Especially the digital speedometer in the industrial motor speed has unique advantage. This paper describes a photoelectric sensor 51 SCM-based speed measurement system design. System uses a beam photoelectric sensor generates a pulse signal corresponding to the gear, the use of a sampling pulse signal AT89C51 SCM and calculating the pulse per minute, the number of signals that the speed of the motor corresponding to the value of the final system time through the LCD display the motor speed value.After a hardware and software system structures, respectively, through Protues software system to build the actual circuit simulation and experimental examination. Simulation results show that the system meets the design requirements, and the structure is simple and practical. DC Motor Speed entire system in reducing speedometer costs, improve reliability, speed stability and a certain application value.Keywords: Speed measurement; Photoelectric; Single chip micyoco目录1 绪论 (1)1.1 数字式转速测量系统的发展背景 (1)1.2 转速测量在国民经济中的应用 (1)1.3主要研究内容 (2)1.4 设计的目的和意义 (2)2 转速测量系统的原理 (4)2.1 转速测量原理 (4)2.2 转速测量计算方法 (5)3转速测量系统设计方案 (7)3.1 直流电机转速测量方法 (7)3.2 设计任务及方案 (8)4 直流电机测速系统设计 (9)4.1 单片机AT89C51介绍 (9)4.2 转速信号采集 (14)4.2 转速信号处理电路设计 (16)4.4 最小系统的设计 (17)4.4.1复位电路 (17)4.4.2 晶振电路 (20)4.5 显示部分设计 (20)5 直流测速系统仿真 (24)5.1 直流测速系统仿真 (24)5.1.1单片机最小系统仿真 (25)5.1.2 数码管显示仿真 (25)5.2 主程序流程设计 (26)5.2.1 主程序流程设计 (26)5.2.2 定时器的初始化 (27)5.3 实际电路实验 (28)参考文献 (30)致谢 (31)1 绪论1.1 数字式转速测量系统的发展背景在现代工业自动化高度发展的时期,几乎所有的工业设备都离不开旋转设备,形形色色的电机在不同领域发挥着很重要的作用。
#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表p0口uchar code tab_bit[]={0x07,0x0b,0x0d,0x0e};//位码表p2口低四位uchar count; //计数器,显示程序通过它得知现正显示哪个数码管uint shuzhi;uchar disp_buf[4]; //4字节的显示缓冲区void timer1() interrupt 3 //中断一次时间为3ms显示一位数码管值,显示一轮时间12ms,1s 动态显示80多次{uchar tmp;static unsigned int js=0;js++;TH1=(65536-3000)/256;TL1=(65536-3000)%256; //定时时间为3000个周期tmp=tab_bit[count]; //取位值P2=P2|0x0f; //P2与00001111B相或P2=P2&tmp; //P2与取出的位值相与tmp=disp_buf[count]; //取出待显示的数tmp=tab[tmp]; //取字形码P0=tmp;count++;if(count==4) count=0;}void main(){uint tmp;shuzhi=0;TMOD=0x15; //定时器0工作于计数方式1,定时器1工作于定时方式1TH1=(65536-3000)/256;TL1=(65536-3000)%256;//定时时间为3000个周期TR0=1; //计数器0开始运行TR1=1;EA=1;ET1=1;for(;;){tmp=shuzhi;disp_buf[3]=tmp%10;tmp/=10;disp_buf[2]=tmp%10;tmp/=10;disp_buf[1]=tmp%10;tmp/=10;disp_buf [0]=tmp%10;}}。
主程序* 文件名称: Jiuzhouxuese.c 转速计的设计(LCD显示)的主程序* 原理: T1计数,T0计时,电动机每转动一周产生16个脉冲,T1采集一分钟内的脉冲数,后即可计算出转速* 版本信息: 2011-10-23---------------------------------------------------------------*/#include "LCD1602.h"#include<reg51.h>#define uint unsigned int#define uchar unsigned charbit flag; //计满1秒钟标志位uchar count=100; //储存定时器T0中断次数uint Speed; //储存电机转速uchar DispBuffer[4];//存放转换成液晶显示字符(ASCII)的数组/*------------------------------------------------------------功能:主函数说明:使用晶振为12MHz的芯片,定时0.01秒。
计时器初值为C=65536-0.01/10^(-6)=0D8F0H---------------------------------------------------------------*/void main(void){TMOD=0x51;//T1工作于计数模式1,T0工作于计时模式1;TH0=0xd8; //定时器T0赋初值TL0=0xf0;EA=1; //开总中断ET0=1; //定时器T0中断允许TR0=1; //启动定时器T0while(1){TR1=1; //计数T1启动TH1=0; //计数T1高8位赋初值0TL1=0; //计数T1低8位赋初值0flag=0; //时间还未满1秒钟while(flag==0) //时间未满等待Speed=(TH1*256+TL1)*60/16; //计算速度,每周产生16个脉冲}}/*-------------------------------------------------------------函数功能:定时器T0的中断服务函数--------------------------------------------------------------*/void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器{count--; //T0每中断1次,count减1LCD_Initial();//液晶初始化if(count%4==0){DispBuffer[0]=Speed/1000+0x30; //将显示数据并分解出千位转换成ASCII码}if (count%4==1){DispBuffer[1]=Speed%1000/100+0x30;//将显示数据并分解出百位转换成ASCII码}if(count%4==2){DispBuffer[2]=Speed%100/10+0x30;//将显示数据并分解出十位转换成ASCII码}if(count%4==3){ DispBuffer[3]=Speed%10+0x30 ; // 将显示数据并分解出个位转换成ASCII码}LCD_Prints(1,0,DispBuffer);//LCD显示数据while(0);if(count==0) //若累计满100次,即计满1秒钟{flag=1; //计满1秒钟标志位置1count=100; //清0,重新统计中断次数}TH0=0xf0; //定时器T0重新赋初值TL0=0xd8;}LCM1602驱动程序/************************************* *************************************File Name: LCD1602.hAuthor: JiuzhouxunseCreated: 2011/10/23************************************* ************************************* */#ifndef _LCD_1602_H#define _LCD_1602_H#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char定义接口************************************* sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口//内部等待函数************************************* ************************************* unsigned char LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();//while(DBPort&0x80),在用Proteus仿真时,屏蔽此语句,否则会进入死循环!LcdEn=0;return DBPort;//向LCD写入命令或数据************************************* ***********************#define LCD_COMMAND 0 // 命令#define LCD_DATA 1 // 数据#define LCD_CLEAR_SCREEN 0x01// 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, unsigned char input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();//注意顺序LcdEn=1; _nop_();//注意顺序LcdEn=0; _nop_();LCD_Wait();}//设置显示模式************************************* ***********************#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(unsigned char DisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}//设置输入模式************************************* ***********************#define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00// 为缺省设置#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00//画面不可平移void LCD_SetInput(unsigned char InputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//初始化LCD********************************* ***************************void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);//8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);//此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO _CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CL EAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_ MOVE); //AC递增, 画面不动}//************************************ ************************************ void LCD_Pos(unsigned char x, unsignedchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x); if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0 x40));}void LCD_Prints(uchar x,uchar y, unsigned char *str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}Proteus仿真图。
基于51单片机的直流电机转速测控系统设计0 引言目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾,且采样时间较长,难以测得瞬时转速。
本文介绍的电机控制系统利用PWM 控制原理,同时结合霍尔传感器来采集电机转速,并经单片机检测后在显示器上显示出转速值,而单片机则根据传感器输出的脉冲信号来分析转速的过程量,并超限自动报警。
本系统同时设置有按键操作仪表,可用于调节电机的转速。
1 系统方案的制定直流电机控制系统主要是以C8051 单片机为核心组成的控制系统,本系统中的电机转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此,由MCU 内部的可编程计数器阵列输出PWM 波,以调整电机两端电压与控制波形的占空比,从而实现调速。
本系统通过霍尔传感器来实现对直流电机转速的实时监测。
系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、电路原理图设计、PCB 绘制、线路调试:软件设计包括内存空间的分配,直流电机控制应用程序模块的设计,程序调试、软件仿真等。
2 硬件设计C8051 是完全集成的混合信号系统级MCU 芯片,具有64 个数字I/O 引脚,片内含有VDD 监视器、看门狗定时器和时钟振荡器,是真正能独立工作的片上系统,并能快捷准确地完成信号采集和调节。
同时也方便软件编程、干扰防制、以及前向通道的结构优化。
本单片机控制系统与外部连接可实时接收到外部信号,以进行对外部设备的控制,这种闭环系统可以较准确的实现设计要求,从而制定出一个合理的方案,图1 所示是电机测控系统框图。
本系统先由单片机发出控制信号给驱动电机,同时通过传感器检测电机的转速信号并传送给单片机,单片机再通过软件将测速信号与给定转速进行比较,从而决定电机转速,同时将当前电机转速值送LED 显示。
此外,也可以通过。
基于51单片机的直流电机转速测控系统设计—内容提要:随着现代科技的不断发展,现在的电子产品越来越多,在早期,电子产品一般是纯硬件电路,没有使用单片机,电路复杂难以设计,也难以检查问题,随着微控制技术的不断完善和发展,集成芯片越来越多,单片机便出来了,换言之,单片机的应用是对传统控制技术的一场革命。
具有划时代的意义。
在电机控制方面也是靠人的感觉,没有侧速和侧距的概念,以前人机界面一般采用LED数码二极管,随着LCD液晶显示器的出现,人机界面更加人性化、智能化,它能显示数字、汉字和图象,控制LCD液晶显示器也很方便,电路设计也比较简单;加上单片机,组合实现的功能也比较强大,还可方便以后电路的升级与扩展。
本文结合LCD显示、电机控速、红外侧距、键盘操作等多种技术,实现了基于51单片机的电机转速测量控制系统的设计。
本文从第二章方案论证与选择开始,就阐述了该系统的基本工作原理、所采用的相关技术等,进而交代了电机转速测量控制的实现方法。
最后重点阐述了LCD液晶显示和案键部分。
该设计经过测试,实现了在LCD上的菜单多级滚动显示,达到预期的设计效果。
基于该系统在LCD上实现菜单控制系统在电路图设计比较方便,主要分为四部分,电源部分、安键部分、LCD显示部分和控制部分;较复杂的是在控制软件部分,软件控制部分分为三部分,一部分是安键判断部分、菜单控制部分和显示部分。
关键词:单片机电机液晶显示器按键红外元件目录一、引言 4二、方案论证 4(一)基于嵌入式单片机的设计方案 4(二)基于EDA为核心的设计方案 5(三)方案选择 5三.结构设计 5(一)CPU控制模块 6(二)键盘模块7(三)LCD液晶显示模块7(四)电源模块8(五)红外侧距模块9(六)PWM电机控制模块9四、各硬件模块设计9(一)电源设计9(二)键盘设计10(三)LCD液晶显示设计11(四)CPU硬件设计13(五)时钟模块15(六)红外测速模块15(七)电机模块16五、软件设计17(一)初始化和主程序模块17(二)按键模块19(三)显示部分21(四)电机程序设计说明35六、测试报告35七、总结38八、附录38参考文献591 引言直流电机监控系统是机电产品中的重要环节,其控制性能反映了机电设备的控制质量。
基于51单片机测电机转速的设计[摘要]:本课题设计了一种基于单片机的电子测速仪,测速仪以89C51为数据处理主控芯片。
测速仪的主要组成部分:霍尔传感器、以89C51芯片为核心的密码锁的数据处理与控制电路、输出显示电路。
另外系统还有LED报警灯,单片机复位电路等。
测速电路的关键问题是物理信号到电信号的转换,以及脉冲的产生、报警与复位。
同时该测速仪具有低能耗、体积小、使用方便,非接触等优点,具有很强的使用价值[关键词]:单片机;测速仪51 singlechip design of measurement of motor speed based onAbstract:This project is to design a kind of electronic measurement instrument based on single chip microcomputer, velocimetry using 89C51 as main control chip data processing.Main components: Holzer velocimetry sensors, taking the 89C51 chip as the corecryptographic data processing and control circuit, the lock output display circuit.Another system and LED warning lamp, microprocessor reset circuit etc.. The keyproblem of conversion speed measuring circuit is a physical signal to electrical signal,and the pulse generation, alarm and reset. At the same time, the instrument has theadvantages of low energy consumption, small volume, convenient use, non - contactand other advantages, has the very strong use valueKeywords:MCU; velocimetry目录第一章绪论 (3)1.1测速仪的背景与分类 (3)1.2测速仪的运用于发展 (3)1.3本设计的意义与要求.................................................. .1 第二章单片机测速仪的主要元件介绍.. (2)2.1单片机89c51的介绍 (2)2.2 霍尔元件的介绍 (5)2.3比较器LM393的介绍............................................................................. (6)第三章基于单片机测速的工作概述以及原理分析 (9)3.1基于单片机测速的工作概述 (9)3.2系统硬件总电路图............................................................................. .. (9)3.3检测电路模块............................................................................. (9)3.4复位电路模块 (10)3.5晶振电路模块 (11)3.6电源电路模块 (11)3.7显示电路模块............................................................................. (12)3.8报警电路模块............................................................................. (12)第四章单片机测速系统组成 (13)4.1转速测量系统原理框图 (13)4.2系统软件框图 (13)第五章系统软件设计 (14)5.1系统流程序 (14)5.1.1系统主程序流程图............................................................................. (14)5.1.2测速程序流............................................................................. . (15)5.1.3 显示流程图............................................................................. (16)5.2程序............................................................................. . (21)第六章单片机测速电路实物运行 (22)6.1实物整体图......................................................... .226.2 测速显示 (23)6.2.1转速显示............................................................................. (23)6.2.2低速报警显............................................................................. . (24)6.2.3高速报警显示............................................................................. (25)小结............................................................................. ............................................................................... . (26)致谢 (27)附录一单片机测速PCB原理图............................................................................. . (28)附录二单片机测速元器件清单............................................................................. .. (29)参考文献............................................................................. ............................................................................... . (30)第一章绪论1.1测速仪的分类目前测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。
基于单片机的电机转速测量系统设计一、绪论电机是现代工业生产中常用的电力传动装置,其转速的准确测量对于工业生产的稳定运行和质量控制具有重要意义。
本文设计了一种基于单片机的电机转速测量系统,通过对电机转速的实时监测和数据采集,实现对电机运行状态的有效控制和管理。
二、系统设计方案1.硬件设计:a.使用单片机作为控制核心,选择适合的单片机芯片,如STC89C52b.采用光电传感器作为转速检测元件,通过将光电传感器的发光管与光敏电阻相对应,并将其安装在电机转轴上,当转轴旋转时,光敏电阻会根据光线的变化产生电信号,通过电压变化实现转速测量。
c.添加滤波电路,通过对信号进行滤波处理,保证测量结果的稳定性和准确性。
d.利用LCD液晶显示模块,显示电机的实时转速。
e.设计相关电源和电路,保证系统正常运行。
2.软件设计:a.使用C语言编程,通过单片机的编程框架,编写测量转速的程序。
b.通过定时器中断的方式,实时采集光电传感器的信号,并进行信号处理,得到电机的实时转速值。
c.将转速值存储在内部存储器中,以备后续分析和处理。
d.利用LCD液晶显示模块,将转速值显示在LCD屏幕上,实现实时监测。
三、系统特点1.精确度高:通过光电传感器和滤波电路的配合使用,能够准确测量电机的转速,保证测量结果的准确性。
2.实时监测:通过单片机的编程,能够实时监测电机的转速,及时发现异常情况并进行处理。
3.数据采集:可以将转速数据存储在内部存储器中,方便后续分析和处理,实现对电机的有效控制和管理。
4.易于操作:通过LCD液晶显示模块,能够直观地显示转速值,操作简单方便。
5.低成本:该系统采用单片机作为核心,硬件设备简单,成本较低。
四、系统优化1.添加报警功能:当电机转速超过设定值或低于设定值时,系统能够及时发出警报提示操作人员,防止电机在异常情况下继续运行,保护设备安全。
2.添加通信功能:通过添加通信模块,将转速数据传输至上位机或者其他设备,实现对电机的远程监控和控制。
ORG 0000H ;单片机主程序入口地址LJMP MAINORG 0003H ; 外部中断0入口地址LJMP INTER0ORG 000BH ; 定时器0入口地址LJMP TIMER0INIT_T0: ; 子程序,初始化定时器0MOV TMOD,#01H ; 定时器0工作方式1,16位计数器MOV R2, #20 ; 1s=1000ms=20*50msMOV TL0,#00H ; 对于f=11.0592MHz的晶体振荡器MOV TH0,#4CH ; (2^16-x)*(f/12)=50ms,x=4C00H SETB ET0SETB EASETB TR0RET ; 返回,returnMAIN: ; 主程序MOV SP,#60H ; 设置堆栈位置MOV R0,#44H ; 显示数据开始存放地址MOV R1,#0 ; 数码管位数MOV 43H,#1 ; 千位MOV 42H,#2 ; 百位MOV 41H,#3 ; 十位MOV 40H,#4 ; 个位SETB EX0 ;初始化外部中断0,允许中断源SETB EA ;初始化外部中断0,允许总中断SETB IT0 ;初始化外部中断0,下降沿触发方式CALL INIT_T0 ; 调用子程序初始化定时器0LOOP1: MOV A,@R0MOV DPTR,#TAB01MOVC A,@A+DPTRMOV P0,A ; 向数码管发送数据MOV A,R1MOV DPTR,#TAB02MOVC A,@A+DPTRMOV P2,A ; 选中某个数码管CALL DELAY ; 延时INC R0 INC R1CJNE R1,#4,LOOP1 ; 4个数码管显示完毕?MOV R0,#44H ; 显示数据开始存放地址MOV R1,#0JMP LOOP1 ; 反复执行DELAY: ; 延时子程序MOV R6,#2 ; (R6)=2DEL01: MOV R7,#250 ; (R7)=250DEL02: DJNZ R7,DEL02 ; R7减1不等于0跳转DJNZ R6,DEL01 ; R6减1不等于0跳转RET ; 返回TIMER0: ; 定时器0中断服务程序MOV TL0,#00H ; 对于f=11.0592MHz的晶体振荡器 MOV TH0,#4CH ; (2^16-x)*(f/12)=50ms,x=4C00HDJNZ R2,END_T0 ; 如果不到20次中断则不足1s MOV R2, #20 ; 1s=1000ms=20*50msMOV A, 40H ;准备显示个位MOV 44H, AMOV A, 41H ;准备显示十位MOV 45H, AMOV A, 42H ;准备显示百位MOV 46H, AMOV A, 43H ;准备显示千位MOV 47H, AMOV 40H, #0 ; 准备下一次测量转速MOV 41H, #0 ; 准备下一次测量转速MOV 42H, #0 ; 准备下一次测量转速MOV 43H, #0 ; 准备下一次测量转速END_T0:RETI ; 中断返回,return interruptINTER0: ; 外部中断0中断服务程序MOV A,40HINC AMOV 40H,ACJNE A,#10,END_EX0MOV 40H,#0 ;个位大于10则修改为0,十位加1 MOV A,41HINC AMOV 41H,ACJNE A,#10,END_EX0MOV 41H,#0 ;十位大于10则修改为0,百位加1 MOV A,42HINC AMOV 42H,ACJNE A,#10,END_EX0MOV 42H,#0 ;百位大于10则修改为0,千位加1 MOV A,43HINC AMOV 43H,ACJNE A,#10,END_EX0MOV 43H,#0 ;千位大于10则修改为0END_EX0:RETI ; 中断返回,return interruptTAB01:DB 0C0H,0F9H,0A4H,0B0H,099H ; 01234 段码DB 092H,082H,0F8H,080H,090H ; 56789段码DB 088H,083H,0C6H,0A1H,086H,08EH ; ABCDEF段码TAB02:DB 0EH,0DH,0BH,07H; 数码管位选END ; 程序结束。
摘要单片机又称单片微控制器(MCU),它把一个计算机系统集成到一个芯片上。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
随着电子技术的迅猛发展,单片机技术也有了长足的发展,目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
各种电机在工业得到广泛应用,为了能方便的对电机进行控制、监视、调速,有必要对电机的转速进行测量,从而提高自动化程度。
转速是工程上一个常用参数。
转速测量的方法很多,采用光电开关管测量转速是较为常用的测量方法。
在本系统设计中,我们以51单片机为核心控制单元,以红外对管(或称光/电,电/光二极管)为传感器,通过光电传感器实时采集电机转速并进行处理与显示,设计出一个电动机转速测量系统,并研究其测量精度、测量范围及响应速度.程序设计部分分为初始化模块、脉冲计数模块、计时模块、参数调整模块和显示模块.最后通过试验测试,得到了相应的技术参数,并对转速测量系统的误差进行了分析.要求设计的系统稳定可靠、抗干扰能力强、成本低,使用方便。
关键词:计算机应用,单片机,直流电机,转速注:本设计题目来源于自选AbstractSingle-chip, also known as single-chip microcontroller (MCU), it is a computer system integrated into a chip. It’s small size, light weight, cheap, for the learning, application and development of facilities provided. With the rapid development of electronic technology, single-chip technology has grown by leaps and bounds, the current single-chip microcomputer to infiltrate all areas of our lives, which is very difficult to find the area of almost no traces of single-chip, the missile's navigation devices, aircraft a variety of instrument control, computer network communications and data transmission, industrial automation, real-time process control and data processing, are widely used in a variety of smart IC card, limousine civilian security systems, video recorders, cameras, all Automatic washing machine control, as well as program-controlled toys, electronic pet, etc., which are inseparable from the single-chip microcomputer.A variety of motor is widely used in industry, in order to facilitate the conduct of motor control, monitoring, speed control, it is necessary to measure motor speed, thereby enhancing the degree of automation. Speed is a commonly used engineering parameters. A lot of speed measurement using photoelectric switch speed measurement is more commonly used measurement method.During the system design, we have 51 single-chip microcomputer as the core control unit, to infrared on the tube (or light / electricity, electricity / light emitting diode) for the sensor, photoelectric sensor, through real-time acquisition and processing motor speed and display , design a motor speed measurement system, and study the measurement accuracy, measuring range and response speed. programming initialization part is divided into modules, pulse counting module, timing module, parameter adjustment module and display module. Finally, the pilot test, by the corresponding technical parameters of the speed measurement system error is analyzed. the requirements of the system is stable and reliable, anti-interference ability, low cost and easy to use.Key words: Computer applications,Single-chip microcomputer,DC motor,Speed目录1绪论 (1)1.1题目背景及目的 (1)1.2题目研究方法 (1)2系统设计基础知识 (2)2.1直流电机的基本知识 (2)2.1.1 直流电机的工作原理 (2)2.1.2 电机的起/停控制 (3)2.1.3 电机的方向控制 (3)2.1.4 电机的速度控制 (4)2.251单片机的基础知识 (5)3系统总体方案设计 (13)3.1系统分析 (13)3.1.1 电机转速的测量 (13)3.1.2 电机转速的处理 (15)3.1.3 电机转速的显示 (15)3.2设计思路和方案 (15)3.3系统构成 (16)3.3.1 原理框图 (17)4硬件电路设计 (18)4.1电源电路 (18)4.2转速测量电路 (18)4.3LED显示模块 (20)4.4系统硬件设计 (20)5系统软件设计 (22)5.1计时方案的选择 (22)5.2软件结构划分 (23)5.2.1 计时模块 (23)5.2.2 转速计算模块 (24)结论 (26)参考文献 (27)致谢 (28)附录 (29)1 绪论1.1 题目背景及目的目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
各种电机在工业得到广泛应用,为了能方便的对电机进行控制、监视、调速,有必要对电机的转速进行测量,从而提高自动化程度。
1.2 题目研究方法测量转子速度的方法很多,但多数比较复杂。
目前,测量转速的方法主要有四种:机械式、电磁式、光电式和激光式。
机械式主要利用离心力原理,通过一个随轴转动的固定质量重锤带动自由轴套上下运动,根据不同转速对应不同轴套位置获得测量结果原理简单直接,不需额外电器设备,适用于精度要求不高、接触式的转速测量场合。
电磁式系统由电磁传感器和安装在轴上的齿盘组成,主轴转动带动齿盘旋转,齿牙通过传感器时引起电路磁阻变化,经过放大整形后形成脉冲,通过脉冲得到转速值。
由于受齿盘加工精度、齿牙最小分辨间隔、电路最大计数频率等限制,测量精度不能保证。
光电式结构类似于电磁式结构,把旋转齿盘换作光电编码盘或黑白相间的反射条纹,把电磁传感器换作光电接收器,通过对反射回来的光脉冲信号计数得到测量结果。
由于受条纹最小分辨间隔、电路最大计数频率等限制,测量精度不能保证,所测转速值和电磁式一样为两个计数脉冲间距的平均值。
激光测速技术(LDV)是一种正在发展中的测速技术,通过激光多普勒效应获得转动体的瞬时角速度,理论上具有很高的瞬时转速测量精度,但目前实际产品精度不够高,并且价格昂贵,在实际使用上受到限制。
通过改进已有的电磁式传感器,设计一种适于瞬时转速测量的新型传感器,在旋转机械瞬时状态分析中具有一定的实际意义。
2 系统设计基础知识2.1 直流电机的基本知识2.1.1 直流电机的工作原理永磁式直流电机是应用很广泛的一种。
只要在它上面加适当电压。
电机就转动。
图2.1是这种电机的符号和简化等效电路[1]。
工作原理图:图 2.1 直流电机的符号和等效电路这种电机由定子、转子、换向器(又称整流子)、电刷等组成,定子用作产生磁场。
转于是在定子磁场作用下,得到转矩而旋转起来。
换向器及时改变了电流方向,使转子能连续旋转下去。
也就是说,直流电压加在电刷上,经换向器加到转子线圈,流过电流而产生磁场,这磁场与定子的固定磁场作用,转子被强迫转动起来。
当它转动时,由于磁场的相互作用,也将产生反电动势,它的大小正比于转子的速度,方向和所加的直流电压相反。
图2.1(b)给出了等效电路。
Rw代表转子绕组的总电阻,E代表与速度相关的反电动势。
永磁式换流器电机的特点:当电机负载固定时,电机转速正比于所加的电源电压。
当电机直流电源固定时,电机的工作电流正比于转予负载的大小。