Puma board for FreeEMS

Marcos' unmaintained, but still in-use, Puma for FreeEMS circuit board/hardware design!
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 believe the board has an issue, perhaps two that do match the PDF. Macros is probably best to address those issues. I think he's cutting a trace under the MCU, and bridging the PLL. I'm not exactly sure what's experimental and what's required.
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 »

nitrousnrg wrote:Fred, IMO 4 cables for Vbat is totally unnecesary. Having a cable for power and another separate cable for the digital stuff already put us in the safe side.
Safe side of what? There is no room for avoidable errors here. You have a choice for the second clean feed, you can switch it, but not with BJTs, however the dirty and clean must be seperate, and you need a sense wire anyway, how are you going to switch that off and on without losing ANY voltage from it? A relay is the only option, and it belongs outside. If you dont switch it off, the v divider will be draining your battery...
About the reference, if you wish it that way, ok. I don't like it, but its up to you. Voltage drop in the low power vbat cable shouldn't be noticeable. You already have almost a 1% error in the resistor divider, Vref = VDD = not accurate, and the 5v for the analog circuitry has a 2% tolerance, much better at 25°C but still...
See below. This is about doing things right, no just "good enough".
Today I checked Motec's ecus, they have only one wire for Vbat, and 2 for gnd. And those controls 8 low Z injectors, up to 6A each. The cables have 3.3mm wire, which is reasonable. Using one 3.3mm wire for power-hungry stuff, and another 3.3mm wire for ICs, circuitry and the reference is enough for me. If a $6k ecu uses only 1 cable, I'd think it works pretty well.
This depends how much you care, and whether you do it the intelligent way, or the way with the larger hammer. 3.3mm cable is quite significant, I'd call that an acceptable ground cable, but I'd be loath to see that on the power feed to 5v clean line - it's too big! Think about the current, wire lengths and voltage drops, then think about where they end up, and you start to look at having 15% errors, 15% with noise. Then take a step back and consider that we're aiming to build something that works with large injectors, large injectors on small engines are the single hardest thing to do well on an EMS. If you have large injectors, your idle PW is SMALLER than your dead time, and therefore any dead time error is going to affect your fuel flow a LOT and make the car run badly. Injector dead time handling is CRITICAL for any high performance engine setup (see big injector note) and without an ACCURATE battery voltage reading, you can not have good dead time handling and you can NOT have good running on small engines with big injectors, which is our goal. BRV (battery reference voltage) MUST be separate to be compliant for this reason. Dwell time is also affected, and can provide random misses when confronted with this sort of discrepancy and noise. This single sensor is one of the most important in the whole device because everything else hinges from it, it's the base for all things above it.

I bet motec does not do an "always on" setup anyway. Oh wait, they can't, they ONLY have one wire. So they do NOT provide the same functionality with that setup as we are trying to achieve, and therefore it is incomparable. To do things right you NEED the following:

Dirty power for dumping spikes into and high side switching (if you have neither of those, you can do without it, it's possible to clamp low Z into the ground wire)
Clean power always on for CPU power in sleep mode, can't avoid this.
Clean power switched, provides 5v to sensors etc, if you bring this in on the same one as above, then you need another wire to trigger it!!!
BRV wire, provides v drop free readings of battery condition, an be used to internally switch other clean (with fets, not bjts) if that complexity is more desirable than a SINGLE extra wire (with no complexity factor)

The ONLY one you can avoid, meet our feature requirements (sleep/wake/always on) AND performance requirements (uncompromisingly accurate BRV) is the switched clean, with an internal switch via fet, relay, magic, whatever. But this adds extra complexity... which IMO is a bad thing to do when there is a simple solution with zero cost that does the same thing.

GearHead needs to be in here to back me up...
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 »

[written by a cranky, sleepless nitrousnrg]
The switch was intended to be a fet instead of the pnp, but whatever. I'm almost sold with Jared's 1% comment, still have to dive into those links and files to see it with my eyes. I'd wish to not be so busy.

Motec is comparable, not about the sleep function, but mostly about the brv reference. They sense it in a high current wire, which btw, is the real voltage the injector sees. I'd filter the spikes from that line and measure that voltage. Whats the point of having an insanely accurate battery voltage measure, if what you want to keep an eye on is under a different voltage? The flaw I see is how good the spikes can be filtered. Based on how touchy you are about this, I guess they can't. I suggest to end this topic, you won't change your mind, and me neither. I'll follow your advise to save valuable time to the development.

I don't like having 10 cables connected to the battery only for the board. If the nonlinear reg solution turns out to be a good deal, at least the clean switched wire would be gone :-)

Oh, good news, I'm signing up the puma project on an competence of an embedded systems symposium. Can't be bad, and there is glory, fame, and $ for the winners :-)
http://www.sase.com.ar/
Marcos
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 »

