标题: STC15f104w控制的继电器模块 [打印本页]

作者: forgetname    时间: 2015-5-27 16:54
标题: STC15f104w控制的继电器模块
STC15f104w控制的继电器模块
家里鱼缸充氧器,买的功率大,24小时不停使用,感觉有点浪费。为实现鱼缸充氧器的定时开关,DIY了一个通过STC15f104w控制的继电器模块(淘宝上面的继电器模块加邮20元左右,主要是使用不方便,需要自己增加一个电源),利用手里现有的元件自己动手,解决问题也是一件乐事。
达到的目的:实现继电器的循环开启、关闭,继电器模块与供电模块合二为一。

主要元件:STC15f104w1个、220变12v变压器1个、12v继电器(5v驱动不了)1个、78051个、1000uf电容2个、104电容2个、二极管5个、9013三极管1个、10k电阻一个(最开始使用的1k电阻,不能正常工作,三极管的基极-发射极电压只有0.6v,改用10k达到3.0左右??????请指点)。
原理图:

增加了程序烧写接口和改用途时的备用接口。
电路图:

   各变压器不同,我的1、2、3、5脚不用管它的,4-6之间12V。U1、U2为继电器的输出端(两触点)。
实物图:

改用途时的备用接口没有安装。
程序简单:
  1. #include <STC15.H>
  2. void Delay1000ms()     //@11.0592MHz
  3. {
  4.    unsigned char i, j, k;
  5.    i = 43;
  6.    j = 6;
  7.    k = 203;
  8.    do
  9.    {
  10.        do
  11.        {
  12.           while (--k);
  13.        } while (--j);
  14.    } while (--i);
  15. }

  16. void main()
  17. {
  18. unsigned int n,m;                 //n、m控制间隔时间长短
  19. P3=0x00;
  20. while(1)
  21.     {
  22.      n=2;
  23.      m=2;
  24.      while(m--)
  25.      {Delay1000ms();}
  26.      P3=~P3;
  27.      while(n--)
  28.      {Delay1000ms();}
  29.      P3=~P3;
  30.     }
  31. }
复制代码




作者: forgetname    时间: 2015-5-27 16:55
最开始使用的1k电阻,不能正常工作,三极管的基极-发射极电压只有0.6v,改用10k达到3.0左右??????请指点
作者: lanrumu    时间: 2015-5-28 00:18
感觉很不错!
作者: 为萌而飞    时间: 2015-6-2 17:46
厉害啊
作者: 安阳市新世纪    时间: 2015-8-18 11:48
建议你改成PNP三极管驱动。比如8550,功率较大驱动稳定,对单片机有好处

作者: haohainiu    时间: 2015-9-12 09:35
我也说一句感谢楼主提供的方法和程序,很实用,想学习一个单键控制继电器的程序楼主可以帮一下吗谢谢了。
作者: xsynet    时间: 2015-12-12 18:51
不用光耦吗?有点弄不懂
作者: fghjgjjfg    时间: 2016-8-1 22:00
这个开和关的时间分别是多少?如何改动时间
作者: fdt    时间: 2016-10-29 08:22
厉害啊但是如何调整时间
作者: ben1    时间: 2018-12-3 10:12
请问为什么5V驱动不了,我这个是5V的继电器,供电也是5V的,但是一供电就来回吸合关断
作者: 15250314250    时间: 2018-12-6 22:42
ben1 发表于 2018-12-3 10:12
请问为什么5V驱动不了,我这个是5V的继电器,供电也是5V的,但是一供电就来回吸合关断

楼主当时手上应该没有5v继电器
作者: spwlm    时间: 2018-12-7 17:44
haohainiu 发表于 2015-9-12 09:35
我也说一句感谢楼主提供的方法和程序,很实用,想学习一个单键控制继电器的程序楼主可以帮一下吗谢谢了。

就是单按键控制LED发光的程序一样。论坛里有的。
作者: 1113634577    时间: 2019-3-30 11:49
while的用法感觉很有意思
作者: 快乐a123    时间: 2019-4-2 04:56
ben1 发表于 2018-12-3 10:12
请问为什么5V驱动不了,我这个是5V的继电器,供电也是5V的,但是一供电就来回吸合关断

5伏输出电流不够,带载能力不行,继电器吸合瞬间,5伏电压下降,单片机因为低压不能正常工作,导致继电器释放,所以就来回吸合,换个电压大点的5伏电源就可以了,或者继电器和单片机的供电之间插入一个电感隔离一下,
作者: aking991    时间: 2019-4-2 08:10
PCB布线很不合理,强电与单片机地线间距不够,当湿度太大情况下有触电风险,切记安全第一啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1