4819|33

135

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

各位大侠!这个电路行得通吗? [复制链接]

C:\Users\ASUS\Pictures大侠们!       你们好!附件里的图可以使用吗?
       有人说这样不可以,必须把继电器接到集电极与地之间,是这样吗?
如果我这个图不行,是什么原因不行呢?
谢谢各位了?

捕获.PNG (17.04 KB, 下载次数: 0)

捕获.PNG
此帖出自模拟电子论坛

最新回复

一般用NPN的管子,继电器接集电极和12V,继电器加反向二极管,基极1K,CE怕电流大就串个小电阻  详情 回复 发表于 2015-2-10 14:59
点赞 关注

回复
举报

6040

帖子

204

TA的资源

版主

沙发
 
说不能工作是不对的,应该可以工作,要看你电阻接多大了。这么接三极管饱和不了。
但是很少有人这么用,这算是非主流用法吧,一般半吊子经常设计成这样。
常规用法就是集电极接负载,然后继电器(并)接续流二极管。
此帖出自模拟电子论坛
 
 

回复

1万

帖子

142

TA的资源

版主

板凳
 
这样的接法叫射随器,能用。但在低压供电时因压降大容易使继电器获得驱动不足,晶体管的功耗也较大。另外,如果用低压控制高压,只用PNP管是不行的,为什么,留个“作业”给楼主。
好好弄明白晶体管基本应用电路吧。
此帖出自模拟电子论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 
 

回复

1702

帖子

4

TA的资源

纯净的硅(初级)

4
 
这个管子可能会被烧坏!
此帖出自模拟电子论坛
 
 
 
 

回复

374

帖子

3

TA的资源

一粒金砂(高级)

5
 
你这个电路的逻辑功能是一通电晶体管就导通,继电器也导通,没有通断状态改变的控制功能。不如直接将继电器下端接地。
如果要有控制功能,且控制端是CPU的IO口,那你应该将晶体管改成NPN型,且R1不应该接地,而是接CPU的IO端。如果不改变晶体管极性,则+12V通过晶体管的BE结加到CPU的IO口,将烧毁CPU。
此帖出自模拟电子论坛
 
 
 
 

回复

394

帖子

0

TA的资源

纯净的硅(初级)

6
 
本帖最后由 captzs 于 2015-2-8 12:42 编辑

如5楼所说,一上电,Q1导通,继电器通电,而控制电流在R1的压降上升要足够大,才能使Q1截止,继电器断开。
将R1接到+Vcc,控制信号在基极与地输入,电路就合理。
此帖出自模拟电子论坛
 
 
 
 

回复

1万

帖子

29

TA的资源

裸片初长成(高级)

7
 
别人给你建议是正确的。但不是必须。

此帖出自模拟电子论坛
 
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

8
 
此共集电极电路可行,但与共发射极接法相比较,这种电路不如共发射极电路。
一是需要很大(接近于正负电源电压)的驱动电压范围,二是三极管不可能饱和,故管压降较大,从而管子功耗较大。
此帖出自模拟电子论坛
 
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

9
 
另外,无论是采用哪种电路,继电器绕组两端必须接续流二极管,否则关断时击穿三极管的可能性非常大。
此帖出自模拟电子论坛
 
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

10
 
好多大神,来学习
此帖出自模拟电子论坛
 
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

11
 
为什么饱和不了呢?
我就是不太懂才来这里向大侠们请教的!
如果就这个电路,能否可以给出算各级电压的公式呢?





此帖出自模拟电子论坛
 
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

12
 
恩,谢谢!这个我知道,我这是简单的画 了一下,这样的接继电器可以否还有基极控制部分也没有给出




此帖出自模拟电子论坛
 
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

13
 
不太明白大侠的意思,为什么这样接就是共集电极接法了呢?
另外压降大是什么原因呢?
能否说详细点呢?




此帖出自模拟电子论坛
 
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

14
 
谢谢你!我正是用IO口来控制它的通断的,
不然我都把MCU给烧掉了!
我需要用PNP管来驱动继电器!
我自己弄了一个制作,用它来控制高压
但是用NPN管子出了点问题。把它改一下。大侠!能否抽出你宝贵的时间帮我看看下面的程序!为什么在我上电的时候,继电器会吸合一下,然后释放呢?该芯片复位时P3口复位值都为1,跟这个有关系吗?

