Arduino go kart EMS

Free Open Source Firmware project discussion forum. Post your Free Open Source firmware projects here!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Arduino go kart EMS

Post by Fred »

Nice work :-)
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!
crazyafrican
DIP8 - Involved
Posts: 24
Joined: Fri May 10, 2013 5:43 am
Location: Auckland, New Zealand

Re: Arduino go kart EMS

Post by crazyafrican »

User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Arduino go kart EMS

Post by Fred »

"Turn off ignition if it's still on when a missing tooth is detected" :-/
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!
noisymime
DIP8 - Involved
Posts: 29
Joined: Wed Feb 06, 2013 4:12 am

Re: Arduino go kart EMS

Post by noisymime »

crazyafrican wrote:hey OP have you seen this

https://bitbucket.org/SSnowden/project-arduino-ecu
I was looking at this just the other day actually. It's a great piece of work as far as a practical implementation (the fuel and planned ignition closed loop for one), but there's some stuff in there that really rubs me the wrong way. The heavy use of floats for one isn't going to help the performance, which is already borderline on the 2560, and things like the map bins etc are fixed. I do love his hardware setup though, bit jealous of that compared to my rats nest :lol2:

I've been meaning to post up an update here as I've made a little bit of progress recently. Running now is quite smooth for ignition only, fuel is a bit rougher when I add that in as I haven't done much work on acceleration enrichment, but it'll get there. All settings and tuning can be done through software, so nothing is hardcoded any longer.

A popped a really brief vid up at http://www.youtube.com/watch?v=HnOPD2MOngU

I want to throw together a couple of shield boards soon as the breadboard is just getting a little chaotic. My current circuit is, but it's still a WIP before I etch the board. One thing I have been wondering is whether just generic FETs for the injector drivers are ok? They seem to be working so far, but I don't have great facilities to test how well they're actually working. I'm not worried about P&H at the moment, just straight on/off of high-Z.
Image

Have I missed anything obvious? I know it's simple, but it currently seems to be working alright as a single channel version of the above.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Arduino go kart EMS

Post by Fred »

Your schematic could do with some "purpose outlines", what's the opto doing? Are those fets logic level? Are you aware that you've created a voltage divider at their inputs? Raise the pull down to 100k and/or put the pull down on the CPU side not the FET side. Your ignition outputs are only suitable for stuff like LS1 coils. On any normal setup they will suck. You're missing two key inputs: IAT and CHT, both are requires for either Alpha-N or Speed Density. Nothing hard coded? You must have IAT hard coded?

Video is hard case :-)
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!
noisymime
DIP8 - Involved
Posts: 29
Joined: Wed Feb 06, 2013 4:12 am

Re: Arduino go kart EMS

Post by noisymime »

Fred wrote:Your schematic could do with some "purpose outlines", what's the opto doing?
Fair call. The opto is just protecting the crank input. On my test setup it's a 12v sensor so this us also bringing it down to a logic level input.
Fred wrote:Are those fets logic level? Are you aware that you've created a voltage divider at their inputs? Raise the pull down to 100k and/or put the pull down on the CPU side not the FET side.
Ahhhh, that definitely wasn't intended. Yes, the FETs are logic level, but not protected or anything. Wondering whether it's worth running a more specialised driver?
Fred wrote:Your ignition outputs are only suitable for stuff like LS1 coils. On any normal setup they will suck.
Yep, intended use case is limited to logic level coils only for now.
Fred wrote:You're missing two key inputs: IAT and CHT, both are requires for either Alpha-N or Speed Density. Nothing hard coded? You must have IAT hard coded?
Those are on 2 off the inputs that I just noticed are unlabelled :)
That said, in not using them properly in code yet, no :(
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Arduino go kart EMS

Post by Fred »

You probably want to change your FETs to something more robust. Short circuit and over temperature aren't really needed, but some voltage clamping in the 40 - 100V range is pretty much required, or a high voltage rating on the FETs (expensive if you can find it). No special drivers are needed, though, no. Low-z is a waste of time, too, IMO. Modern high-Z are better in every way.

Be aware that most optos are hideously slow, and thus unsuitable for a precision input such as crank timing. What do you mean "12v sensor"? Are you sure? :-)

About "logic level coils" some are, some are not. MANY that idiots/people say are, are NOT. So beware. You'll still get a spark, it'll just be weak/shit.

CHT you could use a pot to fake like an old fashioned choke. But you'll find vastly different fuel requirements when hot vs cold. Where cold = 20C, not -20C. It gets even more extreme in real cold.

IAT you can guess at, fine tune with a pot, the first FreeEMS car was driven with a hard coded 20C and ran a bit lean and rich on each side of that. The OEM sensor was much much worse than hard coding, though.

Hope that helps a bit! :-)

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!
noisymime
DIP8 - Involved
Posts: 29
Joined: Wed Feb 06, 2013 4:12 am

Re: Arduino go kart EMS

Post by noisymime »

Thanks Fred, your replies are ALWAYS helpful :)

I'll go back and double check the datasheet for the Opto, but from memory it had a switching speed (Total rise and full time) of around 10uS, which I thought would be OK. Even at full saturation it was around 30uS. The crank sensor is definitely 12v. It's feed straight off the battery and outputs 12v on the signal line. It's just a cheapish industrial hall effect sensor, but only rated at 6v-30v (I learned this the hard way with VERY mixed signal quality at 5V).

I'm using an LS1 coil at the moment, so definitely logic level. I've used some aftermarket Nissan coils before on a project car that were definitely 5V as well, even though they were 3 wire.

I'll have a look around for some more robust FETs before I solder them on the boards. I'll just be using TO-220 for simplicity, so changing them out later shouldn't be hard anyway.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Arduino go kart EMS

Post by Fred »

Mail me one of those Nissan coils one day and we'll see. Excuse the skeptic :-)

If you deem 10us or 30us as OK, and the opto lives up to its claims, then that's your call :-) What about consistency of that number? A fixed number can be easily dealt with, a variable one is a problem.
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!
noisymime
DIP8 - Involved
Posts: 29
Joined: Wed Feb 06, 2013 4:12 am

Re: Arduino go kart EMS

Post by noisymime »

Fred wrote:Mail me one of those Nissan coils one day and we'll see. Excuse the skeptic :-)
If you were actually in Auckland I'd drop one in as I'm there every few months :)
I would genuinely be very keen to see what your testing came up with, I've even got 2 spares. If they're rubbish I'll find something else (I only paid $100 for the set), but it'd be good to know.

The coils themselves are by this mob: http://www.okadaprojects.com/usa/products_direct.htm
The model I've got came off a 350Z (The fuel injection conversion on this car was 90% walking around wrecking yards looking for parts that looked like they might be made to fit, that's how I found those coils. Car is http://www.turbosport.co.uk/showthread.php?t=375976 in case you're interested).
Ignoring all the marketing fluff, they do seem to work OK with a 5V signal.

My (limited) understanding of the Opto datasheet is that the switching speed is fixed for a given setup. The variation comes about due to the different loads that the opto can have on it, determined in this case by the value of the resistors used with it. So, it'll be a fixed number somewhere between 10uS and 30uS.
Post Reply