Comments on your schematic and circuit:
- A 7805 is not designed to handle the full range of car power, including short high voltage bursts. This has been mentioned to you before. See previous answers for details.
- You have D1 the right way around, but I would make it a Schottky. Those react faster and will be fine for these relatively low voltages.
- Fix the schematic to be less of a ratsnest. Traces worming their way all over the place makes it hard to read. See https://electronics.stackexchange.com/a/28255/4512 for details.
- Fix the schematic to add part values! You seem to have mentioned some of them in the text, but I'm not going to remember everything you said when looking over the schematic. Do it right, especially since you are asking others to look at it.
Without part values, it is difficult to critique anything but the overall topology. That seems OK, within the detail provided by the schematic.
Added after schematic cleaned up:
That's a lot better. It looks basically OK.
I didn't look up the maximum input voltage of the LM2576. Check that it can handle car power glitches.
The 12 V sense lines driving the PIC inputs look fine.
Check that the BC547 can support the relay coil current with a 10 kΩ base resistor driven to 5V. That should provide about 430 µA base current. If the minimum guaranteed gain of the transistor is 50, for example, then this can support up to 21 mA collector current. That's cutting it close if the relay needs 20 mA, and of course is insufficient if it needs more.
Yes, it's doable.
Rather that what you call a "tiny delay" it's the %age on that is a major limiting factor.
For example, a tiny off delay of 100 uS will not allow the relay to operate if the on time is 1 uS.You need to say how many relays you have in mind and what sort of "activity" you have in mind. 1000 or 1000 MOSFETs, all toggling at sub second rates, is quite a different
task to say 16 relays which switch at typically 1 per second.
In the latter case above you can use simple multiplexer ICs (such as the CD4051 with a mall capacitor on each MOSFET gate allowing the MOSFET to be used as a sample and hold.
And, if you want impressive and retro 50's methods, you may be able to do the latter task with diodes only, or even just port pins and some resistors and maybe diodes.
So - please better define your need and we can better assist you.
CD4051 sample and hold.
8 relays. 4 port pins. 1 x CD4051.
CD4051 is configured as an 1:8 mux.
3 port pins provide address to 1 of 8 outputs.
Outputs drive FET gates.
Gates have small cap to ground.
CD4051 input is switched high or low by 4th port pin.
If high, selected MOSFET is turned on.
If low, selected MOSFET is turned off.
That is only a 2:1 gain over using 8 x port pins.
16 relays may be drive with 5 lines and 2 x 4051.
Special magic may allow 16 port pins & 2 x 4051 to drive 64 relays.
A capacitor will help but may not be necessary.
Best Answer
It's not unusual to switch one relay with the contacts of another with no "protection". You can add an RC snubber (typically something like 100 ohms in series with a few tenths of a microfarad) across the contact or across the coil to reduce EMI and sparking.
Such a snubber can also be useful across an inductive load. Or across the coil to prevent high dv/dt at turn-off from preventing commutation of a thyristor (if you are using an SSR, it will often be built into the SSR).
Sometimes MOVs (Metal Oxide Varistors) are used, but I would suggest not using them for such repetitive transients as they actually wear out over time and still allow rather high voltages and don't reduce dv/dt signficantly. If you must use them, take into account their eventual failure mode (usually shorted, followed by a certain amount of flames and smoke and then opening up, if they are across the power).