当前位置:文档之家› 直流电机转速控制

直流电机转速控制

直流电机转速控制公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]
直流电机转速控制
课程设计
姓名:
学号:
班级:
目录
1.直流电机转速控制方案设计 (2)
设计要求 (2)
设计框图 (2)
2.直流电机转速控制硬件设计 (3)
主要器件功能 (3)
硬件原理图 (6)
3.直流电机转速控制软件设计 (7)
4.调试 (8)
硬件测试 (8)
软件调试……………………………………………………………(11
1.直流电机转速控制方案设计
设计要求
通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。

1、用按键1控制旋转方向,实现正转和反转。

2、电机的设定转速与电机的实际转速在数码管上显示。

3、旋转速度可实时改变。

设计框图
本课题中测量控制电路组成框图如下所示:
图1
2.直流电机转速控制硬件设计
主要器件功能
1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。

其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。

当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。

此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。

图2
板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。

EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。

POWER 接直流电源,注意正负,电源正端为VCC,电源地为GND。

2、ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。

除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功
能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。

此外,ZLG7290B的电路简单,使用也很方便。

用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。

正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。

微控制器可通过两种方式得到用户的键盘输入信息。

其一是中断方式,该方式的优点是抗干扰能力强,缺点是要占用微控制器的一个外部中断源。

其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根I/O口线,但是代价是I2C总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。

图3 ZLG7290能够直接驱动8 位共阴式数码管(或64 只独立的LED),同时还可以扫描管理多达64 只按键。

其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt 键一样。

另外ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续有效。

采用I2C 总线方式,与微控制器的接口仅需两根信号线。

可控扫描位数,可控任一数码管闪烁。

4、MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源
电平转换芯片,使用+5v单电源供电。

图4
第一部分是电荷泵
电路。

由1、2、3、
4、5、6脚和4只电容
构成。

功能是产生+12v
和-12v两个电源,提
供给RS-232串口电平
的需要。

第二部分是数据转换通道。

由7、8、9、10、11、12、13、14脚构成两个数据通道。

其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚
(T1OUT)为第一数据通道。

8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。

TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从
R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。

第三部分是供电。

15脚GND、16脚VCC(+5v)。

硬件原理图
电路图
图6 4.调试
硬件测试
单片机部分及其接口电路测试
D
C
EA/VP 31X119X218RESET 9RD 17WR 16
INT012INT113T014
T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P27
28
PSEN
29
ALE/P 30TXD 11RXD 10U6STC 89C5X
VC C
X112M Hz
C10
30PF C1130p F
TxD RxD ALE R1710K
VC C
C1210u F
S0
R181K
RD WR
S1
1
16
R1A
VC C
LED
VC C
1
16
R?A 10K
U?GND
+5
15V VC C R61K
1
23S S E N B
O U T 4O U T 3I N 4E N B I N 3V S S G N D I N 2E N A I N 1V S O U T 2
O U T 1S E N A L298N
VS
C?100uf
D1DIODE
D2DIODE
D4DIODE
D3DIODE VS S
C?100uf
按键程序
当按键按下的时候产生一个低电平,连接INT0,产生外部中断,使,,取反,从而控制电机正反转,和LED灯的状态,显示其转向.具体的程序如下:
void INT0SUB() interrupt 0
{
P11=~P11;
P12=~P12;
P13=~P13;
}
PWM程序
因为电机调速是本次设计的最主要任务之一,所以PWM程序也是程序中最重要的一环。

PWM的调速原理是通过调节一个斩波周期中的脉冲占空比来调节电机功率而达到调速目的。

本设计中,PWM的斩波周期为500us,那也就是说斩波频率为2kHz,在理论上能达到%线性可调,也就是能以%的调节精度来调节PWM占空比。

PWM调速子程序是放在定时器0中断中进行的,中断设置如下:
ET0 = 1;//中断允许位
TMOD=0x51;
TH0=0xFE;
TL0=0x0C;
R0 = 1;//SETB TR0
下面是PWM的中断子程序:
void TIMER0() interrupt 1
{
TH0=0xFE;
TL0=0x0C;
if(r==0)
{
a++;
if(a>=c)
{
P10=0;
a=0;
r=1;
}
}
if(r==1)
{
b++;
if(b>=(100-c))
{
P10=1;
b=0;
r=0;
n--;
}
测速系统程序
测速是本设计的另外一个重点。

本设计中测速系统的工作原理为:利用电机叶片上的磁钢,引起霍尔开关产生脉冲,单片机就采集此脉冲数,加以计算,得出其实时速度。

测速程序得用一个计数器1具体实现如下:
TH1 = 0x00;
TL1 = 0x00;
ET1 = 1;
TR1 = 1;
函数中,TH1_1,TL1_1就是存放计数器1的计数值的缓冲区,当它们从TH1和TL1中取得数值之后,TH1和TL1随即被清零,为下一次计数做好准备。

void TIMER0() interrupt 1
{
int d,g,z;
z=TL1;
d=TL1*30;
g=d-k;
dat1=d%10;
d=d/10;
dat2=d%10;
d=d/10;
dat3=d%10;
d=d/10;
dat4=d;
m=0;
n=20;
TL1=0X00;
TH1=0X00;
}
调速程序
本程序中我们利用逼近的方式来控制电机的转速,其相应的程序n。

相关主题