Push button start

http://jbperf.com/io_extender/index.html
http://jbperf.com/io_extender/tinyIOx.html for the TinyIOx

Push button start

Postby aarc240 » Tue Mar 19, 2013 1:37 am

hi Jean
You've seen the thread on MSEXTRA/MS3EFI about this ( http://www.msextra.com/forums/viewtopic ... 86#p355150 )
It occurs to me that there may not be any reason to use the MS itself for this.
Can an IOx (or TinyIOx for that matter) pick up the needed info from the MS ?
Inputs needed (from a code viewpoint) would be
RPM
Air Conditioner output
Nitrous output
Assuming that data was available the required safety decisions could be made in the IOx or TinyIOx code and an output used to drive a relay controlling the starter solenoid.
As the IOx or TinyIOx can't command the MS to turn off stuff like the air con & nitrous the logical way to handle those is like our Chrysler PT Cruiser does.
Use a Power Control Module (a normally closed power relay) supplying power to the air con & nitrous relays and then drive that on (open) with the IOx or TinyIOx

What do you think, doable ?
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Tue Mar 19, 2013 10:24 am

Yes I have seen it.

The TinyIOx already has code to get the RPM and other data from the MS so that would not be an issue. However, I don't quite get why there is a need to get the air conditioner and nitrous outputs. When the starter solenoid relay is activated why not always also activate the other relays you mention. If air and nitrous are not on, it will simply do nothing.

That would simplify thing a bit because there are slight differences between MS2 and MS3 on where data is found.

So what would the exact behaviour be?

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Thu Mar 21, 2013 6:51 pm

I believe you are right, it is easier to use relays driven by the start output.

An input for "I want it to start" with series switches (AND) and an output to command "start" with a normally closed relay or two (OR) would achieve the desired result.
The firmware only needs to look see if the RPM is zero to allow a start output and then maintain that output until the RPM is above say 400 RPM.
Anything above zero RPM or if not already in start mode can be ignored so firmware just skips over the start function.

Air con is a matter of unloading the motor on start, our 240z air con didn't activate until 1200 RPM but it did stay engaged until MS3 decided engine idling. It never did like that but sometimes things get overlooked in competition particularly when dog tired in the dead of a hot night.
Nitrous I don't use so someone else can worry about his/her own safety mechanisms.
It's time for me to investigate solid state relays.

edit:
oops, I forgot to ask whether this can be easily achieved on both the IOx and TinyIOx. It occured to me that the i/o might not be available on the same port pins in both boards which could complicate firmware maintenance.
The car that really could use this feature will be using the full IOx, in the other car with the TinyIOx it would be a 'nice to have' feature.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Thu Mar 21, 2013 7:50 pm

What I can do is to have the output set until a user defined RPM is reached or a user defined timeout is reached. And as you mentioned, if RPM is above zero the input is ignored and the output is left off.

It will be easy to have it on both the IOx and the TinyIOx but since the TinyIOx already has the ability to fetch RPM, I'll start there and then port to the IOx.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Thu Mar 21, 2013 10:46 pm

A user defined RPM threshold OR the start button being released would be best.
In my case a time out would require very careful adjustment as the engine goes from around 350 RPM cranking to 1100 RPM 'idle' in a 'like now' manner.
The key start postion proved too tardy in returning to run position so the 240z has an engine start button.

Thanks for your support.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Thu Mar 21, 2013 11:12 pm

My intention with the time out was not for a replacement for the RPM threshold but in addition to it. So if the engine doesn't start, the output is simply turned off after the specified time.

That means that to start the engine, you just push the button and release without waiting for the engine to start and the output is turned off when either the RPM threshold has been reached or the time out has elapsed. This should not require any careful adjustment because it's just a question of not overloading the battery or starter. There could also be the option of pushing the button again to turn off the output before the time out.

But it could also be done like you say: the relay is active as long as the button is pushed and the RPM threshold has not been reached. That's actually easier to implement. So I can start with this and do the other option (which was what was mentioned by some on the msextra thread) at a later time.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Thu Mar 21, 2013 11:29 pm

That makes sense, and I can work with either.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Fri Mar 22, 2013 12:15 am

This is what I would propose for the settings for the two options:
pshbut_start_button.png
Controlled only by the push button
pshbut_start_button.png (18.5 KiB) Viewed 12508 times

pshbut_start_timer.png
Controlled from the timer
pshbut_start_timer.png (16.33 KiB) Viewed 12508 times


