Sunday, 29 May 2016

pic - Board review: is this PIC16F877 RS232+ICSP board correct/robust?


I want to make my own development board based on a PIC, to make a RS232 bootloader from scratch. It's been a while I haven't used a PIC, and it was on a ready made development board.



I've looked around on the web and designed what I think is a minimalistic RS232 and ICSP board based on a 16F877. Could you review it and tell me if it'll work, if it can be made more robust (for future projects as well)?


Sorry if the symbols look funny, I use DesignSpark PCB and I usually go first with the models in the ModelSource database. enter image description here


In particular, the ICSP is going to be a ICD3 which is apparently high voltage... Not good for the MAX233 and the LM340.


P.S: Those are SMD components, therefore my "breadboard" will actually be a draft PCB from a PCB house



Answer



You need to look at the datasheet for the MAX232 and add the capacitors that are missing. There should be 4 capacitors PLUS the bypass cap for a total of 5 capacitors near the MAX232.


I don't have the datasheet for the 16f877 in front of me right now but there should be two sets of Vdd & Vss pins. I see only one set connected. The chip is NOT reliable if you don't have both sets connected.


You should have a bypass cap right beside each of those sets of power pins.


[Edit]


I see now that you are using the MAX233, not the 232 like I had thought. What you have looks okay.



Possibly the only potential problem is when you are programming the chip with your ICD3.


You show a 4k7 pull-up from !MCLR to Vdd. If you don't have sufficient load on your 5V supply, the programming voltage will raise the 5V rail higher than allowed.


There are several easy options to fix this.



  • Increase the value of R4 to 39k as per Microchip's datasheet

  • Ensure that there is sufficient load on the 5V rail to ensure that Vpp being raised to +13V does not cause the 5V rail to increase.

  • put a diode in series with R4 (cathode towards !MCLR)


Your schematic looks good and should get you going quickly.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...