/*************************************************************
实验效果:用定时器定时来控制继电器的工作,初始时定时为150分钟、
继电器吸合、同时所定的时间在三位数码管上显示出来。开始时定时器
工作,按下S1确认定时键,每过1分钟时间减1,当所定的150分钟减为0时
继电器释放、定时器0不工作、数码管不显示单片机进入掉电模式。按下S1、
S2、S3均可唤醒单片机。S1的作用是按下该键时确认开始定时键,S2的作用
是按下该键时数码管显示或者不显示之间进行切换,S3的作用是设置需要定
时的时间,每按该键定时时间减10分钟。同时每个按键按下时都会发出滴的
一声。晶振采用12MHZ.
****************************************************************/
#include"STC15F204EA.h"
#include
#define GPIO_DIG P1
#define Fosc 12000000
sbit DS1=P3^7;
sbit DS2=P0^0;/*我所使用的单片机是A版本P0.0。B版本为P5.4*/
sbit DS3=P0^1;/*我所使用的单片机是A版本,所以这里用P0.1。B版本为P5.5*/      
sbit S3=P3^0;
sbit S2=P3^2;
sbit S1=P3^3;
sbit BZ=P3^4;
sbit RELAY=P3^5;
bit flag;
signed int  Num=160;
unsigned char bit100,bit10,bit1,Time;
unsigned char code DIG[10]={0x7e,0x0c,0xb6,0x9e,0xcc,0xda,0xfa,0x0e,0xfe,0xde};
void Delay3ms();                //@12.000MHz
void Delay10ms();                //@12.000MHz
main()
{       
    unsigned char a,temp;
    BZ=0;
    RELAY=0;/*关闭继电器*/
    /*喂狗*/
    WDT_CONTR=0x34;/*12.000MHz,看门狗溢出时间为1秒左右,溢出之后看门狗复位*/
    P5M0=0x30;
    P3M0=0xB0;
          P1M0=0XFF;
    IT1=1;/*外部中断1为下降沿触发方式*/
    IT0=1;/*外部中断0为下降沿触发方式*/
    INT_CLKO=0x40;/*允许外部中断4中断*/
    EX1=1;/*允许外部中断1中断*/
    EX0=1;/*允许外部中断0中断*/       
    TMOD=0x00;/*设定定时器0、1工作模式为0*/
        AUXR=0x00;/*设定定时器0、1工作在12T模式*/
        TH0=(65536-Fosc/12/20)>>8;/*给定时器0赋初值,定时50ms*/
        TL0=(65536-Fosc/12/20);
        TH1=(65536-4*Fosc/12000)>>8;/*给定时器0赋初值,定时3ms*/
        TL1=(65536-4*Fosc/12000);
        ET0=1;/*开定时器0中断允许*/
        ET1=1;/*开中断允许*/
    PT1=1;/*设置定时器1为高优先级*/
        TR0=0;/*关闭定时器0*/
        TR1=1;/*开启定时器1*/
        EA=1;/*打开总中断*/
        while(1)
        {       
        WDT_CONTR=0x34;/*12.000MHz,看门狗溢出时间为1秒左右,溢出之后看门狗复位*/
        /*喂狗*/
            a=Num;
            bit100=a/100;/*提取百位*/
            a=a%100;
            bit10=a/10;/*提取十位*/
            bit1=a%10;/*提取个位*/
        if(Time==10)/*500毫秒到了吗?*/
        {
            Time=0;
            temp++;
            if(temp==120)/*1秒到了吗?*/
            {
                Num--;
                temp=0;
            }
            if((Num==1)&&(temp==119))
                BZ=1;
            if(Num==0)
            {
                BZ=0;
                Num=180;
                RELAY=0;/*关闭继电器*/
                TR0=0;/*关闭定时器0*/
                TR1=0;/*关闭定时器1*/
                GPIO_DIG=0;/*关闭数码管*/
                PCON=0x02;/*掉电模式,单片机睡觉*/
            }   
        }
        if(TR1==0)/*关闭数码管显示*/
        {
           //DS1=1;DS2=1;DS3=1;
            GPIO_DIG=0;
        }
        }                          
}
void Timr0() interrupt 1
{
        Time++;   
}
void Int0() interrupt 0
{
    Delay10ms();
    if(S2==0)
    {
        TR1=~TR1;/*数码管显示位取反*/
        flag=1;
    }   
}
void Int1() interrupt 2
{   
    Delay10ms();
    if(S1==0)
    {
        flag=1;
        TR0=1;/*定时器0启动确认定时*/
        TR1=1;/*启动定时计数器1扫描显示数码管*/
        Num--;
    }
}
void Int4() interrupt 16
{
    Delay10ms();
    if(S3==0)
    {   
        RELAY=1;/*打开继电器*/
        TR0=0;/*关闭定时计数器0进行调时间*/
        flag=1;
        if(TR1==1)/*数码管显示时才可以进行调节时间*/
        {
            Num=Num-10;
            if(Num<=0)
            Num=180;
        }
        TR1=1;/*启动定时计数器1扫描显示数码管*/
    }
}
void Timr1() interrupt 3
{
    unsigned char n,cnt;
    if(flag==1)/*有按键按下时蜂鸣器响一下(除按下S2键数码管不显示时不响外)*/
    {               
        BZ=1;
        cnt++;
        if(cnt==12)
        {
            cnt=0;
            BZ=0;
            flag=0;
        }     
    }
    if(Num>=100)
    {
        switch(n)
        {
            case(0):DS1=1;/*关闭第3位数码管显示*/                      
                        GPIO_DIG=DIG[bit100];/*送出数字段码*/
                        DS3=0; /*打开第一个数码的位选*/
                    break;
            case(1):DS3=1;/*关闭第1位数码管显示*/                 
                        GPIO_DIG=DIG[bit10];/*送出数字段码*/
                        DS2=0;/*打开第二个数码的位选*/
                    break;
            case(2):DS2=1;/*关闭第2位数码管显示*/                       
                        GPIO_DIG=DIG[bit1];/*送出数字段码*/
                        DS1=0;/*打开第三个数码的位选*/
                    break;
        }
    }
    else if((Num>=10)&&(Num<100))
    {   
        switch(n)
        {            
            case(0): DS1=1;/*关闭第3位数码管显示*/
                     break;                      
            case(1): DS3=1;/*关闭第1位数码管显示*/               
                          GPIO_DIG=DIG[bit10];/*送出数字段码*/
                         DS2=0;/*打开第二个数码的位选*/
                     break;
            case(2): DS2=1;/*关闭第2位数码管显示*/                       
                         GPIO_DIG=DIG[bit1];/*送出数字段码*/
                          DS1=0;/*打开第三个数码的位选*/
                     break;
        }
    }
    else
    {
        switch(n)
        {
            case(0): DS1=1;/*关闭第3位数码管显示*/
                     DS3=1;/*关闭第1位数码管显示*/
                     break;            
            case(1): DS2=1;/*关闭第2位数码管显示*/
                     break;      
            case(2): GPIO_DIG=DIG[bit1];/*送出数字段码*/
                         DS1=0;/*打开第三个数码的位选*/
                     break;
        }
    }
    n++;
    if(n>2)
    n=0;
}        
void Delay3ms()                //@12.000MHz
{
        unsigned char i, j;
        _nop_();
        _nop_();
        i = 36;
        j = 1;
        do
        {
                while (--j);
        } while (--i);
}
void Delay10ms()                //@12.000MHz
{
        unsigned char i, j;
        _nop_();
        _nop_();
        i = 117;
        j = 183;
        do
        {
                while (--j);
        } while (--i);
}




