直流电机速度控制_

直流电机速度控制_
直流电机速度控制_

组员:

班级:研1308

授课教师:徐洪泽

电子信息工程学院

日期:2013-11-24

目录

1、整体设计 (1)

2、硬件搭建过程 (3)

一、单片机最小系统 (3)

二、RS232串口模块 (3)

一、电机驱动模块 (4)

四、测速模块 (5)

五、上位机显示与控制 (7)

3、闭环系统的PID控制实现 (8)

一、控制算法 (8)

二、PID参数的整合 (8)

4、问题探讨与实验总结 (9)

一、问题探讨 (9)

二、实验总结 (9)

5、附录:总体程序 (10)

一、程序流程说明 (10)

二、源代码 (10)

三、实物图 (20)

1、 整体设计

本系统旨在实现直流电机的速度闭环控制。微控制器接受上位机和测速机构的速度信号,以其偏差作为PID 控制算法的输入,同时用微控制器产生H 桥所需的PWM 控制信号,PWM 的占空比为微控制器PID 控制算法的输出。通过控制PWM 的占空比来控制电机电枢电压,从而达到控制电机转速的目的。

图1.直流电机速度控制系统框图

图中:r —期望转速; b —转速测量值;

e —期望转速与实际转速偏差; n —转速输出值。 直流电机转速为:

U IR n K U -=

Φ

-Φ-其中:

电枢端电压电枢电流电枢电路总电阻;电机结构参数;每极磁通量。

;I-;R-K-

本系统采用对电枢电压进行控制的电枢控制法,而电枢电压的控制采用开关驱动方式,即使驱动电机的半导体功率器件工作在开关状态,通过脉宽调制PWM 来控制电动机电枢电压,实现调速。

在Altium Designer summer 09中画出直流电机速度控制系统的详细设计原理如下图所示。

微控制器采用STC89C52RC单片机,单片机和上位PC机通过RS232进行通信,通过单片机的外部中断对编码器输出脉冲进行计数、单片机的P0.0和P0.1口输出PWM波形信号。外部中断INT1对光电编码器脉冲计数,单片机在一定时间间隔内即可计算出电机的转速。

当电机的实际速度小于目标速度时,LED0指示电机加速;当大于目标速度时,LED1指示电机减速。

图2.直流电机速度控制系统详细设计图

2、硬件搭建过程

一、单片机最小系统

功能介绍:

1.支持STC51系列与A T51系列单片机(DIP40),或通过其它转接座支持其它型号单片机;2.8路水晶蓝LED可作流水灯实验;

3.2个中断按键(INT0与INT1)和1个复位按键;

4.1个电位分压器可供调节输出参考电压

5.1个标准ISP下载接口,用于下载AT单片机程序,及供电;

6.1个USB-TTL接口,用于下载STC单片机,及供电;

7.32个IO口以排针形式引出,方便外部使用;

8.留有3组电源排针输出,方便外部配件取电,或向板子供电;

9.板载12MHz优质晶振及P0口全部上拉4.7K电阻,板上标准复位电路;

10.使用DIP40锁紧座方便取放芯片;

二、RS232串口模块

本文设计的控制系统与上位机串口通信部分采用了PL2303HX模块实现。主要功能是将实时的速度数据传送到上位机显示;接受上位机发送到单片机的控制信息,包括PID的三个参数Kp,Ki,Kp和电机转向。

PL2303HX采用28脚贴片SOIC封装,工作频率为12MHZ,符合USB 1.1通信协议,可以直接将USB信号转换成串口信号,波特率从75~1228800,有22种波特率可以选择,并支持5、6、7、8、16共5种数据比特位,是一款相当不错的USB转串口芯片。

PL2303模块可以方便地利用杜邦免焊接连接线接入电路,只要插接3根线,一根串口入、一根串口出、一根地线。需要注意的是STC89C52 单片机下载模式接线如下:(只需要连接3根线)

USB转TTL小板TX 连接单片机P3.0 (RX)

USB转TTL小板RX 连接单片机P3.1 (TX)

USB转TTL小板GND 连接单片机GND

一、电机驱动模块

本系统采用的电机驱动模块为L9110S双路直流电机驱动板,实物如下图所示。

L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立

电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动及刹车,它具有较大的电流驱动能力,每通道能通过750~800mA的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110被广泛应用于保险柜、玩具汽车的电机驱动、步进电机驱动和开关功率管等电路上。

电路内部功能框图:

图3. L9110电路内部功能框图

具有如下特点:

?低静态工作电流;

?宽电源电压范围:2.5V-12V;

?每通道具有800mA连续电流输出能力;

?较低的饱和压降;

?输出具有正转、反转、高阻和刹车四种状态;

?TTL/CMOS 输出电平兼容,可直接连CPU;

?输出内置钳位二极管,适用于感性负载;

?控制和驱动集成于单片IC之中;

?具备管脚高压保护功能;

?工作温度:-20℃-80℃。

应用电路图:

图4. L9110驱动电机应用电路图

四、测速模块

本系统采用精度达到888线的AB相编码器。通过旋转的光栅盘和光耦产生可识别方向的计数脉冲信号。以下是该编码器的相关介绍:

编码器型号为Agilent Q9843,888线码盘保证了测速精度,也就是电机转一圈输出888个脉冲,芯片上已集成了脉冲整形触发电路,输出的是矩形波,用示波器检测相当稳定,直接单片机IO口,由于分辨率很高,对单片机的处理能力和程序编写水平提出较高要求。

以下是直流电机实测参数以供参考:

电机线圈电阻6.6欧,阻转电流=电压/电阻。测试得到参数表如下:

编码器3.5V时耗电实测20ma(实测3.3V-5V都正常工作,方波规范,但随着电压的提高工作电流会增加,5V时工作电流40ma),加电后编码器发出暗红色的光(亮度很低),AB 相输出就可以知道电机的转动方向。

五、上位机显示与控制

上位机实现通过串口向单片机发送控制数据、处理单片机回送数据、显示转数值和速度--时间曲线,便于观察控制系统的性能指标。其界面如下。

主界面:速度显示

PID参数设置菜单:绘图设置菜单:

使用说明:

(1)主界面:

首先,保证本直流电机控制系统的串口模块已连接上位PC机。打开本软件,从设备管理器中,查看串口模块连接的com口号,选择对应的com口进行连接。成功连接后,点击开始采集,即可采集单片机发送的速度数据并实时显示收到的数据。同时,可以s使用滑动条来调节目标速度。

(2)PID参数设置菜单:

点击PID参数设置菜单,即可PID对三个控制参数Kp,Ki,Kd设置,点击确定,设置完毕。这时,需要点击发送控制信息,单片机接收到修改后的控制信息进行调整。控制信息采用8个byte的格式,其报文协议为:Kp两个字节,Ki两个字节,Kd两个字节,速度两个字节。

(3)绘图设置菜单:

为了让使用界面更加友好,加入了绘图设置的功能。

3、 闭环系统的PID 控制实现

一、控制算法

单片机软件实现接收上位机指令,以期望速度和测量机构采集的测量速度的偏差信号作为PID 算法的输入信号,经过PID 控制后改变其输出的PWM 信号的占空比,输出PWM 信号,从而实现使电机的实际转速趋近于期望转速。 实验采用位置式PID 控制算法,算法流程为:

exp ect b

e V V ?=-

10

()

k

k p k I j D k k j u K e K e K e e -==++-∑

k out u u =+

式中:

exp ect b k p I D k

k PID V V e e K K K u u out --?------期望转速值测量转速值转速偏差值

第次转速偏差值比例、积分、微分系数计算输出值

