直流电机测速
- 格式:docx
- 大小:326.11 KB
- 文档页数:16
无刷直流电机测速原理无刷直流电机是一种常见的电机类型,其具有高效率、高功率密度、低噪音等优点,因此被广泛应用于各种领域。
测速是无刷直流电机控制中非常重要的一部分,其原理如下:1. 电机测速原理无刷直流电机的转速可以通过检测电机内部的反电动势(back EMF)来实现。
当电机运转时,由于磁场变化引起线圈内部产生反向电势,这个反向电势随着转速的增加而增加。
因此,通过检测反向电势大小可以确定电机的转速。
2. 反向电势检测原理为了实现反向电势检测,需要在驱动无刷直流电机时采用PWM调制方式。
PWM调制方式是指通过改变占空比来控制输出信号的有效值。
在PWM调制方式下,输出信号会周期性地从高状态(+V)到低状态(-V),然后再回到高状态。
当输出信号处于高状态时,线圈中会产生磁通,并且随着时间的推移这个磁通会逐渐增加。
当输出信号从高状态变为低状态时,线圈内部产生的磁通会逐渐减少,同时也会产生反向电势。
反向电势的大小与线圈中的磁通变化率成正比。
3. 反向电势检测电路原理为了实现反向电势检测,需要在无刷直流电机驱动电路中添加一个反向电势检测电路。
该电路包括一个比较器和一个滤波器。
比较器用于将反向电势信号与参考信号进行比较。
参考信号可以是一个固定的阈值,也可以是由微控制器生成的一个可变参考信号。
滤波器用于去除噪声和干扰,以保证检测到的反向电势信号稳定可靠。
常用的滤波器包括低通滤波器和带通滤波器等。
4. 反向电势测速方法通过上述原理和方法,可以实现无刷直流电机的反向电势测速。
具体步骤如下:(1)将PWM调制方式应用到无刷直流电机驱动中;(2)通过比较器将反向电势信号与参考信号进行比较;(3)通过滤波器去除噪声和干扰;(4)根据反向电势信号的大小计算出电机转速。
总之,无刷直流电机测速原理是基于反向电势检测的,通过比较器和滤波器等电路将反向电势信号转换为可靠的转速信号。
这种方法简单、可靠,广泛应用于各种无刷直流电机控制系统中。
一种新型直流电机测速方案研究与分析1. 引言1.1 背景介绍随着现代电子技术的发展,一些新型的测速方案逐渐被提出并得到应用。
这些新型方案往往基于先进的传感器技术、数字信号处理技术和控制算法,能够实现对直流电机转速的高精度、快速测量。
开展新型直流电机测速方案的研究不仅有助于提高电机系统的性能和效率,还有助于推动相关领域的技术创新和发展。
本文将针对新型直流电机测速方案展开研究与分析,旨在探讨其设计原理、实验验证、性能分析以及优势与局限性。
通过对比传统测速方案,总结出新型方案的优势和不足之处,为进一步完善和推广该方案提供参考和指导。
【2000字】1.2 研究目的研究目的是为了探讨一种新型直流电机测速方案,提高直流电机测速精度和稳定性,解决传统测速方案存在的问题。
通过对新型方案的设计与实验验证,分析其性能表现,明确其优势和局限性,为直流电机测速技术的进一步发展提供理论与实践基础。
通过本研究,可以为直流电机在工业生产中的准确控制和运行提供更加可靠的技术支持,推动直流电机测速领域的技术进步和应用推广。
通过深入研究新型直流电机测速方案,可以为相关行业提供参考和指导,促进直流电机技术的不断创新与发展,从而更好地满足社会和经济的需求。
1.3 研究意义直流电机在工业生产中广泛应用,而测速是直流电机控制的基础工作。
研究新型的直流电机测速方案具有重要的意义。
通过研究开发新型测速方案,可以提高直流电机的控制精度和稳定性,进一步提高生产效率。
新型测速方案的应用可以减少直流电机系统的能耗,降低生产成本,对节能减排具有积极的影响。
随着工业智能化的发展,新型测速方案可以为直流电机的智能化控制提供技术支持,推动工业生产向智能化、自动化方向发展。
研究新型直流电机测速方案具有重要的理论和实际意义,对提高工业生产效率、降低能耗、推动工业智能化发展等方面具有积极的作用。
2. 正文2.1 直流电机测速方案的现状分析在直流电机测速方案的现状分析中,我们需要关注当前直流电机测速方案的主要方法和技术。
一种新型直流电机测速方案研究与分析随着科技的发展和应用场景的不断拓展,直流电机在工业自动化、家电、电动汽车等领域中得到广泛应用。
直流电机的速度测量对于控制系统的稳定性和精度至关重要,因此研究一种新型直流电机测速方案具有重要意义。
常见的直流电机测速方案有编码器法、反电动势法、霍尔传感器法等。
编码器法是通过安装在电机轴上的光电编码器或磁编码器来直接测量电机输出轴的转速。
这种方法精度高,但成本较高,不适用于一些成本敏感的应用场景。
反电动势法是通过测量电机转子产生的反电动势来间接得到电机的转速。
这种方法成本较低,但在低速和无负载情况下测速精度较低。
霍尔传感器法是通过安装在电机定子上的霍尔传感器来感应电机转子的磁场变化,从而得到转速信息。
这种方法成本适中,但精度一般较低。
针对上述传统的直流电机测速方案存在的问题,本研究提出了一种新型的直流电机测速方案。
该方案采用了一种基于深度学习的视觉测速方法。
具体来说,方案需要在电机输出轴上安装一个固定的标志物,并通过摄像头实时捕捉标志物的位置信息。
然后,利用深度学习算法对图像进行处理和分析,得到电机转速信息。
相比于传统的直流电机测速方案,本方案具有以下优势:1. 降低成本:本方案不需要额外安装编码器、传感器等元件,只需使用摄像头进行图像捕捉即可,因此可以大幅度降低测速系统的成本。
2. 提高测速精度:采用深度学习算法对图像进行处理和分析,可以提高测速的精度和准确性。
3. 适用于复杂场景:传统的测速方案在受到噪声、震动等干扰时容易产生测量误差,而本方案可以通过深度学习算法对图像进行复杂的处理和分析,适用于更加复杂的工作环境。
4. 实时性强:本方案采用实时捕捉图像和深度学习算法处理的方式,可以实现对电机转速的实时监测和测量。
通过研究与分析了一种新型直流电机测速方案,本研究提出的基于深度学习的视觉测速方法具有成本低、精度高、适用于复杂场景和实时性强等优势,可以为直流电机的测速提供一种新的解决方案,具有重要的研究意义和应用价值。
一种新型直流电机测速方案研究与分析直流电机是一种非常常见的电动机,广泛应用于工业生产和日常生活中的各种设备中。
测速是对电机运行状态实时监测的一种重要手段,可以帮助用户判断电机运行是否正常,并采取相应的措施进行调整和维护。
研究和分析一种新型直流电机测速方案具有重要的意义。
传统的直流电机测速方案主要是采用编码器和霍尔传感器等硬件设备来实现。
这种方式虽然准确可靠,但安装和调试过程比较复杂,成本较高。
而且,由于硬件设备与电机之间存在一定的距离,信号传输的延迟和干扰也会对测速结果产生一定的影响。
针对以上问题,研究人员提出了一种新型直流电机测速方案,主要基于电机自身的特点和电流信号的变化来实现。
具体步骤如下:通过对电机的结构和工作原理进行分析,确定电机的转速与电流之间存在一定的关系。
即在电机转速变化的电流信号的波形和幅值也会发生相应的变化。
然后,设计一个合适的电流传感器,用于检测电机的工作电流,并将检测到的电流信号输入到测速系统中。
传感器可以是基于霍尔效应的传感器,也可以是基于磁阻或电感的传感器。
传感器的选择应考虑到成本、精度和可靠性等因素。
接下来,通过对电流信号进行数据处理和分析,提取出与电机转速相关的特征参数。
可以采用数字信号处理技术,如滤波、频谱分析和相关分析等方法,对电流信号进行处理。
通过与实际的转速数据进行对比和验证,确定特征参数的准确性和可靠性。
建立一个数学模型,将电机转速与特征参数之间的关系进行建模和预测。
可以采用回归分析、神经网络或遗传算法等方法,对测速方案进行建模。
通过模型的训练和测试,可以得到一个准确可靠的测速方案。
一种新型直流电机测速方案的研究与分析,主要是通过对电机自身特点和电流信号的变化进行分析和处理,实现对电机转速的测量和监测。
该方案具有简化安装和调试过程、降低成本和提高准确性等优点,将在直流电机控制和监测领域得到广泛应用。
无刷直流电机测速原理
无刷直流电机是由两个磁芯组成的定子和转子,每个磁芯有两个相互垂直的线圈。
定子的磁芯可以提供电流进入转子,从而来提供转子的动力。
无刷直流电机的测速原理是:当定子通过电流提供磁感应,而转子变成一个被动的器件,随着定子的磁感应的变化,转子也会改变自身的方向,而定子的磁感应又取决于转子的转速,从而可以通过定子的磁感应来测量转子的转速。
无刷直流电机的测速有多种方法,常用的有套线法和磁尺法。
套线法是通过在定子输出端安装两根探头,记录定子的电流波形,然后根据定子的分析,得出转子转速的大小。
磁尺法是通过安装一根磁尺于定子的极化轴上,计算绕组之间的间隙距离和磁力矢量来计算转子的转速。
两种方法都可以成功完成无刷直流电机的测速工作,因此可以根据相关应用的需求选择合适的方法进行测速。
- 1 -。
任务5.7 直流电机的调速和测速5.7.1 任务介绍在自动化控制领域,许多场合需要用到电机。
电机的种类繁多,直流电机由于控制简单,调速性能好在电机拖动中得到广泛的应用。
本节的任务是:用按键作为开关控制电机启停和调节电机转速。
系统有3个按键:按下按键A,电机正转,再次按下按键A,电机停;按下按键B,电机反转,再次按下按键B,电机停;当电机处于正或反转时,按键C用来调整电机转速(给定不同占空比的PWM),占空比分别为10%、20%和30%。
4位数码管显示,当电机停止时,数码管显示“- - - -”;当电机正转时,数码管显示“PXXX”;当电机反转时,数码管显示“LXXX”,其中“XXX”是电机的转速。
直流电机驱动板上的光电对管用来测量电机转速,测速使用测频法(1秒内电机轴转动圈数)。
5.7.2 知识准备1、直流电机模型直流电机电路模型如图5.7.1所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。
当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。
根据左手定则可知,当流过线圈中电流改变方向时,线圈的方向也将改变,因此通过改图5.7.1 直流电机电路模型图1.1 直流电机工作2、直流电机参数开发板上配置的直流电机属于有刷直流小电机,型号为R140,实用于电动玩具、家电等场合。
其具体参数如表5.7.1所示。
表5.7.1 R140电机参数根据R140电机的参数表得知,工作电压范围为3-6V,工作电流在50mA~150mA 。
我们给电机施加5V 的工作电压,电机驱动电路至少提供150mA 的电流。
3、直流电机换向原理在直流电机模型中提到改变电机线圈的电流方向,就可以改变电机的转动方向。
直流电机驱动电路中通常采用采用H 桥来改变电机的转向(如果不调速,也可以采用双刀双掷的继电器来改变电机的转向)。
H 桥是一个典型的直流电机控制电路,其电路简略示意图如图5.7.2所示,因为它的电路形状酷似字母H ,故得名与“H 桥”。
北京工业大学课程设计报告(数电课设题目)直流电机测速班级:130242学号:13024212姓名:王栩晖组号:192015 年 4 月一.设计技术指标及设计要求(一)设计任务设计一个能对直流电机运行速度进行调速和测速的电路。
(二)基本要求设计一个脉宽调速电路,实现对直流电机转速的控制。
利用光电脉冲转换、整形、门控电路和计数电路测出直流电机的转速,并显示在数码管上。
要求转速300转/分以下,越低越好。
(三)扩展要求在完成基本要求的基础上加光耦脉冲计数和相位判别电路,进而识别电机的转向,并由LED显示转向的正反。
三.设计框架四.设计方案选择及方案比较总体设计思路由555组成的方波发生器提供驱动电机的方波,再经由脉宽调整电路改变脉冲的宽度,从而改变直流电机的转速。
驱动电路由达林顿三极管及开关组成,达林顿三极管放大电流以驱动电机。
开关选择双刀双掷开关,使得电路桥式导通,以达到改变电机转向的目的。
光电脉冲转换电路有光耦组成,用来计数电机转速,输出的信号通过脉冲整形后输入计数器电路。
计数器电路分为60秒计时器和转速计数器两部分,后面会详细介绍。
各方案比较经查询资料,实验指导上提示的单稳触发器CD14538,双比较器LM393,整流二极管及5V稳压二极管都不需要使用,所以实验方案以上述方案为准。
五.系统选用的元器件NE555 * 2达林顿三极管TIP122 * 1槽型光耦 * 1微型直流电机 * 174LS00 * 174LS161 * 5双刀双掷开关 * 1电阻,导线,电容 * x主要芯片说明(1)NE555定时器是一种多用途的数字—模拟混合集成电路,利用它能极方便地构成施密特触发器、单稳态触发器和多谐振荡器。
组成的施密特触发器可用于脉冲的整形,单稳态触发器可用于调整脉冲的宽度,多谐振荡器可用于提供方波信号。
因而NE555广泛用于信号的产生、变换、控制与检测。
其工作原理如下:555电路的内部电路方框图如右图所示。
目录一、实验目的 (1)二、实验器材 (1)三、实验对象介绍 (1)四、实验思路 (1)五、实验过程 (2)六、实验结果 (7)七、出现问题及解决方案 (8)八、总结 (9)直流电动机转速控制实验一、实验目的1.掌握控制系统的结构框架和基本环节对系统的影响或作用2.建立数学建模的思想,学会用建模思想解决控制系统问题3.通过设计的测速闭环反馈控制系统让直流电动机达到理想和稳定的转速二、实验器材直流电动机、电路实验箱、电动机驱动模块、电源模块、导线若干三、实验对象介绍被控对象:电动机被控量:电动机的转速四、实验思路1、首先通过实验测定直流电动机转速模型的传递系数K 、时间常数T,以获得电机转速的传递函数1)(+=ΦTs K s 。
2.然后对未校正的直流电机转速控制系统建立数学模型。
3.最后添加校正环节到控制系统,使电机转速达到预定转速 电路直流电机控制系统模拟五、实验过程1.接线(1)电机:粗线(红、黑端)接输入驱动模块的out+和out-,细线(红、黑端)接测速反馈;(2)电源模块:输出端v+、com(提供24V电压)分别接电动机驱动模块的电源输入端BAT+、GND;(3)电动机驱动模块:S1端接地,S2端接控制信号;out+和out-为控制信号输出;EN、COM两端短接,控制其工作使能;(注:若输出信号为负,短接DIR和COM)。
2.获取电机转速的传递函数(1)电动机的传递函数为一阶系统,给控制系统加一个单位阶跃输入,测其输出响应。
但输出仿真波形中出现了大量高次噪声,所以需串联一个滤波环节。
(2)一阶积分环节具有滤除高频噪声的能力,同样二阶惯性环节也能滤除高频噪声,由于二阶惯性环节电路图比较复杂,所以选用一阶积分环节。
一阶环节的电路原理图如下:(3)加入滤波环节后再对其加单位阶跃输入,测得其输出响应波形为通过测试得到k=1.04,t=0.296,所以电机转速的传递函数为 1296.004.1)(+=Φs s 。
实验十四直流电机的测速实验一、实验目的1、掌握直流电机的工作原理。
2、了解开关型霍尔传感器的工作原理和使用方法。
3、掌握电机测速的原理。
二、实验原理直流电机是我们生活当中常用的一种电子设备。
其内部结构如下图14-1所示:图14-1 直流电机结构图下面就上图来说明直流电机的工作原理。
将直流电源通过电刷接通电枢绕组,使电枢导体有电流流过,由于电磁作用,这样电枢导体将会产生磁场。
同时产生的磁场与主磁极的的磁场产生电磁力,这个电磁力作用于转子,使转子以一定的速度开始旋转。
这样电机就开始工作。
为了能够测定出电机在单位时间内转子旋转了多少个周期,我们在电机的外部电路中加入了一个开关型的霍尔原件(44E),同时在电子转子上的转盘上加入了一个能够使霍尔原件产生输出的带有磁场的磁钢片。
当电机旋转时,带动转盘是的磁钢片一起旋转,当磁钢片旋转到霍尔器件的上方时,可以导致霍尔器件的输出端高电平变为低电平。
当磁钢片转过霍尔器件上方后,霍尔器件的输出端又恢复高电平输出。
这样电机每旋转一周,则会使霍尔器件的输出端产生一个低脉冲,我们就可以通过检测单位时间内霍尔器件输出端低脉冲的个数来推算出直流电机在单位时间内的转速。
直流电机和开关型霍尔器件的电路原理图如下图14-2所示:图14-2 直流电机、霍尔器件电路图电机的转速通常是指每分钟电机的转速,也就是单位为rpm,实际测量过程中,为了减少转速刷新的时间,通常都是5~10秒刷新一次。
如果每6秒钟刷新一次,那么相当于只记录了6秒钟内的电机转数,把记录的数据乘10即得到一分钟的转速。
最后将这个数据在数码管上显示出来。
最后显示的数据因为是将数据乘以10,也就是将个位数据的后面加上一位来做个位即可,这一位将一直为0。
如:45*10变为450,即为在“45”个位后加了一位“0”。
由此可知,这个电机的转速的误差将是20以内。
为了使显示的数据能够在数码管是显示稳定,在这个数据的输出时加入了一个16位的锁存器,把锁存的数据送给数码管显示,这样就来会因为在计数过程中,数据的变化而使数码管显示不断变化。
4562、由DAC0832经功放电路驱动直流电机,计数光电开关通关次数并经过换算得出直流电机的转速,并将转速显示在LED上。
3、G5区的0、1号按键控制直流电机转速快慢, (最大转速≈96r/s,5V,误差±1r/s)六、演示程序(完整程序见目录SPEED);键盘、LED显示子程序请参阅综合实验一.MODEL TINYEXTRN CMD_8279:WORD, DATA_8279:WORDEXTRN Display8:NEAR, SCAN_KEY:NEAR,GetKeyA:NEARPCIBAR1 EQU 14H ;PCI9052 I/O基地址(用于访问局部配置寄存器)PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址,;也为DMA & 32 BIT RAM板卡上的8237提供基地址) PCIIPR EQU 3CH ;IRQ号INTCSR EQU 4CH ;PCI9052 INTCSR地址mask_int_9052 EQU 24HVendor_ID EQU 10EBH ;厂商ID号Device_ID EQU 8376 ;设备ID号VoltageOffset EQU 5 ;0832调整幅度.STACK 200.DATAIO8259_0 DW 00F0HIO8259_1 DW 00F1HRD_IO8259 DW 0000HCon_8253 DW 00E3HT0_8253 DW 00E0HT1_8253 DW 00E1HDA0832 DW 00D0HIO_Bit8_BaseAddress DW ?PCI_IO_BaseAddress0 DW ?PCI_IRQ_NUMBER DB ?INT_MASK DB ?INT_Vector DB ?INT_CS DW ? ;保护原中断入口地址INT_IP DW ?msg0 DB 'BIOS不支持访问PCI $'msg1 DB '找不到Star PCI9052板卡 $'msg2 DB '读PCI9052 I/O基地址时出错$'msg3 DB '读8位I/O空间基地址时出错$'msg4 DB '读IRQ号出错$'buffer DB 8 DUP(0) ;显示缓冲区,8个字节buffer1 DB 8 DUP(0) ;显示缓冲区,8个字节VOLTAGE DB 0 ;转换电压数字量Count DW 0 ;一秒转动次数NowCount DW 0 ;当前计数值kpTime DW 0 ;保存上一次采样时定时器的值bNeedDisplay DB 0 ;需要刷新显示.CODESTART: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPCALL InitPCICALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址CALL ModifyVector ;修改中断向量、允许中断MOV bNeedDisplay,1 ;显示初始值MOV VOLTAGE,99H ;初始化转换电压输入值,99H-3.0VMOV Count,0 ;一秒转动次数MOV NowCount,0 ;当前计数值MOV kpTime,0 ;保存上一次采样时定时器的值CALL DAC0832 ;初始D/ACALL Init8253CALL Init8259STIMAIN: CALL IfExitCALL GetKeyA ;按键扫描JNB Main1JNZ Key1Key0: MOV AL,VoltageOffset ;0号键按下,转速提高ADD AL,VOLTAGECMP AL,VOLTAGEJNB Key0_1MOV AL,0FFH ;最大Key0_1: MOV VOLTAGE,AL ;D/ACALL DAC0832JMP Main2Key1: MOV AL,VOLTAGE ;1号键按下,转速降低SUB AL,VoltageOffsetJNB Key1_1XOR AL,AL ;最小Key1_1: MOV VOLTAGE,ALCALL DAC0832 ;D/AJMP Main2Main1: CMP bNeedDisplay,0JZ MAINMOV bNeedDisplay,0 ;1s定时到刷新转速Main2: CALL RateTest ;计算转速/显示JMP MAIN ;循环进行实验内容介绍与测速功能测试;转速测量/显示RateTest: MOV AX,CountMOV BL,10DIV BLCMP AL,0JNZ RateTest1MOV AL,10H ;高位为0,不需要显示RateTest1: MOV buffer,AHMOV buffer+1,ALMOV AL,VOLTAGE ;给0832送的数据AND AL,0FHMOV buffer+4,ALMOV AL,VOLTAGEAND AL,0F0HROR AL,4MOV buffer+5,ALMOV buffer+2,10H ;不显示MOV buffer+3,10HMOV buffer+6,10HMOV buffer+7,10HLEA SI,bufferLEA DI,buffer1MOV CX,8REP MOVSBLEA SI,bufferCALL Display8 ;显示转换结果RETTimer0Int: MOV bNeedDisplay,1MOV AX,NowCountSHR AX,1SHR AX,1MOV Count,AX ;转一圈,产生四个脉冲,Count = NowCount/4MOV NowCount,0RETIntProc: PUSH AXPUSH DXCALL ClearIntMOV DX,RD_IO8259IN AL,DXIN AL,DX ;判断由哪个中断源引起的中断CMP AL,08HJNZ IntProc1CALL Timer0IntJMP IntProc2IntProc1: CMP AL,0FHJNZ IntProc2CALL CountIntIntProc2: MOV DX,IO8259_0MOV AL,20HOUT DX,ALPOP DXPOP AXIRETCountInt: MOV DX,Con_8253MOV AL,40HOUT DX,AL ;锁存MOV DX,T1_8253IN AL,DXMOV AH,ALIN AL,DXXCHG AL,AH ;T1的当前值XCHG AX,kpTimeSUB AX,kpTimeCMP AX,100JB CountInt1 ;前后二次采样时间差小于100,判断是干扰INC NowCountCountInt1: RETInit8253 PROC NEARMOV DX,Con_8253MOV AL,34HOUT DX,AL ;计数器T0设置在模式2状态,HEX计数MOV DX,T0_8253MOV AL,12HOUT DX,ALMOV AL,7AHOUT DX,AL ;CLK0=31250Hz,1s定时MOV DX,Con_8253MOV AL,74HOUT DX,AL ;计数器T1设置在模式2状态,HEX计数MOV DX,T1_8253MOV AL,0FFHOUT DX,ALMOV AL,0FFHOUT DX,AL ;作定时器使用RETInit8253 ENDPInit8259 PROC NEARMOV DX,IO8259_0MOV AL,13HOUT DX,ALMOV DX,IO8259_1MOV AL,08HOUT DX,ALMOV AL,09HOUT DX,ALMOV AL,7EHOUT DX,ALRETInit8259 ENDP;数模转换,A-转换数字量DAC0832 PROC NEARMOV DX,DA0832MOV AL,VOLTAGEOUT DX,ALRETDAC0832 ENDP;IfExit、InitPCI、ModifyAddress、ModifyVector、ClearInt、Exit子程序请参阅8259实验END START七.实验扩展及思考题实验内容:在日光灯或白炽灯下,将转速调节到25、50、75,观察转盘有什么现象出来。
小功率直流电机的测速和控制参赛队员:朱尉、周贵成、杨俤班级:电气11002班1 总体方案设计根据设计任务,要求调速采用PID控制器,因此需要设计一个闭环直流电机控制系统。
该系统采用脉宽调速,使电机速度等于设定值,并且用LCD实时显示电极的转速值。
通过对设计功能分解,设计方案可以分为:系统结构方案,速度测量方案,电机驱动方案,键盘显示方案,PWM软件实现方案。
1.1 硬件方案论证要控制直流电机转速,硬件电路要求比较高,它决定直流电机调速的精度。
采用PID控制器,因此需要设计一个闭环直流电机控制系统。
该系统采用脉宽调速,使电机速度等于设定值,并且实时显示电极的转速值。
通过对设计功能分解,设计方案论证可以分为:系统结构方案论证,速度测量方案论证,电机驱动方案论证,键盘显示方案论证,PWM软件实现方案论证。
1.1.1 微处理器的选择采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。
1.1.2 测速传感器的选择在电机的转轴端开一小洞,利用红外光电耦合器,每转半圈OUT端输出一个上脉冲。
可以采用记数的方法:具体是通过单片机记单位时间S(秒)内的脉冲数N,每分钟的转速:M=N/S×60。
也可以采用定时的方法:是通过定时器记录脉冲的周期T,这样每分钟的转速:M=60/T。
1.1.3 键盘显示方案采用4×4键盘,可直接输入设定值,显示部分使用LCD。
1.1.4 电机驱动方案采用H桥对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
1.1.5 PWM实现方案采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。
系统硬件简单,结构紧凑。
2 系统原理框图设计系统原理框图如图2.1所示,是一个带键盘输入和显示的闭环测量控制系统。
主体思想是通过系统设定信息和测量反馈信息计算输出控制信息。
图2.1 系统原理框图3各模块的分析、计算与硬件电路设计3.1转速/频率转换及整形电路的设计设计中将转速测量转化为电脉冲频率的测量。
基于这一思想,采用光电传感器,在电机上装上转盘,在转盘上对称的打孔,转盘随电机转动,遇到一个圆孔,传感器将会输出一个脉冲,然后将脉冲放大、整形后即可通过单片机测量其频率求出转速。
由于电机在转动的过程中有很大的晃动,,因此所获得的脉冲信号参杂有高频噪声或误动脉冲。
为了提高测量的准确,且尽可能地减少错误,在输出端加一电容接地,然后将输出信号通过一比较器。
原理图,PCB 板及protues 仿真光电传感器原理光电传感器PCB板Protues仿真3.2. 电机驱动模块如图所示,H桥式电机驱动电路包括4个三极管和一个电机。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
H桥驱动要使电机运转,必须使对角线上的一对三极管导通。
例如,如图所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。
按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。
H桥电路驱动电机顺时针转动如图所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。
当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。
H桥驱动电机逆时针转动驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。
如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。
此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。
基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。
下图所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了4个与门和2个非门。
4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。
而2个非门通过提供一种方向输人,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。
具有使能控制和方向逻辑的H桥电路采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。
如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机(如图所示);如果DIR-L信号变为1,而DIR-R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。
使能信号与方向信号的使用Protues仿真正转反转H桥原理图H桥PCB板4 PWM软件程序4.1 1602LCD显示程序#include "1602.h"#include "delay.h"#define CHECK_BUSYsbit RS = P2^4; //定义端口sbit RW = P2^5;sbit EN = P2^6;#define RS_CLR RS=0#define RS_SET RS=1#define RW_CLR RW=0#define RW_SET RW=1#define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0/*------------------------------------------------判忙函数------------------------------------------------*/ bit LCD_Check_Busy(void){#ifdef CHECK_BUSYDataPort= 0xFF;RS_CLR;RW_SET;EN_CLR;_nop_();EN_SET;return (bit)(DataPort & 0x80);#elsereturn 0;#endif}/*------------------------------------------------写入命令函数------------------------------------------------*/ void LCD_Write_Com(unsigned char com){while(LCD_Check_Busy()); //忙则等待RS_CLR;RW_CLR;EN_SET;DataPort= com;_nop_();EN_CLR;}/*------------------------------------------------写入数据函数------------------------------------------------*/void LCD_Write_Data(unsigned char Data){while(LCD_Check_Busy()); //忙则等待RS_SET;RW_CLR;EN_SET;DataPort= Data;_nop_();EN_CLR;}/*------------------------------------------------清屏函数------------------------------------------------*/void LCD_Clear(void){LCD_Write_Com(0x01);DelayMs(5);}/*------------------------------------------------写入字符串函数------------------------------------------------*/void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) {while (*s){LCD_Write_Char(x,y,*s);s ++; x++;}}/*------------------------------------------------写入字符函数------------------------------------------------*/void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) {if (y == 0){LCD_Write_Com(0x80 + x);}else{LCD_Write_Com(0xC0 + x);}LCD_Write_Data( Data);}/*------------------------------------------------初始化函数------------------------------------------------*/void LCD_Init(void){LCD_Write_Com(0x38); /*显示模式设置*/DelayMs(5);LCD_Write_Com(0x38);DelayMs(5);LCD_Write_Com(0x38);DelayMs(5);LCD_Write_Com(0x38);LCD_Write_Com(0x08); /*显示关闭*/LCD_Write_Com(0x01); /*显示清屏*/LCD_Write_Com(0x06); /*显示光标移动设置*/DelayMs(5);LCD_Write_Com(0x0C); /*显示开及光标设置*/}#include "delay.h"/*------------------------------------------------uS延时函数,含有输入参数 unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编,大致延时长度如下 T=tx2+5 uS------------------------------------------------*/void DelayUs2x(unsigned char t){while(--t);}/*------------------------------------------------mS延时函数,含有输入参数 unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/void DelayMs(unsigned char t){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}4.2电机转速控制系统程序程序用C语言编写如下:#include <reg52.h>unsigned char code TABLE[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void display();#define uint unsigned int#define uchar unsigned charsbit output = P3^7; //P3^7接ULN2003sbit key1 = P3^3;int frq,speed;char pwm;int i=100;uchar a;uint frq1,c;void display();/*系统初始化*/void initial(void){TMOD = 0x20; //设置定时器0在工作方式2下EA = 1; //开中断EX0 = 1; //外部中断0使能ET1 = 1; //定时器1使能IT0 = 1; //外部中断0下降沿触发IT1 = 1; //外部中断1下降沿触发TH0 = 56; //装载计数值TL0 = 56;TH1 = 56; //装载计数值TL1 = 56;TR1=1;}/*延时程序*/void delay(unsigned int k) {unsigned int i,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;} }}void display(){uchar qian,bai,shi,ge;qian=0;bai=0;shi=0;ge=0;c=frq1;qian=c/1000;bai=c/100%10;shi=c/10%10;ge=c%10;P1=0X01;P2=TABLE[qian];delay(5);P1=0X02;P2=TABLE[bai];delay(5);P1=0X04;P2=TABLE[shi];delay(5);P1=0X08;P2=TABLE[ge];delay(5);}/*主函数*/void main(){initial();while(1){if(key1==0)delay(200);if(key1==0){while(key1==0) ; //松手检测pwm+=10;if(pwm>100)pwm=10;}display();}}void int0isr() interrupt 0 //中断0服务子程序实现测量电机转动频率{frq ++;}void time1isr() interrupt 3 //定时器1实现数据读取{EA=0;a ++;i--;if (a <= pwm)output = 1;else output = 0;if(a > 100)a =0;if(i==0){frq1=frq;frq=0;i=100;}EA=1;}。