找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 195|回复: 11
打印 上一主题 下一主题
收起左侧

51单片机驱动电磁阀程序,怎么驱动不了电磁阀,有大神能帮我看看问题所在吗?

[复制链接]
回帖奖励 15 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
使用51单片机驱动电磁阀,电路仿真没问题,但是驱动不了,我使用的单片机IO输出电压也足够,不知道为什么驱动不了,有大神帮我看一下问题出在哪里吗?程序就写了一个简单的按键控制IO口输出,P1.0和P0.0作为输出口均驱动不了电磁阀,使用万用表测量P1.0,输出为0时,电压为5V,测量P0.0,输出为1时,电压为2.2V。

  1. #include<reg52.h>

  2. sbit S1 = P1^0;
  3. sbit S2 = P0^0;
  4. sbit k2 = P3^4;                        //K2按键
  5. //sbit K3 = P3.5;

  6. void delay(unsigned char i)
  7. {
  8.         unsigned char j,k;
  9.         for(j=i;j>0;j--)
  10.                 for(k=90;k>0;k--);
  11. }

  12. void main()
  13. {
  14.         while(1)
  15.         {
  16.                 if(k2==0)
  17.                 {
  18.                         delay(20);                        //消抖
  19.                         if(k2==0)
  20.                         {
  21.                                 while(!k2);                //        等待按键松开
  22.                                 S1 = ~S1;  
  23.                                 S2 = ~S2;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  24.                         }
  25.                 }
  26.         }
  27. }
复制代码




下图我P1,0和P0.0引脚电路图,VCC为5V




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1109793 发表于 2024-10-18 11:18 | 只看该作者
硬件问题吧。
是不是MOS脚弄错了?
什么样的电磁阀?12V的,多大电流?
我直接用TIP122驱动24V那种控制压缩空气的电磁阀是没问题的。
回复

使用道具 举报

板凳
ID:1128777 发表于 2024-10-18 17:03 | 只看该作者
xiaobendan001 发表于 2024-10-18 11:18
硬件问题吧。
是不是MOS脚弄错了?
什么样的电磁阀?12V的,多大电流?

MOS管引脚没弄错,12V 0.3A的电磁阀,应该电路没啥问题,要出问题的话也就可能那个三极管或者MOS管烧了,大佬能帮我分析一下其他可能的原因么?非常感谢!!!!
回复

使用道具 举报

地板
ID:1128777 发表于 2024-10-18 17:12 | 只看该作者
xiaobendan001 发表于 2024-10-18 11:18
硬件问题吧。
是不是MOS脚弄错了?
什么样的电磁阀?12V的,多大电流?

12V 0,3A的电磁阀,MOS管引脚没出错,因为之前接反过一次,上电冒火花了,这次仔细的接对了,大佬能帮我看看还有别的可能出现的原因么?非常感谢!!!
回复

使用道具 举报

5#
ID:161164 发表于 2024-10-18 17:56 | 只看该作者
Q2 B极加10k上拉电阻
回复

使用道具 举报

6#
ID:59202 发表于 2024-10-18 18:00 | 只看该作者
电磁阀线圈是大电感,突然通断会产生很高的反向电压,电路上必须要考虑抑制吸收反向电压的措施,否则就是会烧驱动管
回复

使用道具 举报

7#
ID:123917 发表于 2024-10-18 19:30 | 只看该作者
弱弱的问一句,MOS管为啥接在电源正极?
回复

使用道具 举报

8#
ID:13282 发表于 2024-10-18 20:22 | 只看该作者
R1由1K变为10K, 在Q2的集电极C与Q1的G集之间串一个1K电阻试试
回复

使用道具 举报

9#
ID:517951 发表于 2024-10-18 22:52 | 只看该作者
可以在R4输入端人工输入5v/ 0v看下电磁阀有没有吸合动作, 如果有.就说明上面电路搭建没什么大问题. 没有吸合动作, 那就要排查一下电路是不是有地方虚焊等问题.

还有就是电磁阀这种负载是感性的, 需要反接diode来防止损坏单片机, 驱动mos管等器件.
回复

使用道具 举报

10#
ID:1109793 发表于 2024-10-19 10:37 | 只看该作者
咸鱼番薯 发表于 2024-10-18 17:12
12V 0,3A的电磁阀,MOS管引脚没出错,因为之前接反过一次,上电冒火花了,这次仔细的接对了,大佬能帮我 ...

上电,测量一下比如MOS的G有多少电压不就知道了?
不过我们还是习惯使用NMOS吧。
回复

使用道具 举报

11#
ID:34149 发表于 2024-10-19 10:40 | 只看该作者
最好用继电器做控制,当然如果用在高速场合,你可以考虑用开漏的方式来驱动,Q2有条件的话加个下拉电阻。
回复

使用道具 举报

12#
ID:36322 发表于 2024-10-20 14:09 来自手机 | 只看该作者
用的什么STC单片机哪个单片机?有些型号的引脚需要初始化的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表