期望占空比

实际占空比输出值

二、PID 参数的整合

这里最重要的是PID 参数的整合过程和办法,PID 控制器参数选择的方法很多,例如:试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID 控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据调研和经验,一般PID 参数确定的步骤如下: (1) 确定比例系数Kp 确定比例系数Kp 时,首先去掉PID 的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp 由0 开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp 逐渐减小,直至系统振荡消失。记录此时的比例系数Kp ,设定PID 的比例系数Kp 为当前值的60%~70%。 (2) 确定积分时间常数Ti 比例系数Kp 确定之后,设定一个较大的积分时间常数Ti ,然后逐渐减小Ti ,直至系统出现振荡,然后再反过来,逐渐增大Ti ,直至系统振荡消失。记录此时的Ti ,设定PID 的

积分时间常数Ti 为当前值的150%~180%。

(3) 确定微分时间常数Td

微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。

最后,对PID参数进行微调,直到满足性能要求。

4、问题探讨与实验总结

一、问题探讨

(1) 调速电机PWM的频率选择

此问题在我们小组涉及直流电机驱动时就遇到了,可翻阅了很多资料,都没有给一个完美的答复,我觉得应该根据电机的特性来选择PWM 的频率。

这与机械的固有震动频率有关,另外与电机特性有关,不过一般情况是频率如果太低会导致电机抖动或者有啸叫声,或者致使交流成分太多,导致驱动桥中的功率管发热。

PWM的频率的选择和所用电机感抗和所需的速度响应时间有很大的关系,如果电机转速比较高,感抗比较小,可以使用比较高的频率。一般最好不要超过20K,因为一般IGBT 最高20K的开关频率。而MOS 的开关频率比较高,但是过高的频率就需要专用的驱动电路,不然MOS工作在放大区的时间比较长。如果电机转速比较低,感抗比较大,而且又是在做伺服,那开关频率就需要低一点。

(2) PID控制输出量如何控制执行器?

本系统的直流电机是采用合适频率的PWM来驱动的,脉冲的周期时间是一定的。对于速度的控制是采用脉宽调制的原理,即电机的速度取决于PWM的占空比,也就是说PID算法是研究一种控制脉宽的方法,使得电机速度能即快又稳地稳定在目标速度上。我们采用的方法是利用PID输出控制量u与PWM占空比线性对应的关系进行控制,并在u达到或小到一定程度后,进行占空比饱和处理。最终,达到了对直流电机速度较好的控制。

二、实验总结

5、附录:总体程序

一、程序流程说明

单片机资源分配与作用:

定时器T0:

根据frequency设置,产生该频率的PWM来驱动电机。脉冲周期时间不变,通过改变高电平与周期时间之比来调整占空比。

定时器T1:

作为串口通信中波特率发生器,工作在方式1。以全双工方式工作,为串口发送速度数据和接收控制信息提供时钟。

定时器T2:

每经过一定时间间隔,计算一次电机当前速度。将数据写入串口缓冲区等待发送。查询接收数据缓冲区是否有控制信息,如果有,则接收数据。

外部中断INT0,INT1:

计数光电传感器产生的脉冲。

二、源代码

整体程序有两个部分组成:文件project_motor_control.c和文件sio.c,并附上了详细的文档说明,方便理解程序的思路,简单易懂。project_motor_control.c中程序的功能主要是电机的速度测量,产生PWM驱动电机,和闭环PID的控制。而sio.c中程序的功能则是发送和接收数据,将速度信息发送到上位机处理显示,以反映电机速度控制系统的控制性能;同时可以接收PC人机接口设置的控制信息。

project_motor_control.c具体程序如下:

#include

#include

#include

#include

#include //Keil外部函数库包含文件,_nop_函数在此库中

#include //串口通信函数包含文件

#include

#define uchar unsigned char

#define uint unsigned int

/*电机接口*/

sbit PHASE_A = P3^2; //外部中断INT0 粉红

sbit PHASE_B = P3^3; //外部中断INT1 绿色

sbit pwm1 = P0^0; //电机驱动接口,当Motordirection=1时,pwm1=1,pwm2=0,电机正转;反之,电机反转

sbit pwm2 = P0^1;

sbit ledup= P2^0; //加速灯指示

sbit leddown = P2^7; //减速灯指示

/***电机调速参数**/

uint frequency = 500; //电机驱动PWM频率,单位Hz

uint speed = 0; //电机实时速度,单位rmp

uint Motordirection = 1; //电机转向

uint Dutycycle = 50; //电机驱动PWM的占空比,范围10-90

long int countA = 0; //A相脉冲计数

long int countB = 0; //B相脉冲计数

/***调速PID参数***/

uint Kp = 1,Ki = 1,Kd = 0;

uint n = 0,count = 0;

uint f,Tspeed = 238; //期望速度,单位rmp

uint count0=0,count1=0,count2=0; //编码器脉冲计数简易滤波

char parameter_set = 0;

uchar a[8];

float boundarydown = 120.0;

float boundaryup = 125.0;

/********************X毫秒延时函数**********************/

void delay1ms(void)

{

uint j;

for(j = 0;j <= 120;j++)

{_nop_();}

}

void delayXms(uint ms)