jharvey: WOW@ STsimulator!
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 »

Firstly, get some fucking sleep! You've got an exam in a day or two, you need to be fresh for it, not *just* well studied! :-p

Secondly, if FET = sweet, then sure.

There is no need for 10, the max is 8 and the min is 5. For 5 you would have clean power always on, dirty power switched, dirty power enabled internal switched clean power through fet/relay/whatever, battery sense wire (alternators do exactly this too, the charge and sense are separate and go to the same place! different reason, but same principal), dirty ground for all dirty things, clean ground for sensors/cpu. Moving up from 5 to 8 = running the switched clean outside (I think this makes the most sense by far) and running separate grounds for different noisy high power outlets (not strictly necessary, but good parallelism) such as inj, ign, fp/other rather than one shared.

As for the real voltage the injector sees, you can't easily measure that at all. The injector takes its power through a relay and another loom from some random source, you can't control or measure what that voltage is like, it's up to the installer to get that right, then you've got wiring/connector/fet drops which as long as they are consistent are not an issue. If you accurately know what the battery voltage is, you can base your corrections on that and treat the wiring and drivers as a system. If your battery reading is inaccurate, by some fixed or fluctuating and averaged out amount, then you can't base your corrections on that as the relationship to the injector is skewed. I hope that made some sense. Besides, the coils are involved too. They have the same drops etc, except entirely outside the EMSes control/ability to sense, with the ignitor usually, and best, placed in the engine bay far from the EMS. For them, it is power > relay > coil > ignitor > ground with the EMS only providing a switch. The injectors are much the same except that the switch is inside the box, usually (though you wont find many OEMs with low z + no resistor pack being driven from the box...).

I wish you the best of luck with your sase endeavours! :-)

And, even better luck with your exams, smash them, Marcos! :-)

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: Puma board for FreeEMS

Post by jharvey »

nitrousnrg wrote:jharvey: WOW@ STsimulator!
Don't give me credit, that was movex. It's some good stuff, now I just need to find the parts it uses in the BOM.
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, Marcos, what are you commenting about this regulator stuff for? Shouldn't you be either putting together your EMS's and making it work, or studying. Of course it's your choice if you reply, I just want to encourage you to focus your priorities correctly.

I just selected obtainable components and finished the regulator design. The ST mirco simulator file is in github, as well as this PDF which is a bit easier to look at. Here's the PDF https://github.com/jharvey/puma_JAH/raw ... report.pdf Here's a quick summary, fully loaded with worst case input voltage, it uses .858 watts to make 5 watts, 5V at .1% ripple 1 A.

[edit]disregard this next line, see below post[/edit]Wow that coil's a bit large. Perhaps we'll want to find a smaller coil.[edit]resume original post [/edit]

I'm also a bit concerned about the caps. The package is fairly large, yet still SMT. I'd like to see one end with a flying lead or something to ensure it's mounting is good for the temp range.

I do not plan to implement such a regulator, until other changes have been made to spin1.

The ST micro file will allow you to select different voltages, such that you can see how it might perform at different voltage and output currents. For example 14.4V instead of 16V and .5 amps instead of 1 amp. It consumes 385mW, with the same ripple, ect.
Last edited by jharvey on Tue Feb 15, 2011 2:24 pm, edited 1 time in total.
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 changed some parts, for much smaller components. The circuit should now show the 82uH inductor.
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 »

Jared, I've been up ALL night, bar 45mins when I dozed off and got woken by a friend. My Puma has a case, and doesnt require much more work before I can plug it in. I've got MTX man working on MTX so I can tune, I've got half a decoder in place, and, finally, I've got 7 hours till my goal. So yeah, working pretty hard on it ;-)
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 »

http://en.wikipedia.org/wiki/No_Sleep_till_Brooklyn

Ooooh a case you say. I can't wait to see it. But that's all stuff you can do after the 7 hrs is up. Sounds like you are in the final stretch, I hope MTX man can pull you through and good luck on the RPM code. I won't bug you much for the next handful of hours.
Post Reply