http://www.circuitsathome.com/mcu/pic_vpp_limiter

VOUT = 2.5V * ( 1 + 24/10 ) = 2.5 * 3.4 = 8.5V

Newer PIC18s, such as my current favorite – PIC18F26K20, don’t like to be programmed with 12V. The datasheet maximum is 9V. Older Microchip programmers/debuggers, such as PicKit and ICD 2, do not support variable programming voltage. When you start a MPLAB project consisting of K-series PIC18 and ICD 2 debugger, you will get a warning and suggested VPP limiting circuit schematic. In this article I’m describing this very circuit, so you can build it beforehand.

The circuit is as easy as it gets. It is TL431 programmable voltage reference configured for 8.5V cutoff. If you are not comfortable having VPP so close to specified maximum, change voltage divider R2R3. Bear in mind that minimum VPP for new PIC18s is VDD+4.5V; if you are powering your PIC from 3.3V (max.VDD), minimum VPP is 7.8V.

To build this circuit, you can use a PCB, or use a small piece of prototyping board. I solder right-angle headers into ground pads; this way, the limiter can be inserted vertically, saving precious breadboard space.

I suggest checking circuit operation after you build it. You will need bench power supply (or any known voltage source of 9V or more) and a voltmeter. The procedure for bench power supply is as follows:

PIC VPP Limiter board layout
  • Set your power supply to minimum voltage and current.
  • Set voltmeter range to 20V DC.
  • Connect circuit IN to the power supply, circuit OUT to the voltmeter, all 3 grounds (power supply, voltmeter, and circuit ) together.
  • Add some voltage on power supply. If it starts showing overcurrent, add little current (but just a little; the current when to become suspicious and start looking for shorts is 30mA).
  • The voltmeter should follow power supply as you add voltage until you reach 8.5V. At 8.5V voltmeter should stop. Continue adding voltage on power supply until you reach 12.5-13V. If voltmeter still shows 8.5V, your circuit is working.

Now, when your know circuit is operational, it’s time to use it. Connect IN to MCLR/VPP signal coming from the programmer, connect OUT to MCLR/VPP of your PIC, connect GND to ground. The last connection is as essential as other two – if ground is not connected, the circuit will bypass input voltage to output without change.

ICD2 VPP limiter for new PIC microcontrollers.的更多相关文章

  1. Using Internal EEPROM of PIC Microcontroller

    There are commonly three types of memories in a PIC Microcontroller, Flash Program Memory, Data Memo ...

  2. RFID 仿真/模拟/监控/拦截/检测/嗅探器

    Sound card based RFID sniffer/emulator (Too tired after recon.cx to do draw the schematics better th ...

  3. Important Programming Concepts (Even on Embedded Systems) Part V: State Machines

    Earlier articles in this series: Part I: Idempotence Part II: Immutability Part III: Volatility Part ...

  4. 如何在 arm 官网上找到合适的手册

    http://infocenter.arm.com/help/advanced/help.jsp 在这里输入合适的版号即可 这样就可以不用去 CSDN 了 100000_0000_00_EN - AR ...

  5. 说说 MicroPython 的项目整体架构

    今天来说说 MicroPython 的架构情况,如果有必要我会做一些源码分析的文章供大家参考. 先来认识一下 MicroPython 整体情况,可以从软件的角度上去看待,首先我们拿到 MicroPyt ...

  6. PIC JDM Prototype Programmer 1001

    In need of a programmer for PIC micro controllers I decided to build my own one. This programmer has ...

  7. USB PIC Programmer (Brenner8)

    http://uzzors2k.4hv.org/index.php?page=usbpicprog My Tait Serial programmer works alright, but not e ...

  8. Cannot send session cache limiter Cannot modify header information

    当php报出  Cannot send session cache limiter 或Cannot modify header information   的错误时   其理论上是因为php代码以前有 ...

  9. VCC、VDD、VSS、 VEE 和VPP的区别

    在电子电路中,常可以看到VCC.VDD和VSS三种不同的符号,它们有什么区别呢? 一.解释 VCC:C=circuit 表示电路的意思, 即接入电路的电压: VDD:D=device 表示器件的意思, ...

随机推荐

  1. docker容器配置独立ip

    一般安装docker后都会通过端口转发的方式使用网络,比如 “-p 2294:22” 就将2294抓发到22端口来提供sftp服务,这样使用起来没有问题.但端口号很难记忆,如果前边有nginx等抓发工 ...

  2. SQL中rownum和order by的执行顺序的问题

    在一个SQL中,如果同时使用rownum和order by,会有一个先后顺序的问题. 比如select id1,id2 from t_tablename where rownum<3 order ...

  3. Docker容器跨主机通信之:直接路由方式

    一.Docker网络基本原理 直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包:此外,如果不同子网之间要进行通信,需要额外的路由机制. Docker ...

  4. mysql中的包含语句INSTR的使用

    1.目前测试百万级数据,效率还是相当可观,感觉比like更精准! 例句 今天项目遇到一个问题,每个用户都有自己的所属渠道,当登录后台操作时,要列出隶属于自己拥有渠道的用户列表,当初想到使用全部遍历出来 ...

  5. js的等值比较规则

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_sameness ES2015中有四种 ...

  6. ODBC在注册表中的位置

    增加一个oracle的odbc regedit打开注册表 64位 :HKEY_LOCAL_MACHINE -> SOFTWARE -> 32位: HKEY_LOCAL_MACHINE -& ...

  7. JS图片滚动代码(无缝、平滑)

    非常平滑的JS图片滚动特效代码,无缝循环,速度可自定义,鼠标悬停时停止.它的特点是JS和图片地址分离,这样做你就经易的从数据库动态调用每张图片的地址,方便控制,因此它非常的应用. <!DOCTY ...

  8. maven设计思想

    20171108 maven设计思想? archetype  插件  学习插件.

  9. hdu1527下沙小面的(二)

    B - 下沙小面的(2) Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  10. [ 转载 ] Java基础11--Java总结篇系列:Java泛型

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...