3.PNG (62.74 KB, 下载次数: 0)

3.PNG

捕获.PNG (53.21 KB, 下载次数: 0)

捕获.PNG
此帖出自模拟电子论坛

点评

在CPU上电时IO口处于高电平,为您提供2个电路参考,可以避免继电器瞬间闭合: [attachimg]188506[/attachimg]  详情 回复 发表于 2015-2-9 13:09
 
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

15
 
大侠!能否给我说个明白呢?
我是真的不太懂,希望大侠能够给我讲解详细点呢?
万分感谢




此帖出自模拟电子论坛
 
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

16
 

main.rar

2.04 KB, 下载次数: 1

此帖出自模拟电子论坛
 
 
 
 

回复

1万

帖子

142

TA的资源

版主

17
 
建议楼主还是找出教材重新学习晶体管基本电路。
此帖出自模拟电子论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 
 

回复

135

帖子

1

TA的资源

一粒金砂(中级)

18
 
chunyang 发表于 2015-2-8 22:34
建议楼主还是找出教材重新学习晶体管基本电路。



此帖出自模拟电子论坛

点评

基本概念不清的话,只知道结果没什么好处。而基本原理不是几句话能说清的,最基本的东西务必去看书。  详情 回复 发表于 2015-2-8 23:23
 
 
 
 

回复

1万

帖子

142

TA的资源

版主

19
 



基本概念不清的话,只知道结果没什么好处。而基本原理不是几句话能说清的,最基本的东西务必去看书。
此帖出自模拟电子论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 
 

回复

374

帖子

3

TA的资源

一粒金砂(高级)

20
 
本帖最后由 wenyangzeng 于 2015-2-9 13:12 编辑

在CPU上电时IO口处于高电平,为您提供1个电路参考,可以避免继电器瞬间闭合:


此帖出自模拟电子论坛
 
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表