Puma board for FreeEMS

Marcos' unmaintained, but still in-use, Puma for FreeEMS circuit board/hardware design!
TonyS
LQFP112 - Up with the play
Posts: 192
Joined: Mon Jun 21, 2010 4:18 pm

Re: Puma board for FreeEMS

Post by TonyS »

Fred -

I know we had a similar discussion about the number of BATT and GND wires while you were in the states. I know that you have more practical experience than I do, but I hope that you will consider some comments that I have about this issue.

I did work at an automotive electronics manufacturer for almost 3 years were I was exposed to a number of commercial ECUs. The largest typical number of BATT connections used was 2, which were provided via 18ga wires. This battery feed was delivered via a relay that was under the control of the uC. A third battery feed was delivered when the key switch was turned on. This provided initial power for the uC and system start up. The largest typical number of GND connections was 3.

I do understand why you have segregated "clean" and "dirty" sources of power, but really there is only "dirty" (unless the engine is off). It is up to the power supply sub-system to handle anything given to it and provide a "clean" 5V no matter how "dirty" the incoming feed is. There are quite a few nasty transient voltage tests that a commerical ECU must pass.

I did not search the forum to see why a continuous feed is needed for the uC in "sleep" mode, but am assuming that you are trying to keep some volatile data, so I have no comment about this.

As far as getting an accurate battery voltage, can't you just measure it during a "quiet" time (whenever there is minimal current - i.e. no injectors firing)?

I have attached a wiring diagram for of an aftermarket ECU for your enjoyment.

- Huff
Attachments
Edelbrock - Super Victor_wiring_diagram.jpg
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Puma board for FreeEMS

Post by Fred »

Tony, you're right that it's all dirty, but that external dirt is the dirt you want. It's the internal dirt which you don't want. Now, you're not comparing apples with apples. Virtually no OEMs use low Z injectors without resistor packs, and if they did, they'd probably do like they do with ignition and put it outside the box.

As for our conversation, yes, this reminded me of that too, and like that, there would be an "I told you so" moment later when stuff didn't work, except that here, I'm running the show and won't get overruled on crucial stuff like that. When I got overruled post our discussion, the "I told you so" moment came when we HAD to hard code the battery voltage because the measured numbers were totally UNUSABLE! The engine wouldn't run in a reasonable way using "measured" readings.

anyway, i'm too tired to reply to that in full, you have some good points in places. sleep time.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: Puma board for FreeEMS

Post by jharvey »

I just finished populating the schematic component BOM, committed and pushed. It now includes MFG# and Vendor# for almost every component. So you can look at the comma delimited file puma.lst, and find U33 is digikey number blah blah blah. Here's the exception list.

C132 not exactly sure, I gave it an 0805 ( this is a new rest cap, not included in spin1??? )
Q18 BC547 TO92 ( don't know digikey part numbers for these TO92 parts )
Q20 PNP TO92
For the spin1 folks, there is one component that changed, the USB connector, it's now a different #.

I got rid of the .cmp file. That information is now included in the schematic, and as far as I can tell it's better there. That .cmp file seems like it can be really handy, but mostly for changing a footprint, with out modifying the schematic file, which is probably more valuable for ASIC design, where you might have one schematic, several layouts and no BOM. In our case, I think we are best with BOM in the schematic, such that it can associate ref designators and such.

Next on my list is to make a footprint for that USB connector.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: Puma board for FreeEMS

Post by nitrousnrg »

Fantastic, keep it up!

I don't have C132 in my repo, no clue about what it is.
Don't bother on TO92s, its for tests @home

Btw, I came here to let you know that the components of the BOM are ROHS compliant. PCB is compliant too, so if they're assembled with lead-free solder, the board will ROHS compliant.

I don't want lead-free solder, but since it is a must in some places, its nice to have the compliance as an option.
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: Puma board for FreeEMS

Post by jharvey »

nitrousnrg wrote:I don't have C132 in my repo, no clue about what it is.
Look for C? it wasn't annotated, and it changed to C132 when I did the annotation. It's on the MCU page near the reset thing.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: Puma board for FreeEMS

Post by nitrousnrg »

Ohh there it is.
Yes, its to delay the MCU startup, but THE solution is still dodgy to me.

Today I tried to do some further testing at the university labs to narrow down the start problem ... but a sudden power shutdown in the uni neighbor make that not happen.
Marcos
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Puma board for FreeEMS

Post by Fred »

"made", past tense ;-) Also "power cut" or "power failure" are (much) more common and don't imply that it was a controlled or good thing ;-)

