PCB layout - JHarvey

From DIY contraptions to sophisticated FreeEMS-specific designs! Plus general hardware development!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: PCB layout

Post by Fred »

If there is to be a dictator, it's the guy designing the board. After all, he doesn't have to, and someone else could up and do a different one as well. I'd prefer (as with my firmware) that our effort was united in the short medium term until we have a functional basic working foundation. This is the best thing for the whole community in the long and short term. I'd prefer that both firmware and hardware were thorough and reliable and cleanly implemented and as simple as possible while doing things the right way. Hence if you ask me, no current feedback and no switched adc, at least, not hard wired in, perhaps via external add on board?

The min has to be :

4 inj
4 ign
1 fuel pump
1 regulator

I would prefer to make it

6 inj
6 ign
1 fuel pump
1 reg
2 spare

So that a turbo 6 cylinder guy can do boost control and idle control without mods.

I guess we need a basic layout to see how small we can get it without issues and without making compromises to the basics.

Certainly if we go much over 10 to220 parts we will need to use two sides for FETs or vertical mounts on the board or both.

If there are spare FETs included they should be attached to the port P pins for PWM use.

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!
davebmw
LQFP144 - On Top Of The Game
Posts: 331
Joined: Sun Jul 13, 2008 2:58 pm
Location: South Wales, UK

Re: PCB layout

Post by davebmw »

OK LED's are cheap easy and an invaluable debug tool, not to mention really cool to watch as long as you are not epileptic like my mate mike!

For my ideal setup i want:
6 x sequential COP,
6 x standard injectors,
6 x 2nd stage injectors all sequential.

Low side drivers for: VANOS, Alternator field control, Inter cooler water spray, Fuel pump PWM, O2 relay, Main relay.

Half a bipolar stepper driver to drive the 3 wire PWM IACV or 2 low side drivers.

software controlled slow PWM signals (20mS) to drive servos to control Supercharger boost bypass valve, and 1 to control the exhaust flaps.
One PWM OP to trick the BMW instrument cluster into thinking its attached to the standard ECU and outputting the fuel consumption signal.
CAN comms to talk to the rest of the clever stuff in the car.
loads of spare I/O channels to play with during my forecast midlife crisis!

Bipolar steppers require 8 devices setup as 2 H bridges to push pull the 2 windings at 90 degrees phase separation.
93'BMW 325is M50B25TU, Rebuilt 06/06, JE10.5:1, polish&port. Scorpion BB, K&N CAI, TEJ21 WBO2, '07 M3 Evo 18" 225F, 255R, EBC Kevlar, Bilstien Sprint, Polyflex. Head rebuild Oct'08, OEM+FSE FPR, MS2v3.0_DJB Custom, Extra 2.0.1
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: PCB layout

Post by Fred »

That's a perfectly reasonable list, but I think the idea here is to put out a basic board that does just enough in a generic way to get the project off the ground. Once we have a few more users, sure. Now, I'm not saying don't do it, but I don't think the one we all build shouldn't be so fancy just yet. You are of course free to build something fancy early on, but for the rest of us I think it's effort spent in the wrong area at the moment. Did I get that out in a non-insulting way? I really want to see you build the coolest meanest setup around, but for the rest of us, I'd like to stay focussed on a just does what it needs to do.

If you had my ideal list it would have ALL I/O available as either I OR O on the same system to be wired up and software configured for any purpose. Obviously that is A dreamy at the moment and B a BIG task to produce reliably and C a waste of time with no software to support it. Hence I'll go for the basics at the moment with the short term goal of getting some engines up and running on FreeEMS in a boring basic sort of way.

So my list before isn't "what I want" it's "what I think we should go for for best general appeal early on". I hope that makes sense. Perhaps we should start a "Dave's sweet BMW FreeEMS from hell" thread in parallel with this one and keep this for a bare bones discussion?

Thoughts?

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!
davebmw
LQFP144 - On Top Of The Game
Posts: 331
Joined: Sun Jul 13, 2008 2:58 pm
Location: South Wales, UK

Re: PCB layout

Post by davebmw »

