Puma board for FreeEMS

Marcos' unmaintained, but still in-use, Puma for FreeEMS circuit board/hardware design!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS for Argentina

Post by Fred »

nitrousnrg wrote:Well, this connector, plus a little app to create a FreeEMS config file from a MS config file would make FreeEMS easy to test and compare.
I don't know if little is going to be an apt adjective... There are litterally countless different ms config formats, and there will be various freeems config formats over time too. The latter you could maintain easily enough, assuming it made sense to try to translate it, which it might not anyway due to their iffy math and options. You'd need a LOT of logic in your "little" app to pull that off successfully.

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: FreeEMS for Argentina

Post by nitrousnrg »

Auch, I didn't know that.
At least I could 'translate' VE tables, ign tables and temperature corrections, from some versions, just to have some maps available.

Hey, if this board works fairly fine, I might call it freeems-puma or similar. A puma (aka cougar) is a big american feline, not in risk of extinction ;-)
Its just a thought, maybe it doesn't fit the naming conventions.
Marcos
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS for Argentina

Post by Fred »

Why not just "puma" then? If you're planning to sell it, you should play down the freeems nature of it so that people aren't as inclined to copy it ;-) Also, I think each sepearte thing needs its own name, and banging freeems on everything makes NO sense. Same argument with JHarvey about his hw design. The naming thread is here :

viewtopic.php?f=41&t=746

See Jim's post near the end of the second page, but do read from the start. This is important stuff for our future. Less so now, but habits formed now may be hard to break later.

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: FreeEMS for Argentina

Post by nitrousnrg »

I like puma, but I'm not totally sure about it. When i get decided I'll change the whole thing (repo, files, and maybe the thread). And without "FreeEMS", as you pointed out.

You guys should check the first post of the thread, I just updated the board screenshot.

Now it is compatible with the previously posted connector board, everything is routed except for the fuel pump circuit to the cpu pin.
I like big ground planes in the bottom, please check if the analog ground planes makes sense, here is a screenie:
Image

Analog ground is taken from the main capacitor, and the plane is cut that way to ensure no digital currents are messing with the analog circuits. Still, the ground path between that capacitor and the gnd connector have all kind of digital and analog signals.

The front layer needs a plane too, but it makes the board hard to see, so I'll put it later. Should I put a ground plane (low Z) path so RF comes out easier, or a +5/+12v plane to add a little capacitance between ground and 5/12v?

If you see weird things point them out, I just routed it, I'll start the DRC the next week.

Oh, and I didn't put de XOR, but I will. The space is there, and I have the XORs.
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeEMS for Argentina

Post by jharvey »

Ooooh, those are nice pictures.

On a quick look, I have some comments about that pesky silk screen. Is your length and width being determined by the HDD case you plan to mount it into? On one hand, I see extra space, and it could be made smaller. On the other hand, it's smaller than a typical PC HDD, so it's fairly small to begin with. Or more features could be added later while maintaining the same length and width.

I should get a chance to look at it closer later tonight, perhaps tomorrow morning. It's looking good.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: FreeEMS for Argentina

Post by nitrousnrg »

Cool, I'll wait then.

With regards to space, it suddenly appeared when I replaced the LM1815s with a couple of max9924 (bottom right).

I'm sticking with this size, I like round numbers. Besides, there are things unimplemented/unrouted/unschematized :p yet, like a knock sensing circuit -or IC-
Also, I want some extra pins to be brought up to the connector, so most of that space could be used for conditioning circuits. The space at the left of the MCU is wasted in tracks, with a 4 layer setup it could be filled with useful things.

At the left of the regulator (LM2937, bottom right) is the switch circuit to power off the secondary 5v supply. Totally untested yet. I'd like to put there some SMD fets instead of the TO92, but I'm not sure I could get any of those here.

I'm having my doubts about the isolator IC, maybe I could use just the XOR gates to protect the MCU.

And, my favorite pcb manufacturer in buenos aires will make me change a few design rules (10mils track clearances, 40mils vias), and I may not want a pad too close to a via. I've read that the solder can flow through the via hole during reflow. I thought vias were covered with solder mask (today I sent a mail to the manufacturer asking that).
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeEMS for Argentina

Post by jharvey »

