第十二节 单片机驱动电动机

上传人:101****457 文档编号:89982555 上传时间:2019-06-05 格式:PPT 页数:41 大小:1.41MB
返回 下载 相关 举报
第十二节 单片机驱动电动机_第1页
第1页 / 共41页
第十二节 单片机驱动电动机_第2页
第2页 / 共41页
第十二节 单片机驱动电动机_第3页
第3页 / 共41页
第十二节 单片机驱动电动机_第4页
第4页 / 共41页
第十二节 单片机驱动电动机_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第十二节 单片机驱动电动机》由会员分享,可在线阅读,更多相关《第十二节 单片机驱动电动机(41页珍藏版)》请在金锄头文库上搜索。

1、单片机驱动电动机,单片机驱动电动机,共发射极三极管开关电路 电动机驱动原理 电动机驱动电路及程序设计 步进电机驱动原理 步进电机驱动电路及程序设计,NPN共发射极电路,直流耦合,不需要偏置, R2保证没有输入时基极接地,限制输入电流,NPN:,一、从共发射极电路到开关电路的演变,PNP:,PNP共发射极电路,直流耦合,不需要偏置, R1保证没有输入时基极接高电平,限制输入电流,采用发射极开路的开关三极管电路,作电流驱动:,负载,NPN,PNP,二、电动机驱动原理,电动机是电流驱动的元件,需要大电流通过;,电动机的电气特性相当于线圈,因此电动机内阻很小。,因为电动机的电气特性相当于线圈,因此可以

2、向电动机输入脉冲信号,相当于向电动机输入等于脉冲信号平均值的直流信号。,电动机驱动电路及程序设计,驱动电动机单向转动:,驱动电动机双向转动:,A,C,B,D,二极管可以防止方向电动势损坏三极管。加上74LS06反向缓冲器,可以提高IO口对电动机的驱动能力。,A,B,在这个电路图中,当A=1、B=0,电动机正向转动;当A=0、B=1,电动机逆向转动,当A=0、B=0,电动机停转。,#include #define uchar unsigned char #define uint unsigned int sbit MA=P20; sbit MB=P21; sbit ka=P10; sbit kb

3、=P11; sbit kc=P12; bit output, Turn; uint WIDTH, HPWM, PWM, Timerka, Timerkb, Timerkc;,程序设计:,/方向控制按钮,/加速按钮,/减速按钮,/WIDTH为脉冲周期,HPWM为高电平长度,PWM为脉冲计时,/控制电机A端,/控制电机B端,/output为脉冲输出,Turn为改变方向标志位,/ Timerka, Timerkb, Timerkc为按钮ka, kb, kc的计时器,void PWM_init( ) TMOD=0x21; EA=1; ET0=1; TR0=1; TH0=-(1000/256); TL0

4、=-(1000%256); CLK=1; TimerCLK=20; ,/使用工作在模式1的16位定时器0,/允许中断,允许定时器0中断,启动定时器0,/定时器0的时长为1ms,/定义脉冲电平和脉宽的初值,输出周期脉冲信号初始化程序:,void PWM_init( ) TMOD=0x22; EA=1; ET0=1; TR0=1; TH0=256-50; TL0=256-50; WIDTH=1000; PWM=WIDTH; HPWM=500; ,/定时器0为8位自动填充的定时器,/定时器0定时值为50us,/定时器0定时值为50us,输出周期脉冲信号初始化程序:,/高电平的初值,void keys

5、can( ) ka=1; if(ka=0) Timerka+; if(Timerka=200) Timerka=0; Turn=!Turn; ,/当按键按下时ka为0,/延时消抖,每1msTimeKa加1,/当TimeKa为200时说明已经经过10ms,/把时钟Timerka归零,同时改变电动机转变方向,键盘扫描程序:,kb=1; if(kb=0) Timerkb+; if(Timerkb=200) Timerkb=0; if(HPWM=1000) HPWM=1000; else HPWM=HPWM+50; ,/当按键按下时kb为0,/延时消抖,每1msTimekb加1,/当Timekb为20

6、0时说明已经经过10ms,/把时钟Timerkb归零,高电平时长增加,kc=1; if(kc=0) Timerkc+; if(Timerkc=500) Timerkc=0; if(HPWM=0) HPWM=0; else HPWM=HPWM-50; ,/当按键按下时kc为0,/延时消抖,每1msTimekc加1,/当Timekc为200时说明已经经过10ms,/把时钟Timerkc归零,高电平时长减少,main() PWM_init(); while(1) if(Turn) MA=output; MB=0; else MB=output; MA=0; ,/对脉冲信号进行初始化,/判断标志位Tu

