12V Lamp Control Card Design using PIC16F877A (PCB +Proteus)

Hi everyone, in this project I designed a basic controller card to control 10 x 12 V lamps by using buttons on a PCB.

The brain of the circuit is the famous microcontroller PIC16F877A which is manufactured by Microchip Technology Inc.

[Download Project Files[/size]](12 Volts Lamp Control Card Design using PIC16F877A ( PCB Design + Proteus Simulation ) - Codemio - A Software Developer's Blog)

What is the microconroller doing here?

You don’t have a schematic, so it’s hard to do a full review, but I see a few issues with this design:

  • It looks like you are low-side switching the lights. If the lights are powered from 12V (which it looks like with the LAMBALAR connector having a 12V pin), you will back-feed the 5V rail with something close to 12V (12V - the lamp’s voltage drop at low current - the diode drop). The PIC won’t be happy with that

  • You need bypass capacitors right at the VCC pins of the PIC. 100n should be good there.

  • Your 12V and ground traces are very long and thin. They should be direct and fat to reduce voltage drop and ground bounce.

  • Traces should connect to other traces at right angles; acute bends or connections can cause acid traps

  • It’s best to have the crystal and caps close to the pins on the micro, and to ground the caps by the most direct route to the micro’s ground pin

  • You will be blinking lights (ie, drawing slugs of current). I’d add a few hundred mics of bulk capacitance to the board

  • You don’t have any mounting holes

  • For convenience, you may want to add a 5-pin ICSP header

  • The wiring on the buttons doesn’t look right, but it’s hard to tell without a schematic. It looks like the gate or base gets left floating when the button isn’t pressed

/mike