简易小直流电机测速

合集下载

任务5.7 直流电机调速和测速

任务5.7  直流电机调速和测速

任务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 桥”。

利用电动自行车后轮无刷直流电机霍尔信号的一种测速方法

利用电动自行车后轮无刷直流电机霍尔信号的一种测速方法

利用电动自行车后轮无刷直流电机霍尔信号的测速方法包括以下步骤:
1. 硬件连接:首先,将电动自行车的后轮电机与无刷直流电机相连,以便从电机中获取霍尔信号。

2. 霍尔信号采集:在电机的霍尔位置上安装霍尔传感器,以便实时监测电机的转速。

霍尔传感器将转速信号转化为电信号,然后通过线路传输到控制器或仪表盘。

3. 信号处理:在控制器或仪表盘处,使用信号处理电路对霍尔信号进行放大、滤波和整形处理,以确保信号的稳定性和准确性。

4. 速度计算:处理后的霍尔信号被送入微处理器或单片机中进行处理。

微处理器或单片机通过计算单位时间内采集到的霍尔信号数量,再结合电机的极对数,即可计算出电机的转速。

5. 显示与存储:将计算出的速度信息实时显示在仪表盘上,或者通过无线传输模块将速度信息发送到其他设备上进行显示和存储。

6. 异常处理:在测速过程中,如果出现异常情况,如霍尔传感器故障、信号干扰等,系统会进行相应的故障诊断和处理,以确保系统的稳定性和可靠性。

以上是利用电动自行车后轮无刷直流电机霍尔信号的一种测速方法,具有简单、方便、准确等优点。

直流电机的测速实验

直流电机的测速实验

实验十四直流电机的测速实验一、实验目的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位的锁存器,把锁存的数据送给数码管显示,这样就来会因为在计数过程中,数据的变化而使数码管显示不断变化。

实验13--直流电机测速实验

实验13--直流电机测速实验

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,观察转盘有什么现象出来。

直流电机测速实验

直流电机测速实验

实验三直流电机测速实验一实验目的(1) 掌握8254的工作原理和编程方法;(2) 了解光电开关,掌握用光电传感器测量电机转速的方法。

二实验内容光电测速的基本电路由光电传感器、计数器/定时器组成。

被测电机主轴上固定一 个圆盘,圆盘的边缘上有小孔。

传感器的红外发射端和接收端装在圆盘的两侧,电机 带动圆盘转到有孔的位置时,红外光通过,接收管导通,输出低电平。

红外光被挡住 时,接收截止,输出高电平。

用计数器/定时器记录在一定时间内传感器发出的脉冲个 数,就可以计算出电机的转速。

三线路连接线路连接如图所示。

8254计数器/定时器0和2作为定时器,确定测速时间,定时 器0的CLK o 引脚输入1MHz 脉冲,输出OUT o 引脚作为定时器2的输入,与CLK 2 引脚相连,输出引脚OUT 2与8255的PA o 端相连。

GATE o 和GATE 2均接+5V 电源。

8254计数器/定时器1作为计数器,输入引脚CLK 1与直流电机计数端连接,GATE 1 与8255的PC 0相连。

电机DJ 端与+5V~0V 模拟开关SW 1相连。

8254图直流电机测速实验接线图四编程提示8254计数器/定时器1作为计数器,记录脉冲个数,计数器/定时器0和2作为定 时器,组成10~60秒定时器,测量脉冲个数,以此计算出电机每份钟的转速,并显示 在计算机屏幕上。

8255的PA 0根据OUT 2的开始和结束时间,通过PC 0向8254计数器/定时器1发 出开始和停止计数信号。

288H~28FH f - *— 280H~287H f - OUT 。