Nice LDO's. About the MIC2954, I see that potentially making (14-5)*.25=2.25 watts. It has nearly no thermal path for that wattage to go to. Perhaps some more vias to help get that heat into the ground plane would be a good idea. Also C5 is a fairly large device. Once your SMT size gets larger than a 1205, it gets a bit tricky to maintain a good temperature range. Is there a cap with a smaller footprint? If not, is there a cap with flying leads like the MCU? Something that will allow for thermal expansion. The datasheet shows C5 with a 2.2uF not a 22uF. The 2.2 is probably recommended to prevent oscillation, so I would recommend it. I also like having the 22uF for bulk purposes, and the .1 for higher frequency purposes.

If the MCU gets hot, it will need a heat sink above or below. Probably on top of the chip. Perhaps some heat sink mounting holes around the MCU could be handy.

Also note C10 uses the same footprint as C5. Might have thermal issues. You have ordered most of the parts right? You might want to check the size of C11. It may be physically larger than that shown on the silk screen layout.

On U6, the NC blue X's should move to the circle part of the pin. This prevents a couple mild warnings from the DRC.

I notice you use the power ports. Those have some effects I didn't understand. I avoided using them because I didn't know how the special extras worked. I'd recommend keeping a close eye on all tracks that use them. They may inadvertently bridge two nets via netlist. However, I didn't see any net problems so I believe this is good, just wanted to recommend keeping an eye on these power port things.

How many oz of copper? Perhaps that could be included on thread post 1 of this thread.

Probably unimportant, but Q1-4 aren't inline with Q7,9. The are slightly lower. Perhaps dropping Q1-4 a pinch would make it just slightly nicer.

Remember a PCB MFG spec of 10 mill set back, often means you want to design to a 12mill setback. The tolerance is typically in the X and Y, but on angled traces, that typically magically increases. You can often save some head ache if you simply increase the set back a bit more. Based on the amount of work to change from 8 mill to 10/12 mill, you might want to consider another MFG. U20 will be a close one for them. U20 appears to have 9 mills between the pads.

Tenting can be Dependant on the PCB MFG. If you have the VIA's and they do not show up on the solder mask, they should be covered with mask. However, some MFG's require all holes to be plate, and to do so, they require a mask clearance. In your KICAD files it appears that vias are not on the solder mask, while thru hole components, P connections, ect are. This is how I would expect it to be, but you'll have to check with the PCB MFG to see if they'll add vias to the mask.

Looks like you have a stray C19 off the edge of the PCB outline. I think you can delete that, as there is a real C19 used via the netlist and connected to the MPX connector as it should be. Also, you should plan to have the caps at the MPX sensor, not on the board. Or perhaps in both places. Hmmm, perhaps I should ask for clarity. Are you planning for a remote sensor, or are you using the thru hole style sensor. I was a bit tossed off then scent by this, I know the SMT version exists, and you have been heavy on the SMT. I see you still call it U5, not P?, so I think your using the thru hole style sensor, but I don't really know.

Fuel pump appears fine to me, that's Q9, Q8 is for a misc output 1, that's missing the CPU signal. Looks like it shouldn't be that hard to route.

About the silk screen, if you turn off front and back, you'll see the silk screen issues. There are over laps, large text when small text would work, text over vias, ect. I won't comment much about it, but I think before you send it off to fab, you'll want to look at that silk layer a bit closer.

About these NC CPU connections. You may want to run some or all of those to P connections. Some times for diag, or what have you, it's handy to wiggle a pin to measure how long it takes a chunk of code to execute, or some other unplanned diag stuff. Right now it would be a pain to get signal in or out of those pins.

About the XOR/U19 chip, perhaps you should put some P connects here as well. Line them up in a DIP orientation, such that if it does fail, or you decide to change to an XOR, you can remove this chip, and replace it with a small PCB sort of like a thru hole DIP device.

About U31 the stepper, will that get hot? It may need some thermal help as well. I'm not familiar with that chip, so I don't know much about what it will want. Also I would recommend minimizing connections to the stepper. A .1 ohm connection in the path to the stepper, can cause an RC tank circuit. When this happens, it can create local voltage spikes internal to the stepper, and not seen by the outside world. You typically find this issue when the stepper literally burns up.

All in all, I'd say it's looking good. Keep it up.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: FreeEMS for Argentina

Post by nitrousnrg »

