DFH - Defacto FreeEMS Hardware in KICAD

Jared's unmaintained and never-used TA based "Defacto FreeEMS Hardware" design.
Post Reply
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: freeEMS_1.0 rev A KICAD

Post by Fred »

None, but like me and Flacid start a thread for it and link from here if you wish :-)

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: freeEMS_1.0 rev A KICAD

Post by jharvey »

Fred wrote:
jharvey wrote:The ground going around the board makes for short antennas
Can you explain what you mean? The entire thing is wrapped in steel and ally from all sides except the connector area. I doubt there would be much EMI/RFI getting in there.
You're thinking back-wards although both in and out are important, these are often more for the out then the in. Dave's link does a good job of explaining that they are used for EMC, which goes both in and out.

An ECU running at say 60MHz square wave, will have harmonics that are several times that. The 4th harmonic will still have significant power so off the clock signal alone you have spectrum up to 240MHz. The wave length here won't really cause problems for the internal guts because the board is to small for effective coupling, but any wires that leave and are more then .5 meter are great antenna's.

The caps, they are quite small yes? They have enough capacitance to cause cap hatting effect http://www.kc8qvo.com/2007/09/capacitan ... obile.html, or you can think of it as a low pass filter. I like the cap hatting theory, because you can have several cap hats on an antenna to tune it for several frequencies, this reminds me that it only blocks some RF, not all of it. A low pass filter isn't really a low pass filter, it's actually a notch filter. As you increase frequency, the internal resistance and inductance of the CAP become important and act's as a high pass filter.

Any how, frequencies between say 60MHz to say about 1GHz will be attenuated, while the frequencies below and above aren't really effected by these caps. Many MCU's generate signals above 60MHz and below 1GHz, so these caps helps prevent RF out. External signals between 60MHz to 1GHz won't naturally couple well with the board, so protection against outside signals isn't really needed. External signals above 1GHz are simply uncommon, so not typically a problem, especially because the MCU ADC's are filter for signals below 1GHz.

Basically RF from the outside world, typically won't naturally couple in and cause harmful interference, because the wave lengths are to long. But RF out has a long antenna which allows it to couple well to the outside world.

So why are they only on the inputs and not the outputs, I don't really know, but here's my stab at it. There could be some concerns about phase shift variations, but typically the caps are so small I don't think the shift would be of concern. Most likely it's because you would need very high power radiation to cause any change to the driving system. The driving circuits are driven fairly hard, which makes it hard for RF to push and pull it's self around. However, the inputs are high impedance, and typically coupled to higher frequency parts. Many ADC's switch at frequencies above their top band limits. Many delta ADC's operate at 8X the input frequency limit. So a 1MHz ADC will often need a 8MHz clock signal to function. A generation source with high impedance, makes it easy for RF to have it's way, and couple with the rest of the world. The ouput driving circut(s) simply doesn't have RF generators and are much lower impeadance, so any RF that got there would couple to ground fairly quickly.

If believe the above, I have some snake oil I'm willing to sell ;)
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: freeEMS_1.0 rev A KICAD

Post by Fred »

How much per bottle?

The ECU is 10 years old, the clock frequency is 16MHz and the internal bus frequency could be either a bunch slower (likely) or a bunch faster (unlikely).

Still, I found a logical way to show that you could be right about the caps. They have other normal caps in the path too. Unless the frequency response of the different types is different and that is why, I suspect you are right as the big one inside would totally dwarf the small one on the pin.

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: freeEMS_1.0 rev A KICAD

Post by jharvey »

Here's freeEMS 1.0 A.08.

Things I've added include
- changing the schematic names to shorter names so the top schematic sheet can have smaller sheets sizes
- copied the tempates to a folder called tempates, then made the real schematic files. This should now make a netlist.
- Added the second diode to the digi protect like the analog protect so we can experiment with the zener vs the double diode aproach
- made a draft module called R4-SM0805 for the PCB editor, and a junk test PCB file
- added 5V reg for switch vs constant power
- LED's across PK port
- zipped my folder called hard, rather then just the contents, preventing nasty unzip's, I hope, fingers crossed

I may have forgotten some of the changes. So the above list may be incomplete.