GATE 0CLK 0• +5V OUT 1GATE 1CLK 1OUT 2GATE 2CLK 2 CSPA 08255PC 0 CS «- +5V +5V SW1五程序流程图译码器端口六参考程序DATA SEGMENT ;数据段IOPORT EQU 0D880H-0280H ;8255端口基地址IO8255K EQU IOPORT+283H ; 8255控制口地址IO8255A EQU IOPORT+280H ;8255 A 口地址IO8255C EQU IOPORT+282H ;8255 C 口地址IO8254K EQU IOPORT+28BH ;8254控制口地址IO82542 EQU IOPORT+28AH ;8254计数器2端口地址IO82541 EQU IOPORT+289H ;8254计数器1端口地址IO82540 EQU IOPORT+288H ;8254计数器0端口地址ODH, '$;提示信息MESS DB 'STRIKE ANY KEY,RETURN TO DOS!; 0AH,COU DB 0 ;预留单元并清零COU1 DB 0COUNT1 DB 0COUNT2 DB 0COUNT3 DB 0COUNT4 DB 0DATA ENDSCODE SEGMENT ;代码段ASSUME CS: CODE,DS:DATASTART : MOV AX,DATA ;初始化,取段基址MOV DS,AXMOV DX,OFFSET MESS ;MESS首地址MOV AH,09H ;DOS 9号调用,INT 21H ;显示提示信息MOV DX,IO8254K ;D& 8254控制口地址MOV AL,36H ;AL=36H , 控制字OUT DX,AL ;设置计数器0 ,方式3,先读写低8 位,再读写高8 位MOV DX,IO82540 ;DX^ 8254计数器0端口地址MOV AX,50000 ;初始值为50000,输入时钟为1MHz ,则输出时钟周期50msOUT DX,AL ;输出低8 位NOP ;空操作NOPMOV AL,AH ;AL —AHOUT DX,AL ;输出高8 位MOV DX,IO8255K ;DX—8255控制口地址MOV AL,90H, ;AL=90H,控制字OUT DX,AL ;A 口方式0输入,PA o输入;C 口方式0输出,PC o输出MOV DX,IO8255C ;DX—8255 端口C 口地址,MOV AL,00 ;AL=0OUT DX,AL ;PG=0,则GATE1为低电平,定时器1禁止计数LL:MOV AH,01H ;DOS 1号调用,判断是否有键按下?INT 16HJNZ QUIT1 ;ZF=0,有键按下,转到标号QUIT1MOV DX,IO8254K ;DX—8254控制口地址MOV AL,70H ;AL=70H,控制字OUT DX,AL ;设置计数器1,方式0,先读写低8位,再读写高8位MOV DX,IO82541 ;DX—8254计数器1 地址MOV AL,0FFH ;定时常数,实际为FFFFHOUT DX,AL ;输出低8位NOP ;空操作NOPOUT DX,AL ;输出高8位,开始计数MOV DX,IO8254K ;DX—8254控制口地址MOV AL,90H ;AL=90H,控制字OUT DX,AL ;计数器2,方式0,只读写低8 位MOV DX,IO82542 ;DX—8254计数器2地址MOV AL,100 ;AL=100,定时常数OUT DX,AL ;CLK2=50ms定时常数为100则OUT2定时时间即检测时间为5秒MOV DX,IO8255C ;DX—8255 端口C 地址MOV AL,01H ;AL=01HOUT DX,AL ;PC0输出1,即为高电平,定时器1开始计数JMP A0 ;无条件转移到标号A0QUIT1:JMP QUIT ;无条件转移到标号QUITA0:MOV DX,IO8255A ;DX—8255端口A 地址A1:IN AL,DX ;读入PA0的值,进行检测AND AL,01H ;判断PA0是否为高电平1 ?JZ A1 ;ZF=1即PA0=0为低电平,转到标号A1,继续检测MOV DX,IO8255C ;ZF=0即PA0=1为高电平,定时器2定时5秒结束OUT2输出高电平MOV AL,00H ;AL=00HOUT DX,AL ;8255端口C输出0,定时器1停止计数MOV DX,IO8254K DX—8254控制口地址MOV AL,70H AL=70H;设置计数器1,方式0,先读写低8位,再读写高 8位 ;DX^ 8254计数器1地址 ;读入计数器 1 的内容 ;BL ・AL 先读入低8位 ;读入计数器 1 的内容 ;BH J AL 后读高8位,16位计数值送BX ; AX=FFFFH ;AX - BX=计算脉冲个数 ;调显示子程序 ;DL=ODH ,“回车”的 ASCII 码 ; DOS 2号调用 ;DL=OAH ,“换行”的 ASCII 码 ; DOS 2号调用 ;无条件转到标号 LL ,继续检测 ;十六进制数-BCD 转换并显示子程序 ; DX=O ; CX=O3E8H=1OOO ;AX J DX ,AX-^1000商, DX J DX ,AX £000余数 ;COUNTJ1 AL ,千位 ;AXJDX 余数 ;CL=64H=100 ;AL J AX -100商,AH J AX - 100余数 ;COUNT2JAL ,百位 ;AL JAH 余数 ;AH=0 ;CL=10 ; AL J AX £ 10商, AH J AX £ 10余数 ;COUNT3JAL ,十位 ;COUNT4JA L ,个位 AL J COUNT1 调显示字符子程序 RET DISP ENDPDISP1 PROCNEAR 显示字符子程序ANDAL , 0FH “与”操作,屏蔽高 4位,保留低 4位 CMPAL , 09H AL 与 9 比较 JLENUM ;AL <9,转到标号NUMADDAL , 07H ;DL>9, DLJDL+7 NUM : ADDAL , 30H ;AL JAL+30H ,转换成 ASCII 码MOVDL , AL DLJAL MOV AH , 02 DOS 2号调用OUT MOV IN MOV IN MOV MOV SUB CALL MOV MOV INT MOV MOV INT JMP DISP PROC MOV MOV DIV MOV MOV MOV DIV MOV MOVMOVMOVDIVMOVMOVMOVCALLMOVCALL MOVCALLMOVCALLDX ,AL DX ,IO82541 AL ,DXBL ,AL AL ,DX BH ,AL AX ,0FFFFH AX ,BX DISP DL ,0DHAH ,02 21H DL ,0AHAH ,02 21H LLNEAR DX ,0000HCX ,03E8H CXCOUNT1,AL AX ,DXCL ,64H CLCOUNT2,AL AL ,AHAH ,00H CL ,10 CLCOUNT3,ALCOUNT4,AH AL ,COUNT1 DISP1 AL ,COUNT2 DISP1AL ,COUNT3DISP1AL ,COUNT4DISP1INTRET21H ;显示一个字符DISP1 ENDPQUIT:MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START ;结束七上机操作相关数据截图八思考题关闭电机后,为什么8254计数不为零?。

