hebj 发表于 2009-10-30 21:41:10

正在做的遥控开关,用来控制抽油烟机或灯的。

版主真厉害,把这搞的够火,我也来凑热闹的。
前几天家里的抽油烟机控制器坏了,是隔着玻璃触摸的那种,触摸失灵,不停使唤,花了半天将油烟机清洗干劲,拆开控制板,那玩艺也做的太那个了,外面几颗螺丝都是滑牙的,里面应该是电容感应式的,做工很差,没心机看具体电路,用洗板水洗了下,没有效果,打算直接做个无线的遥控代替好了。
顺便也要适应以后控制自己家里的灯才行,目前的灯要么一下打开8个,要么全关,我是希望能单独控制。
故花了2个晚上做了这电路,估计再有2晚就可以做板了。
电路里面除了24L01没做过外,其他都是做过的,电源原打算做24V0.35A/5V0.15A的,后来感觉没有意义,体积也限制,就做成现在这样了。
整个电路是可以安装到一个控制盒里的,街上可以买到的,样子有点象PLC的盒子。
7个继电可以选装7个5A的或4个5A加1个20A的。
现在电路是未完成版,随时会改的。
Switch原理图ourdev_497805.pdf(文件大小:79K) (原文件名:Switch.pdf)
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_497806.JPG
未完成的PCB (原文件名:Switch.JPG)

lv998127 发表于 2009-10-30 23:03:36

沙发哦

gzrldt 发表于 2009-10-30 23:33:25

看看来

jinkeqi 发表于 2009-10-31 07:35:42

mark

oldfang 发表于 2009-10-31 20:55:14

路过看下进度

hebj 发表于 2009-11-1 03:11:56

谢谢关注!图还没画完呢。
今天出去找些元件,居然发现有些以前很容易找的元件现在找不到,可能要到网上找了。
原来解放中很多的无线发射接收模块,现在都见不到踪影了,二级管SB180或SS18也找不着,要使用替代品。
小变压器倒是一口气做了一百个,其实我连控制灯也就10个就够了,没办法,少了人家不做,而我又不善长撒谎,好在感觉不贵,只是1.8元一个。
回来感觉少买了东西,原来那个PT2272忘了在原理图标上型号,生成bom自然没有了。

hzxiaobao 发表于 2009-11-1 09:45:34

小变压器可以提供几个吗,正好需要,懒的定做了哦

ndust 发表于 2009-11-1 09:59:40

记号

christmas108 发表于 2009-11-1 12:12:40

记号。对你里面的开关电源感兴趣。

hebj 发表于 2009-11-1 14:50:41

谢谢版主!
也谢谢各位兄弟支持!
等我做一次板回来,确认板没有错后,再提供给感兴趣的兄弟。

to 【7楼】 hzxiaobao
没问题的,等我做好样品先。

to 【9楼】 christmas108 仙都电子
开关电源的原理图在上面的Switch.pdf里有,基本是按PI的设计做的,因体积问题,简化了好些元件。
迟点会公布PI的整个设计结果,很详细的。

再次声明一下,我做开关电源的水平是属于幼儿园小班水平,希望别被我误导。

ndust 发表于 2009-11-1 19:48:09

记号

hebj 发表于 2009-11-1 22:54:49

使用PI的开关电源设计:
变压器都自动设计好了,很方便。
在用3842等做开关电源时,我们通常还是要自己算变压器的。
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498617.JPG
电源框图。 (原文件名:PI设计.JPG)

开关电源的详细设计,实际用的都简化了。ourdev_498618.pdf(文件大小:180K) (原文件名:Switch开关电源设计.pdf)
变压器设计。ourdev_498619.pdf(文件大小:128K) (原文件名:Switch变压器.pdf)

目前我还做不好多组电源,特别是多组隔离电源,用2596等再次稳压的不算!
感觉反激的做不了多组电源,应该用正激,象普通电脑电源,里面有12V、5V、3.3V,都是稳定的,而且都是变压器出来后直接容感滤波就可以了。
希望有做电源的兄弟交流一下。

hebj 发表于 2009-11-3 18:47:39

贴子都差点找不着了。
PCB画好,过2天如果没发现错误就会去打板。
center>http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499359.JPG
原理图有改变,迟点再公布。 (原文件名:Switch1.JPG) </center>

plc_avr 发表于 2009-11-3 19:03:05

板子画的不错,呵呵。单片机的连线有点细吧,上面的接插件可以放平齐。
做个记号。

christmas108 发表于 2009-11-3 19:04:59

hebj,那个变压器,是自己绕的还是买现成的。我也想做个小开关电源。希望指教