Guys, the software has a spec of what its intended capabilities are. Shouldn't the PCB be fully compatible with that original spec?
if its design limit is a 6 fully sequential and you want to use it on a 4 cly with 4 inj and 4 ign, just leave the bits out you don't need.

If the design can fit on a double sided PCB 175 x 135 we can have batches of 8 made for £21.75 each.
the boards are Double sided, solder resisted both sides, silk screened through hole plated and HASL finished.

Now thats not bad, If we can agree on a spec we can get a batch of PCB's made that will get the FreeEMS into a workable flexible platform and we can really start to enjoy the fruit of Fred's geeky super powers :lol:
Shit come to think of it he does look very similar to Tobey Maguire! ROFLMAO
93'BMW 325is M50B25TU, Rebuilt 06/06, JE10.5:1, polish&port. Scorpion BB, K&N CAI, TEJ21 WBO2, '07 M3 Evo 18" 225F, 255R, EBC Kevlar, Bilstien Sprint, Polyflex. Head rebuild Oct'08, OEM+FSE FPR, MS2v3.0_DJB Custom, Extra 2.0.1
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: PCB layout

Post by gearhead »

Fred wrote:If there is to be a dictator, it's the guy designing the board. After all, he doesn't have to, and someone else could up and do a different one as well. I'd prefer (as with my firmware) that our effort was united in the short medium term until we have a functional basic working foundation. This is the best thing for the whole community in the long and short term. I'd prefer that both firmware and hardware were thorough and reliable and cleanly implemented and as simple as possible while doing things the right way. Hence if you ask me, no current feedback and no switched adc, at least, not hard wired in, perhaps via external add on board?

The min has to be :

4 inj
4 ign
1 fuel pump
1 regulator

I would prefer to make it

6 inj
6 ign
1 fuel pump
1 reg
2 spare

So that a turbo 6 cylinder guy can do boost control and idle control without mods.

I guess we need a basic layout to see how small we can get it without issues and without making compromises to the basics.

Certainly if we go much over 10 to220 parts we will need to use two sides for FETs or vertical mounts on the board or both.

If there are spare FETs included they should be attached to the port P pins for PWM use.

Fred.
Ok, 6j,6g - I'll go with that. Now, a further Q. You need a high current driver for the fuel pump? What for? PWM control of fuel pressure? I have not followed this. I do think there are some 'non return' fuel circuit styles, but I was hoping to not get into that. ON the low current side, we need a main relay and a fuel pump relay drive circuit and a high current idle control circuit. Boost control cam be developed with this board by using one of the spare drivers as can VVT.

To do the 'BMW I6 Turbo from hell' version on the original board, you would have to stack another high current driver board to the basic board. - MY VOTE.

As a further development, when we get to board layout, we can be cognizant of people using the other outputs (ignition or injection unused channels) for other uses. If software switchable only, it could be done in code. If we are connecting to a specific pin, we should be able to jump to it.

Gearhead
davebmw
LQFP144 - On Top Of The Game
Posts: 331
Joined: Sun Jul 13, 2008 2:58 pm
Location: South Wales, UK

Re: PCB layout

Post by davebmw »

gearhead wrote:
Ok, 6j,6g - I'll go with that. Now, a further Q. You need a high current driver for the fuel pump? What for? PWM control of fuel pressure? I have not followed this. I do think there are some 'non return' fuel circuit styles, but I was hoping to not get into that. ON the low current side, we need a main relay and a fuel pump relay drive circuit and a high current idle control circuit. Boost control cam be developed with this board by using one of the spare drivers as can VVT.

To do the 'BMW I6 Turbo from hell' version on the original board, you would have to stack another high current driver board to the basic board. - MY VOTE.

As a further development, when we get to board layout, we can be cognizant of people using the other outputs (ignition or injection unused channels) for other uses. If software switchable only, it could be done in code. If we are connecting to a specific pin, we should be able to jump to it.

Gearhead
OK sounds good I'm happy with 6+6 it'll be easier to layout for starters.
PWM Fuel pump control was just an idea for future development.
Main and fuel pump relay thats a must have high current PWM or stepper, if we choose a decent stepper IC we could cover all valve types and select in code.
Drivers for Boost and VVT cool.

The second board for the extra injectors OK I can go with that for the hellish version.