{

uint k;

for(k = 0;k

{delay1ms();}

}

/******************定时器中断初始化函数*************************/

void T0_Init()

{

EA = 0;

TMOD &= 0xf0; //定时器0,工作方式1

TMOD |= 0x01;

TH0 = (65536 - (XTAL/(12*100) * Dutycycle/frequency))/256;//初使加载50毫秒

TL0 = (65536 - (XTAL/(12*100) * Dutycycle/frequency))%256;

PT0 = 0; //定时器中断优先级

ET0 = 1; //开定时器中断

TR0 = 1; //启动T0

if(Motordirection == 1)

{

pwm1 = 1;

pwm2 = 0;

}

else

{

pwm1 = 0;

pwm2 = 1;

}

}

void T2_Init() //50ms定时

{

RCAP2H = (65536-46080)/256; //重装模式

RCAP2L = (65536-46080)%256;

ET2 = 1;

TR2 = 1; //启动T2

}

/*******************外部中断初使化函数***********************/ void INT_Init()

{

IT1 = 1; //设置外部中断1为下降沿触发

EX1 = 1; //开外部中断1

PX1 = 0;

EX0 = 0;

PX0 = 0;

EA = 1; //开总中断

}

/********************外部中断函数**************************/ void my_INT1(void) interrupt 2

{

countB = countB++; //每中断一次变量加1

}

/******************定时器中断函数*************************/ void Timer0(void) interrupt 1 //定时器0中断计算电机转速

{

uint t,nt;

TR0 = 0;

t =(65536 - (XTAL/(12*100) * Dutycycle/frequency));

nt =(65536 - (XTAL/(12*100) * (100-Dutycycle)/frequency));

if (Motordirection == 1) //电机正转

{

pwm2 = 0;

if(pwm1 == 1)

{

TH0 = nt/256 ; //重装

TL0 = nt%256;

pwm1 = 0;

}

else

{

TH0 = t/256 ; //重装

TL0 = t%256;

pwm1 = 1;

}

}

else //电机反转

{

pwm1 = 0;

if(pwm2 == 1)

{

TH0 = nt/256 ; //重装

TL0 = nt%256;

pwm2 = 0;

}

else

{

TH0 = t/256 ; //重装

TL0 = t%256;

pwm2 = 1;

}

}

TR0 = 1;

}

/************************PID函数部分******************************/ typedef struct PID {

int SetPoint; // 设定目标Desired Value

int Proportion; // 比例常数Proportional Const

int Integral; // 积分常数Integral Const

int Derivative; // 微分常数Derivative Const

int LastError; // Error[-1](上一次误差)

int PrevError; // Error[-2](上上次误差)

int SumError; // Sums of Errors

} PID;

PID sPID;

int PIDCalc( PID *pp, double NextPoint )

{

int dError,Error;

Error = pp->SetPoint - NextPoint; // 偏差

pp->SumError += Error; // 积分

dError = pp->LastError - pp->PrevError; // 当前微分

pp->PrevError = pp->LastError; //把上一次误差赋给上上次误差

pp->LastError = Error; //当前误差赋给上一次误差

return (pp->Proportion * Error // 比例项

+ pp->Integral * pp->SumError // 积分项

+ pp->Derivative * dError // 微分项

);

}

void PIDInit (PID *pp)

{

memset ( pp,0,sizeof(PID));

}

uint sensor (void) // Dummy Sensor Function

{

return speed;

}

void actuator (int rDelta) // Dummy Actuator Function

{

if(rDelta <= -boundarydown)

{

Dutycycle=10;

}

else if(rDelta >= boundaryup)

{

Dutycycle=90;

}

else

{

Dutycycle = (uint)(80*(rDelta+boundarydown)/(boundarydown+boundaryup)+10);

}

delayXms(40);

}

void Timer2(void) interrupt 5

{

TF2 = 0; //定时器2的中断标志要软件清0

n = n+1; //n++

if (n == 4) //定时1秒(x个50ms为0.05*x秒)20*50ms=1 {

count2 = count1;

count1 = count0;

count0 = countB;

countB = (count0 + count1 + count2)/3;

speed = countB * 60 * 5 / 888; //电机rpm,每分钟转速

countB = 0; //外部中断1中断次数归零

n = 0;

if(parameter_set == 1)

{

a[0] = com_getchar();

a[1] = com_getchar();

a[2] = com_getchar();

a[3] = com_getchar();

a[4] = com_getchar();

a[5] = com_getchar();

a[6] = com_getchar();

a[7] = com_getchar();

Kp = ((a[0]<<8)|a[1])/10;

Ki = ((a[2]<<8)|a[3])/10;

Kd = ((a[4]<<8)|a[5])/10;

Tspeed = (a[6]<<8)|a[7];

sPID.Proportion = Kp; // Set PID Coefficients(KP,KI,KD系数设定)

sPID.Integral = Ki;

sPID.Derivative = Kd;

sPID.SetPoint = Tspeed;

parameter_set = 0;

}

com_putchar(speed/256); //每X秒向上位机发送速度数据

com_putchar(speed%256);

}

}

/************************主函数******************************/

void main()

{

int rOut; // PID Response (Output)

uint rIn; // PID Feedback (Input)

PIDInit ( &sPID ); // Initialize Structure

sPID.Proportion = Kp; // Set PID Coefficients(KP,KI,KD系数设定)

sPID.Integral = Ki;

sPID.Derivative = Kd;

sPID.SetPoint = Tspeed; // Set PID Setpoint

T0_Init(); //定时器T0初使化question:定时器初始化

com_initialize(); //初始化串口通信

T2_Init(); //定时器T2初使化

INT_Init(); //外部中断初使化

while(1)

{

rIn = sensor (); // Read Input

rOut = PIDCalc ( &sPID,rIn ); // Perform PID Integration

actuator ( rOut ); // Effect Needed Changes }

}

sio.c具体程序如下:

/*------------------------------------------------------------------------------

SIO.C: Serial Communication Routines.

Copyright 1995-2002 KEIL Software, Inc.

------------------------------------------------------------------------------*/

#include

#include

#include "sio.h"

#include "config.h"

/*------------------------------------------------------------------------------ Notes:

The length of the receive and transmit buffers must be a power of 2.

Each buffer has a next_in and a next_out index.

If next_in = next_out, the buffer is empty.

(next_in - next_out) % buffer_size = the number of characters in the buffer. ------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------

------------------------------------------------------------------------------*/

static void com_isr (void) interrupt 4

{

/*------------------------------------------------

Received data interrupt.

------------------------------------------------*/

if (RI != 0)

{

RI = 0;

if (((r_in - r_out) & ~(RBUF_SIZE-1)) == 0)

{

rbuf [r_in & (RBUF_SIZE-1)] = SBUF; //

r_in++;

if((r_in - r_out)==(RBUF_SIZE-1))

{

parameter_set=1; //可以进行电机目标参数设置}

}

}

/*------------------------------------------------

Transmitted data interrupt.

------------------------------------------------*/

if (TI != 0)

{

TI = 0;

if (t_in != t_out) //tbuf没有发送完

{

SBUF = tbuf [t_out & (TBUF_SIZE-1)];

t_out++;

ti_restart = 0;

}

else

{

ti_restart = 1; // tbuf发送完了,再次发送tbuf

}

}

}

/*------------------------------------------------------------------------------ ------------------------------------------------------------------------------*/ #pragma disable

void com_initialize (void)

{

/*------------------------------------------------

Setup TIMER1 to generate the proper baud rate.

------------------------------------------------*/

com_baudrate (9600);

/*------------------------------------------------

Clear com buffer indexes.

------------------------------------------------*/

t_in = 0;

t_out = 0;

r_in = 0;

r_out = 0;

/*------------------------------------------------

Setup serial port registers.

------------------------------------------------*/

SM0 = 0; SM1 = 1; /* serial port MODE 1 */

SM2 = 0;

REN = 1; /* enable serial receiver */

RI = 0; /* clear receiver interrupt */

TI = 0; /* clear transmit interrupt */

ti_restart = 1;

ES = 1; /* enable serial interrupts */

PS = 1; /* set serial interrupts to low priority */

}

/*------------------------------------------------------------------------------ ------------------------------------------------------------------------------*/ #pragma disable

void com_baudrate (

unsigned baudrate)

{

/*------------------------------------------------

Clear transmit interrupt and buffer.

------------------------------------------------*/

TI = 0; /* clear transmit interrupt */

t_in = 0; /* empty transmit buffer */

t_out = 0;

/*------------------------------------------------

Set timer 1 up as a baud rate generator.

------------------------------------------------*/

TR1 = 0; /* stop timer 1 */

ET1 = 0; /* disable timer 1 interrupt */

PT1 = 1;

直流电机速度控制模型建立

十二、直流电动机速度控制模型建立 如图所示,a R 和a L 分别为电枢回路电阻和电感,a J 为机械旋转部分的转动惯量,f 为旋转部分的粘性摩擦系统,)(t u a 为电枢电压,)(t n 为电动机转动速度,)(t i a 为电枢回路电流。 通过调节电枢电压)(t u a ,控制电动机的转动速度)(t n 。电动机负载变化为电动机转动速度的干扰因素,用负载力矩)(t M d 表示。 根据直流电动机的工作原理及基尔霍夫定律,直流电动机有四大平衡方程: (1)电枢回路电压平衡方程 )()()(t u E t i R dt t di L a a a a a a =++ 式中,a E 为电动机的反电势。 (2)电磁转矩方程 )()(t ia K t M a w = 式中,)(t M w 为电枢电流产生的电磁转矩,a K 为电动机转矩系数。 (3)转矩平衡方程 )()()()(t M t M t fn dt t dn J d w a +=+ 式中,a J 为机械旋转部分的转动惯量,f 为旋转部分的粘性摩擦系数。 (4)由磁感应关系,得 )(t n K E b a = 根据上述的四个平衡方程式,可建立起系统的输出量、干扰量与输入量之间的传递函数 b a a a a a a a a a K K f R s J R f L s L J K s U s N ++++=)()()(2 a a a a d R s L K s U s M +-=)()( 建立起直流电动机的结构图为

直流电动机参数为 Ω =0.2a R , 015.0,015.0,5.0===b a a K K H L ,Nms f 2.0=,202.0m kg J a ?=。 得到系统的阶跃响应曲线为

根据8086的直流电机的控制

目录 一、直流电机控制的设计思路: (2) 二、直流电机控制的硬件框图: (2) 2.1并行I\O口输入、输出 (2) 2.2输出锁存 (3) 2.3电机驱动模块 (4) 2.4仿真模拟图 (5) 三、软件设计 (6) 3.1程序流程图 (6) 3.2程序代码 (7) 四、项目体会 (9)

一、直流电机控制的设计思路: 1)通过按键改变电动机的启动与停止,当启动后再由按键选择工作方式。 2)通过改变pwm的极性从而改变电机的转向,实现正反转。 3)可实现顺、逆旋转的直接切换,不用按下停止后再启动反向运转。 二、直流电机控制的硬件框图: 通过按钮来控制电机的顺、逆时针转,并且可以实现顺、逆旋转直接切换,无需中间停顿。 2.1并行I\O口输入、输出 采用8255A作为信号的输入与输出接口,使用前需设置芯片的控制