hebj 发表于 2009-11-4 00:07:24

plc_avr
谢谢指正,上面的接插件实际是平的,是因2个人做的库的丝印不一样,导致看起来不齐。

christmas108 仙都电子
变压器不是自己绕的,是买的,但不是现成的,是定做的,按设计图纸定做的,在12楼有详细的资料。
这变压器我之前用过一次了,设计是没问题的,所以才敢做100个的。
该电源的功率只有12V/0.5A,记得实际测试时在接近0.8A时进入保护,电流降低后自动恢复。
实测在0.65A时长时间工作没问题,但不推荐,建议在0.5A或以下使用。

这次做的板是考虑2种安装方式的:
1. 安装在类似PLC的盒子里:就按图上的标注安装就好了。
2. 用铜柱支起来:那么将J1、J2、J3、J4、JP1、F1、IR安装到反面就可以了,这样所有的插件都在同一面。
   JP1是RS232,使用直连线,正反面安装都可以用的。

ndust 发表于 2009-11-4 10:26:22

我也非常关注这个电源部分,最后体积能有多大?可否转让几个变压器?

hebj 发表于 2009-11-4 22:06:17

to 17楼,可以的。
在13楼的图片中的格线是1cm的,左边的就是开关电源,应该可以估算大小了。

不知有没兄弟知道在网上哪个店可以比较合理的买到TNY266G或TNY266GN的,应该是几元的价格,上次在一个店要了我15元的。

hebj 发表于 2009-11-6 00:34:23

今天做板去了,该版本的原理图:
点击此处下载 ourdev_500198.pdf(文件大小:80K) (原文件名:Switch原理图.pdf)

可以使用的外壳:
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_500197.JPG
三禾的。 (原文件名:外壳.JPG)


硬件具有的功能:
1. 电源是220V交流直接输入;
2. 有12V和5V电源输出,电源设计是12V0.5A,实际外部只能用200mA左右,5V做好不要超过50mA,免得7805过热。
3. 继电器输出,6路1A,或 1路5A加上3路1A;继电器是独立隔离的,可以直接控制220V电源,也可以控制其他电源。
4. 2路光耦隔离输入和2路光耦隔离输出;其中的一路输入可以硬件设置为高电平输入或低电平输入;一路输出可以硬件设置为输出高电平或低电平等;其中的I1、O1直接连接可以做单线通讯用。
5. 一个为LCD1602或TLC预留的接口,里面带3个按键端口。
6. 可以直接接315或433模块,板上有PT2272解码。用LCD1602或TLC就不能安装PT2272。
7. 可以直接接nRF24L01模块,就是个标准的SPI接口。
8. 板上留有红外接收头接口。我就打算用这或315模块来控制我的抽油烟机或灯。
9. 一个RS232接口,使用直连线。
10. 板上有霍尔电流传感器,用来测量继电器输出的总电流.
11. 用M16或M32,使用内部RC振荡器,板上使用ISP下载程序。

hebj 发表于 2009-11-6 18:43:00

过几个星期可能就好了。
今天去拿做好的变压器样品,顺便买到了315的接收模块和发射模块,TNY266GN也定到了,3.5元一片的,希望不是假货。

zhangfuhg 发表于 2009-11-8 17:29:09

我也想做一个啊!

hebj 发表于 2009-11-13 22:06:31

基本上元件都齐了,PCB也回来了,过几天空点就可以组装了。
今天去拿定的TNY266GN,到手一看,上面写着TNY266P,纳闷了,什么时候有贴片的TNY266P了,看来我又落后了。
回来仔细一看,原来是奸商将插件的TNY266P的脚一掰,将多余的剪掉,收我每片一元的加工费了(TNY266P是2.5元,TNY266GN是3.5元)
呵呵,广州赛格三楼的那商家也真是。

hebj 发表于 2009-11-20 19:18:38

终于有点空了,继续玩:
因不打算装在壳子里,故将接插件都装在同一面了。
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505349.JPG
switch空板 (原文件名:RIMG2297.JPG)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505350.JPG
switch正面 (原文件名:RIMG2304.JPG)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505351.JPG
switch背面 (原文件名:RIMG2303.JPG)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505352.JPG
使用的小变压器 (原文件名:RIMG2307.JPG)

通电测试电源,大概是0.6A电流,可以长时间工作的。ourdev_505353.JPG(文件大小:619K,只有400K以内的图片才能直接显示) (原文件名:RIMG2311.JPG)
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505354.JPG
拆坏的变压器 (原文件名:RIMG2313.JPG)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_505355.JPG
所谓的三层绝缘线(外层,内层是普通漆包线) (原文件名:RIMG2315.JPG)


