当前位置:文档之家› 直流电机调速论文

直流电机调速论文

直流电机调速论文1、课题背景随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位,这主要是因为直流电机不仅调速方便,而且在磁场一定的条件下,转速和电枢电压成正比,转矩容易被控制;同时具有良好的起动性能,能较平滑和经济地调节速度。

因此采用直流电机调速可以得到良好的动态特性。

由于直流电动机具有优良的起、制动性能,宜与在广泛范围内平滑调速。

在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。

近年来交流调速系统发展很快,然而直流控制系统毕竟在理论上和在时间上都比较成熟,而且从反馈闭环控制的角度来看,它又是交流系统的基础,长期以来,由于直流调速系统的性能指标优于交流调速系统。

因此,直流调速系统一直在调速系统领域内占重要位置。

2、课题功能本次课程设计主要是设计一个直流电机的驱动电路,在给定速度后,当负载变化时,速度是稳定的,构建一个闭环的控制系统。

本论文介绍了基于ATmega16单片机来实现最优PID控制的直流脉冲(PWM)调速系统,并且详细论述了该系统的控制方法、结构、参数设计、程序设计等方面的问题。

该系统结构简单,调速性能好,性能价格比高,真正实现了直流调速系统的高精度控制。

3、系统设计3.1设计要求设计一个直流电机的驱动电路,在给定速度后,当负载变化时,速度是稳定的,构建一个闭环的控制系统。

3.2总体设计方案3.2.1设计思路题目要求设计一个直流电机的驱动电路,系统可以分为控制部分和显示部分。

设计中采用ATmega16芯片为主控制核心,行列式键盘为控制部分,显示部分采用液晶LCM1602显示。

通过单片机软件产生PWM波来控制电机,经过测速电路和PID算法,实现电机速度的实时测量反馈和调节。

3.2.2方案论证与设计1、系统控制设计方案论证与选择方案一:采用MCS-51系列的单片机和专用的PWM芯片及外部D/A转换电路,同时结合PID算法实现实时控制。

方案二:直接采用A VR单片机由软件产生脉冲调制信号,经过PID算法,来对电机进行控制。

由于系统要求比较简单,考虑性价比上,所以采用ATmega16芯片,来对电机进行控制。

2、电机控制电路的设计方案一:采用专用电机控制集成芯片来控制电机转动,该方案电路简单、可靠。

方案二:直接采用四个三极管搭成桥式电路来控制电机的转动。

由于系统要求驱动电机为小电机,考虑性价比上,直接采用四个三极管进行控制。

3、键盘电路的设计由于系统要求功能简单,所以直接采用行式键盘进行控制。

键盘用来输入启动、停止信号和设定的速度值。

4、显示电路的设计显示电路采用LCM1602进行显示。

5、速度测量电路的设计速度测量采用光电开关,进行速度采集,经过单片机中断,将采样的数据经过换算,显示出来。

3.2.3系统组成经过比较与论证,最终确定的系统组成框图如图1所示,其中采用ATmega16为主控制芯片,采用1602进行显示,键盘控制电路和电机控制电路。

图1 系统组成框图4、系统硬件的设计与实现4.1 ATmega16单片机主控制电路图ATmega16芯片介绍:该芯片是基于增强的A VR RISC结构的低功耗8位CMOS微处理器,数据吞吐率高达1MIPS/MHz。

有如下特点:16K字节的系统内可编程Flash,512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个定时器/计数器等。

引脚说明:VCC:数字电路的电源GND:地端口A(PA7—PA0):端口A作为A/D转换器的模拟输入端,为8位双向I/O口。

端口B(PB7—PB0):8位双向I/O口。

端口C(PC7—PC0):8位双向I/O口。

端口D(PD7—PD0):8位双向I/O口。

~RESET:复位输入引脚。

XTAL1:反向振荡放大器与片内时钟操作电路的输入端。

XTAL2:反向振荡放大器的输出端。

A VCC:A VCC是端口A与A/D转换器的电源AREF:A/D的模拟基准输入引脚。

图2 ATmega16单片机主控制电路图4.2 主要单元电路的设计4.2.1 显示电路的设计该部分采用LCM1602液晶模块。

LCM1602是一种使用非常广泛的液晶模块,它支持5*7点阵和2行*16字符2两种模式,背光亮度和显示对比度可调,是一种功能较齐全,价格较便宜的液晶显示器件。

它由显示屏和驱动器两部分组成,单片机可通过写控制字的方式访问驱动器来实现对显示屏的控制。

图3 LCM1602显示电路图4.2.2键盘电路设计键盘电路采用行式键盘电路图4 键盘电路图4.2.3 电机驱动电路的设计图5 电机驱动电路工作原理简述如下:当ctr_A=1,ctr_B=0:则Q4导通→Q2截止,Q3截止→Q1导通。

于是电流i流经电机M的路径为:Vcc→Q1→M→D2→Q4→地,电机正转。

当ctr_A=0,ctr_B=1:则Q3导通→Q1截止,Q4截止→Q2导通。