字来确定其工作方式,以及端口的使用。本次采用的控制字为90H,即A组工作在方式0,作为输入接口,连接按钮,B组工作在方式0,作为输出接口连接电机驱动模块。 8255AI\O接口使用 2.2输出锁存 使用常见的74HC373芯片来实现输出锁存,由于按钮具有复位功能,当按钮按下后的一瞬间才产生输入,所以需要输出锁存来保持电机的连续运转,本次采用两块74HC373,一块与8255A的A0、A1口连接作为电机运行信号的控制,另一块与3-8译码器74H138相连,接入8255A的片选信号输入端,选中8255A运行。

74H373接口使用 2.3电机驱动模块 通过对IN1、IN2的状态改变来控制L293D芯片的输出,从而实现电机的顺、逆时针转动 电机驱动模块

直流电机控制系统

直流电机控制系统

摘要:本文利用MCS-51系列单片机产生PWM信号,采用了自己设计的电机驱动电路,实现对直流电机的转速和控制方向的控制,并着重对电机驱动电路的设计进行叙述。主要模块包括单片机控制模块、电机驱动模块、电机接口模块、电源模块、键盘控制模块。 关键词:PWM信号,直流电机,电机驱动,单片机

引言 随着科学技术的迅猛发展,电气设备发展日新月异.尤其以计算机,信息技术为代表的高新技术的发展,使制造技术的内涵和外延发生了革命性的变化,传统的电气设备设计,制造技术不断吸收信息控制,材料,能量及管理等领域的现代成果,综合应用于产品设计,制造,检测,生产管理和售后服务.在生产技术和生产模式等方面,许多新的思想和概念不断涌现,而且,不同科学之间相互渗透,交叉融合,迅速改变着传统电气设备制造业的面貌,从而使得产品频繁的更新换代,这就使得电机成为社会生产和生活中必不可少的工具.随着科学技术的不断发展,人类社会的不断进步,人们对生活产品的需求要不断趋向多样化,这就要求生产设备必须具有良好的动态性能,在不同的时候进行不同的操作,完成不同的任务.为了使系统具有良好的动态性能必须对系统进行设计.特别是大型的钢铁行业和材料生产行业,为达到很高的控制精度,速度的稳定性,调速范围等国产直流电机简介为了满足各行业按不同运行条件对电动机提出的要求,将直流电机制造成不同型号的系列.所谓系列就是指结构形状基本相似,而容量按一定比例递增的一系列电机.它们的电压,转速,机座型号和铁心长度都是一定的等级.现将我国目前生产的几个主要系列直流电机简要的介绍如下。Z2系列为普通用途的中,小型电机.它的容量从400W到200KW,电动机的额定电压有200V和110V两种,额定转速有3000,1500,1000,750及600r/min五个等级.Z2系列普通用

基于MATLAB的直流电机速度控制仿真

密级: 科学技术学院 NANCHANG UNIVERSITY COLLEGE OF SCIENCE AND TECHNOLOGY 学士学位论文 THESIS OF BACHELOR (2012 —2016 年) 题目基于MATLAB的直流电机速度控制仿真学科部:信息学科部 专业:电气工程及其自动化 班级:电气122班 学号:7022812072 学生姓名:谢磊 指导教师:万旻 起讫日期:2015年12月至2016年5月31日

目录 目录 (1) 摘要: ........................................................................................................................................................... I Abstract:............................................................................................................................................................ II 第一章绪论 (1) 1.1 课题来源及意义 (1) 1.2 国内外发展现状 (1) 1.3研究目标及内容 (1) 1.3.1研究目标 (1) 1.3.2研究内容 (1) 第二章MATLAB介绍 (2) 2.1 MATLAB简介 (2) 2.2 MATLAB所蜕变的历史经过 (2) 2.3 MATLAB的特点 (2) 2.4 控制系统仿真中常用的函数介绍 (2) 2.5 Simulink的基本介绍 (3) 第三章直流电机速度控制系统的建模和仿真 (4) 3.1 直流电机的工作原理 (4) 3.3直流电机速度控制仿真研究原理 (5) 第四章直流电机速度控制仿真介绍 (6) 4.1 直流电机H桥关于H桥的驱动的设计 (6) 4.1.1、H桥驱动电路 (6) 4.1.2 使能控制和方向逻辑 (7) 4.2直流电机速度控制仿真图 (9) 4.3仿真的模拟 (9) 4.4 仿真的分析 (12) 第五章总结与展望 (13) 参考文献 (14) 致谢 (15)

直流电机转速控制

. 直流电机转速控制 课程设计

姓名: 学号: 班级: 目录 1.直流电机转速控制方案设计 (2) 1.1设计要求 (2) 1.2设计框图 (2) 2.直流电机转速控制硬件设计 (3) 2.1主要器件功能 (3) 2.2硬件原理图 (6)