Cool, an elaborated post!
I see that potentially making (14-5)*.25=2.25 watts. It has nearly no thermal path for that wattage to go to.
Yep, I'm totally aware of thermal dissipation, I intend to provide massive planes, with a ridiculous amount of vias around the device. The components that need this are the cpu, the small LDO, and the stepper driver.
Once your SMT size gets larger than a 1205, it gets a bit tricky to maintain a good temperature range.
Why? thermal expansion? All the components are -40 - 125°C capable, except the ftdi, LDO reg and the stepper driver. That cap is a 22uF tantalum. I want to try to use it alone, without electrolitic caps. I remember me replacing caps on a TV, and learning how crappy they are. The best I could get stands 8000hrs @125°C, but it was expensive and with an axial package. (its just a test Fred, don't kill me :p)
The datasheet shows C5 with a 2.2uF not a 22uF. The 2.2 is probably recommended to prevent oscillation, so I would recommend it.
I believe that 2.2uF is a minimum, not a particular value. Check the datasheet, there are plots with a load cap of 2.2uF, 10uF, and 33uF. The bigger the cap, the better the transient response and ripple rejection.
You have ordered most of the parts right? You might want to check the size of C11. It may be physically larger than that shown on the silk screen layout.
Yep, everything except the switch FETs and the isolator. I just corrected C11, thanks.
I notice you use the power ports. Those have some effects I didn't understand. I avoided using them because I didn't know how the special extras worked. I'd recommend keeping a close eye on all tracks that use them. They may inadvertently bridge two nets via netlist. However, I didn't see any net problems so I believe this is good, just wanted to recommend keeping an eye on these power port things.
A couple a days ago it did what you say, a bridge between 12v and the regulator output. I'll have to double check these things.
How many oz of copper? Perhaps that could be included on thread post 1 of this thread.
I have no idea, I never had to choose that. It is now in the "things to be asked" list. Maybe 2 oz to be in the safe side, I need to check the cost of it. When I decide it, its going to the 1st post.
Probably unimportant, but Q1-4 aren't inline with Q7,9.
Oops, I didn't notice that.
U20 appears to have 9 mills between the pads.
Aaagghn so true! Little bastard. Ok, I'm falling back to 8 mils; the MFG can go down to 6mils, so 8mils is reasonable. The costs are different though.
Looks like you have a stray C19 off the edge of the PCB outline.
Because of a bug in kicad. If I "zoom auto" <home> with my 10x13cm board, all the planes looks striped.
I think you can delete that, as there is a real C19 used via the netlist and connected to the MPX connector as it should be. Also, you should plan to have the caps at the MPX sensor, not on the board. Or perhaps in both places. Hmmm, perhaps I should ask for clarity. Are you planning for a remote sensor, or are you using the thru hole style sensor. I was a bit tossed off then scent by this, I know the SMT version exists, and you have been heavy on the SMT. I see you still call it U5, not P?, so I think your using the thru hole style sensor, but I don't really know.
Well, I changed the mpx from smt to th. I have a bunch of them here (6-in-line package), and digikey didn't have the smd version.
I prefer to have the MAP sensor external, so I provide both footprint (U6) and connector. The atmospheric pressure sensor is internal. Both are big, so I'll have to figure out the best way to place them in the board. I have some ideas though.The connector board may have to be cut above the mpx and TO220s
Fuel pump appears fine to me, that's Q9, Q8 is for a misc output 1, that's missing the CPU signal. Looks like it shouldn't be that hard to route.
Oh, I overlooked that. I'll swap them at the schematic. The problem isn't routing... I don't know yet which cpu pin correspond to the fuel pump. That is something that has to be decided. The same goes for the stepper, its routed to port A, which is wrong, but I'm not sure in which port should it be. Maybe port P (PWM)
About these NC CPU connections. You may want to run some or all of those to P connections. Some times for diag, or what have you, it's handy to wiggle a pin to measure how long it takes a chunk of code to execute, or some other unplanned diag stuff. Right now it would be a pain to get signal in or out of those pins.
I'd like to route pins to the signal connector, if i can't then yes, I should put pads or big vias as a debugging tool.
About the silk screen, if you turn off front and back, you'll see the silk screen issues. There are over laps, large text when small text would work, text over vias, ect. I won't comment much about it, but I think before you send it off to fab, you'll want to look at that silk layer a bit closer.
Yep, tenting is on the list. I rearranged most of the drawings once, but everything changed so I'll do it right before send the pcb to the manufacturer.

Thanks for your time jharvey! :-)
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeEMS for Argentina