You can see that you can select the polarity of the input and output and which ports are used. And of course you have the RPM threshold and the timer limit if that's the selected mode. So unless there is something I'm missing, that is what I will implement.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Fri Mar 22, 2013 12:55 am

That's briliant!! Simple, easy to use and flexible.
Now that really does qualify as top of the line customer support.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby aarc240 » Mon Apr 01, 2013 12:27 am

How is the firmware progressing?
I'm not in any hurry, just curious.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Mon Apr 01, 2013 2:37 pm

I haven't been able to put the time on this that I thought I could but I should have that done in just be a few days.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Tue Apr 02, 2013 5:14 am

Whenever you're ready, I'm not likely to get the TinyIOx installed for some weeks.
Actually, I haven't yet received the new SLCOEM and carrier board to use with it anyway!
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby mwp » Thu Apr 11, 2013 2:41 am

Oh yes, want this!
It would be great if you could add it Jean :)
mwp
 
Posts: 19
Joined: Sun May 22, 2011 4:20 am

Re: Push button start

Postby aarc240 » Sat Jun 22, 2013 3:49 am

Any progress Jean?
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Sat Jun 22, 2013 1:57 pm

I should have something in a few days.

One thing that will be different from what I mentioned before is the output port polarity: I will not make this an option for safety reasons. If the output port direction were to be an option and the user were to not use the default direction, it could cause an unexpected and dangerous situation when upgrading the firmware with the starter being engaged unintentionally. It could even happen with data corruption.

So this will be a hardcoded polarity and the way to deal with a different output polarity will be by using a different output circuit to invert the signal. This way the behaviour will always be predictable.

Also, since the same thing could happen with the input polarity, I may need to also hardcode the polarity. I still need to think about this to see if I can have some protection in the code because in that case there is an action taken by the code before engaging the starter; this is not the case with the output.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby aarc240 » Tue Jun 25, 2013 11:25 pm

I don't see a problem with fixed polarity in either case, safety is better.
aarc240
 
Posts: 95
Joined: Sat Feb 19, 2011 5:01 pm

Re: Push button start

Postby jbelanger » Fri Sep 20, 2013 6:15 pm

This has finally been implemented on the TinyIOx. The firmware is available here: http://jbperf.com/io_extender/firmware/ ... v0_0_6.zip

As mentioned before, the polarity for the input and output has been hard coded to make the behaviour more consistent and safe. So the input will always need a grounding input and the output will always be a 0V=off/5V=on signal (a possible circuit would be an NPN transistor which grounds the starter relay). Also, the timer limit can now be applied to the button-only mode where it will act as a safety and switch off the starter. If this is not desirable, using a value of 0 will disable the timer. Of course, this is not available in timer mode.

This is what the configuration window now looks like:

pshbut_start_button2.png
pshbut_start_button2.png (15.46 KiB) Viewed 11595 times


The starter will only be engaged if the RPM is 0 before the button is pushed. If the CAN communication with the MS has not been established then the starter will not be engaged. However, there is no protection at this time if the CAN bus gets broken once the initial communication has been established.

Once the RPM threshold or the time limit has been reached, the starter is stopped. In button-only mode, if the push button is release, the starter is stopped. In timer mode, once the button has been pushed the starter will remained engaged until either the RPM threshold or the time limit has been reached regardless of the button state. To be able to re-engage the starter, the button has to have been released since the last start and RPM still needs to be 0; this will allow the use of the button without a power cycle if the engine stalls.

I have only done tests on the bench but I tried to cover all the possible cases. So if you do try this, make sure that you have a safe way to shut down the starter if there is any issue.

This will be ported to the IOx shortly.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby Mario » Fri Sep 27, 2013 2:15 am

Is this something that can be ported to the io_expander as well?
1967 Bug 2276 F.I. Turbo, Megasquirt It!
Facebook-Website-Gallery
11.537 @ 115.74mph
236hp 245tq
Mario
 
Posts: 27
Joined: Tue May 04, 2010 12:06 am

Re: Push button start

Postby jbelanger » Fri Sep 27, 2013 9:20 am

Yes that's what the last sentence of my previous post says.

Jean
Image
jbelanger
 
Posts: 3633
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: Push button start

Postby Mario » Fri Sep 27, 2013 1:44 pm

Ha! Please forgive me, I overlooked that :)
1967 Bug 2276 F.I. Turbo, Megasquirt It!
Facebook-Website-Gallery
11.537 @ 115.74mph
236hp 245tq
Mario
 
Posts: 27
Joined: Tue May 04, 2010 12:06 am

Next

Return to I/O Extender

Who is online

Users browsing this forum: No registered users and 5 guests

cron