原创 [原创]用L298驱动直流减速电机

2008-4-23 10:03 11364 10 21 分类: MCU/ 嵌入式

   前一段有个朋友让我帮忙做一个电机控制的小东西要求是:控制直流减速的电机的启动、停止和正反转。起初我用4个N沟道IRF540N来做H桥驱动,发现H桥并不能输出12V电压给电机并且上桥避MOS很热,因为以前没有做过H桥后来查资料才知道是MOS管没有完全饱和导通再加上管子压降,所以输出电压不够。要想解决问题就必须提高上臂GS电压,电源是12V,栅极就必须是24V才能使上臂完全饱和导通。这样就必须提高电源,虽然有专用的桥驱动IC IRF2401但是一片几十元价格最后我还是放弃这种方案,选用小功率的直流电机驱动芯片L298,这是一款常用驱动IC,内部有两组H桥,驱动电流2A,40V正好满足我的要求(我的电机是直流12V15W),并且驱动电路简单。


   接下来我用ATTiny13来驱动L298来控制直流减速电机,程序到是很简单,但调试的时候又遇到了麻烦,搭好电路在运行的时候发现单片机有重启的现象,起初以为是电源功率不够电机启动拉低电源电压照成单片机重启,后来更换电源后问题依旧。既然不是电源问题,那就是有干扰信号影响单片机 ,我用示波器来监视单片机跟L298连接控制线并有杂波信号过来,这很让我感到很疑惑。一位同事看后我的电路说:“是不是管子电流不够啊?”我这才发现我的电源桥式整流用的是IN4007,电机消除反相电动势的是4个二极管是1N5819,这些管子电流都是1A,而我的电机电流是1.2A的,因为当时手头有这两种管子于是就随手焊上去了。在更换更大功率的管子1N5408和1N5822后,连续运行两天一切正常,问题的原因在于器件的参数不对。


   通过这次事情对于电机驱动我也总结了几点心得,以后再做这方面电路是值得注意的:


1.电机供电最好和单片机供电独立开来,中间加光耦隔离。防止电机通过回路干扰单片机。如果非要共用一个电源,那也要采取一些措施模拟地和数字地单点共地,采用0欧电阻或磁珠连接;


2.元件件的参数要留一定的富裕量,保证能可靠工作。IC器件VCC加104电容高频滤波;


3.PCB布线强弱电分开,尽量远离走线;


由于单片机程序比较简单就不在贴上来了,下面只放上原理图和实物图片:


点击看大图


点击看大图


点击看大图

PARTNER CONTENT

文章评论11条评论)

登录后参与讨论

用户1587813 2010-12-29 14:59

如有需要L298的驱动板的话请点击http://shop59968502.taobao.com/ 这是我们自己的小店,即使您不买东西,也可以看看!或者直接联系我 邮箱:lu323110@163.com

用户1079511 2008-4-24 21:14

我也看到ouravr上的PLC开源项目,到时候大家一起学也好有个帮衬!

用户906612 2008-4-24 12:53

to: cqcrr ,最近比较忙,所以都没什么时间学习STM32,接下去时间充裕的时候会和 OURAVR 的PLC项目同步学习,争取多整理一些资料出来

用户906612 2008-4-24 12:52

电机转的时间短(几百ms吧)---那还是用MOS开关管比较实时。用继电器有吸合和断开时间。

用户1079511 2008-4-23 20:40

to:benladn911 对,我用的就是直流减速电机320PRM/MIN。因为电机转的时间短(几百ms吧)停的时间长,所以用继电器我怕频繁吸合影响寿命,还是觉得用MOS开关,继电器控制方向好些!

用户1359586 2008-4-23 20:11

随时要注意器件的额定电流电压值,否则很容易烧掉。 2位为什么很久没有更新STM32的文章了?

用户906612 2008-4-23 17:03

呵呵,我就是AVR猎手,见过,见过,呵呵。 转一段时间然后停一段时间这样循环,如果中间切换到时间要求不严格的话,是可以用继电器的。你用的这种直流电机我手上刚好有好几个,内部带减速齿轮的。一般应用中,还要配合行程开关来检测电机的运行位置。

用户1079511 2008-4-23 13:57

to:benladn911 你的建议不错,怪我没说清楚 ,其实在正转的时候我还要控制电机转和停的时间(转一段时间然后停一段时间这样循环)。不过这样也可以用一个双联继电器和IRF540N来实现,电路已经想好回头我再改一下! benladn911 就是AVR猎手吧,俺也在ouravr混不过才疏学浅很少发言。o(∩_∩)o...

用户906612 2008-4-23 12:50

如果不要求转速控制或体积要求,完全可以用两个12V的继电器来实现直流电机的正反转和启动、停止。这样成本可能会低点,而且不用考虑散热问题。

用户1079511 2008-4-23 11:57

我也发现L298功率并不像手册上说的那样要打折扣,我的L298发热也很厉害,散热很重要,回头我换个大点散热片。另外市场有很多假冒的(8块就能买到)正品的要15。我电机是直流12V 15W,你烧了两片是不是你的电流太大了,L298不能超过2A。
相关推荐阅读
用户1079511 2009-07-10 16:08
Mega16读取SD卡内的FAT16文件
最近一直在学习FAT文件系统,在网络上找了一些资料加上参考别人写的程序,现在已经可以读取SD/MMC卡指定的文件,有些东西自己也不是很懂,回头还得慢慢研究。程序比较简单,就是读取SD卡的基本信息和初始...
用户1079511 2009-04-14 08:38
[原创]AVR M16热敏电阻测温LCM12864显示
https://static.assets-stash.eet-china.com/album/old-resources/2009/4/14/d085d878-6d8f-4245-acdb-cf44...
用户1079511 2009-04-08 11:34
Mega16 Bootloader+PC端上位机
AVR的Bootloader功能很方便产品的在线升级,以前参考网上的资料写过下位机的程序,标准的XMODEM协议,用超级终端来升级程序。最近在学习C#,所以用C#写个简单的上位机软件,配合以前的boo...
用户1079511 2009-01-22 16:15
Mega16热敏电阻测温上位机曲线显示
最近在一直学习用C#做上位机,把以前的做的m16热敏电阻测温的程序翻出来,稍加修改通过串口发给PC;PC端用c#2008写程序,接收数据后通过ZedGraph绘图控件实时显示出曲线图。ZedGraph...
用户1079511 2009-01-09 09:25
[原创]c#的Hex转Bin小程序
最近在搞AVR的bootloader,程序已经写好了,参考网上的代码用的是XMODEM协议用XP自带的超级终端。问题是xmodem支持bin格式的文件,一般用编译器生成的是hex文件不用直接使用,需要...
用户1079511 2008-12-31 10:42
[学习]用595驱动LED实现灰度调节
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />前一段时间在ouravr论坛里闲逛的...
EE直播间
更多
我要评论
11
10
关闭 站长推荐上一条 /3 下一条