We need to lay out a basic board

From DIY contraptions to sophisticated FreeEMS-specific designs! Plus general hardware development!
510rob
TO220 - Visibile
Posts: 8
Joined: Sat Feb 16, 2008 1:32 am

Re: We need to lay out a basic board

Post by 510rob »

back from the dead.

what about a board or a few separate boards that stack together, connect with IDC socketed cables (whatever makes sense) to allow development. In other words, a board, or a few boards that are made with the express purpose of allowing further development of the firmware?

basic signal conditioning on the inputs + basic input connector

basic power buffering on the outputs + basic power connector

a place to mount a TA processor board.

a basic power supply setup.

opinions?

Fred, I'm curious to see pictures of what you are running the Volvo with.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: We need to lay out a basic board

Post by Fred »

What you say makes perfect sense, actually. Good thinking, mannering.

There is a pic or two in another thread, one of the "first run" threads. I'll get some more stuff up at some point over the next few days/weeks/months - home to NZ tomorrow night, first time in 2.5 years :-)

The volvo was running from a piece of strip board with a single heatsink, one regulator, one fet, one map sensor, some passives, and a bunch of jumpers and cut traces. About as simple as possible :-)

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!
510rob
TO220 - Visibile
Posts: 8
Joined: Sat Feb 16, 2008 1:32 am

Re: We need to lay out a basic board

Post by 510rob »

What would be the ideal or most suitable configuration as a quickie development board would be for you at this point?

What Inputs?
What Outputs?
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: We need to lay out a basic board

Post by AbeFM »

Yeah - we keep saying it and getting feature creep - people want $10,000 connectors and "final designs". This is with the express condition that you'll throw the board away in 3 months, after we learn some things.

As always, the discussion ends with "Fred won't define the pins". Wanker. :-) I think what we've got already is pretty close, just make a first pass to see how to make it cheaper and build it.

I'd be happier with a smaller board with more vias, but, I'm not against as few vias as possible. I just won't want a bigger board for it. I'm sure I, or someone, could print up a batch and distribute them cheaply.
510rob
TO220 - Visibile
Posts: 8
Joined: Sat Feb 16, 2008 1:32 am

Re: We need to lay out a basic board

Post by 510rob »

Abe that's it exactly! feature creep and 'would be nice' mentality kill the initial beast before it's left the starting gate.

I'm of the opinion that, for now at least, we should agree to stick with the ubiquitous DB connectors - anyone can buy them almost anywhere, and they are cheap. I have created schematic and PCB definitions for Ampseal connectors, but that is for further down the path... For now, let's agree to stick with something simple that EVERYONE can find in a pinch, and inexpensively. I'm a student, and my budget for luxuries usually involves 'deluxe' versions of a hamburger, not 'deluxe' weatherproof connectors!

Also, if we try to make one board, and we need to update one circuit on it, then we have to junk that whole board = bad for development. I suggest that we make a development-oriented set of boards still with the specific intent of allowing continued firmware development. Once the firmware people have a chance to develop ode, then we can revisit the hardware, and make adjustments between both the hardware and the firmware, etc...

