Summary of Universal Driver & Dev Board using PIC16F
The Picprojects PCB480C is a universal MOSFET driver and development board for 18‑pin PIC16F microcontrollers, designed to drive up to eight high‑current loads with flexible I/O, power, serial, IR, and opto‑isolated interfaces. It includes selectable regulator options, MOSFET outputs with terminal blocks, onboard LEDs, ICSP, RS232 level shifting, optional crystal oscillator, and configurable external I/O with filtering or isolation for varied projects.
Parts used in the PCB480C Universal Driver & Dev Board:
- 7805 positive 5V regulator (or LM2940CT-5 LDO)
- Diodes D1 and D14
- Capacitors including C3, C9, C10 and load capacitors for crystal
- 18‑pin PIC16F devices (16F84A, 16F627A, 16F628A, 16F648A, 16F88, 16F1826, 16F1827)
- External crystal
- 5‑pin ICSP header
- Infra Red Receiver module (eg TSOP4838)
- Switch S1 (user input) with 10K pull-up resistor
- Resistors for LED and I/O connections
- On‑board LEDs (8)
- 16‑pin header / IDC cable connector for 8 I/O lines
- STP36NF06 or STP20NF06L logic‑level N‑channel MOSFETs (8)
- 5.08mm 16A terminal block (for MOSFET drains)
- Discrete RS232 level shifter components
- 3‑pin 2.54mm serial input header (Rxd, Vss, Txd)
- Opto‑isolator IC for external input isolation
- Solder jumpers SJ1 and SJ2 (and provision for 0805 SMD resistor)
- Resistor/diode/capacitor components for I/O filtering and pull-ups
Description
The simple 8 channel LED chaser has been a very popular project on Picprojects since it was first published a couple of years ago. During that time there has been a demand for a board that could drive more LEDs so I started designing a new version of the LED Chaser using MOSFETs. What I wanted to do was come up with a circuit design and PCB that while fulfilling the need for a MOSFET driver could be shared with a number of different projects. It’s always difficult trying to do this without either finishing up with a large PCB or one that isn’t much use for anything else. The final design I came up with is now Picprojects PCB480C and is discussed on this page.
Circuit Description
As the schematic shows the board contains a number of sub-circuits which can be included or omitted as required.
The power supply section uses a 7805 positive 5 volt regulator, the provision of C3 enables the use of an LDO regulator such as the LM2940CT-5 which requires a large (47µF) for stability. Diode D1 provides reverse polarity protection and D14 protects against reverse biasing of the regulator output should the board be connected to an external 5 volt supply.
The board is designed for the 18 pin Microchip PIC16F devices including 16F84A, 16F627A, 16F628A, 16F648A, 16F88* and the new Enhanced midrange parts 16F1826 / 16F1827. The provision for an external crystal and load capacitors allows designs to use higher clock speeds or more accurate timing over the internal RC oscillator module. A 5 pin ICSP connection is also made available for in-circuit programming and debugging.
* The 16F88 uses different I/O pins for the ASUART so it can’t use the serial hardware interface on the PCB
An Infra Red Receiver module such as the TSOP4838 can be used with the board, the output connecting to RB0 I/O pin.
Switch S1 provides user input and connects to RA4 with provision for a 10K pull-up resistor.
The lower four I/O pins of Port A and the high four I/O pins of PORTB are connected via resistors to on-board LEDs and also to a 16 pin header. The header allows 8 I/O lines to be used externally via an IDC cable connection. These same eight I/O outputs can also connect to STP36NF06 or STP20NF06L logic-level N-Channel MOSFETs for driving high power loads. The MOSFET drains are connected to 5.08mm 16 amp terminal block connections. Each channel can handle 3 amps, however the combined channel current for the whole board should not exceed 16 amps.
A discrete RS232 level shifter is included allowing the board to connect to external equipment using serial comms. Since this circuit doesn’t have a -12 volt supply it makes use of the RxD input from the host equipment to ‘steal’ the negative supply for the boards TxD output. Generally this works well but does rely on the host comms equipment using RS232 signal levels. The input for the SIO is a 3-pin 2.54mm header. The centre pin is ground and the outer pins are Rxd/Txd. This arrangement allows rotation of the connecting socket through 1800 to convert input connection from DTE to DCE.
n.b. The 16F88 uses different I/O pins for the RX/TX AUSART peripheral to those used by the 16F627A/8A and 16F1826/7 devices so the serial hardware cannot be used with this part.
The final option is the provision of two external input/output connections. The input mode can either use the opto-isolator or by omitting the opto-isolator and shorting the solder jumpers on the PCB provide direct access to I/O pins for use with digital or analogue inputs.
The opto-isolator does not provide high voltage isolation since the signals are routed in close proximity to other signals on the main PCB. The main reason behind its inclusion is to provide ground isolation and input protection.
When the Opto-isolator IC is not used the I/O-1/2 connectors provide direct connection to the PICs I/O pins for use as either digital I/O or analogue inputs. The resistor/diode/capacitor on each connection allows input filtering or output slew rate control. Pull-up resistors are also provided on these inputs. These components can be included/omitted, values altered etc. to suit whatever application the I/O pin is used for.
The SJ1 and SJ2 solder jumpers will also take an 0805 SMD resistor allowing a resistor to be inserted between the PIC I/O pin and capacitors C9/C10.
For more detail: Universal Driver & Dev Board using PIC16F
- What PIC devices does the board support?
The board is designed for 18 pin Microchip PIC16F devices including 16F84A, 16F627A, 16F628A, 16F648A, 16F88, 16F1826 and 16F1827. - Can I use an LDO regulator instead of the 7805?
Yes, the provision of C3 enables use of an LDO such as the LM2940CT-5 which requires a large 47µF for stability. - How are high power loads driven?
Eight I/O outputs can drive STP36NF06 or STP20NF06L logic-level N-channel MOSFETs, with drains connected to a 5.08mm 16 amp terminal block. - What is the current handling capability per channel and for the board?
Each channel can handle 3 amps, and the combined channel current for the whole board should not exceed 16 amps. - Does the board provide RS232 serial connectivity?
Yes, a discrete RS232 level shifter is included and a 3-pin header provides Rxd, ground, and Txd connections. - Can I connect an IR receiver to the board?
Yes, an Infra Red Receiver module such as the TSOP4838 can be used with its output connected to RB0. - Is opto-isolation provided for external I/O?
The board includes an opto-isolator option to provide ground isolation and input protection, though it does not provide high voltage isolation. - Can I use the serial hardware with a 16F88?
No, the 16F88 uses different I/O pins for the AUSART so the serial hardware on the PCB cannot be used with this part. - What options exist for external I/O when the opto-isolator is omitted?
If the opto-isolator is not used and solder jumpers are shorted, the I/O-1/2 connectors provide direct access to PIC I/O pins with resistor/diode/capacitor filtering and pull-ups. - Is in-circuit programming supported?
Yes, a 5-pin ICSP connection is provided for in-circuit programming and debugging.