7、rn,/如果Turn为1则把脉冲信号送入MA端,MB为低电平;,/如果Turn为0则把脉冲信号送入MB端,MA为低电平;,A,定子内圆周 均匀分布着六个 磁极,磁极上有 励磁绕组,每两 个相对的绕组组 成一相。采用Y连接,转子有四个齿。,定子,转子,三相步进电机的组成,三、步进电机的驱动,步进电机工作原理: 由于磁力线总是要通过磁阻最小的路径闭合,因此会在磁力线扭曲时产生切向力,而形成磁阻转矩,使转子转动。,1.三相单三拍,A相绕组通电,B、C相 不通电。气隙产生以A-A为轴线的磁场,而磁力线总是力图从磁阻最小的路径通过,故电动机转子受到一个反应转矩,在此转矩的作用下,转子必然转到左图所示位置

8、:1、3齿与A、A极对齐。,“三相”指三相步进电机;“单”指每次只能一相绕组通电;“三拍”指通电三次完成一个通电循环。,同理,B相通电时,转子会转过30角,2、4 齿和B、B 磁极轴线对齐;当C相通电时,转子 再转过30角,1、3齿和C、C磁极轴线对齐。,这种工作方式下,三个绕组依次通电一次为一个循环周期,一个循环周期包括三个工作脉冲,所以称为三相单三拍工作方式。,按AB C A 的顺序给三相绕组轮流通电,转子便一步一步转动起来。每一拍转过30(步距角),每个通电循环周期(3拍)磁场在空间旋转了360而转子转过90(一个齿距角)。,2. 三相六拍,按AAB B BC C CA的顺序给三相绕组轮

9、流通电。这种方式可以获得更精确的控制特性。,A相通电,转子1、 3齿与A、A 对齐。,A、B相同时通电, A、A 磁极拉住1、3齿,B、B 磁极拉住2、4齿,转子转过15,到达左图所示位置。,B 相通电,转子2、 4齿与B、B 对齐,又转 过15。,B、C相同时通电, C 、C 磁极拉住1、3 齿,B、B 磁极拉住 2、4齿,转子再转过 15。,三相反应式步进电动机的一个通电循环周 期如下:AAB B BC C CA,每个循 环周期分为六拍。每拍转子转过15(步距角), 一个通电循环周期(6拍)转子转过90 (齿距角)。,与单三拍相比,六拍驱动方式的步进角更 小,更适用于需要精确定位的控制系统

10、中。,3. 三相双三拍,按AB BC CA的顺序给三相绕组轮流通 电。每拍有两相绕组同时通电。,与单三拍方式相似,双三拍驱动时每个通电循 环周期也分为三拍。每拍转子转过30 (步距角), 一个通电循环周期(3拍)转子转过90(齿距角)。,从以上对步进电机三种驱动方式的分析可 得步距角计算公式:,步进电机的驱动 四线两相电机:,L298电机驱动芯片 L298是一款单片集成的高电压、高电流、双路全桥式电机驱动, 设计用于连接标准TTL逻辑电平,驱动电感负载(诸如继电器、线圈、DC和步进电机)。 L298提供两个使能输入端,可以在不依赖于输入信号的情况下,使能或禁用L298器件。,程序设计,#inc

11、lude #define uchar unsigned char #define uint unsigned int bit turn; uchar phase;,/角度转换标志,/角度转变序号,void main() IT0=1; EX0=1; EA=1; P2=1;,/外部中断下降沿有效,/外部中断0有效,/使能全局中断,/使能全局中断,while(1) if(turn=1) turn=0; if(+phase=8) phase=0; switch(phase) case 0: P2=0x01;break; case 1: P2=0x03;break; case 2: P2=0x02;break; case 3: P2=0x06;break; case 4: P2=0x04;break; case 5: P2=0x0c;break; case 6: P2=0x08;break; case 7: P2=0x09;break; default: break; ,/若turn=1,改变电机转动角度,并使turn=0,/根据phase的值改变电机角度,/电机转到,/电机转到,/电机转到,/电机转到,/电机转到,/电机转到,/电机转到,/电机转到,void int0(void) interrupt 0 turn=1; key=key; ,/外部中断0处理程序,/设置转动标志turn,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号