● 用555(556)芯片实现的单一按钮延时开关电路及其Proteus仿真
● 用555(556)芯片实现的单一按钮延时开关电路及其Proteus仿真前言
题目来自本网站(电子线路与理论)的帖子——NE555延時開關電路,請高手指點
简单地说,单按钮开关延时均为3秒。
我不是一般地,而是相当地佩服和崇拜555(556)芯片的构思设计者,给它赋予了如此长久且永不衰败的生命力,尽管我并不知道他是谁。我把555(556)称作“万用电路”,什么地方都可以用到它,没有它做不了的事儿似的。
我想,用555(556)来解这个题目应当是可以的,但也费了不少心思,最终算是弄出来了。还是要高喊一声“555万岁!万万岁!!”
一为了同大家分享,二为了抛砖引玉,吸引出更好、更简化的电路来,三也活跃一下仿真论坛比较冷清的气氛,特地经过编排整理,逐项发布到仿真论坛来。热烈欢迎大家点评、抛砖、回答问题和共享出更好的电路。 用555(556)芯片实现的单一按钮延时(3秒)开关电路
设计要点:
①确保上电时无输出。
②确保每次开启、关闭的延时长度的可重复性。
③开启延时与关闭延时尽可能等长。
④若按钮出现抖动,从最后一次接通时刻算起。
⑤确保输出状态稳定。
什么叫设计要点?在这里就是指设计者在设计之前必须考虑的条件、限制或要求等。
尽管题目当中除了“延时3秒”之外没有任何其它要求,但设计者本人却必须预先给自己提出要求来。 最初的电路 2010.01.01
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522185.png
(原文件名:KKGG-1a.png)
注:
12V供电。PROTEUS仿真验证,完全满足要求。
不提供源文件,自己照抄画一遍,也会有收获。
暂不提供元件参数(除C0外),会有利于新手学习、提高。 简化的电路 2010.01.02
采用双路动合按钮开关,可以省去三极管两只、电阻两只。
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522186.png
(原文件名:KKGG-2a.png)
注:
12V供电。PROTEUS仿真验证,完全满足要求。
不提供源文件,自己照抄画一遍,也会有收获。
暂不提供元件参数(除C0外),会有利于新手学习、提高。 仿真波形——确保上电后输出低电平
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522197.png
(原文件名:KKGG-上电后输出低电平.png)
注:
红线——输出0.00V。
两个电路的仿真结果完全相同(以后均略)。 仿真波形——首次延时3秒开启
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522198.png
(原文件名:KKGG-首次延时3秒开启.png) 仿真波形——延时3秒关闭
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522217.png
(原文件名:KKGG-延时3秒关闭.png) 仿真波形——延时3秒开启
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522200.png
(原文件名:KKGG-延时3秒开启.png) 仿真波形——按钮抖动后的延时3秒关闭
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522201.png
(原文件名:KKGG-按钮抖动后的延时3秒关闭.png) 仿真波形——按钮抖动后的延时3秒开启
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522202.png
(原文件名:KKGG-按钮抖动后的延时3秒开启.png) 学习问答题
问题1
为什么把电容C0放置于电路的上端(电源+端),而不是放在下端(电源-端)?与设计要求中的哪一条相关?
问题2
电阻R0在电路起着什么作用?与设计要求中的哪一条相关?
问题3
二极管D0有什么作用?与设计要求中的哪一条相关? 学习问答题
问题4
三极管Q1和电阻R7、Q2和R8分别在什么时候做着什么?
问题5
稳压二极管D1和D2分别在什么时候做着什么?不用它们会如何?它们的参数值应当如何确定?
问题6
D7-R13-C1-D5-R11-R9-Q3 和 D8-R14-C2-D6-R12-R10-Q4
这两路人马分别在什么时候做着什么?是为了实现设计要求中的哪几条的? 学习问答题
问题7
U1的555在两个电路中起什么作用?简述一下。
问题8
U2的555在01电路中起什么作用?在02电路中,它的作用有什么变化?简述一下。
问题9
在理解的基础上,确定充放电曲线(蓝色线)来自电路中的哪一点,完整表述该曲线不同段落的含义(形成的原因),并指出几个特征点的数值(按12V电源考虑)。 在分析、理解电路原理基础上,一为电阻、电容、二极管和稳压管等给定出比较恰当的参数值,二用Proteus仿真,得出同我一样的仿真结果。
如果上传,仅需:
①一份标有参数的清晰电路图的截图(元件摆放位置和标号与原图一致,便于对照;另需注意消除那些烦人的“text”)。
②两份示波器波形截图(一次开启、一次关闭)。
凡是分析、回答问题明晰、正确,或提供电路并实现功能、完成仿真的楼层(昵称),将被列到【20楼】,便于大家选择浏览、学习。
凡是利用555(556)完成同样功能的电路及其仿真的楼层,将被复制到【17楼】至【19楼】,便于大家浏览、学习、提高。
期待更简化的电路的出现。 楼主预留位
择日公布楼主含有各个元件参数的2001.01.01电路。
2010-01-03,20:14:50.
含有各个元件参数的2001.01.01电路(【2楼】最初的电路)
2011-02-09,21:30:00.
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_615051AHON8Z.PNG
(原文件名:KKGG-1.PNG) 楼主预留位
择日公布楼主含有各个元件参数的2001.01.02电路。
2010-01-03,20:15:42.
含有各个元件参数的2001.01.02电路(【3楼】简化的电路)
2011-02-10,13:03:00.
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_615119IJJBKU.PNG
(原文件名:KKGG-2.PNG) 楼主预留位
择日公布“学习问答题”的答案。 楼主预留位
<font size=3>凡是利用555(556)完成同样功能的电路及其仿真的楼层,将被复制到这里,便于大家学习、提高。
期待更简化的电路的出现。</font>
<font size=8>牛人cowboy第一个占据预留位。</font>
大家所熟知的 cowboy 在【24楼】现身。
把牛人cowboy调动出来,这就是我的一大成功。
果然比我的电路更简化,这就是我的目的之二。
谢谢cowboy。
=========================================================================================
【26楼】cowboy 的电路
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522417.PNG
(原文件名:未命名.PNG)
太好了。我替 cowboy 把【26楼】电路的仿真波形图传上来。
绿色线表示输出。上电后输出低电平——延时3秒开启——延时3秒关闭。
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522533.png
(原文件名:Cowboy.png)
JQ_Lin转自【28楼】加入时间:2010-01-04,19:51:22.
=========================================================================================
cowboy电路的学习参考题
cowboy 的电路,你看懂了吗?没看懂就要逼着自己去看。在懂得555电路原理的基础上,直到弄清下列问题为止。
我本人也在学习,也在答题。我也只有在看懂了cowboy 的电路之后,才能够开列出这几道思考题。对吧?
①它是怎样确保电路上电后输出低电平的?
②U1的555是做什么用的?
③为了实现3秒延时的可重复性,采用了什么样的简单办法?
④cowboy耍了一个什么样的既简单又高级的手腕,竟能让U1输出的重复性动作(见波形图),迫使U2的输出在高、低电平之间交替转换的?
这最后一道题,相比之下是最难的。说实话,我也是在累死了相当多的脑细胞之后,才看透cowboy的心思的。又学了一招,大有收获。
以上几个问题,作为cowboy电路的学习参考题,将被复制到cowboy占据的预留位,供新手学习时使用。
JQ_Lin转自【38楼】加入时间:2010-01-06,18:24:05.
=========================================================================================
cowboy 在【45楼】又给出了一个更加简化的电路。
同样满足上电确保输出低电平、延时长度的可重复性好和输出状态稳定的要求。
只要按钮的有效连续按压时间不超过5秒,就不会出现输出状态的翻转。
我替 cowboy 把【45楼】电路的仿真波形图传到这里。同时,在网站即将暂时关闭之前上移到【17楼】楼主预留位。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526631.png
(原文件名:Cowboy-2-0.png)
红色线表示输出。上电后输出低电平——延时3秒开启。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526632.png
(原文件名:Cowboy-2-1.png)
红色线表示输出。延时3秒关闭。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526633.png
(原文件名:Cowboy-2-2.png)
JQ_Lin转自【38楼】加入时间:2010-01-15,20:38:00.
========================================================================================= 楼主预留位
<font size=3>凡是利用555(556)完成同样功能的电路及其仿真的楼层,将被复制到这里,便于大家学习、提高。
期待更简化的电路的出现。</font> 楼主预留位
<font size=3>凡是利用555(556)完成同样功能的电路及其仿真的楼层,将被复制到这里,便于大家学习、提高。
期待更简化的电路的出现。</font> 楼主预留位
<font size=3>凡是分析、回答问题明晰、正确,或提供电路并实现功能、完成仿真的楼层(昵称),将被列到这里,便于大家选择浏览、学习。</font>
【24楼】 cowboy,【26楼】 cowboy, 回复【20楼】JQ_Lin
-----------------------------------------------------------------------
你可真厉害 前20楼全被你给占了 交占位费呵呵 "我不是一般地,而是相当地佩服和崇拜555(556)芯片的构思设计者"
555 is the most widely produced IC for that very reason.
those guys were not just smart, they are extraordinarily smart. a much simpler approach is to use a mcu. 凑个热闹,我也来一个:
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522253.PNG
(原文件名:未命名.PNG)
哦,忘了在第二个555的复位脚加RC,以 ①确保上电时无输出。
----------------------------------------------------------------
加RC上电复位简单,图就不改了,上传仿真文件供测试:
点击此处下载 ourdev_522267.rar(文件大小:13K) (原文件名:tmp6.rar) 把高人cowboy调动出来,这就是我的一大成功。
果然比我的电路更简化,这就是我的目的之二。
谢谢cowboy。 更新后的电路,并增加C3上电复位兼防止误触发.只是仿真通过,实际是否可行,有待测试.
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522417.PNG
(原文件名:未命名.PNG)
=============================================================================
仿真波形见【28楼】。 不但学了555还能感受到高手的思路,谢谢分享 太好了。我替 cowboy 把【26楼】电路的仿真波形图传上来。
绿色线表示输出。上电后输出低电平——延时3秒开启——延时3秒关闭。
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_522533.png
(原文件名:Cowboy.png) 期待版主对问题1---9的详细解答。 有用 版主快点公布问题答案吧,我关注好久了,急切盼望着。 独角戏不好唱,JQ_Lin 版主用心良苦,希望大家多发言,不管对错。
我有开个头,希望大家多讨论。
问题5
稳压二极管D1和D2分别在什么时候做着什么?不用它们会如何?它们的参数值应当如何确定?
=================================================================================
D1、D2在按键释放时,保证上下两管处于截止状态,而在按键按下时,上下两管其中一个截止,一个导通。
不用它们,那么按键释放时,上下两管均导通,不符合要求。
它们的参数Vz,需要这样选取:1/2VCC < Vz < VCC(没考虑Vbe压降),折中地可取3/4VCC,即9V。 帮顶,谢谢JQ_Lin,看了这贴我学会了在PROTEUS里运用光标测脉宽 【30楼】 gaohq
期待版主对问题1---9的详细解答。
【32楼】 gaohq
版主快点公布问题答案吧,我关注好久了,急切盼望着。
============================================================
对不起。
你的心情,我理解。
请你相信,我绝对不会这么早就公布答案的。你应当明白我的初衷。
就像楼上 cowboy 示范的那样,自己试着答几道题,答错了没关系。 谢谢【33楼】cowboy ,你又给开了个答题示范的头。
谢谢你的支持。 【34楼】 laolu
帮顶,谢谢JQ_Lin,看了这贴我学会了在PROTEUS里运用光标测脉宽
===========================================================
你有收获,我也谢谢你。 <font size=8>热烈欢迎!</font>
<font size=6> 欢迎高手献技,共享绝招,光临指导。</font>
<font size=6> 欢迎新手学习,练习答题,点评捧场。</font>
献技——就楼主的题目,集思广益,让大家(特别是新手)看到更多的能够实现同样功能的、多种多样的、简繁各异的电路。
新手得以从中领悟到各不相同的设计思路,这同翻看《555集成电路实用大全》是不一样的。
我可以腾出足够的预留位来放置、展示各位高手提供的新颖电路。
学习——什么叫学习?自己开动脑筋,把别人的、不懂的东西(思路、技巧)弄明白了,而且吃进自己的肚子里,那才叫学习。
要相信一条,我不会过早地公布答案的。再说了,对高考状元公布答案,还有意义吗?
答题——像cowboy在上面【33楼】已经示范的那样,练习回答问题,对错没有关系。
点评——你可以分析、点评某个电路或其局部的特点、技巧绝招、缺欠和优化改进之道。
【26楼】cowboy 的电路,你看懂了吗?没看懂就要逼着自己去看。在懂得555电路原理的基础上,直到弄清下列问题为止。
我本人也在学习,也在答题。我也只有在看懂了cowboy 的电路之后,才能够开列出这几道思考题。对吧?
①它是怎样确保电路上电后输出低电平的?
②U1的555是做什么用的?
③为了实现3秒延时的可重复性,采用了什么样的简单办法?
④cowboy耍了一个什么样的既简单又高级的手腕,竟能让U1输出的重复性动作(见波形图),迫使U2的输出在高、低电平之间交替转换的?
这最后一道题,相比之下是最难的。说实话,我也是在累死了相当多的脑细胞之后,才看透cowboy的心思的。又学了一招,大有收获。
以上几个问题,作为cowboy电路的学习参考题,将被复制到cowboy占据的预留位,供新手学习时使用。 谢谢… MARK 555 mark here is an example of how it can be done with a mcu (12F675, 8pdip).
the basic thought process is to use a timer to count the time since the last time a switch has been pressed. Once that timer has reached a preset limit, you flip an output pin.
the detection of switch is done via a polling method. But you can switch it to interrupt as well.
All done in < 30 minutes, taken less than 10% of the resources on a 12F675 (less than a dollar each, and likely cheaper in China).
here is the code. CNT controls how long the delay is. since we are setting the prescaler to 256:1, the timer offset to 55. With the mcu running at 4Mhz, the 8-bit timer trips once every 256*(256-55)=50ms. with CNT at 40, that means the output pin (GPIO4) will flip once every 40*50ms=2s, which the simulation confirms.
=============code=================
#include <htc.h>
#define SW (1<<3) //GPIO3 as switch
#define PORT GPIO //switch on gpio port. for portability
#define OP (1<<4) //output pin on Gpio4
#define CNT 40 //timer0 interrupt count required to achieve desire time delay.
#define T0_Offset 55 //Timer0 offset. timer0 interrupts once every 256us*(256-55)
#define T0_Scaler 0b111 //timer0 prescaler at 0b111 = 256:1
#define IO_SET(x) PORT |= (x) //set xth bit on port
#define IO_CLR(x) PORT &=~(x) //clear xth bit on port
#define IO_FLP(x) PORT ^= (x) //flip xth bit on port
unsigned long T0_Cnt; //timer0 count
__CONFIG(MCLRDIS & BORDIS & WDTDIS & PWRTEN & INTIO);
void interrupt ISR(void) {
if (T0IE & T0IF) { //timer0 has triggered an interrupt
T0IF=0; //clear timer0 interrupt flag
TMR0+=T0_Offset; //load up the timer0 offset
T0_Cnt++; //advance T0_Cnt by 1
}
}
void mcu_init(void) {
ANSEL=0x00; //all ports digital
CMCON=0x07; //all analog comparators off
TRISIO |= SW; //SW pin as input;
TRISIO &= ~OP; //output pin as output;
// GPPU=0; WPU |= SW; //turn on week pull-up
T0CS=0; //timer0 using internal clock
PSA=0; //prescaller assigned to timer0
PS2=(T0_Scaler & 0b100)>>2; //set up Ps2
PS1=(T0_Scaler & 0b010)>>1; //set up Ps1
PS0=(T0_Scaler & 0b001)>>0; //set up Ps0
GIE=1; //turn on global interrupt
T0IE=0; //timer0 interrupt NOT enabled yet
T0_Cnt=0; //initialize T0_Cnt
}
void main(void)
{
mcu_init();
while (1){
//TODO Auto-generated main function
if (T0_Cnt > CNT) { //SW_Cnt cycles elapsed since the last key pressed
T0IE=0; //timer0 interrupt disabled
T0_Cnt=0; //reset T0_Cnt
IO_FLP(OP); //flip the OP pin
}
if (PORT & SW) { //SW pressed
T0_Cnt=0; //initialize T0_Cnt
TMR0=T0_Offset; //load up the timer0 offset
T0IE=1; //enable the timer
}
}
}
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_524648.PNG
(原文件名:12F675 SW debouncing.PNG)
the code is written for picc 9.x, I think. the code is fairly portable: even for other devices, by changing the macros. Vsw was there to simulate the switch debouncing. you don't need it to build a physical version. 回复【42楼】millwood0
-----------------------------------------------------------------------
楼主要求是用纯硬件实现,如果允许用MCU,可是灵活多了。
另外,看楼主位电路,如果按键按下不放手,时间长了,输出端似乎将出现反复的开、关。当然一般人在电路动后就会放手,不会死按着不放。如果可以允许这种情况出现,那么电路还可以大大的简化,不过要使用单刀双掷开关。而26楼电路就不会出现死按不断翻转的问题。
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_524779.PNG
(原文件名:UNTITLED.PNG) 回复【42楼】 millwood0
欢迎millwood到来。
采用PIC的八脚单片机12F675,如cowboy所说,是一个很灵活的方案。提供的C代码可供采用单片机方案的朋友参考。谢谢。
本帖已经限定应用555(556)。如果允许,我特别想请millwood给出一个新颖、另类的555应用电路,来丰富本帖的有关555的学习和讨论。 【45楼】 cowboy
楼主位电路,如果按键按下不放手,时间长了,输出端似乎将出现反复的开、关。
如果可以允许这种情况出现,那么电路还可以大大的简化,不过要使用单刀双掷开关。而26楼电路就不会出现死按不断翻转的问题。
========================================================================
cowboy,你说的太对了!
感谢你,又提供了新电路,待我整理后上移。
在你的【26楼】电路出现后,关于两个电路的优缺点、特色技巧,我已经采用对比的方式写好了点评(草稿),只是要等待新手参与讨论到一定程度,再上传。我总有一个希望,这些电路的优点和缺点、特色和技巧,能有新手对比,说出一二。 cowboy 在【45楼】又给出了一个更加简化的电路。
同样满足上电确保输出低电平、延时长度的可重复性好和输出状态稳定的要求。
只要按钮的有效连续按压时间不超过5秒,就不会出现输出状态的翻转。
我替 cowboy 把【45楼】电路的仿真波形图传到这里。同时,在网站即将暂时关闭之前上移到【17楼】楼主预留位。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526631.png
(原文件名:Cowboy-2-0.png)
红色线表示输出。上电后输出低电平——延时3秒开启。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526632.png
(原文件名:Cowboy-2-1.png)
红色线表示输出。延时3秒关闭。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_526633.png
(原文件名:Cowboy-2-2.png) cowboy玩555真是出神入化,佩服得五体投地,学习中。 【49楼】 gzhuli 咕唧霖
欢迎 gzhuli 咕唧霖 光临。出手吧,简繁均可。 膜拜;学习。 use a single-shot 555 as a trigger, follow it with a flip-flop. here is one such example:
http://www.doctronics.co.uk/555.htm 【52楼】 millwood0
use a single-shot 555 as a trigger, follow it with a flip-flop.
===============================================================
欢迎 millwood 给出实现楼主位设计要求的电路图及其仿真结果。
【53楼】 millwood0
here is one such example:
http://www.doctronics.co.uk/555.htm
===============================================================
millwood 为我们提供了一个具有诸多555电路应用实例的英文网页。
谢谢。 学习了!!! 学习了!! 佩服中,学习了! how about this one? probably simpler.
http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_537642.PNG
(原文件名:hc132 pulse.PNG) 记号 很久没见牛蛙 cowboy 了。 围观.. 学习了 学习了,MARK! 原来还有这么多人喜欢555啊!
手上的555睡了好几年了,终于找到学习的机会啦! 好久没上来,见见太阳。 强帖留名 怎么没有继续了。 回复【67楼】liumaojun_cn
怎么没有继续了。
-----------------------------------------------------------------------
就等你出招或者答题啊。 mark MARK 收藏 各位都是牛人,想做一个电路实现这样的功能,麻烦各位牛人给画个图,通电3秒钟后继电器吸合1秒钟断开,本人基础太差,现在延时3秒功能实现了,但是一秒钟后继电器释放的功能还不能实现。 1) use a mcu.
2) use two 555 timer (3s to 4s), and use a gate. 回复【72楼】caohongsheng 曹洪生
-----------------------------------------------------------------------
可以只用一片555实现. 回复【74楼】cowboy
------------------------------------------------------------------
本人才疏学浅,一直搞不出来,麻烦能不能画张图给我,谢谢 http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_596799LEYOKB.PNG
(原文件名:NE555 延时3S_1S电路.PNG) 非常感谢cowboy,晚上回去搭个试试,再次感谢您的热情帮助,3Q 断电后要等待较长时间才能再上电,否则断电后C1放电不彻底,会使再次上电时,延时时间变长,甚至失灵。改用12V供电可以避免此问题。 mark 回复【78楼】cowboy
-----------------------------------------------------------------------
谢谢cowboy 含有各个元件参数的2001.01.01电路(【2楼】最初的电路)已经公布在【14楼】。 膜拜林老严谨的治学态度~ 含有各个元件参数的2001.01.02电路(【3楼】简化的电路)已经公布在【15楼】。 深感林老严谨的治学态度和务实的精神无私的奉献 这个仿真的是什么软件啊?? 回复【85楼】dz280339441
这个仿真的是什么软件啊??
-----------------------------------------------------------------------
看标题啊。 mark mark mark mark mark mark 膜拜一番~~~~~
页:
[1]