




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1 引言12 系统实现23 硬件设计23.1方案实现原理23.2 硬件设计框图33.3 硬件电路原理图43.4槽型光电传感器ITR840243.5 ISP下载口53.6电源电路53.7脉冲信号完成电路53.8单片机控制系统电路63.9超速报警电路73.10 PCB连线84 程序设计84.1 程序设计思路94.2 系统程序105设计总结14参考文献15致谢16附录17智能型电机转速测定仪设计摘要:本文详细介绍了一种基于单片机的智能型电机转速测定仪的设计。该设计以at89s52单片机作为主控核心,与光电传感器、LED数码管、蜂鸣器等构成硬件操作,再利用C语言编程,最终完成电机转速测定仪的设计。
2、本文详细阐述了如何利用光电传感器实现电机转速的信号接受,运用单片机单片机at89s52对脉冲信号进行处理计算,然后通过数码显示管显示出来。关键词:测速;光电传感器;at89s52单片机最小系统;电机;数码管;Intelligent Motor Speed Cryoscope DesignDengqiulingInformation Science and Technology school, Zhanjiang Normal University, Zhanjiang , 524048Abstract: This paper introduces a kind of intelligent m
3、otor speed based on single chip design of the HSP. This design as the core, at89s52 SCM control with photoelectric sensors, LED digital tube, hardware composition, etc, buzzer reusing the C programming language, and finally finished the design of motor speed tester. This paper expounds how to realiz
4、e the motor speed by photoelectric sensor signal by monolithic integrated circuit at89s52 SCM, on the pulse signal processing, and then calculated by XianShiGuan digital display.Keywords:speed;Photoelectric sensor; At89s52 SCM system of minimum; Motor; Digital tube;1引言近年来,随着电力电子技术、计算机技术及控制技术等的快速发展,伺
5、服驱动系统不断朝着数字化、智能化方向发展.要满足高性能伺服驱动系统高精度、高可靠性等要求,转速控制是实现的关键环节.如何获得电动机精确的转速信号以实现转速的高精度控制,就成了单片机控制电机测度的一个突出的问题之一。在电动机的调速系统中,在电动机的转轴上安装测速发电机或光电编码盘等测速装置,利用电机中的转子位置传感器所产生的脉冲信号来反映它的转速。通常所用的位置传感器有霍尔传感器和光电式传感器。霍尔传感器具有结构简单紧凑、灵敏度高,传送过程无抖动现象,频率响应宽、寿命长等优点。但霍尔传感器存在一定程度的磁不敏感区,会降低电机运行的可靠性,且对安装位置要求精确,因此安装调试比较复杂,如要用于产品开
6、发,会间接增加开发成本。光电式传感器是利用光电元件,对带有糟口(或栅)的旋转圆盘的位置进行通断信号变化的接收,产生一系列反映转子位置的脉冲信号。其检测分辨率高,适用于检测各种一般电动机。因为光电传传感器性能比较稳定,这在应用中是相当重要的。本设计介绍利用光电传感器模块来测定电机转速的方法。相对于传统的方法而言,该方法将大大降低成本,其性能稳定,器件体积小,适用于进行各种电机测速。2系统实现本系统利用光电传感器和单片机相结合,运用了编码盘不停的切割光电传感器产生一连串的脉冲,编码管装在电机上,当电机转动的时候,编码管就回切割光电传感器,产生信号,然后经过比较器产生一连串的脉冲信号,脉冲信号通过单
7、片机at89s52T1计数管脚输入,单片机对脉冲进行计数,再通过算法把计到的脉冲数转为速度。因为本设计是针对电机转速测定,所以报警电路是必需。通过程序的编写和外部电路设定,共同完成了本测定仪的报警系统。外部超速报警电路按键是用于设定额定速度值,每按一次单片机内部自加1,并在数码管中显示。通过外部按键设定超速额定值,这便于本电机转速测定仪更智能化,更便利化。3硬件设计3.1 方案实现原理光电传感器是选用机械鼠标里面的对射式的光电传感器。它的工作原理是:当接收管接收到来自发射管的信号时,接收管就导通,没接到信号时,接收管就截止。利用它的这一特性,可以用一编码盘不停的切割光电对管,利用光电对管的特性
8、产生一连串的脉冲,编码盘就利用鼠标里面现成的。编码盘装在电机上,电机转动后,编码盘就不停的切割光电对管。从而产生一定频率的方波,由于这样直接产生的方波电压比较小,不能被单片机的计数引脚直接识别。因此直接产生的方波经过一个比较器产生一个五伏左右的方波,该方波信号被单片机的计数管脚T1接收,利用另一定时器定一中断周期,然后处理这一周期内接收到的脉冲次数,通过计算便可得出电机的转速.编码盘有十个孔,编码盘转动一圈能够产生10个脉冲,精度达到0.1r/s,如果想要提高测速的精度,只需改变编码盘上的孔数即可。3.2 硬件设计框图单片机控制系统电源脉冲信号完成外部信号输入数码管显示图3-1硬件设计框图 如
9、图3-2的硬件电路原理图所示,本硬件设计的电路过程如下:接通电源,装在电机的编码管切割光电传感器得到信号,信号经比较器得到一个脉冲信号,脉冲信号通过T1脚输入单片机内,单片机进行计算、处理,在数码管中显示。如电机转速超过报警电路额定值,报警电路进行报警。3.3单片机89s52功能特性图3-2单片机89s52引脚图如图3-2所示,单片机AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器.使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器.在单芯片上,拥
10、有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。3.4槽型光电传感器ITR8402图3-3槽型光电传感器ITR8402如图3-3所示是槽型光电传感器ITR8402,此光电传感器把一个光发射器和一个接收器面对面地装在一个槽的两侧。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。光电传感器装载电机上,从电路板引出导线与其连接,当编码盘切割光电传感器
11、的时候,其信号就可通过导线传到比较器,从而形成脉冲信号。光电传感器是效率最高、最可靠的检测装置。在现代电子领域中传感器是获取信息的工具,它涉及整个科学技术、国防、航空、航天、交通运输、能源、机械、石油、化工、轻工、纺织等工业部门和环境保护、生物医学工程等和日常生活的各个领域,是现代信息技术的重要支柱技术之一。3.5ISP下载口图3-4所示的是ISP下载口,运用ISP下载口将程序下载在89s52大单片机中,实现对射式光电传感器与速度转换的计算。ISP下载口的1、7、9脚分别与单片机P1.5、P1.6和P1.7连接,实现单片机程序下载完成,5脚接单片机的RET脚,这是复位键,实现复位使用.5V电源
12、是供电给下载口。图3-4ISP下载口 3.6 电源电路图3-5所示是电源电路,电源部分为整个电路提供稳定的5伏直流电,使整个电路能正常工作。电源部分包括一个由四个二极管组成的整流管对电流起到整流作用,C01、C02、C03和C04在电路中起到滤波、加强负载的作用。图3-5电源部分3.7脉冲信号完成电路编码管装在电机上,当电机转动时,编码管就不断对光电传感器的光电对管进行切割得到电机转速信号,电机转速信号通过比较器后得到一个脉冲信号,脉冲信号输入单片机T1脚,在单片机中进行处理、计算。脉冲信号生成电路中的RW1电位器是用于调定图中比较器1脚的电压,使转速信号转为脉冲信号,如图3-5所示。图3-6
13、脉冲信号生成电路3.8单片机控制系统电路脉冲信号通过T1脚输入单片机89s52,经过单片机的内部程序处理,将脉冲信号转变为速度在共阴数码管显示。单片机X1脚和X2脚连接的时起振电路,P2.6脚连接本设计的报警电路,当输入的电机转速超过设定的速度时,P2.6脚就会发出信号令报警电路鸣响。当脉冲信号输入,单片机对脉冲信号进行处理、计算,然后通过PO口输出,在数码管中显示RET脚连接的是复位电路,当按键按下的时候,单片机复位,如图3-7所示。图3-8单片机控制系统电路3.9超速报警电路图3-8所示的是超速报警电路,该电路用于电机速度超过本电路设定速度的时候进行报警,图中的Q9013三极管用于报警电路
14、的开关,该三极管是PNP管,低电平有效。当输入为低电平的时候,三极管处于饱和导通状态,报警器鸣响,BEEP是报警器。当测到的速度大于设定的额定速度值时,报警器就会鸣响,这时就知道电机的转速超过了设定的速度。图中的P2.6是连接单片机P2.6脚,超速信号从P2.6脚输出,经过Q9013三极管到蜂鸣器,报警器鸣响。图3-8 报警电路 3.10PCB连线图3-9智能型电机转速测定仪PCB电路4程序设计4.1 程序设计思路本程序使用C语言进行编程,首先设定初始值为50ms,信号进入的中断时间为50ms,计数20次即为1s.因为使用T1脚的外部中断功能,只有脉冲信号进入单片机时,单片机才进行计算。脉冲信
15、号进入单片机,单片机内部的程序运用zhuansu=(TL1+256*TH1)/50公式进行计算出此时的电机转速.此时电机的速度,将数据p0脚输出,共阴数码管显示,如果电机的转速超过报警电路设定的速度,那么报警器就会响,超速的速度通过数码管显示出来。报警电路的速度额定值是运用外部设定,单片机内部只要设定自加1程序,根据外部报警电路的指示进行额定值设定。此次设计电机转速测定仪的程序采用的是C程序设计,程序的各个部分除了必要的信息交流外彼此之间也是相互独立的。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。图4-1就是本次程序设计的流程框图,其清楚地表明本次程序设计的思路和步骤。开始设初值
16、为50ms计数1s时间? NY读出计算的脉冲数计算出转速报警超速 Y NN显示图4-1 软件设计流程图4.2 系统程序#include<reg52.h>#include<math.h>#define uchar unsigned char#define uint unsigned intsbit p26=P26; /百位sbit p25=P25; /十位sbit p24=P24; /个位sbit p20=P20 ;sbit p21=P21;sbit p22=P22;sbit beep=P23;void delay(uchar n);void key_s1(void) ;
17、void key_s2(void) ;void key_s3(void) ;void xianshi1();void xianshi2();void chuli(uint m);void beeping(unsigned char t);uchar dop; /标志位uchar cishu;char temp1=60;uchar status_flag;unsigned char bai,shi,ge;uint l,cmp;uchar a10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;uint zhuansu;void delay(uc
18、har n) uint i,j; for(i=0;i<n;i+) for(j=0;j<121;j+) ; void key_s1(void) uint i; p20=1; if(p20=0) temp1+; for(i=0;i<50;i+) xianshi2();void key_s2(void) uint i; p21=1; if(p21=0) temp1-; for(i=0;i<50;i+) xianshi2(); void key_s3(void) uint i; p22=1; if(p22=0) status_flag+; if(status_flag>1
19、) status_flag=0; if(status_flag=0) for(i=0;i<15;i+) xianshi1(); if(status_flag=1) for(i=0;i<15;i+) xianshi2(); void xianshi1()P0=age; p26=0; delay(1); /显示个位 p26=1; P0=ashi; p25=0; delay(1); /显示十位 p25=1; P0=abai; p24=0; delay(1); /显示百位 p24=1;void xianshi2()P0=atemp1/100%10; p24=0; delay(1); /显示
20、bai位 p24=1; P0=atemp1%100/10; p25=0; delay(1); /显示shi位 p25=1; P0=atemp1%100%10; p26=0; delay(1); /显示ge位 p26=1; void chuli(uint m) bai=(m/100)%10;/得到百位数 shi=(m%100)/10; /得到十位数 ge=(m%100)%10;/得到个位数timer0() interrupt 1 using 0 /定时器0中断服务程序,定义定时器0cishu+; TH0=(65536-50000)/256;/写入定时初值,定时值为50msTL0=(65536-5
21、0000)%256;if(cishu=20)/每次中断为50ms,计数20次即为1szhuansu=(TL1+256*TH1)/50; cmp=zhuansu;chuli(zhuansu);TH1=0;TL1=0;cishu=0;void beeping(unsigned char t)uchar bmp;for(;t>0;t-)beep=!beep;for(bmp=0;bmp<100;bmp+)xianshi1();main() beep=0;xianshi1();TMOD=0x51;/T0工作在定时器方式,操作模式1,T1工作在计数方式操作模式1TH0=(65536-50000
22、)/256;TL0=(65536-50000)%256;TH1=0;/T1自动计算输入脉冲的值TL1=0;ET0=1;/允许定时器0溢出中断TR0=1;/ 定时器0运行ET1=1;/允许计数器1溢出中断TR1=1;/计数器1运行EA=1; while(1) key_s3(); switch(status_flag)case 1: key_s1(); key_s2(); for(l=0;l<50;l+) xianshi2(); /delay(20);break; case 0:chuli(zhuansu); xianshi1(); if(zhuansu>temp1) beeping(
23、4); chuli(cmp); xianshi1(); break; default: break; 5 设计总结及展望本次设计从3月上旬到5月中旬这段时间进行的,在这段时间内,通过自身的努力、指导老师和同学们的帮助,设计任务还是顺利完成的,实现了电机转速测定 。通过此次的设计,让我更加巩固C语言编程和protel的应用,而且很扩展了相关电子的知识。这一切成果都是在本次设计中收获的.第一点是我制作电路板的时候遇到了很多的问题,例如:protel的模拟调试常常无法调试正确,PCB连线图出现了不少跳线等一些问题。不过我不灰心,也得到了大家的帮助,最终把硬件的原理图完成了,并把电路板制作出来。第二点就是在程序编写和调试中,出现了超速而无法报警,复位电路无法工作,晶振无法起振等一些问题,这非常让人苦恼,但是经过刘老师和同学们的帮助,目前问题都一一解决了。在本次设计中让我更加掌握了C语言和protel的知识,更让我熟悉了相关元件的一些功能和特性,例如at89s52芯片的应用,光电传感器的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模块化医疗净化厂房建设与环保设施运营合同
- 智能物流仓储租赁及仓储物流信息化建设合同
- 民办图书馆图书漂流租赁合同
- 氢能源设备生产许可证申请与销售代理合同
- 美甲店转让沙发合同协议
- 羊肉代加工合同协议
- 维修村里道路合同协议
- 羊屠宰工用工合同协议
- 维修厂合同协议
- 维修防水合同协议书范本
- 2025年CSCO胃癌诊疗指南解读
- 住宅分户验收方案
- 2025年度专业技术人员继续教育公需科目考试题(附答案)
- 办公室消防知识培训课件
- 公司纪检监察工作制度
- 针刺伤防护考试题及答案
- 中药农药知识培训课件
- 职业道德说课
- 2024北京二中初二(上)期中数学试题及答案
- XX医院核医学应急预案手册
- 河南省漯河市2024-2025学年高三上学期期末质量监测语文试题及答案解析
评论
0/150
提交评论