于是电流i流经电机M的路径为:Vcc→Q2→M→D1→Q3→地,电机反转。

采用光耦电路进行电路隔离,有效提高电路的抗干扰性,当OC1A为1时,则ctr_A=1,当OC1A为0时,则ctr_A=0。

图6 光耦电路4.2.4电机测速电路的设计电机转速测量电路,采用光电开关进行对脉冲计数。

图7 电机测速电路图5、软件设计软件编写主要包括PWM波形的产生,电机转速的实时检测,PID控制算法,键盘扫描和液晶显示程序。

5.1 核心部分算法1、PWM波形的产生脉冲调制PWM开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。

通俗说的PWM就是波形,波形的波峰与波谷的关系成为占空比,可以通过PWM来控制电机。

A VR 单片机可以轻松实现PWM功能。

ATmega16的timer0和timer2都具有PWM功能,timer0和timer2都为8位定时器。

timer2为异步操作定时器,在操作过程中要等待寄存器状态更改完成。

本设计中设定使用timer0来实现PWM功能。

OC0 output mode 设定了PWM 输出控制选择:正常的端口操作,不与OC0 相连接,比较匹配发生时OC0 取反,比较匹配发生时OC0 清零,比较匹配发生时OC0 置位。

Waveform mode 设定了波形产生模式:比较匹配输出模式,快速PWM 模式,相位修正PWM 模式。

程序代码如下:#include#includevoid port_init(void){PORTA = 0x00;DDRA = 0x00;DDRB = 0x08; //PB3为PWM输出,非常重要,否则无法输出波形DDRB = 0x00;PORTC = 0x00; //m103 output onlyDDRC = 0x00;PORTD = 0x00;DDRD = 0x00;}//TIMER0 initialize - prescale:64// WGM: Normal// desired value: 1KHz// actual value: 1.002KHz (0.2%)void timer0_init(void){TCCR0 = 0x00; //stopTCNT0 = 0x8D; //设置定时器计数值/*TCNT0*/OCR0 = 0x73; //设置定时器比较的值/*OCR0*/TCCR0 = 0x23; //初始化控制timer0的寄存器/*TCCR0*/}#pragma interrupt_handler timer0_comp_isr:20void timer0_comp_isr(void){//compare occured TCNT0=OCR0}#pragma interrupt_handler timer0_ovf_isr:10void timer0_ovf_isr(void){TCNT0 = 0x8D; //reload counter value}//call this routine to initialize all peripheralsvoid init_devices(void){//stop errant interrupts until set upCLI(); //disable all interruptsport_init();timer0_init();MCUCR = 0x00;GICR = 0x00;TIMSK = 0x03; //定时器中断选项/*TIMSK*/SEI(); //re-enable interrupts//all peripherals are now initialized}void main(void) /*加上这些,程序就可以运行了。

*/{init_devices();while(1);}程序中几个关键的寄存器的意义:1. TCNT0:定时器计数值,定时过程中不断增大,溢出后重新置数,开始下一轮。

2. OCR0:定时器比较的值,当TCNT0 =OCR0时,会产生timer0_comp_isr中断。

3. TCCR0:控制timer0的寄存器。

4. TIMSK:定时器中断选项,这里允许timer0比较中断,溢出中断。

5. 预分频器:预分频器是独立运行的。

也就是说,其操作独立于T/C 的时钟选择逻辑,且它由T/C1 与T/C0 共享。

由于预分频器不受T/C 时钟选择的影响,预分频器的状态需要包含预分频时钟被用到何处这样的信息。

一个典型的例子发生在定时器使能并由预分频器驱动(6 > CSn2:0 > 1)的时候:从计时器使能到第一次开始计数可能花费 1 到N+1个系统时钟周期,其中N 等于预分频因子(8、64、256 或1024)。

PWM的工作流程:1. 初始化,定时器开始工作,TCNT0逐渐增大,在预分频这么多个时钟周期里变化一次。

2. 输出比较寄存器包含一个8 位的数据,不间断地与计数器数值TCNT0 进行比较。

匹配事件可以用来产生输出比较中断,或者用来在OC0 引脚上产生波形。

3. TCNT0溢出,溢出中断用于在OC0上产生波形,置位或者清零。

4. TCNT0复位,进行下一次定时操作。

PWM的占空比:调节PWM的占空比,只需要用程序更改OCR0的值即可,根据不同的情况,可能是增加也可能是减小。

注意:因为Timer2是异步控制器,使用Timer2时,调节OCR2需要等待寄存器更新完成才能进行其他操作。

2、PID控制算法要使电机的转速稳定在某一预定的转速,需要随时监测(采样)电机的转速并与预定值(设定值)相比较,根据比较的结果来不断调整电机的转速,使之尽量接近设定值,这一过程成为闭环反馈控制,其控制方法(控制策略)称为控制算法,控制算法可以有多种多样,其中典型的一种算法叫做PID(比例—积分—微分)算法(或PID控制)。

相关主题