变压器给做错了,回来测试电源时才发现,带载能力很差,做错了电感量,我要求是1.17mH的,做出来是6mH的,
现只有逐个逐个拆开来垫纸片,还有近一半没拆,就搞坏了好几个了。
过段有空再继续写测试程序。

4758866 发表于 2009-11-20 22:36:26

高手啊,顶你

lwu_2008 发表于 2009-11-23 12:24:55

高手,顶

songmengda 发表于 2009-11-25 17:26:53

不错支持一票

wangrwnyan123 发表于 2009-11-25 17:37:44

顶一下,对楼主的开关电源感兴趣

shanyan 发表于 2009-11-25 19:13:12

顶一下

hebj 发表于 2009-11-25 22:49:34

谢谢各位关注!
我那电源是很简单的,在上面12L有详细的资料,照着做就是了。
我做好过6个这样的电源,只有一个有点问题,5个都是通电就是好的,那有问题的是因400V滤波电容装反了,导致烧保险和4.7R/5W电阻。
这电源的保护感觉还可以的,输出有过流保护、控制IC有热保护、输入电源有欠压和过压保护,还有那保险丝和4.7R/5W的电阻。
当然,我做电源的水平仅是幼儿院小班的水平,所用的测量设备也很差,大家就不要给我误导了。

写程序我也是外行的,基本想到什么就写什么了,今晚在考虑控制软件了,下面的就是初步打算:
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507335.jpg
(原文件名:功能结构.jpg)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507917.jpg
20091126更新 (原文件名:数据结构.jpg)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507337.jpg
(原文件名:通讯数据结构.jpg)

修改原因:数据结构更新

hebj 发表于 2009-11-26 22:48:33

继续diy中
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507925.jpg
(原文件名:驱动列表.jpg)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507926.jpg
(原文件名:MCU资源分配.jpg)

http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_507927.jpg
(原文件名:程序总体结构.jpg)

现在可以开始写些基本代码了,先用cvavr的精灵自动生成一个初始代码,然后再修改:
点击此处下载 ourdev_507935.rar(文件大小:40K) (原文件名:空白项目.rar)
这是个空白项目,基本是有cvavr生成的,里面仅加了以下代码和加载相应的文件:
//**************************************
switch.c中:

#include <Switch.h>
//定义全局变量
Time_Struct Time;

    if (++Time.T1mS >= 100)
    {
      Time.T1mS = 0;
      Time.T100mS++;
    }

OSCCAL=*(int flash*)(0x1fff); //校正振荡器频率

FunInit();      //初始化

    #asm("WDR")
    FunInput();
    FunComm();
    FunLogic();
    FunOutput();

//**************************************
switch.h中:

#include "Input.h"
#include "Comm.h"
#include "Logic.h"
#include "Output.h"

#define U8   unsigned char
#define S8   signed char
#define U16    unsigned int
#define S16    signed int
#define U32    unsigned long
#define S32    signed long

typedef struct
{
    U8T1mS;
    U8T100mS;
}Time_Struct;
extern Time_Struct Time;

void FunInit(void);

hebj 发表于 2009-11-28 21:23:25

继续玩,继续测试中:
在Switch.c的main函数中加入如下代码:
printf("\r\nSwitch控制程序 ");
printf("\r\nHWJ 20091127   ");
printf("\r\n    Ver%d      ",VerConst);
在Switch.h中加入:
#define VerConst    1001
编译、下载,连接好串口线,运行后就可以通过电脑看到打印信息了:
Switch控制程序
HWJ 20091127   
    Ver1001      
将前面准备的结构分别在Input.h、Output.h、Config.h等头文件中定义好,同时定义好相应的具体参数和位置,
就可以写输入输出的驱动了:
输入驱动,很简单,扩展端口也很方便的:
void FunInput(void)
{
    if (CheckDev(DevInPort) == Enable)
    {   //如果设备允许则进入
      FunPortIn();
    }
   
}
//端口函数,每4mS扫描一次端口并处理
void FunPortIn(void)
{
    static U8 Time1mS;
    static U8 TimeS;
#ifdef          DebugPortIn
    U8 DbIndex;
#endif
    if (Time1mS == Time.T1mS) return;
    Time1mS = Time.T1mS;
#ifdef          DebugPortIn
    if (TimeS++ < 250) return;      //调试时改为每250mS扫描一次,方便打印数据观察
#else
    if (TimeS++ < 4) return;      //每4mS扫描一次
#endif
    TimeS = 0;
    PortScan();
    PortFilter();
    //InAnalyse();
#ifdef          DebugPortIn
    printf("\r\nInput.Port=%x ;",Input.Port);
    printf("In.Port=%x ;",In.Port);
    printf("Input.Filter=");
    for (DbIndex=0; DbIndex<MaxInPort; DbIndex++)
    {
      printf("%d; ",Input.Filter);
    }
#endif
   
}
//读入端口数据,如果该端口禁止则固定为0
void PortScan(void)
{
    if ((InPort0 == LevelLow) && (CheckInPort(In0) == Enable))          //In0
    {
      SetBit(Input.Port,In0);
    }
    else
    {
      ClrBit(Input.Port,In0);
    }
    if ((InPort1 == LevelLow) && (CheckInPort(In1) == Enable))          //In1
    {
      SetBit(Input.Port,In1);
    }
    else
    {
      ClrBit(Input.Port,In1);
    }
   
}