Things to do include making more modules, moving the TA module to this portable module library, figure out how to upload to sourceforge, add LED to driver circuits, add third 5V (I understand that was general purpose, so I don't know what to hook to what), inverions of the RPM signal, notes on each page like on the regulator page, include PDF w/ zip file (was over 500k limit couldn't do on the forum)

The PDF's only contain one of the files for a series like injector_drive1 is included but not 2,3,4,5,6 because they really are extra redundant.
Attachments
freeEMS_1.0_A.08.zip
freeEMS 1.0 A.08 KICAD schematic
(283.3 KiB) Downloaded 648 times
freeEMS_1_combined_A.08.pdf
freeEMS 1.0 A.08 PDF schematic
(465.61 KiB) Downloaded 707 times
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: freeEMS_1.0 rev A KICAD

Post by jbelanger »

There a couple of things on the LM1815 still. Pin 5 is not correct: you can't get 5 V to it because if you switch the resistors, you basically short 5V to ground. Why don't you like a simple 3 pad header with the middle connected to pin 5 and the other 2 connected to 5V and ground? Put a pin header if you want to play with the configuration or simply put a jumper (or nothing) if you know which mode you want. You could even do that with solder jumpers if you want it compact and without holes.

Also, you should ground pins 9 and 11 so you don't have the 2 inputs floating.

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

Re: freeEMS_1.0 rev A KICAD

Post by davebmw »

That Mr Harvey was a very good explanation of the harmonic effects square waves have in a microprocessor circuits.
A simpler explanation for the guard track and decoupling caps is that they are simply a soak away for the unwanted and trouble some spurious crap which radiates across the plane of the PCB.
In work i have designed many PCB's for Microwave applications (3G cell phones) at these frequencies the signal needs piping to its destination and the clever placement of caps simply does not work.
So the PCB itself is designed with Harmonics control in mind (Impedance controlled PCB's) this sub section of PCB design is not just tighter tolerances on the dielectric layering between foil layers it is also the correct design and placement of tracking and ground/power planes to generate enough capacitance to impedance match all sections of the signal path, the correct usage of Vias to prevent standing waves and spurious current loops is also quite tricky, its quite a black art really.

So what i am getting at is, yes the caps play an important part, they simply decouple the unwanted HF component of the signal to the ground plane therefore keeping the harmonics under control. the guard track is a big antenna around the outer edge to stop and soak away any RF to ground, if it was a complete loop it would reduce its effective frequency and not have the desired effect.
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: freeEMS_1.0 rev A KICAD

Post by Fred »

To all three of you :

I bow to your combined awesome knowledge-abilities!!!

I feel honoured and privileged to have you all on board!

Now for some mediocre comments from me :-)
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: freeEMS_1.0 rev A KICAD

Post by jharvey »

jbelanger wrote:There a couple of things on the LM1815 still. Pin 5 is not correct: you can't get 5 V to it because if you switch the resistors, you basically short 5V to ground. Why don't you like a simple 3 pad header with the middle connected to pin 5 and the other 2 connected to 5V and ground? Put a pin header if you want to play with the configuration or simply put a jumper (or nothing) if you know which mode you want. You could even do that with solder jumpers if you want it compact and without holes.
I don't like them because I can't find the symbol :) I changed that for a switch that is normally connected to GND, but can be moved to the 5V if so desired. I'll have to add that to my notes about what I've changed.
jbelanger wrote:Also, you should ground pins 9 and 11 so you don't have the 2 inputs floating.
Done.
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: freeEMS_1.0 rev A KICAD

Post by jharvey »

davebmw wrote:In work i have designed many PCB's for Microwave applications (3G cell phones) at these frequencies the signal needs piping to its destination and the clever placement of caps simply does not work.
Nice, I'd bet you get into microstripping and such on a regular basis. I've got a little experience up in that end of the world, I've used GUNN diodes for 10GHz comm, and I've helped a guy up the road with the backhaul on a simulcast repeater network. We tuned the microwave backhaul with little flakes. Lots of fun. Any how it's lower frequency here, but you might find this project interesting.

http://www.scottyspectrumanalyzer.com/msaslim.html
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: freeEMS_1.0 rev A KICAD

Post by Fred »

Here we go :-)

