众所周知,NE555是一款常被用于产生不同占空比、频率的计时IC,在前段时间,由于设计需要,要用单片机控制NE555使其可以定时输出占空比50%,5Vpp,1KHz的脉冲频率,因此在查阅大量资料及仿真后,设计了一款可以通过单片机IO口输出的高低,控制光耦芯片,从而实现NE555定时产生脉冲的功能。
其电路仿真图及代码如下,仿真地址https://falstad.com/circuit/circuitjs.html ,仿真模型可通过文本导入,其代码如下(直接复制,然后点击>文件>从文本导入,然后粘贴确认即可运行):
$ 1 0.000005 10.20027730826997 50 5 50 5e-11
165 608 272 688 272 6 4.999999950000001
r 528 304 528 240 0 3900
r 528 304 528 368 0 62000
c 672 432 672 480 0 1e-8 3.2925782354109816 0.001
w 608 304 528 304 0
w 608 368 608 400 0
w 528 368 608 368 0
w 672 480 528 480 0
w 704 432 704 480 0
w 672 480 704 480 0
w 528 240 672 240 0
R 672 240 672 192 0 0 40 5 0 0 0.5
w 736 304 736 240 0
w 736 240 672 240 0
w 736 336 784 336 2
407 336 384 448 384 1
r 336 384 336 304 0 100
g 256 416 176 416 0 0
s 336 416 256 416 0 0 false
c 528 432 528 368 0 1e-8 -1.7235728163227613 0.001
w 528 432 528 480 0
w 528 240 368 240 0
w 432 384 464 384 0
w 464 384 464 480 0
w 464 480 528 480 0
g 432 416 432 480 0 0
w 368 240 336 240 0
w 336 240 336 304 0
o 14 8 0 176139 4.999999950000001 0.0001 0 2 14 3
代码运行后,会出现仿真图如下:
其中,开关处可模拟单片机IO口给的高低信号(HIGH或LOW),当开关断开时(即IO口给高电平时),NE555输出口为高电平;当开关闭合时(即IO口给低电平时),NE555输出口为占空比为50%,频率为1KHz的方波脉冲,如下(图片下半部分为示波器波形,可以查看其占空比及频率):
大家可以更改电阻或电容值实现不同占空比、频率的方波输出。下图为开关闭合与断开时的OUT口示波器波形。
使用立创EDA软件绘制电路原理图设计及PCB3D视图如下(下图是两个IO口控制两组NE555定时产生方波脉冲的图):
现PCB已收到,经上电测试,当IO口给低电平时,其输出波形如下:
可以看出,其波形显示良好,但其频率与仿真结果仍有偏差,主要是由于电阻值与电容值的偏差造成的,焊接10nF电容,用万用表测试其容值约为13nF,电阻约有1%的偏差,因此导致与仿真结果不符,大家在使用电路时,可稍加变化。
如有疑问,可私信。希望本篇文章能帮到大家!
原理图及PCB开源工程链接如下:
通过PC817光耦控制NE555产生方波 - 嘉立创EDA开源硬件平台