简易小直流电机测速

简易小直流电机测速

科信学院课程设计说明(2012/2013学年第二学期)课程名称:单片机应用课程设计简易小直流电机测速专业班级:10级自动化三班学生姓名:师鑫源学号: 100412309指导教师:苗敬利高敬格王巍杨怡君设计周数:两周设计成绩:2013年6月27日摘要.....................1、课程设计目的..........2、课程设计要求........3、课程设计器材..........4、课程设计正文...........4.1 系统分析与实施.....4.2 硬件部分...........4.2.1 STC90C52AD4.2.2 时钟电路设计4.2.3 按键电路设计4.2.4 显示电路设计4.2.5 复位电路设计4.2.6 检测电机转速的电路设计..4.3 系统硬件调试......................4.3.1. 调试方案..................4.3.2. 仿真调试结果...............4.3.3 硬件调试结果................4.4 软件设计.........................4.4.1 软件系统分析................4.4.2 系统软件设计................4.4.3 系统软件实施与调试..........5、课程设计总结.........................6、课程设计经验.........................7、参考文献.............................附录一、protel 软件绘制的工作原理图附录二、P ROTUE软件绘制的仿真图…功能参数介绍摘要10 12 12 12 12 14 14 17 232324 24 .11 13直流电机转速作为直流电机的一项重要技术指标,在各个应用场合都有重要的研究价值,是其他大部分技术参数的计算来源,因此,准确测量直流电动机的转速具有重要的研究意义和理论价值。

直流电机测速控制总结

直流电机测速控制总结

直流电机测速控制总结一.测速原理霍尔开关对垂直于器件且磁通密度达到其动作点Bopn或Bops以上,会使器件开关导通输出为低,此时器件可以吸收1mA的电流。

只要磁通密度降低到释放点Brpn或Brps以下,会使器件开关断开输出为高。

磁通密度动作点和释放点的差异称为器件的磁滞。

该磁滞特性可保证即使出现外部振动和电气噪声,器件的开关过程均无抖动。

利用霍尔开关输出电压与磁通密度的这种这种关系特性,在直流电机的转动轴上套上一个塑料齿轮,在轮子的一条直径上对称的放有两块相同的小磁铁块。

