Problem with ERC in hierarchical sheets (pin not driven)

I have a power supply schematic and an opamp amplifier in a separate schematic opamp.sch. There are two instances of opamp.sch on the power supply schematic as hierarchical sheets. On running ERC I’m getting an error - as shown on the pic. I have PWR_FLAGS on the power supply schematic already. I thought that power symbols were classed as global labels, but Kicad doesn’t seem to be recognising that the power symbols are the same symbols, or more likely, I’m missing something! Any help in solving this will be greatly appreciated. I’m using Kicad 4.0.7 on a mac.

The power supply schematic

Is there a PWR_FLAG on +24V? I’m viewing on a mobile.

Yes, on the power supply, but not in the hierarchical sheets

But isn’t that before the regulator?

Thank you! I’m a complete idiot!

Actually you are not. It depends on the definition of the output pin on the regulator. I have a schematic where I use a 7805 and the output pin is defined as Power Output and this satisfies ERC. So check your regulator symbol.

If you don’t need to upgrade in the middle of this project then don’t, but going forward you really should upgrade to the latest 5.X version.

1 Like

If you ever decide to upgrade then you might want to be aware of these topics:

I’ve annotated your power supply schematic to link with some notes, below:

  1. This PWR_FLAG was probably necessary because many regulator symbols have the Vin pin set as a power input pin, and thus need some sort of power output pin to drive it. The only other components on that net are a resistor, two capacitors, and a diode. None of those components usually use power pins, so there is no source for the regulator so you need to add the PWR_FLAG as a virtual source. KiCad doesn’t know any circuit theory so there is no way to know that you intend on providing the source of the power at the connector, and that source of power will flow through the resistor.
  2. The Vout pin of many regulator symbols (as mentioned in the thread above) are set as a power output. But, the only other things on that net are two resistors, a capacitor, two diodes, and a transistor. None of them care if they are connected to a power output pin or not, so they won’t throw any ERC errors even if the Vout pin of the regulator wasn’t a power output pin.
  3. Here is the source of your +24V global net used in the sub-sheets. That emitter of Q1 is probably a passive pin, not a power output pin. This is the most reasonable place to put a PWR_FLAG for the +24V global net. KiCad doesn’t care where on the net the PWR_FLAG is (remember, KiCad doesn’t know circuit theory), but for the reader of the schematic the PWR_FLAG indicates where the source of the power net comes from.

NOTE You don’t want to put a PWR_FLAG on the +24V net in one of the op-amp sheets because you use two of the same schematic. That would put two PWR_FLAG symbols on the same net and would trigger a different ERC hit (2 power output pins connected).

I hope that makes sense.

Hmm, I’m wondering about a few things in your design.

Why not take the LM317 voltage feedback after the BC547 so that it takes into account the BE junction drop? And the BC547 isn’t a high power transistor and the LM317 can supply a higher current so why the emitter follower in the first place?

And the input side, why the two series reverse diodes and the two series capacitors? Were you trying to do a voltage doubler from AC input?