Agreed! my vote too!
Fred??
93'BMW 325is M50B25TU, Rebuilt 06/06, JE10.5:1, polish&port. Scorpion BB, K&N CAI, TEJ21 WBO2, '07 M3 Evo 18" 225F, 255R, EBC Kevlar, Bilstien Sprint, Polyflex. Head rebuild Oct'08, OEM+FSE FPR, MS2v3.0_DJB Custom, Extra 2.0.1
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: PCB layout

Post by Fred »

davebmw wrote:Guys, the software has a spec of what its intended capabilities are. Shouldn't the PCB be fully compatible with that original spec?
The trouble with that is that we could tomorrow decide to use the xgate and run up to 24 channels sequential... Would we still want to build it to the "spec" ? I think the software is already intended to go well past what a normalish user would want. I think gearhead has a solid point with respect to keeping it compact(ish). I think 8x6 will allow 4, 6, and 8 cylinder guys to do a basic maximal configuration. 6x6 will allow 4 and 6 to be maxed and 8 to be wasted spark ignition. I think going less than 6x6 is a slight crippling and I would rather avoid going less than that, but going out to the full 12 x 6 + 6 seems excessive for a BASE if you see what I mean.
if its design limit is a 6 fully sequential and you want to use it on a 4 cly with 4 inj and 4 ign, just leave the bits out you don't need.
I agree that if we build to X components that users of less should just not build those bits. I'm thinking 6 + 6 is a good place to settle at for the base.
If the design can fit on a double sided PCB 175 x 135 we can have batches of 8 made for £21.75 each.
the boards are Double sided, solder resisted both sides, silk screened through hole plated and HASL finished.
Sounds really good to me :-)
Now thats not bad, If we can agree on a spec we can get a batch of PCB's made that will get the FreeEMS into a workable flexible platform and we can really start to enjoy the fruit of Fred's geeky super powers :lol:
Awesome, now, does that mean that you are willing to settle for a bit less up front in the hope of expanding it or building a new great super duper one later? It's worth noting that my "super powers" haven't got us anything usable just yet, but we are getting close.
[shizzle] come to think of it he does look very similar to Tobey Maguire! ROFLMAO
Image

Jesus, really?? LOL :-p
gearhead wrote:Ok, 6j,6g - I'll go with that.
Great, sounds like we nearly have some agreement there then.
Now, a further Q. You need a high current driver for the fuel pump? What for? PWM control of fuel pressure? I have not followed this. I do think there are some 'non return' fuel circuit styles, but I was hoping to not get into that.
No no, it's just me leaving my brain outside again. I don't know why I keep thinking that.... it only needs a small to92 fet/bjt slap me if I say that again will ya?
ON the low current side, we need a main relay and a fuel pump relay drive circuit and a high current idle control circuit. Boost control cam be developed with this board by using one of the spare drivers as can VVT.
What do you want a main relay for? Are you saying self powered and in control of it's self based on a digital in from the key? fuel pump control, yes. idle control on a pwm pin, yes desirable, but not essential for the base IMO. Boost, desirable, same league as the idle control IMO. both can be done without. Both need a hardware PWM port behind them. Any IO that is connected to a PWM port can be used for any sort of PWM setup like vvt etc. to revise my list, how about this :
To do the 'BMW I6 Turbo from hell' version on the original board, you would have to stack another high current driver board to the basic board. - MY VOTE.
I agree.
As a further development, when we get to board layout, we can be cognizant of people using the other outputs (ignition or injection unused channels) for other uses. If software switchable only, it could be done in code. If we are connecting to a specific pin, we should be able to jump to it.
For the ignition or fuel provided the driver can handle the job, then it's going to just be a software thing. The only thing that I see a need for is that I will probably want the ignition pins routed to the outside world and I'll want to use the to220 locations for something else wired to DIFFERENT pins on the CPU. If I can't have that, the pins aren't wasted, just the heatsink space and board space, which is a shame, but not the end of the world.

You slipped in another post on me! Awesome to hear Dave, now we only need to convince Jared to drop the flash current and sensor control/feedback and we are really in business Image

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!
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: PCB layout

Post by gearhead »

Fred,