(如右图)将霍尔开关放置在齿轮下放合适处,使齿轮转动一周,霍尔开关就受到两次磁激励而产生两个脉冲。

霍尔开关将脉冲输入与P10(INT0)连接;每产生一个脉冲就进中断,对脉冲计数;到1秒将计数之值取出输出;同时将计数清零。

由此完成对直流电机的转速测定。

二.控制原理采用INT0 中断对转速脉冲CKMOT 计数,每1s 读一次计数值,将此值与预设的转速值比较,若大于预设的转速值则减小DAC0 的数值;若小于转速预设的转速值则增加DAC0 的值来调整直流电机的输入电压达到调整电机的转速直到转速值等于预设定的值。

由于D/A的输出电压范围有限,所以只能测出3转/s---54转/s; 为达到电机控制的稳定,可采用差动输入方法和PDI算法来实现。

本试验采用差动模式,下面是控制程序的部分段;sfr16 DAC0 = 0xd2; 设定DAC0的数据寄存器地址unsigned int iDAC0=2048; 设定变量用以初始化DAC0的数据寄存器void Timer0_ISR (void) interrupt 1 每到1秒进入中断{TH0 = (-SYSCLK/1000) >> 8;TL0 = -SYSCLK/1000;if (Count1ms) Count1ms--;if (Count1s) Count1s--;else 到1秒时开始取值{Count1s=1000;SaveMotorCount=MotorCount;把1秒内得到的脉冲数取出MotorCount=0; 重新记脉冲数SD=SaveMotorCount/2-SetSpeed; 将当前转速与设定值比较得到差动量if (SD){if ((SD>2)||(SD<-2))iDAC0-=SD;elseiDAC0-=SD; 改变D/A寄存器值以改变直流电机电压DAC0=iDAC0;}}}。

直流小电机测速系统

直流小电机测速系统
直流小电机测速系统
《电子技术综合设计》第八组 张正东、曾广湖、龙菲
一、问题的提出
在现代工业自 动化高速发展的时期, 几乎所有的机械装备都 离不开电机,形形色色 的电机在不同领域发挥 着重要的作用。与之而 来的问题是怎么控制好 电机转速,对于不同的 场合,对电机的转速要 求是不同的。
二、方案设计实现
测 速 模 块
驱 动 模 块
显 示 模 块
控 制 模 块
显示模块——Nokia5110
PCD8544 48×84点矩阵 点矩阵LCD 48×84点矩阵LCD
SDIN——串行数据输入 SCLK——串行时钟输入 D/C ——数据/命令 SCE ——芯片使能 OSC ——震荡器 RES ——外部复位输入
测 速 模 块
驱 动 模 块
显 示 模 块
控 制 模 块
控制模块
STC89C51RC 是 一 个 典 型 的 , 内部有8KROM,512字节RAM, 内带2K字节EEPROM存储空间, 可通过串口下载的单片机。
转速
• Thanks
测 速 模 块
驱 动 模 块
显 示 模 块
控 制 模 块
测速模块——TCRT5000
+10V +10V
1.5k
c
51k
uo 发光 二极管 b e 光电 三极管
H L
输出信号经LM324整形后,连接至单片机T1管脚
测 速 模 块
驱 动 模 块
显 示 模 块
控 制 模 块
驱动模块——L298N
L298N 内 部 包 含 4 通道逻辑驱动电路, 接 收标准TTL 逻辑电平信号, 可驱动 46V、2A以下的电 机。 由 L298N 构成, 通过单片机的接口,利用 PWM控制电机的转速及其加 减速。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科信学院课程设计说明书(2012/2013学年第二学期)课程名称:单片机应用课程设计题目:简易小直流电机测速专业班级:10级自动化三班****:***学号:*********指导教师:苗敬利高敬格王巍杨怡君设计周数:两周设计成绩:2013年6月27日目录摘要.......................................................................................................... ............................ (3)1、课程设计目的 (4)2、课程设计要求 (4)3、课程设计器材 (4)4、课程设计正文 (5)4.1系统分析与实施 (5)4.2硬件部分 (5)4.2.1 STC90C52AD功能参数介绍 (5)4.2.2时钟电路设计 (6)4.2.3按键电路设计 (8)4.2.4显示电路设计 (8)4.2.5复位电路设计 (9)4.2.6检测电机转速的电路设计 (10)4.3系统硬件调试 (12)4.3.1.调试方案 (12)4.3.2.仿真调试结果 (12)4.3.3硬件调试结果 (12)4.4 软件设计 (14)4.4.1软件系统分析 (14)4.4.2 系统软件设计 (17)4.4.3 系统软件实施与调试 (23)5、课程设计总结 (23)6、课程设计经验 (24)7、参考文献 (24)附录一、protel软件绘制的工作原理图 (11)附录二、PROTUES软件绘制的仿真图 (13)摘要直流电机转速作为直流电机的一项重要技术指标,在各个应用场合都有重要的研究价值,是其他大部分技术参数的计算来源,因此,准确测量直流电动机的转速具有重要的研究意义和理论价值。

