网站大量收购闲置独家精品文档,联系QQ:2885784924

L298N应用最新版(无光电耦合器).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L298N应用最新版(无光电耦合器)

L298应用实例 一、用L298驱动两台直流减速电机的电路原理(无光电耦合器) 电机驱动电路原理图如下: 实例一:推荐使用这种方法去控制电机,因为我们用的单片机有两路PWM输出端口(P13和P14),比较方便控制,L298引脚ENA,ENB可以直接接到单片机STC12C5A60S2的P13和P14脚。 下面给出一个例子:要让小车前进,也就是两个电机都是正转。 硬件电路的接法:先把硬件电路接好,比如现在我们用单片机的P0口的低四位(P00 、P01、 P02、P03)分别接到电机控制芯片L298的控制信号输入端口IN1、IN2、IN3、IN4,用P13和P14分别接到L298的使能端口ENA和ENB; ( 注:ENA、IN1、IN2是控制电机1,ENB 、IN3、IN4是控制电机2)。 控制程序思路:要让电机转起来,不管是正转还是反转,只要让电机两端有足够大的电压差就可以了。比如按以上的电路,让电机1正转,单片机的P00 、P01输出1和0信号同时P13输出1,让ENA为高电平使能,这时电机1就会正转,也就是如下表所述。电机2也是同样的控制方法。而为什么要让P13和P14输出方波PWM?怎么才能让单片机STC12C5A60S2的P13和P14输出方波PWM? 第一,只要控制PWM的占空比就可以控制电机的速度,也就是可以控制小车加速或者减速了,而PWM的占空比的具体设置方法请参考STC12C5A60S2的技术文档;第二,输出PWM很简单,只设置单片机的相应寄存器就可以了。具体设置方法请参考STC12C5A60S2的技术文档。 实例二:用L298驱动两台直流减速电机的电路。引脚A,B接上高电平处于永远的使能状态。通过单片机编程控制IN1,IN2和IN3,IN4两对引脚分别对电机1和电机2进行直行、转弯、加减速等动作。 二、用L298驱动电路的PCB电路的介绍 void SCH_Init_T0(void) {/*********************************************/ /* STC12C5A60S2无定时器2,现在 定时器0工作在方式1 * 作16位定时器用(允许中断) * 1MS中断一次 *******************************************/ //设置定时器的工作方式 TMOD = 0x21; // load Timer 0 mode register TH0 = 0xF8; // load timer 2 high byte TL0 = 0xCC; // load timer 2 low byte ET0 = 1; // Timer 0 interrupt is enable TR0 = 1; // Start Timer 0 //以下是设置PWM的输出 CMOD=0X02; // 0 1 0 Timer0 溢出。 做PWM的时钟 周期 CL=0X00; CH=0X00; ////PCA 计数器高位 计算器高低位为0 // PWM 0 P13 CCAP0L=100; // PCA 模块 0 的捕捉/比较寄存器低 8 位 CCAP0H=100; //PCA 模块 0 的捕捉/比较寄存器高 8 位。 //点空比为25% c0/ff=25% CCAPM0=0X42; // 8位 PWM。 也就是 CCAP0H最大为256 //PWM1 P14 CCAP1L=100; // PCA 模块 0 的捕捉/比较寄存器低 8 位 CCAP1H=100; //PCA 模块 0 的捕捉/比较寄存器高 8 位。 //点空比为25% c0/ff=25% CCAPM1=0X42; // 8位 PWM。 CR=1; ////启动 PCA 计数器计数, } void main(void) { SCH_Init_T0( ) ;//初始化相应寄存器 While(1) { P0=0X0A; //P0口低四位输出 1010 ,IN1、IN2、IN3、IN4分别为1010 //小车前进 //要改变速度 只要改变CCAP0H和CCAP1H的值就可以改变PWM的占空比,从而小车速度也就会改变; //要小车转弯,只要一个电机转,另一个电机不转,或 一个电机正转,而另一个电机反转就OK! // } }

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档