I'm not mentioning some stuff that I've already mentioned, just focussing on the important bits for now.
- Added the second diode to the digi protect like the analog protect so we can experiment with the zener vs the double diode aproach
Awesome, this is a good idea for sure and keeps it flexible.
- made a draft module called R4-SM0805 for the PCB editor, and a junk test PCB file
Again, good work, this keeps everyone happy at the same time. Excellent.
- added 5V reg for switch vs constant power
Sweet :-)
- LED's across PK port
Why? Any data required should be got through the communications interface. Port K is mostly staged injectors too and isn't even a full port so isn't suitable for writing a byte to (which was a hack I was using before I got serial working and won't be doing again). We would be much better off having the LEDs on the actual outputs to verify operation of the actual stuff we are trying to do and not having them on those pins to save space/parts etc. I'm ok with selecting one port for a X shorts Y longs oem style trouble light. But not more than one and I just don't see the point when you can get that data and a LOT more through the comms interface.

Dude, I just did some math :

http://www.google.com/search?hl=en&safe ... tnG=Search

70 Ohms from 14.4 to ground is through an injector is way way way too much power and current draw. For a start, the fuel is what cools the injector and if it's not flowing it will heat up and become less dense and affect the AFR adversely. Secondly they could even be damaged by this heat. Consider that it will be applied if the car is left sitting with the key on not running. Not good. Also not good is the fact that it generates 3w of heat inside the case. That is totally unacceptable. We would also need to use a big arse 5w resistor for them and that eats a LOT of board that could be put to much better use. In summary, I hadn't analysed it at all before now, but the value must change to at the least 900 Ohms :

http://www.google.com/search?hl=en&safe ... tnG=Search

I would strongly prefer 2k so that the resistor isn't running on it's thermal limit constantly. However, provided it changes to a 1/4w footprint I'm happy to have it there and can install a value of my choice.

Additionally, you still have the FETs shorting power to ground unless I fail schem reading 101. EDIT, you have it correct for the injectors, and incorrect for the GP FET drive.
- zipped my folder called hard, rather then just the contents, preventing nasty unzip's, I hope, fingers crossed
Sweet, works for me :-)
Things to do include making more modules, moving the TA module to this portable module library, figure out how to upload to sourceforge, add LED to driver circuits, add third 5V
Third 5v? for what? What we need on board is this :

Constant 12v in feeding regulator circuit that feeds only the CPU and nothing else.
Switched 12v in feeding second regulator circuit that feeds the sensors (thermistors, map, tps, etc) AND feeding a resistor divider network for battery vref readings.
Switched 12v in feeding any return inductive spike current and high side drivers etc.

so, 3 feeds, 2 reg circuits.
inverions of the RPM signal
Yes, and inversion and/or buffering for the ignition outputs too.
include PDF w/ zip file (was over 500k limit couldn't do on the forum)
I'm happy to increase the limit (was set arbitrarily anyway) if you go back and delete previous releases as you make new ones so the server doesn't clog up. I'll increase the file pool size too. It's very conservative right now.
jbelanger wrote:Why don't you like a simple 3 pad header with the middle connected to pin 5 and the other 2 connected to 5V and ground? Put a pin header if you want to play with the configuration or simply put a jumper (or nothing) if you know which mode you want. You could even do that with solder jumpers if you want it compact and without holes.
I like the idea in bold very much indeed. I hate installing wire jumpers. If we can go that way, I think it is a good move.
jharvey wrote:I don't like them because I can't find the symbol :) I changed that for a switch that is normally connected to GND, but can be moved to the 5V if so desired.
Switches are ugly and take up significant room. I *really* like Jean's idea about solder jumpers, that is a clean nice solution that we could perhaps use elsewhere too, such a the XOR circuits.
I'll have to add that to my notes about what I've changed.
Can I suggest adding a change log file to the distribution? That way you just edit it as you do stuff and it's naturally included when you release. Also easy to copy from and paste here. That's what I do. It obviously won't help you remember to edit it, but if you start using source control either locally or on sourceforge for the schems etc, each time you check it in you will be prompted for a comment, enter it, copy it, commit the change and paste the comment into your file. Additionally, if you are good about your change comments you can get SVN to generate a change log for you! Pretty nice. I don't do that as my comments are for private use and I include slightly higher level changes to the change log.
davebmw wrote:<tech stuff that I understand but definitely don't want to know about :-) >
Sweet, glad you are here!

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