目前,在工程实践中,经常会遇到各种需要测量转速的场合。

对于工业测试,水利,机械等方面,转速是重要的控制参数之一。

尤机在工业测试系统中,大部分旋转仪器需要测定目前的转速,对机械设备进行故障预防。

因此,如何利用先进的数字技术和计算机技术改造传统的工业技术,提高监控系统的准确性,安全性,方便性是当前工业测控系统必须解决的一个问题。

转速测量方法较多,而模拟量的采集和模拟处理一直是转速测量的主要方法,这种测量方技术已不能适应现代科技发展的要求,在测量范围和测量精度上,已不能满足大多数系统的使用。

随着大规模及超大规模集成电路技术的发展,数字系统测量得到普遍应用,特别是单片机对脉冲数字信号的强大处理能力,使得全数字量系统越来越普及,其转速测量系统也可以用全数字化处理。

在测量范围和测量精度方面都有极大的提高。

简易小直流电机测速一、设计目的电动机转速测量1. 实现对电动机转速的测量。

2. 实时显示直流电动机转速的实际测量值。

设计任务:利用单片机技术设计、制作一个显示电动机转速的速度测定系统。

测量范围约为750~3000r/s,尽可能地提高测量误差,用4位LED数码管显示速度。

二.设计要求1.用启动按键来启动单片机来检测电机的转速,用停止按键来停止检测。

2.用显示数码管来显示电机每秒中的转数。

三.设计器材注释;所用到的直流电机本身就自带测量转速的传感器,所以在设计器材中就不需要传感器与驱动放大器ULN2003芯片四.设计方案及分析总体方案设计思路:电机转动,利用电机本身自带的传感器采集信号并产生脉冲信号,送给单片机,单片机通过计数器计数计算,将采集到的信号用数码管显示出来,流程图如下:电机传感器信号转换单片机处理数码管显示4.1 STC90C52AD功能参数介绍图1 STC90C52ADSTC90C52AD 是由宏晶公司生产的高性能八位单片机。

如图一所示。

该芯片采用FLASH 存储技术,内部具有8KB 字节快闪存存储器,采用DIP 封装,是目前在中小系统中应用最为普及的单片机。

STC90C52AD 可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。

只要程序长度小于8K,四个I/O 口全部提供给用户。

可用5V 电压编程,而且擦写时间仅需10 毫秒,仅为8751/87C51 的擦除时间的百分之一,与8751/87C51 的12V 电压擦写相比,易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