3.直流电机转速控制软件设计 (7) 4.调试 (8) 4.1硬件测试 (8) 4.2软件调试……………………………………………………………(11 1.直流电机转速控制方案设计 1.1设计要求 通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。

1、用按键1控制旋转方向,实现正转和反转。 2、电机的设定转速与电机的实际转速在数码管上显示。 3、旋转速度可实时改变。 1.2设计框图 本课题中测量控制电路组成框图如下所示: 图1

2.直流电机转速控制硬件设计 2.1主要器件功能 1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。 图2 板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。POWER 接直流电源,注意正负,电

直流电机控制设计(1)

河南科技大学 课程设计说明书 课程名称现代电子系统课程设计题目_直流电机控制设计 学院__电子信息工程学院____班级_________ 学生姓名__________ 指导教师__________

日期_______ 课程设计任务书 (指导教师填写) 课程设计名称现代电子系统课程设计学生姓名专业班级 设计题目直流电机控制设计 一、课程设计目的 学习直流电机PWM的FPGA控制; 掌握PWM控制的工作原理; 掌握GW48_SOPC实验箱的使用方法; 了解基于FPGA的电子系统的设计方法。 二、设计内容、技术条件和要求 利用PWM控制技术实现直流电机的速度控制。 (1)基本要求: a.速度调节:4档,数字显示其档位。 b.能控制电机的旋转方向。 c.通过红外光电电路测得电机的转速,设计频率计用4位10进制显示电机的转速。 (2)发挥部分 a.设计“去抖动”电路,实现直流电机转速的精确测量。 b.修改设计,实现直流电机的闭环控制,旋转速度可设置。 c.其它。 三、时间进度安排 布置课题和讲解:1天 查阅资料、设计:4天 实验:3天 撰写报告:2天 四、主要参考文献 何小艇《电子系统设计》浙江大学出版社2008.1 潘松黄继业《EDA技术实用教程》科学出版社2006.10 齐晶晶《现代电子系统设计》实验指导书电工电子实验教学中心2009.8

指导教师签字:2010年12月30日 摘要 利用FPGA可编程芯片及VHDL语言实现了对直编程实现流电机PWM控制器的设计,对直流电机速度进行控制。介绍了用VHDL语言编程实现直流电机PWM控制器的PWM的产生模块、转向调节模块、转速控制模块、去抖动电路模块、电机转速显示等模块功能。 采用CPU控制产生PWM信号,一般的PWM信号是通过模拟比较器产生的,比较器的一端按给定的参考电压,另一端接周期性线性增加的锯齿波电压。当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出高电平。改变参考电压就可以改变PWM波形中高电平的宽度。若用单片机产生PWM信号波形,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出PWM波形,因此外围电路比较复杂。 FPGA中的数字PWM控制与一般的模拟PWM控制不同,用FPGA产生PWM波形,只需FPGA 内部资源就可以实现。用数字比较器代替模拟比较器,数字比较器的一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。与模拟控制相比,省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。脉宽调制式细粉驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽细分数的增大而减小。 直流电机控制电路主要由三部分组成: (1)FPGA中PWM脉宽调制信号产生电路。 (2)FPGA中的工作/停止控制和正/反转方向控制电路。 (3)由功率放大电路和H桥组成的正反转功率驱动电路 关键词

基于Matlab的直流电机速度控制

基于Matlab的直流电机速度控制

系统仿真 课程设计报告 设计题目:基于Matlab的直流电机速度控制 专业:自动化 学生姓名: 班级学号: 指导教师: 开课日期2013年 7 月 1 日至2013年 7 月 13 日南京邮电大学自动化学院

一、课程设计题目 控制系统的执行机构常用直流电机来驱动,电路和原理示意图如下所示 其开环传递函 数 为 ()()0001 .0)15.0)(1.001.0(01 .02+++= +++= s s K R Ls b Js K V θ ,请用时域分析方法设计PID 控制器,使系统满足下列性能指标要求:当仿真输入是单位阶跃信号时,电机输出转速调整时间小于2秒,超调小于5%,稳态误差小于1%。 要求给出详细的设计步骤,matlab 源码及仿真曲线。 二、实验原理 本报告首先介绍了直流电动机的物理模型,并测量计算了它的具体参数。然后根据牛顿第二定律和回路电压法分别列写运动平衡方程式和电机电枢回路方程式,从而通过一些数学变换抽象出了以电压为输入、转速为输出、电流和转速为状态变量的数学模型。借助MATLAB 设计simulink 模块调整PID 模块的各项系数,使系统的阶跃响应达到了设计指标。 1、建立该系统的时域数学模型 由克希霍夫定律得: V=R*i+L +e 直流电机转矩和电枢电流关系为 T=Kt*I 电枢旋转产生反电动势与旋转运动角速度的关系为 e=

由牛顿定律,转子力矩平衡关系为 其中,T:负载转矩,:负载电流 V(s)=R*I(s)+L*sI(s)+E(s) 拉式变换:E=Ke(s) 划去中间变量得: 开环传递函数为: 2、PID控制器的功能 比例环节:Kp增大等价于系统的开环增益增加,会引起系统响应速度加快,稳态误差减少,超调量增加。当Kp过大时,会使闭环系 统不稳定; 积分环节:相当于增加系统积分环节个数,主要作用是消除系统的稳态误差。积分环节作用的强弱取决于积分时间常数Ti,Ti增大, 系统超调量变小,响应速度变慢; 微分环节:主要作用是提高系统的响应速度,同时减少系统超调量,抵消系统惯性环节的相位滞后不良作用,使系统稳定性明显改善。 Td偏大或偏小,都会使超调量增大,调整时间加长。由于该环节所产 生的控制量与信号变化速率有关,故对于信号无变化或变化缓慢的系 统微分环节不起作用。 三、设计步骤 方法1: 搭建simulink模块,利用经验调节法整定PID参数,使整个系统满足调节时间小于2秒,超调小于5%,稳态误差小于1%。 1、搭建的simulink模块图如下:

直流无刷电机转速控制

一、 直流无刷电机转速控制 1. 模拟PID 控制 1.1 模拟PID 控制原理 在模拟控制系统中,最常用的控制器就是模拟PID 控制器。以下图所示直流电机 控制系统为例,说明PID 控制器控制电机转速的原理。图中)(0t n 为转速设定值,)(t n 为转速反馈值,)()()(0t n t n t e -=为偏差信号,偏差信号通过PID 控制器后产生控制作用作用于直流电机从而控制电机转速到设定值。 常见的模拟PID 控制系统如下图所示。PID 控制器由比例、积分、微分的线性组合构成。控制规律如下: ]) ()(1)([)(0?++=t d i p dt t de T d e T t e K t u ττ * 其中: p K ——控制器的比例系数 i T ——控制器的积分系数 d T ——控制器的微分系数 1) 比例部分 比例部分的数学表达式:)(t e K p 。 比例部分的作用是对偏差信号做出快速反应,一旦控制器检测到偏差,比例部分就 能迅速产生控制作用,且偏差越大,控制作用越强。但仅存在比例控制的系统存在稳态偏差。比例系数越大,响应越快,过渡越快,稳态偏差也越小,但系统也越不稳定,因此比例系数必须选择恰当。 2) 积分部分 积分部分的数学表达式: ?t i p d e T K 0 )(ττ。

从积分部分表达式可以看出,只要系统输出与设定值存在偏差,积分作用就会不断增加,知道偏差为零,因此积分部分可以消除稳态偏差。但积分作用会降低系统的响应速度,增加系统的超调量。积分常数越小,积分作用越强,过渡过程容易产生震荡,但回复时间减小;积分常数越大,积分作用越弱,过渡过程不产生震荡,但回复时间增长。因此应根据具体情况选取积分常数。 3) 微分部分 微分部分的数学表达式: dt t de T K d p ) (。 微分作用能阻值偏差的变化。它根据偏差的变化趋势进行控制。偏差变化越快,微分作用越强,能在偏差变化之前就行控制。微分作用的引入有助于减小超调量,克服振荡;但微分作用对噪声很敏感,导致系统的错误响应,使系统不稳定。 为实现PID 控制器的软件实现,将式*进行适当离散化,即离散PID 。 2. 数字PID 控制 2.1 位置式PID 算法 离散化处理的方法是,以T 为采样周期,对模拟信号进行采样,以k 为采样序列号,进行以下近似: T e e dt t de e T d e kT t k k k j j t 1 )()(-=-≈≈≈∑?ττ 将上式带入式*,得到如下式所示的位置式离散PID 控制规律。 ][1 T e e T e T T e K u k k d k j j i k p k -=-++ =∑ ** 由于位置式PID 要对t 时刻之前的所有输出进行记录,工作量大,对计算机硬件要求高。增量式PID 可避免这些。 2.2 增量式PID 算法 由式**得到 ][2 11 11T e e T e T T e K u k k d k j j i k p k ---=---++ =∑ 将式**与上式相减,得到增量式PID 控制规律如下 211)21()1(---++-++ =-=?k d p k d p k d i p k k k e T T K e T T K e T T T T K u u u *** 一旦得出控制作用的增量,就可递推得出当前控制作用的输出。 2.3 控制器参数整定 1) 离线整定法 步骤 1:将控制器从“自动”模式切换至“手动”模式(此时控制器输出完全由人工控制),人为以阶跃方式增大或减少控制器输出,并记录控制器相关的输入输出动态响应数据。 步骤 2:由阶跃响应数据估计特性参数 K , T ,τ。