I am of the opinion that a basic output board is a start (mostly because that's what I started drawing!). The one I started with is a basic 2-layer board with four peak&hold injector drivers based on the NS LM1949 chip, and four spots for ignition IGBTs. There's enough room to add probably two darlington transistors (TIP122s, or similar), but then I'm guilty of feature creep too! Arrrgh! It's got a DB25 for output, and a sip connector to link it to some other board. I made it fit a 3" slot width LMB case, but I also added holes in all four corners to allow mounting the board to a plywood or cardboard base (I had you in mind Fred!). Nothing fancy, but just a way to provide a reliable basic set of output circuits that won't be problematic during firmware development...

Next would be another basic card with some input signal conditioning, and a saddle for the TA card, or a separate saddle board for the TA card...

Abe, I like your mention that the expected lifespan is only about 3 months - you must write code pretty damn fast!

To me, the mention that Fred won't define pins is symptomatic of the lack of any basic hardware to start development around. I think any particular CPU pin assignments should be treated as prima facie (considered right until proven wrong in the future) until development has a chance to get a bit further along. If the TA board plugs into some saddle board that allows solder-able jumpers to electrically reroute pins as necessary with discoveries in coding, then we can give the coders the ability to rewire things as necessary until the pin assignments can become more firm. So far, if you ask Fred to define the pin usages, what is he going to base the assignments upon? He simply can't do it yet because he hasn't made any incorrect assignments yet to know what is right and what is wrong. What he will need is a short-term hardware platform to allow pin reassignments as an intermediate, until he can decide what makes sense, at which point we get our holy grail - sensible and meaningful pin assignments! Woot woot!

I'm rambling, but you get the idea. Here's what I started with so far... (and certainly tell me what you think)
Attachments
four_output_board.jpg
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: We need to lay out a basic board

Post by Fred »

Great posts guys! I'm sorry I haven't had time to reply properly :-( Just been too busy and too deprived of internet to post/PM in any meaningful way.

I really like the modular ideas you are laying in front of us, 510rob. I just didn't want someone finalising a board design, getting a bulk buy happening only to have me switch the major core pins around within days or weeks - this could alienate people. I'm happy to use any random pins short term, but medium term, before we go widely public, I want it to be pretty stable and totally correct/optimal.

Possible areas of uncertainty :

timer pins for input: 01 or 67 - remains to be seen which is which, though 01 *should* be fine.
fuel pins as affected by the above input pins.
ign output dependent on experimental findings with respect to transient pin state
adc pins, but these should be close to OK
fuel pump pin - same as ign pins
power input pin - sense pin for always on possibility.
possibly others.

I have a lot to do in the short/medium term that isn't code firmware - the website is WAY out of date, the forum is still on godaddy, the current code needs a tidy up and publicising, my blogs are not useful for getting me a job, i have no car, i have no cell number, i'm living with my dad who is already driving me nuts, my truck needs work to be legal, etc, etc. Lots to do.

This summer is going to be bad for FreeEMS, but once I settle into life in NZ again, I'll get back into this again as I'm keen to have it on course to crush MS inside the next 6 months or so.

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
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: We need to lay out a basic board

Post by jharvey »

For the moment, I'm not worried about P&H, if we go with a straight up I/O drive, those that want P&H can add this circuit and be done with it.

http://www.jbperf.com/p&h_board/index.html

So for ease of development, lets not focus on P&H for now.

As you can see in Fred's first controller, the circuits we need, are quite simple, and fairly easy to build, even by hand, with out etched boards. The etched boards are intended to allow some extra robust features like EMI and ESD protections, as well as creating a common platform, such that you can have an idea about what might be a source of a problem. The board I've titled FreeEMS 1.0, is a bare min IO board, specifically designed to work with the TA card, but other brains could be added if so desired.

BatchPCB.com makes boards for $2.5 per sqin, so the 1.0 board could cost $70, in qty 1. If we play to some other specials, I'm sure we can get that price down under $50. I don't see this as cost prohibitive, most any of us doing dev could spring for that.

About a DB connector that connects to the JimStim, I'm all for it. As you say, modular design is very handy for prototype purposes. Most of us agree, and we have specified our boundaries of modular design as a stack, the TA brain, FreeEMS 1.0, and the connector card.

Seems we drew slightly different boundaries from what you drew up. Ours has been extensively discussed and I think we are on a good path with it. I'd certainly enjoy hearing your input on this design. Or even better, perhaps I can encourage you to make a connector card with KICAD.

A connector card could be made by starting with the layout I'd drafted up, delete the stuff you don't need, but leave what you need like via's, ect, then add the DB connector, perhaps another OEM connector if you so feel inclined. I haven't done this yet, because my project uses a harness, and I have no need for such a connector. All my wire lengths are going to be less than 3ft (1m) long, I only have 1 cyl, so I can go straight to the board.

In the future other features can be added by adding to that stack. So we are planning for the future feature creep.

The key reason why we haven't made a board is because Fred hasn't either checked in his code, such that we can choose pins ourselves, or he hasn't specified what pins we can connect the injector circuits to, ect.

As for Fred worry about alienation, I'd say it's happening now, by not checking in the code. Also I don't understand the MS bashing thing. I should encourage the removal of that type of content. I don't see it as constructive, only destructive.
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: We need to lay out a basic board

Post by gearhead »

excellent discussion!

If we break it down into 'boards', I see a need for one being an input/power supply. This would have 6 a2d and 2 optos and/or 2 LM1815. Another board needs to be the outputs. The only high level that need to be on the dev boards are injector driver (6) FETs (and as we have discussed elsewhere, these should be buffered with FET drivers). The rest should be low level (2n2222 or bs170 or some multi pin buffer chip with similar current capability - CA3262). I think the minimum quantity should be 8 *and* these would be easily used as input or outputs with jumpers. When we add igniton, these should be done off board anyway due to noise and power considerations... An integrated solution would be developed after this initial dev work.

I agree that the cost for am etched board is not high. If we do a group buy on these, we have the potential for more people actually helping with the development. There are more people willing and able to solder a board than there are those that are going to drive on a breadboard with loose wires. I know I am more willing to do this on an etched board than what Fred was driving on (no offense). This said, If we are going to the effort of laying out a board, why not a single and why not put the micro on the board? If it is 50.00 for a board then 100.00 for a TA chip, why not 50.00 for the board and 12.00 for the freescale chip? If we are willing to wait a little bit (more than 2 weeks) we can even get HK or TW proto manufacture for cheaper than what Jharvey mentions *and* we can have them solder the micro and the associated SMD stuff we need (caps) at the same time!

Gearhead
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: We need to lay out a basic board

Post by jharvey »

I'm not a huge fan of the LM1815, it uses the ground as one of the input signal wires. The max9926 uses a differentail input, and has a much higher common mode rejection. This allows it to have a higher gain, and less need to tweak it to make it work well.

About having PCB's made, we are still a ways away fromt that. At this point I have two things I'd like to change on the layout I've done. One is to change the VR to the MAX chip, and the other is to include the SMT chips for the drive silicone. The big hold up is that Fred has noted he plans for at least a 6 month period before we might know what pins connect to what circuits. So I expect it will be a while before we are ready for a PCB.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: We need to lay out a basic board

Post by Fred »

jharvey wrote:The key reason why we haven't made a board is because Fred hasn't either checked in his code, such that we can choose pins ourselves, or he hasn't specified what pins we can connect the injector circuits to, ect.

As for Fred worry about alienation, I'd say it's happening now, by not checking in the code. Also I don't understand the MS bashing thing. I should encourage the removal of that type of content. I don't see it as constructive, only destructive.
Jared, how many times do I have to tell you that there is sweet fcuk all to check in. My changes consisted of some one-line bug fixes, table data changes, and two new files that are 99% copy paste from other files. The code was working in fine form nearly a year ago, this was just testing, really. As it stands it is not physically possible for me to check in my code - I'm using an old xp laptop with mobile broadband usb stick. No internet for my linux machines and my machine with my git setup on it is still in a box on the far side of Auckland city. Give me some credit and half a chance, please.

Gearhead, no offense taken, I totally agree with you.

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