工作电压范围(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz 之间,比8751/87C51 等51 系列的6MHz~12MHz 更具有灵活性,系统能快能慢。

STC90C52AD 芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

P0 口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。

STC90C52AD 单片机为40 引脚芯片如图1所示,在本设计中,主要用到P0 口、P2 口、P1.0 口及P3.0、P3.1、P3.2、P3.3 口。

P0 口:P0 口可作为通用I/O 口,但须外接上拉电阻,所以在设计显示数码管我们避免了使用P0 口这样大大简化了动态显示电路。

P1 口:8 位、双向I/0 口,内部含有上拉电阻。

P1 口可作普通I/O 口。

输出缓冲器可驱动四个TTL 负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。

P1 口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。

在FLASH 并行编程和校验时,P1 口可输入低字节地址。

在串行编程和效验时,P1.5/MOSI,P1.6/MISO 和P1.7/SCK 分别是串行数据输入、输出和移位脉冲引脚。

P2 口:具有内部上拉电阻的8 位双向I/O 口。

P2 口用做输出口时,可驱动4 各TTL 负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。

若负载为低电平,则通过内部上拉电阻向外部输出电流。

在FLASH 并行编程和校验时,P2 口可输入高字节地址和某些控制信号。

单片机使用宏晶公司支持串口下载程序(ISP)的单片机,为STC90C52AD 课程设计配发的小电路板(ISP-MCU Basic circuit)电路原理图见图二。

该板作为课程设计的核心电路板使用,板上有单片机及附属电路,RS-232 通信驱动电路,高低电平测试电路等。

课程设计电路中需要的其他电路在此基础上扩展,通过插孔或导线连接。

4.2 硬件设计4.2.1 方案设计系统硬件部分包含输入模块,显示模块,控制模块,测速模块等,通过proteus进行硬件仿真实现。

图2 单片机系统测量转速原理图4.2.2单元电路设计1.时钟电路系统采用12M晶振与两个30pF的电容组成震荡电路,接AT89C51的XTAL1与XTAL2的引脚,为微控制器提供时钟,MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。

AT89C51是属于CMOS8位微处理器,它的时钟电路在结构上有别于NMOS型的单片机。

2.按键电路两个按键来分别控制电机的启动与停止,启动键来启动单片机来检测电机的转速,而停止键来停止单片机检测电机的转速,启动键连接单片机的P1.0口,停止键连接单片机的P1.1口。

3.显示电路该系统采用4位共阴极数码管实现转速显示,并且用动态显示方式。

所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。

当数码管处于动态显示时,所有位选线分离,而每个数码管的各条段选线相连。

当需要显示数字或字符时,需要将所有数码管轮流点亮,这时对每个数码管的点亮周期有了一个较严格的要求:由于发光体从通入电流开始点亮到完全发光需要一定的时间,叫做响应时间,这个时间对于不同的发光材质是不同的,通常情况下为几百微秒,所以数码管的刷新周期(所有数码管被轮流点亮一次的时间)不要过短,这也与数码管的数量有关,一般的数码管的刷新周期应控制在5ms~10ms,即刷新率为200Hz~100Hz,这样既保证了数码管每一次刷新都被完全点亮,同时又不会产生闪烁现象。

动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦,所以在连接时用C4511显示译码器来控制共阴极数码管。

并且CD4511的输出直接与数码管七段来连接,而输入的部分与单片机的PO口的高四位来显示,而在要连接的过程中,由于是连接在单片机的P0口,所以在硬件连接时得需要接四个10k的上拉电阻。

此外,还需要用P2口的低四位分别来控制数码管的位选,而在实际的焊接的电路时,数码管的位选端得需要焊接三极管,否则数码管的显示亮度将会非常暗。

4.复位电路计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。

MCS-51单片机有一个复位引脚RST,它是史密特触发输入(对于CHMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后该引脚上出现2个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51保持复位状态。

此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。

RST变为低电平后,退出复位,CPU从初始状态开始工作。

该系统采用的是按键手动复位电平方式,是通过RST端经电阻与电源Vcc接通而实现的。

5.检测电机转速的电路由于所给的电机本身自带传感器,并且自身的就能够产生脉冲信号,并且脉冲信号的引脚直接接在单片机的P3.4口,所以在PROTEUS中用脉冲发生器来代替实际中的检测电机转速的脉冲信号。

并且在实际的焊接电路中电机是有六个引线接出,其中黑线接在单片机的第二十引脚,白线接在单片机接在单片机的第四十引脚,红线不接,黄线接在单片机的P3.4口,绿线接电源,橙线接地。

6.电路原理图注释:由于在PROTEL中没有电机,所以我在PROTEL中用八个输出端来代替电机。

4.3 系统硬件调试4.3.1.调试方案:调试包含仿真调试和硬件调试两个部分仿真调试指使用PROTEUS对系统进行仿真调试。

主要调试系统电路的设计和验证程序逻辑的正确性。

硬件调试指系统搭建后对硬件电气性能的测试。

主要测试各功能的完整性可靠性,一集系统电气性能的稳定性。

测试工具为示波器万用表等。

4.3.2.仿真调试结果:真调试中,系统运行正常,程序逻辑正确,按键输入正确,数码管显示正确。

P3.4管脚接受脉冲正常。

相关文档
最新文档