I do not know why I was thinking a main relay was required that was powered by the ECU. I was thinking that we could use the ECU to power up the ignition and/or the fuel injectors (power side). I guess it is not needed. With the key, we can close a relay and get power to the ECU, injectors and ignition. When it gets a crank signal, it starts firing coils and injectors. Should be just fine. Any objections?

As I see it, we have 2 choices for this cisruit: fet (2n7000 or bs170) or bjt (2n3904 or 2n2222). I hate bjts, but they are not static sensitive like fets. I have also not found any protected TO92s, either.

I suggest a 2n2222/2n3904 as it is a pretty simple circuit and not critical that it be FET (low RDSon) to keep power dissipation low nor does it need to switch that fast. Also, it does not get damaged via static that easily.

Gearhead
davebmw
LQFP144 - On Top Of The Game
Posts: 331
Joined: Sun Jul 13, 2008 2:58 pm
Location: South Wales, UK

Re: PCB layout

Post by davebmw »

Fred wrote: The trouble with that is that we could tomorrow decide to use the xgate and run up to 24 channels sequential... Would we still want to build it to the "spec" ? I think the software is already intended to go well past what a normalish user would want. I think gearhead has a solid point with respect to keeping it compact(ish). I think 8x6 will allow 4, 6, and 8 cylinder guys to do a basic maximal configuration. 6x6 will allow 4 and 6 to be maxed and 8 to be wasted spark ignition. I think going less than 6x6 is a slight crippling and I would rather avoid going less than that, but going out to the full 12 x 6 + 6 seems excessive for a BASE if you see what I mean.

Agreed



Awesome, now, does that mean that you are willing to settle for a bit less up front in the hope of expanding it or building a new great super duper one later? It's worth noting that my "super powers" haven't got us anything usable just yet, but we are getting close.

but it will work if MS can do it together we can!


Image

Jesus, really?? LOL :-p
look again buddy!!
gearhead wrote:Ok, 6j,6g - I'll go with that.
Great, sounds like we nearly have some agreement there then.


No no, it's just me leaving my brain outside again. I don't know why I keep thinking that.... it only needs a small to92 fet/bjt slap me if I say that again will ya?

SLAP! oh sorry I misread!


What do you want a main relay for? Are you saying self powered and in control of it's self based on a digital in from the key?
Yes, the EMS controls the shutdown
fuel pump control, yes. idle control on a pwm pin, yes desirable, but not essential for the base IMO. Boost, desirable, same league as the idle control IMO. both can be done without. Both need a hardware PWM port behind them. Any IO that is connected to a PWM port can be used for any sort of PWM setup like vvt etc. to revise my list, how about this :

Sounds good those PWM signals do not have to be fast or accurate so software driven by the X gate will be fine.


For the ignition or fuel provided the driver can handle the job, then it's going to just be a software thing. The only thing that I see a need for is that I will probably want the ignition pins routed to the outside world and I'll want to use the to220 locations for something else wired to DIFFERENT pins on the CPU. If I can't have that, the pins aren't wasted, just the heatsink space and board space, which is a shame, but not the end of the world.
True, the first generic boards will have some kind of proto work to customise that is inevitable

You slipped in another post on me! Awesome to hear Dave, now we only need to convince Jared to drop the flash current and sensor control/feedback and we are really in business Image

Yes personally i would prefer to use much larger MOSFET's than overcomplicate the design for very little gain.
93'BMW 325is M50B25TU, Rebuilt 06/06, JE10.5:1, polish&port. Scorpion BB, K&N CAI, TEJ21 WBO2, '07 M3 Evo 18" 225F, 255R, EBC Kevlar, Bilstien Sprint, Polyflex. Head rebuild Oct'08, OEM+FSE FPR, MS2v3.0_DJB Custom, Extra 2.0.1
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: PCB layout

Post by Fred »

Dave wrote:but it will work if MS can do it together we can!
Absolutely, no doubt there, it's only a matter of time.

<Butchered picture>

Damn, I knew that picture would bite me in the arse at some point! :-p

http://www.diyefi.org/forum/viewtopic.php?f=9&t=361

About the power on/main relay etc, let's discuss it there.

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!
Post Reply