基于51单片机的直流电机转速测量与控制
基于C51单片机直流电机测速仪设计

基于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 数字式转速测量系统的发展背景在现代工业自动化高度发展的时期,几乎所有的工业设备都离不开旋转设备,形形色色的电机在不同领域发挥着很重要的作用。
51单片机控制直流电机调速系统流程图:

51单片机控制直流电机调速系统流程图:
题目:单片机控制直流电机调速系统——软件设计
1. 编一段显示程序分别显示当前的转速和我们所需要的转速。
显示用4段数码管来实现。
2:编一段PWM调速的程序,来控制脉冲的宽度从而来控制电机的转速。
3:通过霍尔传感器测速,利用霍尔把信号传给单片机,单片机利用计数器的功能来记录转速,并同时把转速用数码管显示出来。
4:由于真实的转速和我们所设订的转速可能存在很大的误差,所以要编一段PID调速的程序,通过PID调节来减少误差。
5.要3个按键,键1实现设定转速的功能,键2实现切换功能(从所设定的转速切换到真实的转速的显示,键3实现开关的功能。
基于单片机的直流电机调速系统的课程设计

一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于51单片机的直流电机转速测控系统设计

基于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 引言直流电机监控系统是机电产品中的重要环节,其控制性能反映了机电设备的控制质量。
基于单片机的直流电机控制

基于单片机的直流电机控制直流电机一直被广泛应用在家用电器、机械制造、汽车、飞机等各个领域,随着科技的发展,单片机控制技术越来越成熟,并且具有成本低、可靠性高、易于操作等优点,因此,采用单片机控制直流电机已成为目前广泛采用的一种方式。
一、直流电机的基本知识直流电机由定子和转子两个部分组成,其中定子上包围着一组绕线,用以形成磁极,转子上有一个可旋转的电枢,当电枢通电后,它在磁场的作用下会发生转动。
直流电机的旋转方向与电枢上的电流方向有关,如果电枢的正极接在轴心方向,负极在外圈方向,则电机会顺时针旋转,反之则会逆时针旋转。
1. PWM 控制法PWM 即脉宽调制,是一种控制直流电机的有效方法。
具体实现过程如下:(1)用单片机的PWM 输出口控制 MOSFET 管的开关,从而控制直流电机的开关状态。
在 PWM 端口输出高电平时,MOSFET 管导通,电机就可以运转;PWM 端口输出低电平时,MOSFET 管截止,电机就会停止运行。
(2)通过改变 PWM 端口输出的高电平时间和低电平时间,可以控制电机的转速和方向。
在输出高电平时间更长的情况下,电机的转速就会更快;反之,输出低电平时间更长的情况下,电机的转速就会更慢。
2. 单向控制法单向控制法是一种简单的控制方式,适用于只需要控制直流电机的正反转的场合。
具体实现方法如下:(1)将电机的正极和负极依次接在两个 MOSFET 管上。
(3)要实现电机的正反转,只需要交换两个 MOSFET 管的接口即可。
单片机控制直流电机的应用非常广泛,可以用于机械制造、模型飞机、小车等各个方面。
例如在小车的控制中,一般采用 PWM 控制法来控制电机的速度和方向,具体实现方法如下:(1)将电机连接在电源上,通过单片机的 PWM 端口控制两个 MOSFET 管的开关状态,从而控制电机的转向和转速。
(2)借助陀螺仪或加速度计等传感器,可以获取小车的倾斜角度或速度等信息,从而实现小车的稳定行驶。
基于单片机控制的直流电机调速系统设计

基于单片机控制的直流电机调速系统设计一、引言直流电机在工业自动化领域中广泛应用,其调速系统的设计是实现自动控制的关键。
本文将介绍一种基于单片机控制的直流电机调速系统设计方案,主要包括电机原理、硬件设计、软件设计以及实验结果与分析等内容。
二、电机原理直流电机是一种将直流电能转换为机械能的装置,其原理基于电磁感应和安培定律。
电机由定子和转子两部分组成,定子上绕有恒定电流,产生磁场,而转子上带有电流,与定子的磁场互相作用,产生力矩使电机旋转。
三、硬件设计1.单片机选择在本设计中,选择了一款功能强大、性能稳定的单片机作为控制核心,例如使用ST C89C51单片机。
该单片机具有丰富的GP IO口和定时器/计数器等外设,适合进行电机控制。
2.电机驱动电路设计电机驱动电路主要包括功率电源、运放电路和驱动电路。
其中,功率电源为电机提供稳定的直流电源,运放电路用于信号放大和滤波,驱动电路则根据控制信号控制电机的转速。
3.速度测量电路设计为了实时监测电机的转速,需要设计速度测量电路。
常见的速度测量电路包括光电编码器、霍尔传感器等,通过测量转子上感应物体的变化来获得电机的转速信息。
四、软件设计1.程序框架软件设计的目标是实现对电机转速的控制和监测。
基于单片机的软件设计主要包括主程序的编写、中断服务程序的编写以及定时器的配置等。
2.控制算法常见的直流电机调速算法包括电压调速法、P WM调速法等。
根据实际需求选择合适的算法,并根据测量到的转速信号进行反馈控制,实现对电机转速的精确控制。
五、实验结果与分析设计完成后,进行实验验证。
通过设置不同的转速需求,观察电机的实际转速与设定转速的误差,并分析误差原因。
同时还可以测试电机在不同负载下的转速性能,以评估系统的稳定性和鲁棒性。
六、总结基于单片机控制的直流电机调速系统设计是实现自动控制的重要应用。
本文介绍了该系统的硬件设计和软件设计方案,并展示了实验结果。
通过系统实现电机转速的精确控制,可以广泛应用于工业自动化领域。
参考基于51单片机的电机转速测量与显示系统

摘要单片机又称单片微控制器(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卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)

基于C51单片机的直流电机PWM调速控制--SQ这是最近一阶段自己学习所获,现分享与大家。
这里采用A T89C52单片机做主控制芯片,实现两路直流电机的PWM调速控制,另外还可以实现转向、显示运行时间、显示档位等注:考虑小直流电机自身因素,调速范围仅设有四级电路原理图:C语言程序源代码:/******************** 硬件资源分配*********************/数码管:显示电机状态(启停、正反、速度)、运行时间、是否转弯按键:K4 启动/暂停K3 正反转/转弯允许K2 加速/左转/运行时间清零K1 减速/右转/停止定时器:T0 数码管动态显示,输出PWMT1 运行时间记录********************************************************//*******主程序文件PWM.c******/#include <reg52.h>#include "Afx.h"#include "Config.c"#define CIRCLE 5 //脉冲周期//按键定义uchar key,key_tmp=0, _key_tmp=0;//显示定义uchar LedState=0xF0; //LED显示标志,0xF0不显示,Ox00显示uchar code LED_code_d[4]={0xe0,0xd0,0xb0,0x70}; //分别选通1、2、3、4位uchar dispbuf[4]={0,0,0,0}; //待显示数组uchar dispbitcnt=0; //选通、显示的位uchar mstcnt=0;uchar Centi_s=0,Sec=0,Min=0; //分、秒、1%秒//程序运行状态标志bit MotState=0; //电机启停标志bit DirState=0; //方向标志0前,1后uchar State1=-1;uchar State2=-1;uchar State3=0;uchar State4=-1;uchar LSpeed=0;uchar RSpeed=0;//其他uint RunTime=0;uint RTime_cnt=0;uint LWidth;uint RWidth; //脉宽uint Widcnt=1;uint Dispcnt;//函数声明void key_scan(void);void DisBuf(void);void K4(void);void K3(void);void K2(void);void K1(void);void disp( uchar H, uchar n );void main(void){P1|=0xF0;EA=1;ET0=1;ET1=1;TMOD=0x11;TH0=0xFC;TL0=0x66; //T0,1ms定时初值TH1=0xDB;TL1=0xFF; //T1,10ms定时初值TR0=1;Widcnt=1;while(1){key_scan();switch(key){case 0x80: K1(); break;case 0x40: K2(); break;case 0x20: K3(); break;case 0x10: K4(); break;default:break;}key=0;DisBuf();LWidth=LSpeed;RWidth=RSpeed;}}//按键扫描**模拟触发器防抖void key_scan(void){key_tmp=(~P3)&0xf0;if(key_tmp&&!_key_tmp) //有键按下{key=(~P3)&0xf0;}_key_tmp=key_tmp ;}//按键功能处理/逻辑控制void K4(void){if(State4==-1){State4=1;TR1=1;dispbuf[3]=1;LedState=0x00; //打开LEDMotState=1; //打开电机LSpeed=1;RSpeed=1; //初速设为1}else if(State4==1){State4=0;TR1=0;MotState=0; //关闭电机}else if(State4==0){MotState=1;if(State3==0){State4=1;TR1=1;}else if(State3==1){LSpeed=2;RSpeed=2;}}}void K3(void){if(State4==1)DirState=!DirState;if(State4==0){if(State3==0){State3=1; //可以转向标志1可以,0不可以TR1=1;dispbuf[3]=9;MotState=1;LSpeed=2;RSpeed=2;}else if(State3==1){State3=0;TR1=0;dispbuf[3]=0;MotState=0;}}}void K2(void){if(State4==1&&LSpeed<4&&RSpeed<4){LSpeed++;RSpeed++;}else if(State4==0){if(State3==0){//State4=-1;//LedState=0xF0;MotState=0;Sec=0;Min=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=0;LSpeed=2;RSpeed++;}}}void K1(void){if(State4==1&&LSpeed>1&&RSpeed>1){LSpeed--;RSpeed--;}else if(State4==0){if(State3==0){State4=-1;LedState=0xF0;MotState=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=1;LSpeed++;RSpeed=2;}}}//显示预处理void DisBuf(void){if(RTime_cnt==100){Sec++;RTime_cnt=0;}if(Sec==60){Min++;Sec=0;}if(State4==1){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;if(!DirState) //正转dispbuf[3]=LSpeed;if(DirState) //反转dispbuf[3]=LSpeed+4;}if(State4==0){if(State3==0){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;dispbuf[3]=0;}if(State3==1){dispbuf[0]=RSpeed;dispbuf[1]=LSpeed;dispbuf[2]=Min;dispbuf[3]=9;}}}//LED驱动void disp( uchar H, uchar n ){P1=n;P1|=LedState ;P1|=LED_code_d[H];}//T0中断**显示/方波输出void Time_0() interrupt 1{TH0=0xFC;TL0=0x66;Widcnt++;Dispcnt++;//电机驱动/方波输出if(Widcnt>CIRCLE){Widcnt=1;}if(Widcnt<=LWidth)LMot_P=!DirState&&MotState;elseLMot_P=DirState&&MotState;LMot_M=DirState&&MotState;if(Widcnt<=RWidth)RMot_P=!DirState&&MotState;elseRMot_P=DirState&&MotState;RMot_M=DirState&&MotState;//显示if(Dispcnt==5){disp(dispbitcnt,dispbuf[dispbitcnt]);dispbitcnt++;if(dispbitcnt==4){dispbitcnt=0;}Dispcnt=0;}}//T1中断**运行时间void Time_1() interrupt 3{TH1=0xDB;TL1=0xFF;RTime_cnt++;}/******配置文件Afx.h******/#ifndef _AFX_#define _AFX_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/******IO配置文件Config.c******/#ifndef _Config_#define _Config_#include "Afx.h"#include <reg52.h>//显示定义sbit led=P3^2;//电机引脚定义sbit LMot_P=P2^2; sbit LMot_M=P2^3; sbit RMot_P=P2^0; sbit RMot_M=P2^1;#endif。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
此次的设计并不奢望一定能成功,但一定要对已学的各种知识能有一定的运用能力,我做设计的目的是希望能检查下对所学知识的运用能力的好坏,并且开始慢慢走上创造的道路,这是非常可贵的一点。
2硬件电路的连接和程序的调试
本次的课程设计是基于SICElab-G2100实验箱设计,采用模块化结构。实验箱如下图所示
图9 SICElab-G2100实验箱
硬件接线如下:
把第17号模块“并行数模转换”中的DAC0832输出Aout孔连第23号模块“直流电机”的Dcin孔,数模转换DAC0832的CS17孔和Xfer孔连第38号模块“片选信号”中的YS2孔,WR1孔和WR2孔连第33号模块“控制总线”的/WR孔,CKM孔(霍尔传感器输出孔)连“Lab51CPU板”的P3.2孔。第38号模块“片选信号”中YS0(0800H)孔连第40号模块“键盘+数码管”CS40孔。
否
是
是
否
否
是
图8键盘扫秒流程图
1.3PID控制
本次的课程设计采用的PID控制,调速性能好,通过调节比例常数、积分常数、微分常数使得转速控制达到想要的精度。
PID参数的调节有试凑法和实验法,本课程设计采用的是实验法。现介绍如下:
实验法的整定步骤为“先比例,再积分,最后微分”。
整定比例控制
将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。
2.采用比例调节方法,使电机转速稳定在设定值;
3.测量电机的转速,并在实验平台数码管上显示;
4.转速稳定后,可随时修改转速设定值;
5.优化比例调节系统,使电机转速的调节时间较短,并尝试加入积分、微分环节,改善转速的静态和动态特性。电机转速不允许出现振荡。
基于51单片机的直流电机转速测量与控制
摘要:本设计主要完成以AT89C51单片机为核心的直流电机的测速系统,通过矩阵键盘给定转速,并在数码管上显示设定值。采用霍尔传感器进行速度测量,利用PID控制和DAC0832进行模数转换使直流电机转速稳定在设定值。动态显示实际转速。电机可以快速的达到设定值,且不会出现震荡现象。
Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:电源输入端,Vcc的范围为+5V~+15V;
VREF:基准电压输入线,VREF的范围为-10V~+10V;
AGND:模拟信号地;
DGND:数字信号地。
试验箱DAC0832如下图所示
图4实验箱DAC0832
1.2霍尔传感器测速及转速计算方法
单片机原理与应用
课程设计
院系信息工程学院
班级自动化121
学生姓名张晓峰
学号121404010432
日期2015/7/9
任务要求
基于51单片机的直流电机转速测量与控制
一、设计目的
1.通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用有进一步的了解。
2.掌握定时器、终端的设置和变成原理。
连线
连线孔1
连线孔2
连线
连线孔1
连线孔2
1
Aout
Dcin
5
WR2
/WR
2
CS17
Xfer
6
CKM
P3.2
3
Xfer
YS2
7
CS40
YS0
4
WR1孔
WR2
表1硬件电路连线
图10接线图
按图中接线,编写程序,调试PID参数,经过反复的实验,转速可以快速的达到设定值,且不会出现振荡,运行结果如下图所示
图11转速为4r/s时运行结果图12转速为12r/s时运行结果
5附录
#include "reg52.h"
#include "absacc.h"
#define LEDLen 6
unsigned char count;
unsigned char TS;
float DA;
long int n;
unsigned int t;
unsigned char Key_temp;
1.2.1霍尔传感器测速原理
霍尔传感器在测量机械设备的转速时,被测量机械的金属齿轮、齿条等运动部件会经过传感器的前端,引起磁场的相应变化,当运动部件穿过霍尔元件产生磁力线较为分散的区域时,磁场相对较弱,而穿过产生磁力线较为几种的区域时,磁场就相对较强。霍尔转速传感器就是通过磁力线密度的变化,在磁力线穿过传感器上的感应元件时,产生霍尔电势。
关键词:直流电机,STC89C51,矩阵键盘,设定值,霍尔传感器,DAC0832,PID
正文
1.系统设计
本设计主要完成以STC89C51单片机为核心的直流电机的测速系统,通过矩阵键盘给定转速,并在数码管上显示设定值。采用霍尔传感器进行速度测量,利用PID控制和DAC0832进行模数转换使直流电机转速稳定在设定值。动态显示实际转速。系统结构图如下图所示
图13转速为45r/s时运行结果
3创新与改进
实验箱自带的有RS232,可以利用串口通讯,将矩阵键盘输入给定值改为通过串口通讯的方式,通过PC机键盘给定,或者编写Labview程序,使用Labview串口给单片机送给定值。
4心得体会
经过1个星期的课程设计,留给我印象最深的是要设计一个成功的程序,必须要有要有扎实的理论基础,还要有坚持不懈的精神。
这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于迎刃而解。同时,在老师的身上我学得到很多实用的知识,林老师在我们完成的基础上添加新的东西,转速给定值可以通过串口通讯,PC机发送数据,也可以编写Labview程序,通过虚拟旋钮给定转速值,为此给我们培训了一下虚拟仪器及检测技术,对Labview做了简单介绍,给我们入了门。对林老师专业知识的渊博表示敬佩,在此我表示感谢!同时,和同学的互相交流,使我有新的创意,新的理解,在此表示感谢!
WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:电流输出端2,其值与IOUT1值之和为一常数;
霍尔传感器的霍尔元件在产生霍尔电势后,会将其转换为交变电信号,最后传感器的内置电路会将信号调整和放大,输出矩形脉冲信号。
另外,霍尔传感器的测量必须配合磁场的变化,因此在霍尔传感器测量非铁磁材质的设备时,需要事先在旋转物体上安装专门的磁铁物质,用以改变传感器周围的磁场,这样霍尔传感器才能准确的捕捉到物质的运动状态。
char code dx516[3] _at_ 0x0023;
unsigned char LEDBuf[LEDLen];
code unsigned char LEDMAP[] = {
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
3.根据设计任务和要求,画出程序整体流程图,然后进行各程序模块的设计,编写控制程序。
4.掌握如何应用单片机仿真器或编程器来开发应用及仿真调试的过程,反复修改测试直至完成任务。
三、设计内容
设计并调试一个程序使其实现如下功能:
1.在实验平台上通过键盘输入一个转速的设定值(例如25rpm),并在数码管上显示;
RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
VSS:地线。
VCC:+5 V电源。
1.1DAC0832
ILE:数据锁存允许控制信号输入线,高电平有效;
CS:片选信号输入线(选通数据锁存器),低电平有效;
WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
本试验箱的霍尔传感器如下图所示
图5实验箱霍尔传感器
1.2.2测速方法
由于直流电机转速较小,所以采用T法测速,T发测速的原理如下
T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。计算公式为:
};
code unsigned char KeyTable[] = {
0x16, 0x15, 0x14, 0xff,
0x13, 0x12, 0x11, 0x10,
3.掌握单片机原理、结构、指令、接口及应用。
4.通过此次课程设计能够将单片机硬件结合起来,获得单片机应用系统设计的基本理论,基本只是和基本技能,掌握单片机应用系统各主要环节的设计、调试方法。
二、基本要求
1.,以80C51的基本知识和方法为基础,通过系统扩展达到应用单片机的目的。
2.根据应用系统结构规模的要求,掌握单片机外部扩展系统的硬件设计的基本过程,正确合理选择期间,绘制应用系统原理图。