目录

三极管配合 PMOS 管控制电路开关

STC MCU在烧录时, 需要断电重置后才能进入烧录状态, 通常是用手按开关比较繁琐. 如果利用STC-ISP在烧录开始时会拉低RTS的特性, 可以实现烧录开始时自动断电复位.

电路仿真测试

下面的电路适用于烧录下载STC MCU. 使用LTspice模拟. V2 为方波, 电压[0, 3.3V], 宽度1.5s

以下为模拟输出, 绿色为三极管基极电压, 红色为MOS管栅极(Gate)电压, 蓝色为负载(R1)两端电压.

对电路中元件的说明:

  • V2: 用于模拟开关的通断, MCU的高低电平
  • C1: 这个电容用于短时拉低三极管基极电压, 关闭三极管. C1值取值在1uF - 4.7uF之间, 值越小输出的截止时间越短, 值越大截止时间越长
  • C2: 是为了压制方波上行时造成的高电平毛刺, 不能太大, 取值 0.5uF - 1uF 即可
  • R4: 延长C1的充放电时间, 不能太小, 太小的话方波上升沿对C1叠加的电压太高会造成输出截止, 也不能太大, 太大的话输出截止时间太短, 最后可能就完全没有截止动作, 取值在 3K - 8K 之间
  • R3: 为了给三极管基极提供电压使其导通
  • R2和R6: 用于三极管限流和分压, 如果V1和V2没有压差, R6可以不要. 但是当V2小于V1时, 需要用R6将三极管的基极电压往上抬一点, 否则V2的下降沿会产生比较高的负电压.
  • R1: 模拟负载

电路的工作原理:

  • 稳定工作时, 因为C1等价于断路, 所以三极管的基极电压为正, 三极管导通, 电流在R2和R6之间产生的分压, 使得PMOS管栅极电压差不多是1/2的V1, 因为栅极(Gate)电压低于源极(Source), PMOS管导通
  • 当V2跳变为0V(可以等价为短路, 合上开关等), 电压突变时, C1视为通路, 立刻拉低三极管基极电压, 此时三极管断开, PMOS管栅极电压拉高到VCC, 因为与源极电压相等, PMOS管关闭
  • C1通过R3和R4充电后, 进入新的稳态, 等价于断路, 三极管的基极电压恢复为正, 三极管重新导通, R2和R6的分压再次拉低PMOS管栅极电压, PMOS管再次导通
  • 当V2再次跳变回3.3V, 电压突变时, C1视为通路, 正电压叠加到C1上在三极管基极产生高于V2的电压(模拟中如果R3, R4较小, 可能会高出V1, 高出V1会导致PMOS管截止, 这种情况要避免), 只要三极管基极电压不高于V1, PMOS会继续保持导通

电路中V2可以换成一个微动开关, 或者用RTS控制, 实现在通讯前拉低RTS重启MCU.

电路原型测试

使用面包板对上面的电路进行测试

  • MOS管使用SI2301, SOT23封装, 用一个SOT89的转接板凑合应付
  • 三极管使用SS8050
  • 因为没有2.2uF的电容, 暂时用一个4.7uF的电容代替
  • 负载用两颗LED方便演示
  • 用杜邦线手工切换高低电平

测试的情况:

  • 因为2.2uF换成了4.75uF导致反向的电动势增大, 所以在输入端高低电平为[0, 3.3V]时工作正常, 但是在[0, 5V], 从低电平跳到高电平时LED有一个明显的闪烁, 反向的毛刺太高导致了MOS管出现通断变化. 将R2减小为5K, 拉低栅极电压基准, 这样在[0, 3.3V]和[0, 5V]都工作正常了.
  • 同样电路, 仅替换SS8050为S9013, 运行结果一样.

测试视频: https://www.bilibili.com/video/BV19Y411F7CX

最终电路和实物

电路图

为兼容无RTS环境的烧录, 增加了一个开关

支持RTS的环境

接线 V->V, G->G, T->T, R->R, RTS->RTS, 由软件触发RTS拉低断电

不支持RTS的环境

接线 V->V, G->G, T->T, R->R, RTS短接至Pin4, 按下轻触开关可以触发RTS拉低断电

实物

背面

SS8050和SI2301都是SOT23封装, 非常小, 直接贴在背面. 有两个电阻因为要穿过其它元件, 为节省位置也放在背面. 在测试正常后, 这一面就用热熔胶封上了.

正面

灯是从键盘上换下来的, 不是常用色. 分别对VCC和GND增加了4个排针, 方便平时使用.

连线

视频演示

视频中使用STC-ISP执行了三次Check, 可以看到有三次断电的过程