Back to eclipse/soldering iron!
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Puma board for FreeEMS

Post by Fred »

Marcos, I need to talk to you about grounds! :-)

Grounds are all that is left to connect on my puma, then its just a bit more code and we're all go.

And, while I was hacking away at my megapoo changing its pin out so that I can have it and puma plug and play swappable, I thought about our wiring/ground/power argument, and one thing that megapoo does RIGHT (there arent many) is having multi ground wires. Even when they are internally connected together you get a lower impedance at high frequencies with multi wires instead of few big ones. MS takes this to the extreme with 15 ground pins on a 37 pin connector (too many), BUT, they only tell you to hook up 7 or so. I am going to change my ms loom tomorrow to feed grounds in via more pins as my sensors currently share pins with the big wires and are unreliable.

What I need to know from you, is, which wires do what, and where, so I can hook them up to the connector to match my loom, or vice versa.

Hit me up via chat or wake me with skype when you're free to talk about grounds so I can get my puma box finished and move onto coding.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: Puma board for FreeEMS

Post by nitrousnrg »

As far as getting an accurate battery voltage, can't you just measure it during a "quiet" time (whenever there is minimal current - i.e. no injectors firing)?
I woke op in the middle of the night saying "es buena!" (its a good idea!)

And Fred, the laptop is a little broken (minor fan issue), I'm using the server right now.

I suggest to wire grounds to pins labeled as GND. The 40 pin header has some of them, there are a couple more in the (kind of) header next to the bdm connector. The bdm connector has a ground pin too.

Its better not to use the 40pin header. Thats an analog plane and if you take gnd from it, high currents will be travelling through sensitive parts of the board. Not sure if you have the through hole capacitors populated, but those would be good ground sources too.

Again, I encourage you to use kicad, you could highlight the GND net and see clearly where you have gnd pads :-)
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: Puma board for FreeEMS

Post by jharvey »

Fred wrote:I thought about our wiring/ground/power argument, and one thing that megapoo does RIGHT (there arent many) is having multi ground wires.
I disagree, and agree at the same time. See this page for more.

http://www.opencircuits.com/Printed_Circuit_Boards

I agree that the gnd should leave the PCB from one common area of the PCB. I also agree that the gnd should have several wires of varying length, each gnd wire should be capable of carrying the full gnd current. I think MS is a good example of why multi gnd paths are bad. I seem to recall davebmw wrote an extensive gnd modification procedure to fix MS gnds.

Having GND leave from a common place on the PCB prevents gnd loops and lowers the noise floor. It also allow for easier to understand diagnostics. One problem you can get with only one gnd conductor, is that the capacitance, inductance and lead length can cause RF nulls or poles. So 2 or perhaps three conductors of varying length will typically prevent such issues with RF gnd-ing.

Here in the states, NFPA 70 (the National Electric Code) is our house building standard in some 40+ of our states. It's a standard that's written by a large group of volunteers, and is concerned with DC to GHZ. Basically the full spectrum of lightning is a common concern. The NEC calls for all grounds to leave your house/building wiring at one ground rod. This is due to ground loops, diagnostics issues, voltage differentials, ect. If you have one ground and it fails, you know it. However it you have several gnds, and one is dodgy, while the others are semi good, you can get some really hard to diagnose and hard to identify problems.

[edit] added the below [/edit]
I just looked at the above posted schematic. I see that schematic as having 2 gnds on that after market ECU. However, they appear to separate the high speed data gnd from the rest. I believe this is because the capacitance induced on larger gnd is to high, and creates a high pass filter. If your data rate is say over 2 mhz, then you can have this kind of issue. I understand USB is differential and isolated from GND. We do not currently have high speed CAN, ect, so I see no need for the second gnd on puma as it stands now.
Post Reply