- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L298参考程序.
一、电路板参数:? ??? ??? 电机驱动电压:5-46V? ??? 逻辑控制电压:3-7V? ??? 负载电流:4A? ??? 独立驱动直流电机:2只? ??? 可驱动步进电机(4线制):1只? ??? 电路板尺寸:50.8mm*58.4mm
二、电路板介绍:? ??? L298电机驱动板,可以驱动两个直流电机,本设计中,每一路L298输出引出了两个并联的端口,以便控制四轮的小车,左右两边的电机并联运行的。本驱动板,也可以控制D42步进电机,四线制的步进电机。???
?三、电机电压输入:这里接电机驱动电压。?
四、逻辑电压输入:这里接芯片的工作电压,也是信号的参考电压,建议5V。?
五、电压选择:当在电机电压输入时,即采用独立电源为电机供电时,这里不要采用短路帽。如果采用电压与逻辑电压一致时,可以把这个短路跳线帽安装上,这时为电机供电的电压与芯片的逻辑电压一样。?
六、电流采样输出:这两个引脚分别是左右两路的电流输出,本设计采用了0.5欧的采样电阻,如果电机运行工作的电流比较小时,需要自行在后级设计放大电路,以获大更好的采 。注意从这里得到采样电压,必须把电流采样跳线帽拔下。?
七、电流采样路线:JP8与JP9针分别是左右两路电机的采样跳线,当插入路线帽后,相当于把采样电路短路,以获得更好的机械特性。? ??? L298的驱动方式比较简单,详细可见L298的说明书,这样简略说明,L298有两个电压输入,一个给电机的电压,一个是给芯片工作与控制逻辑的参考电压。L298相当于有四个驱动门,每个IN1,对应该一个OUT1,当IN1为高电平是,OUT1输出高电平,电压为VSS,也就是给这个芯片电机的供电电压(注意这里不是逻辑电压)。见逻辑图与L298的内部原理图。
八、本设计每个两个驱动门做成一路控制电机的信号,这样可以使电机在四个象限运行,即正转,反转,停车,自由滑行。ENA与ENB的使能的控制,如果采用PWM对电机进行调速,可以在ENA与ENB中分别接入PWM信号,IN1与IN2,和IN3与IN4,分别可以控制电机的正反转与不转。? ??? 为了方便一些接线的电机,本电路板设计输出的接线端子,见上图,输出端子分别为:OUT1,OUT2,OUT3,OUT4。同时为了方便接四线的步进电机,在接线端子上也设计了四位排针,输出信号与接线端子相同的顺序。
九、程序参考:? ?sbit EN1=P2^2;? sbit IN1=P2^3;? sbit IN2=P2^4;? ?sbit EN2=P2^5;? sbit IN3=P2^6;? sbit IN4=P2^7;? void forward()? //two? motos are runing forward? {? ? IN1=1;? ? IN2=0;? ? IN3=1;? ? IN4=0;? ? EN1=1;? ? EN2=1;? }? ?void backward()? //two motos are? runing backward? {? ? IN1=0;? ? IN2=1;? ? IN3=0;? ? IN4=1;? ? EN1=1;? ? EN2=1;? }??? void turn_left()? //left moto is runing,but right moto is brake? {? ? IN1=1;? ? IN2=0;? ? IN3=0;? ? IN4=0;? ? EN1=1;? ? EN2=1;? }? void rotate_left()? //right moto is runing forward,and left moto is running bac ward{? ? IN1=1;? ? IN2=0;? ? IN3=0;? ? IN4=1;? ? EN1=1;? ? EN2=1;? }? void turn_right()? //right moto is runing,but left moto is brake? {? ? IN1=0;? ? IN2=0;? ? IN3=1;? ? IN4=0;? ? EN1=1;? ? EN2=1;? }? void rotate_right()? //left moto is running forward,and right moto is running backward? {? ? IN1=0;? ? IN2=1;? ? IN3=1;? ? IN4=0;? ? EN1=1;? ? EN2=1;? }? void free()
文档评论(0)