《直流电动机的应用第九章应用实例毕业设计论文.doc》由会员分享,可在线阅读,更多相关《直流电动机的应用第九章应用实例毕业设计论文.doc(36页珍藏版)》请在金锄头文库上搜索。
1、第九章 应用实例在本章中,将前几章所学的内容进一步扩展,设计并完成几个完整的应用实例,巩固所学的知识。特别是提高程序设计和调试能力。9.1 直流电动机的应用直流电动机的基本知识1)直流电动机工作原理直流电动机就是将直流电能转换为机械能的转动装置。直流电动机具有良好的调速性能、较大的启动转矩和过载能力强等诸多优点,因此在许多行业中应用广泛。特别在全国大学生电子设计竞赛中,微型直流电机、电动小车多次作为控制类题目主要控制对象。微型直流电机(包括玩具直流电机、小型直流减速电机等)一般为永磁式直流电动机。永磁式直流电动机由定子磁极、转子、换向器、电刷、机壳、轴承等构成。定子磁极采用永磁体(永久磁钢),
2、定子的作用是产生主磁场。转子为进行能量转换的电枢,在磁场中产生感应电动势和电磁转矩。直流电机定子固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续旋转受到的磁场方向将改变,因此此时转子末端的电刷跟换向片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。要改变直流电机旋转方向,只需要改变转子线圈电压极性。直流电机转速公式:式中,Ud为电机外加直流电压,Ra为电枢绕组电阻,Ce为电机常数,I为电机电流,电机电流与负载大小有关。从直流电机转速公式可见,只要改变电枢电压就能实现直流电机的无极调速。2)直流电机驱动电路小功率直流电
3、机驱动电路可以采用如图9_1所示的H桥开关电路。这种驱动电路可以很方便地实现直流电机的四象限运行,即正转、正转制动、反转和反转制动。UA和UB是互补的TTL驱动信号。由于大功率PNP晶体管价格高,难实现,所以这个电路只在小功率电机驱动中使用。当四个功率开关全用NPN晶体管时,需要解决两个上桥臂晶体管(BG1和BG3)的基极电平偏移问题。图(b)中H桥开关电路利用两个晶体管实现了上桥臂晶体管的电平偏移。但电阻R上的损耗较大,所以也只能在小功率电机驱动中使用。(a) PNP/NPN管 (b)4个NPN管图9_1 H桥开关电路对于H桥驱动电路,上下桥臂功率晶体管施加互补信号。由于带载情况下,晶体管的
4、关断时间通常比开通时间长,例如当下桥臂晶体管未及时关断,而上桥臂抢先开通时就出现所谓“桥臂直通”故障。桥臂直通时,电流迅速变大,造成功率开关损坏。所以设置导通延时,是必不可少的。在实际制作中,可以采用大功率达林顿管或场效应管等分离元件进行驱动电路设计。为了简化电路设计,建议使用H桥电机驱动L298N等专用芯片,其性能稳定可靠、电路简单。对于大功率驱动系统,希望将主回路与控制回路之间实行电气隔离,此时常采用光电耦合电路来实现。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功
5、率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。L298N内部结构示意图如图9_2所示。该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。图9_2 L298N内部结构示意图使用一个L298N驱动器可以驱动两台直流电机。引脚ENA、ENB可用于输入PWM脉宽调制信号对电机进行调速控制。如果无须调速可将两引脚接5V,使电机工作在最高速
6、状态,实现电机正反转就更容易了。如果输入信号端IN1接高电平,输入端IN2接低电平,电机M1正转;如果信号端IN1接低电平, IN2接高电平,电机M1反转。控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。反之则反转。对于电机的调速,我们采用PWM调速的方法。其原理就是开关管在一个周期内的导通时间是t,PWM周期为T,则电机两端的平均电压为Ud=Vs*t/T=a*Vs。其中,占空比a=t/T,Vs为驱动电源电压。电机的转速与电机两端的电压成正比,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成正比。占空比越大,电机转得越快。实例9.1直
7、流电机的单片机控制任务要求:设计一个能控制直流电机正反转的调速电路,采用PWM方式调速,有加减速按键、启动停止按键和方向选择键。分析说明:在选择控制直流电机的PWM周期时,要考虑的因素主要是电枢电感,驱动器能承受的频率,散热条件,对噪声的要求等等。在驱动器能承受的范围内,周期短一点好(也就是PWM频率高一点)。这样转矩更平稳,噪声小,电流纹波小。但是驱动器发热会严重一些。直流电机用PWM实现调速的PWM波周期通常在毫秒以下量级,电机功率越大,可以允许周期也大一些。不考虑开关频率的限制的话周期越短越好,但实际上电流越大电压越高开关的频率上限越低,或者说周期的下限越高。PWM周期较大时,电机高转速
8、时由于惯性大不会有瞬间停顿问题,但让电机运转在很低的转速时确实会出现类似蠕动的瞬间停顿的问题。我们选取PWM周期为2.5ms。1)硬件电路设计为了保证电路简单可靠高,直流电机驱动电路采用电机专用驱动芯片L298N。四个二极管起到保护驱动芯片L298N的作用,当加到电机上的直流电压关断时,电机电枢线圈将产生很高的感应电压,此感应电压可以通过二极管提供的回路泄放,从而保护驱动芯片。硬件电路图参见图9_3所示。2)程序设计#include #define key1 0x01#define key2 0x02#define key3 0x03#define key4 0x04void key_proc
9、ess_1(void);void key_process_2(void);void key_process_3(void);void key_process_4(void);void key_check (void);unsigned char key_value; /定义全局变量,键值unsigned int a=10000; /初值50%占空比void main(void) WDTCTL = WDTPW + WDTHOLD; /停止看门狗 BCSCTL2=SELS; P1DIR = 0xff; / P1输出 CCR0 = 20000; / PWM 周期2.5ms CCTL1 = OUTMO
10、D_7; / CCR1复位/置位 CCR1 = a; / CCR1 PWM 占空比5% TACTL = TASSEL_2 + MC_1; / 定时器A时钟源为SMCLK,增计数模式 P2IE = 0x27; / P2.0-P2.3 IO口中断使能 P2IES = 0x27; / P2.0-P2.3 IO口下降沿触发中断方式 P2IFG = 0x0; / P2.0-P2.2 IO口中断标志位清除 _EINT(); /中断允许 while(1) if(P2IN&BIT4) P1OUT &=(BIT4+BIT7); /正转 P1OUT |=BIT0+BIT5; else P1OUT &=(BIT0+
11、BIT5); /反转 P1OUT |=BIT4+BIT7; CCR1 = a; key_check (); switch (key_value) /对键值进行处理.采switch语法结构查询 case key1: key_process_1(); /调用键处理程序1 break; case key2: key_process_2(); /调用键处理程序2 break; case key3: key_process_3(); /调用键处理程序3 break; case key4: key_process_4(); /调用键处理程序4 break; default: break; key_valu
12、e=0x00; /键值清除 P2IE = 0x27; / P2.0-P2.2 IO口中断使能 P2IFG = 0x0; / P2.0-P2.2 IO口中断标志位清除 #pragma vector=PORT2_VECTOR _interrupt void Port_2(void) /P2中断服务程序 switch (P2IFG) case 0x01: key_value=0x01; break; case 0x02: key_value=0x02; break; case 0x04: key_value=0x03; break; case 0x20: key_value=0x04; break; default: P2IFG = 0x0; / P2.0-P2.2 IO口中断标志位清除 break; P2IFG = 0x0; / P2.0-P2.2 IO口中断标志位清除 void key_check (void) unsigned int i; for(i=0;i200;i+); /延时去抖动 if(0xff !=(P2IN & 0xD8) /是否有键存在? while(0xff !=( P2IN | 0xD8); /一直等待按键松开 else key_value = 0x