//端口防抖动,采用的方法是:0的机会多就按0处理,1的机会多就按1处理,跟通常的防抖不一样。
void PortFilter(void)
{
    U8 Index;
    for (Index=0; Index<MaxInPort; Index++)
    {
      if (Input.Port[(Index/8)] & (0x01<<(Index%8)))
      {
            if (++Input.Filter >= Input.SetFilter)
            {
                SetBit(In.Port,Index);       //输出1
                Input.Filter = 0;
            }
      }
      else
      {
            if (-(--Input.Filter) >= Input.SetFilter)
            {
                ClrBit(In.Port,Index);       //输出0
                Input.Filter = 0;
            }
      }
    }
}

输出驱动和配置程序就不贴了,想看的自己下程序看吧,
写好了驱动,就可以写逻辑程序了:
void FunLogic(void)
{
    //测试一下,闪罫ed灯,就按闪2次灭1次吧
    Out.Led = LedFlash2;    //就这一句就可以了
    //在测试一下输入端口和输出端口和继电吧
    //假定输入In0有信号则20A继电器ORL3动作
    if (InputPort(In0) == Enable)
    {
      SetPort(ORL3);
    }
    else
    {
      ClrPort(ORL3);
    }
    //假定输入In1有信号则继电器ORL6和Out1错开动作
    if (InputPort(In1) == Enable)
    {
      ClrPort(ORL6);
      SetPort(Out1);
    }
    else
    {
      SetPort(ORL6);
      ClrPort(Out1);
    }
   
}

下载后就可以看到Led灯和继电器的相应动作了,
到目前为止的测试代码:
测试Led、输入、输出和继电器ourdev_508567.rar(文件大小:91K) (原文件名:Switch20091128.rar)

xiaobendan 发表于 2009-11-28 21:51:32

用热风机吹一下,变压器很容易拆的,注意别烫到手

AL_DWF 发表于 2009-11-28 22:17:36

楼主人好

hebj 发表于 2009-11-30 21:06:24

最后一次在网上更新程序了,以后的就是我家实际控制的程序了,我要捂住。
包含315遥控的驱动和测试代码:
点击此处下载 ourdev_509217.rar(文件大小:108K) (原文件名:Switch20091130.rar)
需要说一下,原理图中的R32要改为200K。

some9009 发表于 2009-12-2 04:40:13

支持,以后也做一个

zhangfuhg 发表于 2009-12-11 20:29:27

支持啊!我也想做一个!

zhang5157098 发表于 2009-12-29 21:10:25

高手,你的遥控开关做好了吗?可以用电视的遥控器来控制开关不???我也想做一个,希望你指导下???

zhang5157098 发表于 2009-12-29 21:11:06

帮个忙哦!

4758866 发表于 2009-12-31 08:35:38

高手

hebj 发表于 2010-1-2 13:30:01

有兄弟发邮件给我说开关电源的事,其实我也是没入门的,
我这用的开关电源在12楼有详细的设计资料,最关键的是变压器,如果搞不懂就直接打印出来拿到电子城叫人家帮做几个就是了。
开关电源的原理图在19楼,有兴趣的自己看吧。
这段时间在收集资料准备搞个山寨的风力发电机,垂直轴的,预计在几十瓦到几百瓦间,纯粹是玩的。
发现磁铁挺贵的,50*50*10的居然要35元一个,可能要用24个。

wgco 发表于 2014-2-27 21:16:13

很牛吧,怎么没有完整的资料?

xly2014 发表于 2014-10-18 09:39:43

不错,动手能力很强。

倒霉熊大大 发表于 2014-11-30 17:27:23

牛叉   赞一个   
页: [1]
查看完整版本: 正在做的遥控开关,用来控制抽油烟机或灯的。