直流电机控制电路集锦

直流电机控制电路集锦 直流电机的类型 按:直流电机在家用电器、电子仪器设备、电子玩具、录相机及各种自动控制中都有广泛的应用。但对它的使用和控制,很多读者还不熟悉,而且其技术资料亦难于查找。直流电机控制电路集锦,将使读者“得来全不费功夫”! 在现代电子产品中,自动控制系统,电子仪器设备、家用电器、电子玩具等等方面,直流电机都得到了广泛的应用。大家熟悉的录音机、电唱机、录相机、电子计算机等,都不能缺少直流电机。所以直流电机的控制是一门很实用的技术。本文将详细介绍各种直流电机的控制技术。 站长的几句说明:本文内容比较详实完整,但遗憾的是原稿的印刷质量和绘图的确很差,尽管采取了很多措施,有些图仍可能看不太清楚。 直流电机,大体上可分为四类: 第一类为有几相绕组的步进电机。这些步进电机,外加适当的序列脉冲,可使主轴转动一个精密的角度(通常在1.8°--7.5°之间)。只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动。 步进电机用微处理器或专用步进电机驱动集成电路,很容易实现控制。例如常用的SAAl027或SAAl024专用步进电机控制电路。 步进电机广泛用于需要角度转动精确计量的地方。例如:机器人手臂的运动,高级字轮的字符选择,计算机驱动器的磁头控制,打印机的字头控制等,都要用到步进电机。 第二类为永磁式换流器直流电机,它的设计很简单,但使用极为广泛。当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中。也用于变速范围很宽的驱动装置,例如:小型电钻、模型火车、电子玩具等。在这些应用中,它借助于电子控制电路的作用,使电机功能大大加强。 第三类是所谓的伺服电机,伺服电机是自动装置中的执行元件,它的最大特点是可控。在有控制信号时,伺服电机就转动,且转速大小正比于控制电压的大小,除去控制信号电压后,伺服电机就立即停止转动。伺服电机应用甚广,几乎所有的自动控制系统中都需要用到。例如测速电机,它的输出正比于电机的速度;或者齿轮盒驱动电位器机构,它的输出正比于电位器移动的位置.当这类电机与适当的功率控制反馈环配合时,它的速度可以与外部振荡器频率精确锁定,或与外部位移控制旋钮进行锁定。 唱机或激光唱机的转盘常用伺服电机。天线转动系统,遥控模型飞机和舰船也都要用到伺服电机。 最后一类为两相低电压交流电机。这类电机通常是直流电源供给一个低频振荡器,然后再用低频低压的交流去驱动电机。这类电机偶尔也用在转盘驱动机构中。 步进电机的基本工作原理

直流电机PID控制与仿真

长春大学 课程设计说明书 题目名称直流电机速度PID控制与仿真 院(系)电子信息工程学院 专业(班级)自动化13403 学生姓名张华挺 指导教师曹福成 起止日期2016.10.24——2016.11.04

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 直流电机速度PID控制与仿真 摘要:在本次课程设计中重点研究直流电机的工作原理以及直流电机的各种调速方法。在调速控制中,我们包含两个大的部分,一个是直流电机的开环控制,另一个是直流电机的闭环控制,在直流电机的闭环控制中,又分别介绍转速闭环控制和PID闭环控制,并且对直流电机的每个模型进行建模并仿真,观察其动态性能,分析研究直流电机的各个控制的优缺点。 关键词:直流电动机;转速控制;PID控制;Matlab仿真

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ DC Motor Speed PID Control and Simulation Abstract: In this curriculum design, the work principle of DC motor and DC motor speed control methods are studied. In speed control, we include two parts, one is the open loop control of DC motor, the other is a closed loop DC motor control in DC motor closed-loop control, and introduces the speed closed-loop control and PID control, and each model of the DC motor for modeling and simulation to observe the dynamic performance analysis of DC motor control and the advantages and disadvantages of each. Keywords: DC motor; speed control; PID control; Matlab simulation

直流电机转速控制(DOC)

直流电机转速控制 课程设计 姓名: 学号: 班级:

目录 1.直流电机转速控制方案设计 (2) 1.1设计要求 (2) 1.2设计框图 (2) 2.直流电机转速控制硬件设计 (3) 2.1主要器件功能 (3) 2.2硬件原理图 (6) 3.直流电机转速控制软件设计 (7) 4.调试 (8) 4.1硬件测试 (8) 4.2软件调试……………………………………………………………(11

1.直流电机转速控制方案设计 1.1设计要求 通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。 1、用按键1控制旋转方向,实现正转和反转。 2、电机的设定转速与电机的实际转速在数码管上显示。 3、旋转速度可实时改变。 1.2设计框图 本课题中测量控制电路组成框图如下所示: 图1

2.直流电机转速控制硬件设计 2.1主要器件功能 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只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、

直流电机原理与控制方法

专业资料 电机简要学习手册 2015-2-3

一、直流电机原理与控制方法 1直流电机简介 直流电机(DM)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能 (直流发电机)的旋转电机。 它是能实现直流电能和机械 能互相转换的电机。当它作电 动机运行时是直流电动机,将 电能转换为机械能;作发电机 运行时是直流发电机,将机械 能转换为电能。 直流电机由转子(电枢)、定子(励磁绕组或者永磁体)、换向器、电刷等部分构成,以其良好的调速性能以至于在矢量控制出现以前基本占据了电机控制领域的整座江山。但随着交流电机控制技术的发展,直流电机的弊端也逐渐显现,在很多领域都逐渐被交流电机所取代。但如今直流电机仍然占据着不可忽视的地位,广泛用于对调速要求较高的生产机械上,如轧钢机、电力牵引、挖掘机械、纺织机械,龙门刨床等等,所以对直流电机的了解和研究仍然意义重大。 2 直流电动机基本结构与工作原理 2.1 直流电机结构

如下图,是直流电机结构图,电枢绕组通过换向器流过直流电流与定子绕组磁场发生作用,产生转矩。定子按照励磁可分为直励,他励,复励。电枢产生的磁场会叠加在定子磁场上使得气隙主磁通产生一个偏角,称为电枢反应,通常加补偿绕组使磁通畸变得以修正。 2.2 直流电机工作原理 如图所示给两个电刷加上直流电源,如上图(a)所示,则有直流电流从电刷 A 流入,经过线圈abcd,从电刷 B 流出,根据电磁力定律,载流导体ab和 cd收到电磁力的作用, 其方向可由左手定则判 定,两段导体受到的力 形成了一个转矩,使得 转子逆时针转动。如果 转子转到如上图(b)所 示的位置,电刷 A 和换向片2接触,电刷 B 和换向片1接触,直流电流从电刷 A 流入,在线圈中的流动方向是dcba,从电刷 B 流出。 此时载流导体ab和cd受到电磁力的作用方向同样可由左手定

直流电动机速度控制设计概述

第一章:概述 直流电动机是人类发明最早和应用的一种电机。与交流电机相比,直流电机因结构复、维护苦难,价格昂贵等缺点制约了它的发展,应用不及交流电机广泛。但由于直流电动机具有优良的启动、调速和制动性能,因此在工业领域中仍占有一席之地。 转速调节的主要技术指标是:调速范围D和负载变化时对转速的影响即静差率,以及调速时的允许负载性质等(静差率就是表示在负载变化时拖动装置转速降落的程度。静差率越小,表示转速稳定性越好,对生产机械,如机床加工的零件,其加工的精度及表面光洁度就越高)。而直流电动机的突出优点是恰好是能在很大的范围内具有平滑,平稳的调速性能,过载能力较强,热动和制动转矩较大。 因此,从可靠性来看,直流电动机仍有一定的优势。 调节直流电动机转速的方法有三种: (1)电枢回路串电阻; (2)改变励磁电流; (3)改变电枢回路的电源电压; 而本文从另一个角度来阐述直流电机的速度控制,即利用自动控制中的反馈来调节电机的平稳运行以达到各项性能指标。

第二章:系统数学模型 本系统的简化方框图为: 其对应的原理图为: 控制系统的被控对象为电动机(带负载),系统的输出量是转速w ,参数亮是Ui 。控制系统由给定电位器、运算放大器1(含比较作用)、运算放大器2(含RC 校正网络)、功率放大器、测速发电机、减速器等部分组成。 工作原理为:当负载角速度ω和电动机角速度m ω一致的时候,反馈电压为0,电机处于平衡状态即电动机运行稳定。当负载的角速度收到干扰的作用时,ω和m ω失谐,控制系 统通过反馈电压的作用来改变m ω直到达到新的一致使系统恢复稳定,电机稳定运行。

2.1直流电动机的数学模型: 直流电动机的数学模型。直流电动机可以在较宽的速度范围和负载范围内得到连续和准确地控制,因此在控制工程中应用非常广泛。直流电动机产生的力矩与磁通和电枢电流成正比,通过改变电枢电流或改变激磁电流都可以对电流电机的力矩和转速进行控制。图2.2是一个电枢控制式直流电动机的原理图。在这种控制方式中,激磁电流恒定,控制电压加在电枢上,这是一种普遍采用的控制方式。 设为输入的控制电压 电枢电流 为电机产生的主动力矩 为电机轴的角速度 为电机的电感 为电枢导数的电阻 为电枢转动中产生的反电势 为电机和负载的转动惯量 根据电路的克希霍夫定理 (2-1) 电机的主动转矩 (2-2) 其中为电机的力矩常数。 反电势 (2-3) 式中为电机反电势比例系数 力矩平衡方程

直流电机速度控制

目录 摘要.................................................. II 第1章绪论. (1) 第2章系统论述 (3) 2.1 总体方案 (3) 2.2 基本原理 (3) 2.3 原理框图 (3) 第3章系统的硬件设计 (5) 3.1 单片机最小系统的设计 (5) 3.2 电源电路设计 (6) 3.3 直流电机驱动电路设计 (7) 3.4 显示模块设计 (8) 3.5 按钮电路设计 (8) 3.6 元件参数选择 (9) 第4章系统的软件设计 (11) 4.1 总体方案 (11) 4.2 相关软件介绍 (12) 4.3 应用软件的编制、调试 (13) 第5章仿真结果与分析 (14) 5.1仿真电路图 (14) 5.2 仿真结果 (14) 第6章总结 (17) 参考文献 (18) 附录A:系统整体硬件电路图 (19) 附录B:程序代码 (20)

摘要 当今,计算机控制系统已经在各行各业中得到了广泛的应用和发展,而直流驱动控制作为电器传动的主流在现代化生产中起着主导作用。由于生产过程的不同要求,需要电动机进行不同转速的运转。为此,研究并制造高性能、高可靠性的直流电动机控制系统有着十分重要的显示意义。 本设计主要运用AT89C51单片机为核心硬件,对直流电动机进行速度控制。并且辅助以硬件部分的驱动、复位、LED显示等电路,软件部分对AT89C51进行模块化程序的输入,通过按钮控制,实现对直流电动机的正转、反转、加速、减速和停止等控制功能。同时,由LED与电动机转速显示控制效果。利用AT89C51芯片进行低成本直流电动机控制系统设计,简化系统构成、提高系统性能,满足了生产要求。 关键词:计算机控制 AT89C51单片机直流电动机

微机原理课程设计—直流电机闭环调速控制系统

实验课题:直流电机调速控制 实验内容: 本实验完成的是一个实现对直流电机转速调节的应用。 编写实验程序,用ADC0809完成模拟信号到数字信号的转换。输入模拟信号有A/D转换单元可调电位器提供的0~5V,将其转换后的数字信号读入累加器,做为控制电机的给定转速。用8255的B口作为直流电机的控制信号输出口,通过对电机转速反馈量的运算,调节控制信号,达到控制电机匀速转动的的作用。并将累加器中给定的转速和当前测量转速显示在屏幕上。再通过LED灯显示出转速的大小变化。 实验目的: (1)学习掌握模/数信号转换的基本原理。 (2)掌握的ADC0809、8255芯片的使用方法。 (3)学习PC系统中扩展简单I/O接口的方法。 (4)了解实现直流电机转速调节的基本方法。 实验要求: 利用微机接口实验系统的硬件资源,运用汇编语言设计实现直流电机的调速控制功能。 基本功能要求:1、利用A/D转换方式实现模拟量给定信号的采样;2、实现PWM方式直流电机速度调节;3、LED灯显示当前直流电机速度状态。 实验设备: (1)硬件要求: PC微机一台、TD-PIT实验系统一套 (2)软件要求:唐都编程软件,tdpit编程软件,“轻松编程”软件 实验原理: 各芯片的功能简介: (1)8255的基本输出接口电路: 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息,CPU 和接口之间的数据传递总是并行的,即可以同时进行传递8位,16位,32位等。8255可编程外围接口芯片是具有A、B、C三个并行接口,+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/出方式、方式1—选通输入/出方式、方式2—双向选通工作方式。

直流电机原理与控制方法

电机简要学习手册 2015-2-3

一、直流电机原理与控制方法 1直流电机简介 直流电机(DM)是指能将 直流电能转换成机械能(直流 电动机)或将机械能转换成直 流电能(直流发电机)的旋转 电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 直流电机由转子(电枢)、定子(励磁绕组或者永磁体)、换向器、电刷等部分构成,以其良好的调速性能以至于在矢量控制出现以前基本占据了电机控制领域的整座江山。但随着交流电机控制技术的发展,直流电机的弊端也逐渐显现,在很多领域都逐渐被交流电机所取代。但如今直流电机仍然占据着不可忽视的地位,广泛用于对调速要求较高的生产机械上,如轧钢机、电力牵引、挖掘机械、纺织机械,龙门刨床等等,所以对直流电机的了解和研究仍然意义重大。

2 直流电动机基本结构与工作原理 2.1 直流电机结构 如下图,是直流电机结构图,电枢绕组通过换向器流过直流电流与定子绕组磁场发生作用,产生转矩。定子按照励磁可分为直励,他励,复励。电枢产生的磁场会叠加在定子磁场上使得气隙主磁通产生一个偏角,称为电枢反应,通常加补偿绕组使磁通畸变得以修正。 2.2 直流电机工作原理 如图所示给两个电刷加上直流电源,如上图(a)所示,则有直流电流从电刷 A 流入,经过线圈abcd,从电刷 B 流出,根据电磁力定律,载流导体ab和 cd收到电磁力的作用, 其方向可由左手定则判 定,两段导体受到的力 形成了一个转矩,使得 转子逆时针转动。如果 转子转到如上图(b)所

示的位置,电刷 A 和换向片2接触,电刷 B 和换向片1接触,直流电流从电刷 A 流入,在线圈中的流动方向是dcba,从电刷 B 流出。 此时载流导体ab和cd受到电磁力的作用方向同样可由左手定则判定,它们产生的转矩仍然使得转子逆时针转动。这就是直流电动机的工作原理。外加的电源是直流的,但由于电刷和换向片的作用,在线圈中流过的电流是交流的,其产生的转矩的方向却是不变的。 发电机的原理则是电机的逆过程:原动机提供转矩,利用法拉第电磁感应产生直流电流。 如下图,比较清晰的说明了直流电动机的原理。 3直流电机重要特性 如下图,更加清晰的揭示了直流电机电流电压与转速转矩之间的关系。 我们可以得到直流电机的四个基本方程:

双闭环直流电机调速的matlab仿真

双闭环直流电机调速系统的设计与MATLAB 仿真 双闭环调速系统的工作原理 转速控制的要求和调速指标 生产工艺对控制系统性能的要求经量化和折算后可以表达为稳态和动态性能指标。设计任务书中给出了本系统调速指标的要求。深刻理解这些指标的含义是必要的,也有助于我们构想后面的设计思路。在以下四项中,前两项属于稳态性能指标,后两项属于动态性能指标 调速范围D 生产机械要求电动机提供的最高转速和最低转速之比叫做调速范围,即 m in m ax n n D = (1-1) 静差率s 当系统在某一转速下运行时,负载由理想空载增加到额定值所对应的转速降落,与理想空载转速之比,称作静差率,即 %1000 ??= n n s nom (1-2) 静差率是用来衡量调速系统在负载变化下转速的稳定度的。 跟随性能指标 在给定信号R (t )的作用下,系统输出量C (t )的变化情况可用跟随性能指标来描述。具体的跟随性能指标有下列各项:上升时间r t ,超调量σ,调节时间s t . 抗扰性能指标 此项指标表明控制系统抵抗扰动的能力,它由以下两项组成:动态降落%max C ?,恢复时间v t . 调速系统的两个基本方面 在理解了本设计需满足的各项指标之后,我们会发现在权衡这些基本指标,即

1) 动态稳定性与静态准确性对系统放大倍数的要求; 2) 起动快速性与防止电流的冲击对电机电流的要求。 采用转速负反馈和PI 调节器的单闭环调速系统,在保证系统稳定的条件下,实现转速无静差,解决了第一个问题。但是,如果对系统的动态性能要求较高,例如要求快速启制动,突加负载动态速降小等等,则单闭环系统就难以满足要求。这主要是因为在单闭环系统中不能完全按照需要来控制动态过程中的电流和转矩。 在电机最大电流受限的条件下,希望充分利用电机的允许过载能力,最好是在过渡过程中始终保持电流为允许的最大值,使电力拖动系统尽可能用最大的加速度起动,到达稳态后,又让电流立即降低下来,使转速马上与负载相平衡,从而转入稳态运行。在单闭环调速系统中,只有电流截止负反馈环节是专门用来控制电流的,但它只是在超过临界电流I dcr 值以后,靠强烈的负反馈作用限制电流的冲击,并不能很理想的控制电流的动态波形。带电流截止负反馈的单闭环调速系统起动时的电流和转速波形如图1-1a 所示。 a) b) 图1-1 调速系统启动过程的电流和转速波形 a) 带电流截止负反馈的单闭环调速系统的启动过程 b) 理想快速启动过程 当电流从最大值降低下来以后,电机转矩也随之减小,因而加速过程必然拖 I d t 0 I 0 t