Post by jharvey »

nitrousnrg wrote:Why? thermal expansion?
Yup, the chip can handle it, but it's up to you, to mount it in such a manner that it can handle it. When it comes to devices that are larger than a 1205 package on a 1/16 inch thick PCB, you typically need to add strain relief cuts to allow the PCB to flex and prevent stressing the component to much. They can tear their pads off, crack, ect. Don't get me started about BGA's. They are very miss leading, and nearly impossible to get relief cuts on a 1/16 thick PCB. You can make a BGA work, but it will have to be on a thin PCB and often requires relief cuts.
nitrousnrg wrote:That cap is a 22uF tantalum. I want to try to use it alone, without electrolitic caps.
There are commonly three areas of concern with linear regulators and cap selection. One is bulk, making sure it has enough energy to get over short power draws. Another is oscillation. The linear regulator is a high gain device, and it can start to oscillate on it's own much like an op-amp or MOSFET can oscillate. The other is high frequency passing. Most CPU chips, or similar digital chips will try to make a very steep edge. To do so, they splatter high frequencies that can back track up the trace. A small cap functions like a choke and prevent RFI from interfering with other things, it also reacts much faster and helps the digital chips get the sharp edges they are trying to produce, in some cases preventing very short brown out conditions.
How many oz of copper?
I have no idea, I never had to choose that. It is now in the "things to be asked" list. Maybe 2 oz to be in the safe side, I need to check the cost of it. When I decide it, its going to the 1st post.
You may want to look for an online trace calculator. I have a tendency to use this one. They also offer a via calculator. http://www.circuitcalculator.com/wordpr ... alculator/

1oz copper can be found just about anywhere, 2oz will limit your MFG options. Also don't forget this calculator will give you a minimum value. Basically it will tell you what's needed to prevent fire when passing a steady state current. It can tell you the voltage drop of a trace under certain current draws and steady state conditions. It's easy for things like an A/D to have a voltage drop that can cause a pile of head aches. For example, you may be measuring 5v at the regulator, but you may have a .8v drop in the trace to the MCU. Couple that with a missing decoupling cap at the MCU, and you can get into brown out conditions fairly easily. I'd recommend going bigger by at least 20% to help prevent problems.
U20 appears to have 9 mills between the pads.
Aaagghn so true! Little bastard. Ok, I'm falling back to 8 mils; the MFG can go down to 6mils, so 8mils is reasonable. The costs are different though.
I know your spin of this is for $ in the long term. I might recommend BatchPCB if you would like the option of making some $ off those that want to simply purchase the board. They are typically cost effective for PCB runs under qty 5. Also they allow you to sell via them and make a profit yourself.
Looks like you have a stray C19 off the edge of the PCB outline.
Because of a bug in kicad. If I "zoom auto" <home> with my 10x13cm board, all the planes looks striped.
I also find that behavior a bit odd. If you delete your PCB edge, it will zoom all components. Once you put the edge, auto zoom will zoom to the PCB edge, not to all components. I would prefer it zoom to the drawing border edge. I'd bet that can be configured if I took the time to figure out how.
Well, I changed the mpx from smt to th.
I see pros and cons to both remote, and local. I feel that it's easier for the average mechanic to identify sources of mechanical noise, and I feel the hosing involved won't cause significant signal delay or warping. I also feel it's harder to see/diagnose electrical issues like spark RFI that only happens what the engine is under a specific load and specific spark advance, ect. If you choose the remote option, I would recommend a signal protection diode much like the anprotect and digiprotect circuits. The .1uf cap should help prevent RFI from getting in, but with out a suppression diode, it may fail over time. Also you'll want the three caps near the remote sensor as well. I'd leave them on the board and make a little board for the remote that also includes those same caps.
Thanks for your time jharvey! :-)
No problem and keep me posted. I'd like to see your PCB get off the ground and start running.
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeEMS for Argentina

Post by jharvey »

I think the board layout is fairly close. There may be some empirical tunning, but I'd say it's basically there. I'm curious how your doing on the software side of this. I might encourage you to plan for that to take longer than you might expect.
Post Reply