The point is that every power net should contain exactly one power output (which is either a power output pin on a symbol or a PWR_FLAG).
This means that every GND pin that’s not unequivocally an output (only the DC/DC converter in your case) should be of power input type (all GND pins of your components and also the common GND on the LM78L05).
You may be able to suppress the DRC error by changing the converter’s output pins to power input but that’s a crutch, not a solution.
I think that the reason that the writer of the converter labelled the 0v an output, is that it can be. There is really no inherent reason why any one of the 3 terminals should not be the “input” as I hinted with my proposed experiment. I suspect that without the crutch, there is no way of suppressing the error i.e. once a pin in labelled as output, Kicad has no way of knowing that it could also be an input i.e kicad willl treat +12v, 0v, and -12v identically. If I am not able to link +12v to ground then I will not be able to link 0v to ground for exactly the same reason??
The reality is that the rule for this component is that “any one of these 3 pins can be an input, but only one, the other two are outputs”
No. I don’t think we’re on the same page here.
Power output/input is not current source/sink, ERC-wise. Regard it as power output meaning “supply” and power input meaning “demand”.
Simpler example: A battery in a KiCad schematic has two power output pins. You connect those to a random IC’s Vcc and GND pins, which are both power input. Add GND and +V symbols (also power input) if you like.
Result: ERC is happy.
What I’m saying is: your schematic above should be fine without adding a net tie nor changing the 0V pin type. The error is caused by something else. Stacking isolated converters is a different story.
KiCad is a computer program, and it works with very simple rules.
There is nothing special about “GND” in KiCad. It is just treated as a global label.
Connecting power outputs to each other is not allowed for the ERC rules.
The schematic below does not generate any ERC errors, even though I’ve connected Vout- to GNDD.
Another of KiCad’s ERC rules is that power inputs have to be driven by an power output. And because the “primary” side of this circuit has no “power outputs”, ERC complains with:
"Pin xx (Power input) of component U1 is not driven (Net 2).
and the PWR_FLAG symbols are to tell KiCad that power for this net is coming for “elsewhere”. These labels work as a “Power Output” for nets that need them, but do not have them.
Nope. it is not!
Battery terminals are set to passive by default because batteries are often stacked, and by setting the terminals to “Power Output” they could not be stacked anymore (without ERC errors or editing).
KiCad is not perfect, and the library maintainers do the best with the tools they have. Setting all “secondary” terminals of such a DC-DC converter to “power output” is the most often used configuration, but this also means, that if you want to stack the outputs of those DC-DC modules, you either have to fix the ERC errors yourself, or live with it.
OK, but it is late here and I am getting tired. Tomorrow I will start stripping down the circuit to something more manageable and post the result. I have tried to read up about power input/output and ground in Kicad but clearly I still do not understand - but I am determined to master it in due course.
OK, I’ll bite. I don’t understand how kicad would know that pin 1 and pin 11 are on the same net i.e. pin 9 has +24v wrt pin 1. Don’t you need to connect pin 1 to pin 11?
Pin 1 is on a different net in this example and pin 9 is isolated from it.
Let’s not mix and match different use cases for that converter. It only adds to confusion right now.
Ah, but that is not the problem with which I am dealing. The essence of my problem is that the supplies must NOT be isolated. I can understand how that circuit passes, the supplies are unconnected.
This schematic is also ERC free, but note that there is now only one PWR_FLAG symbol, as one power input pin of the DC-DC connector is now connected to a Power output pin.
Experiment a bit with that project, and think about the results.
Read some parts of the manuals / tutorials / etc, and then report back if you still have remaining questions.
I just wanted to come up with an example of a “true” power output as opposed to the terminals in yours to illustrate power flags and that input/output has nothing to do with the direction of current.
I fast looked through this thread and I see how happy I was that for 30 years I didn’t noticed ERC (in program I used) exists
I noticed it when joined KiCad forum, but I didn’t used it, don’t use it and will not use it. I swear , never, ever.
But assuming that may be someone would like to use it for my schematics the isolated DC/DC converter (I recently used) I defined with all pins Passive.
OK, thank you Rene, I have read carefully your explanation - and I THINK I understand. The key for my is: “Pins that are intended to supply power to other devices use power output (output pin of a dc/dc converter, a voltage regulator, …)” and " multiple power output pins can not be connected (avoiding of power supply short) see below". Thanks to paulvdh I have changed my view of “gnd” now understanding that, in the case in which no devices have a “power out” connected to ground, then gnd should be labelled with a pwr_flag and at no other time.
The discussion on batteries above is exactly the same as for the isolated power supply case. A single isolated output would look like a component containing a floating battery so the same rules apply - if you label both ends of the contained battery as output, you cannot stack them without generating ERC errors.
If I wish to use two isolated power supplies, even if not stacked, there is no way that I could avoid ERC errors unless, as hinted at in Rene’s explanation, I could edit the electrical type of the pin on a case by case basis without changing the library copy. I can select pin5 and it shows me that it is a power output pin but I cannot find any way to edit that without creating a new component in the library - or is that the option?
Using the “output power” pin as a source of power for the pcb certainly seems odd when I think about it. I guess though that it is only used for the ERC check and has no other influence in the component model.
I include the schematic of my experiment and thank you all for your efforts. I like using ERC since it picks up some obscure errors such as things that I thought were connected, really weren’t.
It is really wonderful to have access to experienced people and I wish all Kicad contributors good health and happiness. enlarged_asdf_power.sch (4.9 KB)
First. I have written “may be someone would like to use it (ERC) for my schematics …”.
Second. When I define symbol I see pin types. I don’t know if I can hide it. If the types I see just colide with what I know about that pin it generates a kind of dissonance. So to avoid it I specify pin types.