直流电动机转速控制

直流电动机转速控制 王文玺 (北京交通大学机械与电子控制工程学院,北京) 摘要:通过对直流电动机控制系统的建模,再利用Matlab对建模后的系统进行分析,来加深对自动控制系统的理解。找到系统的输入、输出,理清经历各环节前后的信号变化,找出系统传递函数。 关键词:直流电动机、Matlab、建模、传递函数 1、直流电动机动态数学模型建立 1.1直流电机数字PID闭环速度控制,系统实现无静差控制。 这是一个完整的带PID算法的直流电动机控制系统。目标值为给定的期望值,期望值与被测输出结果形成的反馈做比较,得到误差信号。误差信号经过PID控制环节得到控制信号。继而经历驱动环节得到操作量,驱动量作用与对象即电动机然后得到输出信号即转速。转速通过传感器得到反馈信号。 1.2PID控制环节 1.3被控对象(直流电动机)的统一数学模型 信号类型一次为,输入信号为电压,然后电流、电流、转矩、转速,反馈信号为电压。

各环节的比例函数为: 1.3.1额定励磁条件下,直流电机的电压平衡关系: (Ud为外加电压,E 为感应电势,R a为电枢电阻 ,La为电枢电感,i a为电枢电流。) 拉氏变换后: (ra—L /R ,为电枢时间常数) 1.3.2直流电机的转矩平衡关系及拉氏变换: (Te 为电磁转矩,Tl 为负载转矩,B为 阻尼系数,J 为转动惯量,w为电机机 械转速,rm=J/B,为机械时间常数) 1.3.3电动机传递函数 可见直流电动机本身就是一个闭环系统,假设电机工作在空载状态,且机械时间常数远大于电枢时间常数,则电机传递函数可近似为: 1.4具体实例 电枢控制直流电动机拖动惯性负载的原理图,涉及的参数有:电压U为输入,转速为输出,R、L为电枢回路电阻、电感,K 是电动机转矩系数,K 是反电动势系数,K 是电动机和负载折合到电动机轴上的黏性摩擦系数,.厂是电动机和负载折合到电动机轴上的转动惯量。已知:R一2.0 Q,L:==0.5 H ,K = Kb一0.015,Kf一0.2 Nms,J— o.02kg.m 。 ( 取电压U为输入,转速叫为输出,由已知条件和原理图,根据直流电机的运动方程可以求出电动机系统的数学模型为:

直流电机的控制原理

直流电机的控制原理 直流无刷电机的控制原理:要让电机转动起来,首先控制部就必须根据hall-sensor感应到的电机转子目前所在位置,然后依照定子绕线决定开启(或关闭)换流器(inverter)中功率晶体管的顺序,inverter中之AH、BH、CH(这些称为上臂功率晶体管)及AL、BL、CL(这些称为下臂功率晶体管),使电流依序流经电机线圈产生顺向(或逆向)旋转磁场,并与转子的磁铁相互作用,如此就能使电机顺时/逆时转动。当电机转子转动到hall-sensor感应出另一组信号的位置时,控制部又再开启下一组功率晶体管,如此循环电机就可以依同一方向继续转动直到控制部决定要电机转子停止则关闭功率晶体管(或只开下臂功率晶体管);要电机转子反向则功率晶体管开启顺序相反。 基本上功率晶体管的开法可举例如下:AH、BL一组→AH、CL一组→BH、CL一组→BH、AL一组 →CH、AL一组→CH、BL一组,但绝不能开成AH、AL或BH、BL或CH、CL。此外因为电子零件总有开关的响应时间,所以功率晶体管在关与开的交错时间要将零件的响应时间考虑进去,否则当上臂(或下臂)尚未完全关闭,下臂(或上臂)就已开启,结果就造成上、下臂短路而使功率晶体管烧毁。 当电机转动起来,控制部会再根据驱动器设定的速度

及加/减速率所组成的命令(Command)与hall-sensor信号变化的速度加以比对(或由软件运算)再来决定由下一组(AH、BL或AH、CL或BH、CL或……)开关导通,以及导通时间长短。速度不够则开长,速度过头则减短,此部份工作就由PWM 来完成。PWM是决定电机转速快或慢的方式,如何产生这样的PWM才是要达到较精准速度控制的核心。

相关文档
最新文档