当前位置:文档之家› 基于单片机的电机测速及显示

基于单片机的电机测速及显示

基于单片机的电机测速及显示
基于单片机的电机测速及显示

基于单片机的电机测速及显示

单片机简介 (2)

1.1单片机历史 (2)

1.2 AT89C51的主要特性 (3)

1.3管脚说明 (4)

1.4振荡器特性 (6)

1.5芯片擦除 (7)

二、硬件电路的设计 (7)

2.1 AT89C51下载器部分 (8)

2.2电机驱动部分 (11)

三、程序设计 (15)

3.1 下载器程序 (15)

3.2电机测速程序 (19)

四、总结 (26)

五、参考文献 (26)

单片机简介

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

1.1单片机历史

单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。

(1)SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

Micro Controller Unit

(2)MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。

Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。1.2 AT89C51的主要特性

·与MCS-51 兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

1.3管脚说明

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输

出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存

地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

1.4振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二

分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

1.5芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

二、硬件电路的设计

2.1 AT89C51下载器部分

SP-51Pro(即Easy51pro)编程器可以烧录Atmel公司系列单片机芯片,具有性能稳定,烧录速度快,性价比高等优点。产品性能介绍如下:

⑴支持的芯片

支持目前最为经典和市场占有量最大的ATMEL公司生产的AT89C51、C52、C55和最新的S51、S52;AT89C1051、2051、4051等芯片。

⑵产品特点

1.使用串口通讯,芯片自动判别,编程过程中的擦除、烧写、校验各种操作完全由编程器上的监控芯片89C51控制,不受PC配置及其主频的影响,因此烧写成功率高可以达到100%,烧写速度很快并且烧写速度和微机的档次无关。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

2.采用57600高速波特率进行数据传送,编程速度可以和一般并行编程器相媲美,经测试,烧写一片4K ROM的AT89C51仅需要9.5S,而读取和校验仅需要

3.5S。

3.体积小巧,省去笨重的外接电源适配器,直接使用USB端口5V电源, 携带方便,非常初学者学习51单片机的要求。

4.软件界面友好,菜单、工具栏、快捷键齐全,全中文操作,提供加密功能,可以保护您的创作产权。可以说是麻雀虽小,五脏俱全!

5.功能完善,具有编程、读取、校验、空检查、擦除、加密等系列功能;

6.40pin和20pin锁紧插座,所有器件全部以第一脚对齐,无附加跳线,对于DIP封装芯片无需任何适配器;

7.采用优质万用锁紧插座,和接触不良等问题彻底说再见,可烧写40脚单片机芯片和20脚单片机芯片

8.改进的烧写深度确保每一片C51系列芯片的反复烧写次数都能达

到1000以上!内部数据至少保存10年。

9.因为采用了9针传口通讯,这样一来就不会再和打印机抢一个打印口,随时随地想烧就烧,让芯片编程成为一种快乐!

(3)硬件连接

1.通讯电缆与编程器连接好,

2.将串口插头插入电脑串口,

https://www.doczj.com/doc/925247761.html,B插头插入电脑任一个USB口,此时编程器上LED点亮,表明电源接通。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

4.接着安装软件,本软件支持Win9x/me/2000/NT,标准Window操作界面。本软件属于绿色软件,不需要安装,直接把相关的软件拷贝到硬盘中,运行其中的Easy 51Pro 2_0程序即可。

⑷软件使用

程序启动后,会自动检测硬件及连接,状态框中显示“就绪”字样,表示编程器连接和设置均正常。否则请检查硬件连接和端口设置。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

把单片机芯片正确地放到编程器的相应插座上,注意,芯片的缺口要朝向插座的把手方向。

芯片放好后,就可以对芯片进行读写操作了,读写操作按下面的步骤进行:

1、程序运行,请先选择器件(点下选框)

2、用“打开文件”选择打开要编写的.HEX 和 .BIN 文件

3、用“保存文件”可以保存读出来的文件

4、用“擦除器件”擦除芯片

5、用“写器件”编程

6、用“读器件”读取芯片中的程序,加密的读不出来

7、用“校验数据”检查编程的正确与否

8、用“自动完成”自动执行以上各步骤

9、用“加密”选择加密的级数2.12电机驱动部分

2.2电机驱动部分

图4-3中所示为一个典型的直流电机控制电路。电路得名于“H 桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图4.12及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电

机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。

图4-3 H桥简易驱动电路要使电机运转,必须使对角线上的一对三极管导通。例如,如图4-4所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。

图4-4 H桥电路驱动电机顺时针转动

图4-5所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。

图4-5 H桥驱动电机逆时针转动

驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。