https://www.bilibili.com/video/BV1nr4y1x7Uq

最后

对于几十到几百毫秒的断电, 用三极管配合MOS管比较简单, 如果需要一秒以上的断电, 可以考虑将前面部分换成NE555.

MOS管实现的STC自动下载电路的更多相关文章

  1. CH340在STM32实现一键下载电路

    在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不 ...

  2. 关于CH340在STM32实现一键下载电路的研究(转)

    源:关于CH340在STM32实现一键下载电路的研究 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB ...

  3. STM32 ~ CH340在STM32实现一键下载电路

    在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不 ...

  4. 【图文详解】python爬虫实战——5分钟做个图片自动下载器

    python爬虫实战——图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,(没看的先去看!!)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap sho ...

  5. 【壁纸自动换】自动下载、更换壁纸(Bing壁纸)--XinBSBingWallPaper[2.7更新]

    XinBSBingWallPaper主要功能: 1.支持自动下载Bing壁纸.Netbian壁纸.美国国家地理杂志图片. 2.自动搜索.下载多国Bing首页壁纸. 3.支持定时自动更换桌面壁纸. 4. ...

  6. PZISP自动下载软件运行时出现“应用程序无法启动,因为应用程序的并行配置不正确”

    在win7下以管理员身份运行“PZISP自动下载软件”时出现“应用程序无法启动,因为应用程序的并行配置不正确”时,是因为系统里面没有一些visual c++库 想一想,反正以后也要用上VS2010的, ...

  7. VS编译时自动下载NuGet管理的库

    之前一直使用NuGet来管理一些第三方的库,但是每次check in代码时候为了保证编译通过,都需要把对应的packages check in. 比较耗费时间,特别是往github上同步代码,而且这些 ...

  8. Innosetup打包自动下载.net framework 动态库及替换卸载程序图标.

    在使用了一段时间微软自带的安装包打包工具后,总感觉不太顺利,于是便想着找一种更简单稳定的打包工具,这类工具其实还不少,最终经过各种考量,我们选择了 InnoSetup , 该工具是一个完全免费的Win ...

  9. App Store自动下载WiFi与蜂窝数据切换机制

    写下这个给自己备忘,上次也有一次载了个跟头. 在iOS 7和8里面,除了设置--App Store里面自动更新,自动下载,以及使用蜂窝数据要关之外,别以为用了WiFi挂着程序,就万无一失了. 这种情况 ...

随机推荐

  1. tomcat启动报错:A child container failed during start

    环境:maven3.3.9+jdk1.8+tomcat8.5 错误详细描述: 严重: A child container failed during start java.util.concurren ...

  2. Android.mk文件如何打日志信息

    1. 在mk文件中添加:$(warning  "xxx="$(变量名)) 2. 执行lunch,选一个分支,此过程中可以打出添加的log.

  3. 每天找回一点点之MD5加密算法

    之前在做项目的时候用户密码都进行了MD5的加密,今天突然想起来了总结一下(●'◡'●) 一.MD5是什么? MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被 ...

  4. vscode代码格式化快捷键及保存时自动格式化

    一.实现vs code中代码格式化快捷键:[Shift]+[Alt]+ F 二.实现保存时自动代码格式化: 1)文件 ------.>[首选项]---------->[设置]: 2)搜索  ...

  5. 深入理解计算机系统bomb炸弹实验

    1. You can Russia from land here in Alaska. x /s 0x804a26c 0x804a26c:   "You can Russia from la ...

  6. Bootstrap Blazor Table 组件(二)

    原文链接:https://www.cnblogs.com/ysmc/p/16128206.html 很多小伙伴在使用 Bootstrap Blazor Table组件的时候,都会有这样的一个需求: 我 ...

  7. canvas 整个透明

          ctx.globalAlpha=.9

  8. ArcGIS使用技巧(六)——数据视图

    新手,若有错误还请指正! 有的时候出图时有很多图层,且范围很大,而出图的范围是大范围的一个部分,当然,可以对各个图层进行裁剪,但是比较麻烦,这里介绍一个比较简单的小技巧. 类似于图1,出图的时候只想显 ...

  9. python基础练习题(题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少)

    day13 --------------------------------------------------------------- 实例021:猴子偷桃 题目 猴子吃桃问题:猴子第一天摘下若干 ...

  10. jmeter元件分析

    jmeter元件分析 一.脚本通用性 1.性能测试脚本改动一下,加入断言等元件,就可以作为接口测试脚本来使用 2.但是接口测试的脚本不可以作为性能测试脚本来使用 3.原因:因为性能测试考虑更多的性能, ...