图4-6 所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了4个与门和2个非门。4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输人,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。(与本节前面的示意图一样,图4.15所示也不

是一个完整的电路图,特别是图中与门和三极管直接连接是不能正常工作的。)(本文由点梦时刻 https://www.doczj.com/doc/925247761.html, 倾情奉献)

图4-6 具有使能控制和方向逻辑的H桥电路采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机(如图4.-7所示);如果DIR-L信号变为1,而DIR-R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。

图4-7 使能信号与方向信号的使用

实际使用的时候,用分立元件制作H桥是很麻烦的,好在现在市面上有很多封装好的H桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。

三、程序设计

3.1 下载器程序

#include

BYTE ComBuf[18];

UINT nAddress;

UINT nTimeOut;

ProWork pw;

void Delay_us(BYTE nUs)

{

TH0=0;

TL0=0;

TR0=1;

while(TL0

{

}

TR0=0;

}void Delay_ms(UINT nMs)

{

UINT n=0;

TR0=1;

while(n

{

TH0=0;

TL0=20;

while(TH0<4)

{

}

n++;

}

TR0=0;

}

BOOL WaitComm()//等待上位机的命令,18字节

{

BYTE n=0;

RI=0;

while(!RI){}/

ComBuf[n]=SBUF;

RI=0;

n++;

for(n;n<=17;n++)

{

nTimeOut=0;

while(!RI)

{

nTimeOut++;

if(nTimeOut>10000)

return 0;

}

ComBuf[n]=SBUF;

RI=0;

}

return 1;

}

BOOL WaitResp(){

nTimeOut=0;

RI=0;

while(!RI)

{

nTimeOut++;

if(nTimeOut>50000)

{

return 0;

}

}

RI=0;

ComBuf[0]=SBUF;

return 1;

}

BOOL WaitData()

{

BYTE n;

RI=0;

for(n=0;n<=17;n++)

{

nTimeOut=0;

while(!RI)

{

nTimeOut++;

if(nTimeOut>10000)

{

return 0;

}

}

RI=0;

ComBuf[n]=SBUF;

}

return 1;

}

void SendData()//发送数据或回应操作完成,18字节

{

BYTE n=0;

for(n;n<=17;n++)

{

TI=0;

SBUF=ComBuf[n];

while(!TI){}

TI=0;

}

}

void SendResp()

{

TI=0;

SBUF=ComBuf[0];

while(!TI){}

TI=0;

}

void SetVpp5V()//设置Vpp为5v

{

P3_4=0;

P3_3=0;

}

void SetVpp0V()//设置Vpp为0v

{

P3_3=0;

P3_4=1;

}

void SetVpp12V()//设置Vpp为12v

{

P3_4=0;

P3_3=1;

}

void RstPro()

{

pw.fpProOver();

SendData();

}

void ReadSign()//读特征字{

pw.fpReadSign();

SendData();

}

void Erase()

{

pw.fpErase();

SendData();

}

void Write(

{

BYTE n;

pw.fpInitPro();

SendData();

while(1)

{

if(WaitData())

{

if(ComBuf[0]==0x07)

{

for(n=2;n<=17;n++)

{

if(!pw.fpWrite(ComBuf[n]) )

{

pw.fpProOver();

ComBuf[0]=0xff;

SendResp();

WaitData();

return;

}

nAddress++;//下一个单元

}

ComBuf[0]=1;//回应上位机一个字节,表示数据块顺利完成,请求继续

SendResp();

}

else

if(ComBuf[0]==0x00)//写器件结束

break;

else//可能是通讯出错了

{

pw.fpProOver();

return;

}

}

else//等待数据失败

{

pw.fpProOver();

return;

}

}

pw.fpProOver();

Delay_ms(50);

ComBuf[0]=0;

SendData();

}

void Read()//

{

BYTE n;

pw.fpInitPro();

SendData();

while(1)

{

if(WaitResp())/

{

if(ComBuf[0]==0)

{

break;

}

else

if(ComBuf[0]==0xff)//0xff表示重发

{

nAddress=nAddress-0x0010;

}

for(n=2;n<=17;n++)

{

ComBuf[n]=pw.fpRead();

nAddress++;//下一个单元

}

ComBuf[0]=6;//向上位机发送读出的数据块

SendData();

}

else

break;//等待回应失败

}

pw.fpProOver();//操作结束设置为运行状态

ComBuf[0]=0;//通知上位机编程器进入就绪状态

SendData();

}

void Lock()//写锁定位

{

pw.fpLock();

SendData();

}

extern void PreparePro00(); extern void preparePro01();

extern void PreparePro02();//FID=02:AT89

S51编程器

void main()

{

SP=0x60;

SetVpp5V();//先初始化Vpp

为5v

SCON=0x00;

TCON=0x00;

//PCON=0x00;//波特率*2

IE=0x00;

//TMOD:

GATE|C/!T|M1|M0|GATE|C/!T|M1

|M0

// 0 0 1 0 0 0 0 1

TMOD=0x21;//T0用于延时程

TH1=0xff;

TL1=0xff;//波特率28800*2,

注意PCON

//SCON:

SM0|SM1|SM2|REN|TB8|RB8|TI|R

I

// 0 1 0 1 0 0 0 0

SCON=0x50;

TR1=1;

Delay_ms(1000);//延时1秒

后编程器自举

ComBuf[0]=0;

SendData();

while(1)//串口通讯采用查

询方式

{

if(!WaitComm())//如果超时,通讯出错

{

Delay_ms(500);

ComBuf[0]=0;//让编程器复位,使编程器就绪

}

switch(ComBuf[1])//根据FID设置(ProWork)pw中的函数指针

{

case 0://at89c51编程器

PreparePro00();

break;

case 1://at89c2051编程器

PreparePro01();

break;

case 2://at89s51编程器

PreparePro02();

break;

//case 3:支持新器件时,请继续向下添加

// break;

//case 4:

// break;

default:

ComBuf[0]=0xff;

ComBuf[1]=0xff;//表示无效的操作

break;

}

switch(ComBuf[0])//根据操作ID跳到不同的操作函数

{

case 0x00:

RstPro();//编程器复位

break;

case 0x01:

ReadSign();//读特征字

break;

case 0x02:

Erase();//擦除器件

break;

case 0x03:

Write();//写器件

break;

case 0x04:

Read();//读器件

break;

case 0x05:

Lock();//写锁定位

break;

default:

SendData();

break;

}

}

}

3.2电机测速程序

/*

LED.C

128×64 LED驱动程序头文件*/

#ifndef LED_H_ #define LED_H_

#include

//定义背光控制信号

sbit LED_BL=P1^4;

//点亮背光灯

void LEDLightOn();

//熄灭背光灯

void LEDLightOff();

//清屏

void LEDClear();

//初始化

void LEDInit();

//显示ASCⅡ码

void LEDPutChar(unsigned char c);

//显示字符串

void LEDPuts(unsigned char*s);

#endif //LED_H_

/*

LED.C

128×64 LED驱动程序

*/

#include

#include

//#include "LED.H"

//定义屏幕光标(取值0~63,光标本身不可见)

unsigned char LEDCursor;

int i,j;

/*

函数:LEDLightOn()

功能:点亮背光灯

*/

void LEDLightOn()

{

LED_BL = 1;

}

/*

函数:LEDLightOff()

功能:熄灭背光灯

*/

void LEDLightOff()

{

LED_BL = 0;

}

/*

函数:LEDGetBF()

功能:读出状态位BF

返回:

BF=1,表示忙,不可进行任何操作

BF=0,表示不忙,可以进行正常操作

*/

bit LEDGetBF()

{

unsigned char dat;

dat = XBYTE[0xD002];

//XBYTE的定义见

return (bit)(dat & 0x80);

直流电机测速

单片机课程设计

基于单片机的转速测量系统设计 【摘要】介绍了一种基于AT89C51单片机平台,采用光电传感器实施电机转速测量的方法,硬件系统包括脉冲信号产生、脉冲信号处理和显示模块,并采用C语言编程,结果表明该方法具有简单、精度高、稳定性好的优点。介绍了该测速法的基本原理、实现步骤和软硬件设计 【关键词】转速测量; 单片机; 霍尔传感器;电机;脉冲。

1.概述 1.1 数字式转速测量系统的发展背景 目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式(对高频振荡进行幅值调制或频率调制)等,还有一些特殊的测速器是利用置于旋转体内的放射性材料来发生脉冲信号.其中应用最广的是光电式,光电式测系统具有低惯性、低噪声、高分辨率和高精度的优点.加之激光光源、光栅、光学码盘、CCD 器件、光导纤维等的相继出现和成功应用,使得光电传感器在检测和控制领域得到了广泛的应用。而采用光电传感器的电机转速测量系统测量准确度高、采样速度快、测量范围宽和测量精度与被测转速无关等优点,具有广阔的应用前景。 1.2 本设计课题的目的和意义 在工程实践中,经常会遇到各种需要测量转速的场合, 例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。要测速,首先要解决是采样问题。在使用模技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。因此转速的测试具有重要的意义。 这次设计内容包含知识全面,对传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。全面了解单片机和信号放大的具体内容。进一步锻炼我们在信号采集,处理,显示发面的实际工作能力。

课程设计实验报告-直流电机测速 (1)

直流电机测速 摘要 设计一种直流电机调速系统,以STC89C52 为控制核心,通过ULN2003 驱动电机,使用ST151 测量转速,实现了按键输入、电机驱动、转速控制、转速显示等功能。 关键词:直流电机, 80C51, ULN2003, 转速控制

第一章题目描述直流小电机调速系统: 采用单片机、ul n2003 为主要器件,设计直流电机调速系统,实现电机速度开环可调。 要求:1、电机速度分30r /m、60r /m、100r /m共3 档;2、通过按选择速度; 3、检测并显示各档速度。所需器件: 实验板(中号)、直流电机、STC89C52、电容(30pFⅹ2、10uF ⅹ2)、数码管(共阳、四位一体)、晶振(12M H z )、小按键(4 个)、ST151、电阻、发光二极管等。 第二章方案论述按照题给要求,我们最终设计了如下的解决方案:用户通过 键盘键入控制指令(开关),微控制器在收到指令 后改变输出的 PW M波,最终在 U LN2003 的驱动下电机转速发生改

变。通过 ST151 传感器测量电机扇叶的旋转情况,将转速显示在数码管上。 在程序主循环中实现按键扫描与转速显示,将定时器0 作为计数器,计数ST151 产生的下降沿,可算出转速,并送至数码管显示。 第三章硬件部分 设计 系统硬件部分包含输入模块、显示模块、控制模块、测速模块等。在硬件搭建前,先通过Pr ot eus Pr o 7. 5 进行硬件仿真实现。 1. 时钟电路 系统采用12M 晶振与两个30pF 电容组成震荡电路,接STC89C52 的 XTAL1 与 XTAL2 引脚,为微控制器提供时钟源 2. 按键电路

基于51单片机的步进电机控制-设计报告(说明书)及源程序

南京XX大学 指导老师:张X 课程设计基于51单片机的步进电机控制 机械电子工程学院 测控技术与仪器 XXXXX Xxx 2012年1年4日

步进电机控制系统 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启 动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算

单片机控制直流电机并测速(电压AD、DA转换以及pwm按键调速正转反转)

单片机原理及应用 课程设计报告书 题目:用单片机控制直流电动机并测量转速姓名:徐银浩 学号:1110702225 专业:电子信息工程 指导老师:沈兆军 设计时间:2014年 11月 信息工程学院

目录 1. 引言 (1) 1.1 设计意义 (1) 1.2 系统功能要求 (1) 2. 方案设计 (1) 3. 硬件设计 (3) 3.1 AT89C51最小系统 (3) 3.2 按键电路 (4) 3.3 A/D转换模块 (4) 3.4. D/A转换模块 (6) 3.5 电机转速测量电路 (7) 3.6 显示电路 (8) 3.7 总电路图 (10) 4. 软件设计 (111) 4.1 系统主程序设计 (12) 4.2 按键扫描程序设计 (12) 4.3 显示子程序 (12) 4.4 定时中断处理程序 (12) 4.5 A/D转换程序 (13) 5. 系统调试 (14) 6. 设计总结 (16) 7. 参考文献 (17)

8. 附录A;源程序 (18) 9. 附录B;电路原理总图、作品实物图片 (23)

用单片机控制直流电动机并测量转速 1 引言 1.1. 设计意义 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化,本系统利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。 1.2.系统功能要求 单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。 通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电动机的转速。 手动扩展。在键盘上设置两个按键——直流电动机加速键和直流电动机减速减。在手动状态下,每按一次键,电动机的转速按照约定的速率改变。 用显示器LED或LCD显示数码移动的速度,及时形象地跟踪直流电动机转速的变化情况。 2 方案设计 为了使用单片机对电动机进行控制,对单片机的基本要求应有足够快点速度;有捕捉功能。总体设计方案如图所示

北京工业大学大二下直流电机测速实验报告

北京工业大学 课程设计报告 学院:___电控学院___专业:_电子科学与技术__班级:_120231_组号_16_ 题目:1_直流电机测速___2_小型温度控制系统_姓名:__王宁______学号:__12023110____ 指导教师:___杨旭东__成绩___________

目录 一、前言﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 (一)设计题目﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3(二)课题背景 (3) 二、设计要求 (3) (一)设计任务 (3) (二)设计框架图 (4) (三)参考元器件﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍4 (四)设计要求 (4) 1、电源模块 (4) 2、信号处理模块 (4) 3、功率放大模块 (4) (五)发挥部分 (5) 三、设计原理 (5) (一)设计原理说明 (5) (二)电源模块 (5) 1、方案选择 (5) 2、原理分析 (6) (三)变送器模块 (9) 1、方案选择............................................................................................... - 9 - 2、原理分析 (10) (四)驱动器 (11) 1、方案选择 (11) 2、原理分析 (11) 四、系统调试及实物图 (11)

(一)调试顺序说明 (11) (二)电源模块调试 (11) (三)变送器模块调试 (12) (四)驱动器模块调试 (12) 五、实物图﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍13 六、实验中问题分析及解决 (14) (一)稳压电源电路板 (14) (二)变送器电路板 (14) (三)驱动电路板 (15) 七、数据与误差分析 (15) (一)稳压电源电路板 (15) (二)变送器电路板 (16) (三)驱动器模块电路板 (16) 八、附录 (17) (一)系统电路的工作原理图 (17) (二)元器件识别方法和检测方法 (17) (三)参考资料 (18) 九、心得体会 (19)

基于单片机的直流电机转速测量与显示(DOC)

目录 绪论 (2) 第1章参数计算与设备选型 (3) 1.1控制芯片 (3) 1.2测速发电机 (4) 1.3模数转化器件——ADC0809 (6) 第2章系统设计 (9) 2.1 系统方框图 (9) 2.2 硬件设计 (10) 2.2.1 直流测速发电机 (10) 2.2.2 ADC0809与单片机连接 (10) 2.2.3 数码管 (11) 2.2.4 综合接线图 (11) 2.3 软件设计 (12) 2.3.1 程序设计思路说明 (12) 2.3.2 总程序控制流程图 (13) 2.3.3 ADC0809工作流程图及程序 (14) 2.3.4显示部分工作流程图及程序 (15) 第3章结论 (18) 参考文献 (19)

绪论 在现代工业自动化高度发展的时期,几乎所有的工业设备都离不开电机,形形色色的电机在不同领域发挥着很重要的作用。与之而来的问题是,如何更好地控制电机,对于不同的场合,对电机的控制要求是不同的,但大部分都会涉及到直流电机的转速测量,从而利用转速来实施对直流电机的控制。 直流电机转速作为直流电机的一项重要技术指标,在各个应用场合都有重要的研究价值,例如在发动机,电动机,机床主轴等旋转设备的试验运转和控制中,常需要分时或连续测量,显示其转速及瞬时速度等,转速是其他大部分技术参数的计算来源,因此,准确测量直流电动机的转速具有重要的研究意义和理论价值。 目前,对直流电动机的速度检测方法很多,从整体上可分为模拟检测和数字检测方法。 模拟检测:即利用测速电机作为发电机,通过检测反电势E的大小和极性可得到转速N和电机转向,采用这种方法直接可以得到转速N和输出电压的特性曲线,直观,但也有很多不足,比如在高速和低速情况下实际输出偏离理想特性。 数字检测技术:即通过分析数字信号产生的一系列脉冲间接获取电机转速。如光电旋转编码器是将检测圆盘划分为等距的三个同心圆,最外环和次外环分别用等距的黑白条纹分开,且最外环和次外环的缝隙位置相位差为90度,用于判断电机的转速,最内环只有一个黑条纹,用作定位脉冲或者是复位脉冲,利用光电编码器输出的脉冲可以计算转速,具体的又可分为M法,T法和M\T法。 此外,市场上已经有了技术成熟的电机测速装置,如利用霍尔元件设计制作的直流电机测速仪等,凭借其精度高,稳定性好等优势占有重要的一席之地。 而本次微机控制原理课程设计的任务是直流电机速度的测量与显示。主要要求是通过测速直流发电机作为传感器,检测直流电机的转速,并输出与转速相关的电压,通过ADC0809芯片将测速发电机输出电压转换成电压的数字信号。控制芯片采用AT89C51将采集转换后的数字信号进行处理,得到转速,并通过四位数码管予以显示。整体上能够完成从转速检测到数据处理到显示的一整套功能。

直流电机测速并显示

可实现功能: 1 可控制左右旋转 2 可控制停止转动 3 有测速功能,即时显示在液晶上 4 有速度档位选择,分五个档次,但不能精确控速 5 档位显示在液晶上 用到的知识: 1 用外部中断检测电机送来的下降沿,在一定时间里统计 脉冲个数,进行算出转速。 2 通过改变占空比可改变电机速度,占空比的改变可以通过改变定时器的重装初值来实现。 3 要想精确控制速度,还需要用自动控制理论里的PID算法,但参数难以选定,故在此设计中没有涉及! #include<> #define uchar unsigned char #define uint unsigned int sbit PW1=P1^0 ; sbit PW2=P1^1 ; ; write_data('0'+shi); write_data('0'+ge); }

/******延时函数********/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--) ; } /************写指令************/ void write_com(uchar com) { lcdrs=0; Da=com; delay(1); lcden=1; delay(1); lcden=0; } /************写数据**********/ void write_data(uchar date) { lcdrs=1; Da=date; delay(1); lcden=1; delay(1); lcden=0; } /************液晶初始化**********/ void lcd_init() { lcden=0; write_com(0x38) ; //初始化 write_com(0x0c) ; //打开光标 0x0c不显示光标 0x0e光标不闪,0x0f光标闪 write_com(0x01) ; //清显示 write_com(0x80+0x40); write_data('0');

基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计 中文摘要 步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。随着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在众多领域中可以看到。其中采用单片机作为控制核心的控制系统,由于其电路简单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用。因此,研究基于单片机的步进电机控制系统,具有重要的现实意义。本设计研究的是基于51单片机对步进电机的控制系统。通过单片机的I/O端口输出时序方波作为控制信号,信号经过芯片ULN2003驱动芯片驱动步进电机进行不同的指令进行工作。根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能,并在数码管上实时显示步进电机的工作状态。本文给出了电路各个模块的电路图,并用Proteus的ISIS软件对控制系统的各个功能进行了仿真,并给出了相应的仿真结果图像。 关键词:单片机;步进电机;电机驱动;控制系统

Abstract Stepper motor controlled by a pulse signal, and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor. As the stepper motor has a step error does not accumulate, reliable, simple structure, small inertia, low cost, and therefore, are widely used in computer peripheral circuits, automatic control devices and other digital control devices, such as printers, watches and clocks , digital to analog conversion equipment, and other devices. With the rapid development of science and technology, the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system, because of its simple circuit, low cost, high reliability, etc., to meet the needs of many fields, we get a lot of use. Therefore, based on single-chip stepper motor control system has important practical design study is 51 single-chip stepper motor control system. As a control signal, the signal through the chip ULN2003 stepper motor drive to work through the microcontroller I / O port output timing square wave. Depending on the need, through the key circuit to control the start and stop, reversing and ramp functions such as stepper motors, stepper motors in real-time display and digital working condition. In this paper, the circuit diagram of each module, and with the ISIS Proteus software for each function control system simulation, and the simulation results are given corresponding image. Key words: microcontroller; stepper motor; motor drive; control system

直流电机测速系统

设计名称:直流电机调速及速度系统设计院系:工学院电气与信息工程系专业班级:自动化 小组组号: 小组成员: 日期:

一、方案比较、设计与分析 1、稳压电源 直流稳压电源通过MC34063芯片所构成降压电路,把输入的24V的直流电压降为12V的直流稳压电源,为所有的电路模块和系统提供所需要的电源电压该电路的仿真图如图3所示。 图1 直流稳压电源 2、电机调速模块 脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短即通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而达到控制电动机转速的目的。 图2 占空比仿真波形

图 3 电机调速电路图 3、测速模块 方案一:霍尔传感器测量方案 霍尔传感器是利用霍尔效应进行工作的,其核心元件是根据霍尔效应原理制成的霍尔元件霍尔转速传感器其引脚封装如图3所示。在直流电机扇叶两端放置固定的互相垂直的感应接收装置A和B,在电机的扇叶上贴上磁片HA和HB,当电 机转动的时候就会产生速度感应信号。 图4 霍尔元件封装图 优点:采用霍尔传感器是通过对磁场的感应,从而产生电信号脉冲的元件,霍尔 元件的感应灵敏,能够比较准确的反映直流电机的转速,而且改元件的体积较小, 方便使用。 方案二:光电传感器采集速度数据 转速信号由光电传感器拾取,使用时应先在直流电机的扇叶上做好光电标记,具体 办法可以是:将一片白色的纸板作为光电标记,然后将光电传感器(光电头) 固定 在正对光电标记的某一适当距离处。当直流电机转动时,光电头每照到一次白色 的纸板,光电传感器就会产生一个脉冲信号,从而达到计数的目的。

直流电机+PWM+测速显示(1)

#include #include extern char fnLCMInit(); // LCM 初始化 extern void at(unsigned char x,unsigned char y);/*设定文本x,y值*/ extern void cls(); // 清屏 extern void charout(unsigned char *str); //ASCII(8*8) 显示函数 extern void fnSetPos(unsigned char urow, unsigned char ucol); // 设置当前地址 extern uchar dprintf(uchar x,uchar y,char *fmt);// ASCII(8*16) 及汉字(16*16) 显示函数extern uchar fnPR12(uchar uCmd); // 写无参数的指令 extern uchar fnPR13(uchar uData); // 写数据 extern unsigned int Adc0832(unsigned char channel); extern void Line( unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, bit Mode); extern void Pixel(unsigned char PointX,unsigned char PointY, bit Mode); uchar dsp[10]={0,0,0,0,0,0,0,0,0,0,}; char abc[3]={0,0,0,}; uchar key=0; uint a=100; uchar n=5;

计算机控制系统课程设计直流电机测速调速系统

XI`AN TECHNOLOGICAL UNIVERSITY 课程名称直流电机测速调速实验 专业:电气工程及其自动化 班级: 姓名: 学号: 指导教师:秦刚 成绩: 2016年7月11 日

计算机控制系统课程设计 ——直流电机测速调速系统 一、选定题目:电机速度控制系统 二、设计目的和要求: 计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要微型机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。课程设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。 三、功能需求: 1、基本功能: (1)该系统使用实验箱的直流电机、1602 液晶、 DA、键盘等模块完成设计; (2)直流电机通过DA模块使用PWM方式进行驱动及调速; (3)能够通过 1602 液晶显示当前转速及 PWM占空比;(4) 通过按键控制电机的启动和停止。 2、扩展功能: (1)能够通过按键手动输入目标转速(转/秒),启动电机后控制电机稳定 在目标转速; (2)使用 1602 液晶实时显示目标转速、当前转速及启停状态(on/off )。 四、实验思路: 本直流电机调速系统以单片机系统为依托,根据 PWM调速的基本原理,控制电动机的转速为依据,实现对直流电动机的调速,并通过单片机控制速度的变化。本设计的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前

提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分, 是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现 的各项功能,达到控制器自动对电机速度的有效控制。 用51 来产生 PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。本次课程设计我们采用定时器产生PWM方波。 定时器产生PWM:这种方法利用了定时器溢出中断,在中断服务程序改变电 平的高低,在程序较复杂、多操作时仍能输出较准确的pwm波形。 五、实验设备: 单片机开发实验仪一台; AT89C51; LCD1602; DA数模转换; 按键; 光电开关 六、实验原理: 1、硬件框图: 硬件部分主要由电位器、模数转换模块、51 单片机、显示模块、驱动电路 和无刷直流电机组成。其功能框图如下:

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

直流电机转速测量系统的设计

一、概述 该课程设计是关于直流电动机转速的测量。转速是电动机极为重要的一个状态参数,一般是指电机转子的每分钟转数,通常用r/min 表示。本次课程设计选用光电测速法,测量电路由光电转换电路,整形电路,晶体振荡电路,分频电路,倍频电路,时序控制电路和计数、译码、驱动、显示电路构成,电机转速的测量范围为600r/min~30000r/min ,测量的相对误差 1%,并用5位LED 数码管显示出相应的电机转速。 本次课设需满足以下设计要求: 1根据技术指标,设计各部分电路并确定元器件参数; 2.用5位LED 数码管显示出相应的电机转速; 3.画出电路原理图(元器件标准化,电路图要规范化)。 二、方案论证 本课程设计是设计电机转速测量系统,采用光电测速方案,将转速信号转化为脉冲信号,然后用数字系统内部的时钟来对脉冲信号的频率进行测量,方案中包括光电转换电路,整形电路,闸门电路,晶体振荡电路,分频电路,倍频电路,控制电路和计数、译码、驱动、显示电路。原理方框图如图1所示: 在电动机转轴上安装一个圆盘,在圆盘上打6个均匀小孔。当电动机旋转时光源通过小孔投射到光敏三极管上,就产生了一序列的脉冲信号,光敏三极管产生的脉冲信号频率与电机转速成正比。脉冲信号经过整形电路转变成方波,再用二倍频电路使整形后的信号频率变为原来的二倍。再由晶体振荡电路输出的信号经过215分频电路, 光电转换电路 整 形 电 路 闸 门 电 路 计数、译码、驱动、显示 电路 输入 信号 晶体振荡器 电路 分 频 电 路 控 制 电 路 图1 电机转速测量系统原理框图

产生1Hz的基准信号,再经过10分频,便可产生一个0.1Hz的基准信号,该基准信号用来控制闸门电路,把经过倍频的光电转换后的信号计数并显示出来 三、电路设计 1.光电转换电路 在该部分可以用发光元件作为光的发射部分,可以选择发光二极管作发光元件,接收部分则要选择光敏三级管作为接受部件。其原理是用光敏三极管接收发光二极管通过小孔发射过来的光信号。在电机的转轴上安装上已打好6个均匀小孔的圆盘,让发光二极管与光敏三极管通过小孔相对,这样电机每转动一周,光线就会相应通过小孔6次,因为光电转换器受光一次就会产生一个脉冲,所以说电机在每转一周后就会相应的产生了6个脉冲。光电转换电路原理如图2所示: 图2 光电转换电路原理图 图中R1和R2为两个为350Ω限流电阻,LED持续发出的光被带孔圆盘间歇性阻断,变成间断的光信号,而光敏三极管将接收到的光信号转化成电信号,作用于之后的系统。 2.整形电路 整形电路用555定时器构成施密特触发器,利用施密特触发器,将输入的信号进行整形,输出为方波。2和6管脚连在一起接输入信号,从3管脚输出,输入信号与 输出信号反相,在5管脚接入10nF的滤波电容,当输入电压v i ﹤1/3Vcc时,v o 输出 为高电平,当输入电压v i ﹥2/3Vcc时,v o 输出为低电平。整形电路接法及输出波形如 图3和图4所示:

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

微机原理实验报告直流电机测速实验

本科实验报告 课程名称:微机原理及接口技术 课题项目:直流电机测速实验 专业班级:电科1201 学号:2012001610 学生姓名:王天宇 指导教师:任光龙 2015年 5 月24 日

直流电机测速实验 一、实验目的 1.掌握8254的工作原理和编程方法 2.了解光电开关,掌握光电传感器测速电机转速的方法。 二、实验内容 光电测速的基本电路有光电传感器、计数器/定时器组成。被测电机主轴上固定一个圆盘,圆盘的边缘上有小孔。传感器的红外线发射端和接收端装在圆盘的两侧,电机带动圆盘转到有孔的位置时,红外线光通过,接收管导通,输出低电平。红外线被挡住时,接收截止,输出高电平。用计数器/定时器记录在一定时间内传感器发出的脉冲个数,就可以计算车电机的转速, 三、线路连接 线路连接:8254计数器/定时器0和2作为定时器,确定测速时间,定时器0的CLK0连1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2相连,输出OUT2与8255的PA0端相连。GATE0和GATE2均接+5V,8354计数器/定时器1作为计数器,,输入CLK1与直流电机计数端连接,GATE1与8254的PC0相连。电机DJ端与+5V~0V模拟开关SW1相连。如下图所示。

四、编程提示 8254计数器/定时器1作为计数器记录脉冲个数,计数器/定时器0和2作为定时器,组成10~60秒定时器,测量脉冲个数,算出点击每分钟的转速并显示在屏幕上, 8255的PA0根据OUT2的开始和结束时间,通过PC0向8254计数器/定时器1发出开始和停止计数信号。 五、流程图

六、实验程序: DATA SEGMENT IOPORT EQU 0D880H-0280H IO8255K EQU IOPORT+283H IO8255A EQU IOPORT+280H IO8255C EQU IOPORT+282H IO8254K EQU IOPORT+28BH IO82542 EQU IOPORT+28AH IO82541 EQU IOPORT+289H IO82540 EQU IOPORT+288H MESS DB 'STRIKE ANY KEY,RETURN TO DOS!', 0AH, 0DH,'$' COU DB 0 COU1 DB 0 COUNT1 DB 0 COUNT2 DB 0 COUNT3 DB 0 COUNT4 DB 0 DATA ENDS CODE SEGMENT

微机原理直流电机测速实验

实验四直流电机测速实验 一、实验目的: (1)掌握8254的工作原理和编程方法; (2)了解光电开关,掌握用光电传感测量电机转速的方法。 二、实验内容: 光电测速的基本电路由光电传感器,计数器/定时器组成。被测电机主轴上 固定一个圆盘,圆盘的边缘上有小孔。传感器的红外发射端和接收端装在圆盘的两侧,电机带动圆盘转到有孔的位置时,红外光通过,接收管导通,输出低电平。红外光被挡住时,接收截止,输出高电平。用计数器/定时器记录在一定时间内 传感器发出的脉冲个数,就可以计算出电机的转速。 三、线路连接: 线路连接如图4.5所示,8254计数器/定时器0和2作为定时器,确定测速时间,定时器0的CLK0连1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2 相连,输出OUT2与8255的PA0端相连。GATE0和GATE2均接+5V,8254计数器/ 定时器1作为计数器,输入CLK1与直流电机计数关连接,GATE1与8255的PC0相连。电机DJ端与+5V~0V模拟开关SW1相连。 四、编程提示: 8255计数器/定时器1作为计数器,记录脉冲个数,计数器/定时器0和2 作为定时器,组成10~60秒定时器,测量脉冲个数,算出电机每分钟的转速并显示在屏幕上。 8255的PA0根据OUT2的开始和结束时间,通过PC0向8254计数器/定时器1发出开始和停止计数信号。

五、流程图 如图4.6所示 图 4.6直流电机测速程序流程图 六,编写源程序如下: DATASEGMENT IOPORTEQU0D880H-0280H IO8255KEQUIOPORT+283H;8255控制口 IO8255AEQUIOPORT+280H;8255A口 IO8255CEQUIOPORT+282H;8255C口 IO8254KEQUIOPORT+28BH;8254控制 IO82542EQUIOPORT+28AH;8254计数器2 IO82541EQUIOPORT+289H;8254计数器1 IO82540EQUIOPORT+288H;8254计数器0 MESSDB'STRIKEANYKEY,RETURNTODOS!',0AH,0DH,'$' COUDB0

单片机直流电机测速系统实训报告

单片机综合实训报告 专业:详详细细 姓名:xxxxx 学号:小行星 联系方式:详详细细 指导教师:粗粗糙糙 时间:2013年6月14日—6月28日

摘要 在电气时代的今天,电机在工农业生产与人们日常生活中都起着十分重要的作用。直流电机作为最常见的一种电机,具有非常优秀的线性机械特性、较宽的调速范围、良好的起动性以及简单的控制电路等优点,因此在社会的各个领域中都得到了十分广泛的应用。 随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。 在工程实践中,经常会遇到各种需要测量转速的场合, 例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。要测速,首先要解决是采样问题。在使用模技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。因此转速的测试具有重要的意义。 本文介绍了一种基于AT89C51 单片机平台,采用光电传感器实施电机转速测量的方法,硬件系统包括脉冲信号产生、脉冲信号处理和显示模块,并采用C 语言编程,结果表明该方法具有简单、精度高、稳定性好的优点。介绍了该测速法的基本原理、实验步骤和软硬件设计 这次设计内容包含知识全面,对传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。全面了解单片机和信号放大的具体内容。进一步锻炼我们在信号采集,处理,显示发面的实际工作能力。 关键词 单片机AT89C51 直流电机转速测量光电传感器电机脉冲

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

直流电机测速系统课程设计

单片机课程设计报告书 题目:电机测速系统 院系名称:自动化学院 学生姓名: 专业名称:自动化 班级:自动XXXX班 时间:20XX年X月X日至 X月XX日

电机测速系统 一、设计目的 随着科技的飞速发展,计算机应用技术日益渗透到社会生产生活的各个领域,而单片机的应用则起到了举足轻重的作用。在工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、机床主轴等旋转设备的试验运转和控制中,常需要分时或连续测量、显示其转速及瞬时速度。为了能精确地测量转速,还要保证测量的实时性,要求能测得瞬时转速。因此设计一种较为理想的电机测速控制系统是非常有价值的。 二、设计要求 1.用按键控制电机起停; 2.电机有两种速度,通过按键来改变速度; 3.通过数码管显示每分钟或每秒的转速。 四、设计方案及分析(包含设计电路图) 1. STC89C52单片机介绍 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

(1)单片机最小系统 单片机最小系统电路如图所示,由主控器STC89C52、时钟电路和复位电路三部分组成。单片机STC89C52作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。 图单片机最小系统 (2)晶振电路 (3)复位电路

相关主题
文本预览
相关文档 最新文档