Page 11 of 12

Re: 1995 Ford E-150

Posted: Fri Apr 11, 2014 2:54 pm
by E4ODnut
I'll go back through our previous conversations and see if I can figure out how to compile the code. I'm sure I will have questions though.

I tried to connect to Tuner Studio, but no joy. Device manager shows the USB/TTL as Silicon Labs CP210XUSB to UART bridge. I have RX connected to PC11, TX to PC10 and ground to ground. I have a project file for rusEFI in TS but TS cannot detect. Am I missing a step?

I'm a bit confused as to why Discovery has this timing error. If Discovery is running in it's own unique time zone, so to speak, won't that skew anything that relates to real world timing like RPM, ignition timing, injector timing, pulse width as well as communications with Dev Consol or Tuner Studio?

Re: 1995 Ford E-150

Posted: Fri Apr 11, 2014 3:02 pm
by AndreyB
http://rusefi.com/forum/viewtopic.php?f=13&t=493 for Tuner Studio notes

Discovery costs $14, maybe they wanted to save 50 cents by not soldering precise timing crystal in the default configuration - at least they have designed a spot to solder it :)

You have the option to add these three components and make it more precise - http://rusefi.com/forum/viewtopic.php?f=4&t=460
While yes, it screws up RPM, it does not screw up timing: timing is using a screwed-up alarm based on screwed-up RPM, and these two errors compensate each over. While editing a fuel map you are building everything on top of AFR reading, so as long as the time imprecision is consistent it does not affect us.

And again, we can go and solder the needed extra components: http://rusefi.com/forum/viewtopic.php?f=4&t=460

Re: 1995 Ford E-150

Posted: Fri Apr 11, 2014 5:04 pm
by E4ODnut
Hmm. No luck with TS yet so I back tracked to Hyper Terminal. No luck there either. Firmware version is 20140404@2496 Ford 1995 inline 6. Device manager recognizes the USB/TTL device.

Any suggestions?

Re: 1995 Ford E-150

Posted: Fri Apr 11, 2014 5:07 pm
by AndreyB
Try swapping RX&TX wires?
Try plugging microUSB and running dev console while trying to test via HyperTerminal.

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 3:52 am
by E4ODnut
Swapping the RX/TX wires worked for both Hyper Terminal and TS. I wonder why?
Having said that TS is not happy. I'll do some more experimenting.

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 4:56 am
by E4ODnut
I added a few gauges and did some changes to the properties. TS is now sort of happy but I assume that this is still a work in progress. What all can be done with TS at this point in time?

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 12:54 pm
by AndreyB
E4ODnut wrote:Swapping the RX/TX wires worked for both Hyper Terminal and TS. I wonder why?
TX is 'transmit' and RX is 'receive'
The wire which transmits from discovery point of view is receiving from TTL point of view. Same with the 2nd wire

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 1:54 pm
by AndreyB
E4ODnut wrote:What all can be done with TS at this point in time?
All the settings you see in TS are expected to work - most would work on the fly, some (like pin assignment) would require rusEfi reset. Also I believe pretty much you can configure is exposed to TS - so, it should cover above 90% of configurability we've got.

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 2:46 pm
by E4ODnut
I'll do some more experimenting with TS and see what I can do.

As for Discovery 2, I'd like to hold off on ordering it until you have shown that the added crystal and caps will solve the RPM issue, then I'll order them at the same time.

Another issue is power supply as mine seems to give Discovery indigestion. I don't want to have to use a laptop all the time to power Discovery in vehicle so I'd like to start using an external power supply sooner rather than later. Have you got something that works?

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 2:57 pm
by AndreyB
http://www.ebay.com/itm/161152073095

You should order this now because it would take couple of weeks to arrive from China.

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 3:45 pm
by puff
russian, ignition timing based on rpm and MAP would also work in ts? (summer is coming :D )
as for the power supply - you believe it's worth ordering? (how noisy is it?) I'd buy this one if you recommend it ;-)
E4ODnut, i am also pretty much sure that your discrepancy between the scope readings and dev.console readings is caused by the lack of quartz on the board. i bet you can solder on the quartz and the caps and this inconsistency in rpms should be gone...

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 3:47 pm
by puff
PS I do not remember exactly but I also saw that inconsistency between the dev. console and my logic analyzer (or was it another project? ;-)

Re: 1995 Ford E-150

Posted: Sat Apr 12, 2014 9:11 pm
by puff
just ordered a power supply ;-)

Re: 1995 Ford E-150

Posted: Sun Apr 13, 2014 4:04 am
by E4ODnut
So, with this 5 volt power supply, I'm assuming that the analog board can be supplied by it as well as Discovery. How do you connect Discovery to this supply?

Re: 1995 Ford E-150

Posted: Sun Apr 13, 2014 4:12 am
by AndreyB
You connect GND from the supply to GND on discovery, and +5 from supply to +5 on discovery. The +5 pin on the discovery can work as power supply pin, I believe it is connected to +5 from the mini USB.

The 2nd +5 pin on the discovery feeds analog board.

Re: 1995 Ford E-150

Posted: Sun Apr 13, 2014 4:15 am
by E4ODnut
Thanks.

Re: 1995 Ford E-150

Posted: Sun Apr 13, 2014 10:43 am
by kb1gtt
Just as an FYI, there is a diode on the Discovery's 5V that is supplied by the USB. So in reality when powered from just the USB, the 5V will be a diode drop less than 5V. When you power it with an external 5V you should get an actual 5V, and there should be no power pulled from the USB.

Re: 1995 Ford E-150

Posted: Sun Apr 13, 2014 2:02 pm
by E4ODnut
That would explain why when powered by USB I read only ~4.35 volts on the Discovery 5 volt pins.

Re: 1995 Ford E-150

Posted: Mon Apr 14, 2014 3:22 am
by E4ODnut
Things are not going well here.

I tried using my 5 volt power supply to Discovery. Ground to ground, +5v to 5v. I was able to connect to TS OK. Good, I thought. Then when I went to try USB power and Dev Console I had no RPM. Strange. I tried self triggered, PD1 to PA5. Still nothing, but I was getting voltage and frequency. I tried my power supply and TS again. I have analog signal's but no RPM. PIP is conditioned 5 volt max input to the analog board. I may have killed PA5, but why???

Re: 1995 Ford E-150

Posted: Sat Apr 19, 2014 5:00 pm
by kb1gtt
I thought I would elaborate a bit on the above mentioned measured frequency vs dev control claimed measurements. The software currently is using ChibiOS for the OS which is nice as it allows for portability to other platforms. However ChibiOS had a default min tick of 1mS, which is way to long and it will create software jitter that is more than what most people would prefer for engine control. So the short term solution was to change the default tick to .001mS, which got things with in more tolerable limits of jitter. However there is still room for improvement.

A bump in the road with using ChibiOS for the min software tick, is that ChibiOS has many other tasks that gobble up CPU cycles upon each Interrupt ReQuest (IRQ). There is only one CPU executing code, and when an IRQ happens, that CPU will need to execute some code to determine what IRQ sub routing needs to be executed. The OS has many tasks that need to be addressed and maintained each time an IRQ happens. If you have many IRQ's you increase the number of CPU cycles that it takes for IRQ maintenance. If you have to many IRQ's in a short amount of time, you'll gobble up all your CPU cycles with IRQ maintenance and you will leave no cpu cycles for normal processing. The .001mS was chosen as it allows for reasonably fast IRQ processing, but still allowed for other tasks to happen. A down side is that it adds a significant amount of software jitter, which is evident in the above noted frequency measurement. We hadn't gotten around to measuring that and it's good that it was measured and shown to the developers. As it allows us to fix issues that we might not have been found for some time.

So as the next performance enhancement, russian has been working on creating a separate IRQ handler / scheduler. One that will be separated from the OS tick and will add significant improvements in precision when addressing cam/crank input signals, as well as update injector and ignition output events. Then once these bits are handled, it will hand the processor back over to ChibiOS where the other tasks like fuel calcs, communications, and other such tasks. This will greatly decrease the software induced jitter on the timing critical signals, while maintaining the portability of the overall system. In the future when we switch to a new chip with new hardware, we'll be able to fall back on the OS tick, then change as required for performance purposes.

Any how, I just wanted to post some notes about the measured frequency issue. It's a known issue, and there is a plan in place to make it significantly more precise. We have seen that with the precision we have, it's good enough for running the engine. However we all desire to make it more accurate as we all want to push our timing to the limits of the physical components. As well most of the issue is relative to software jitter. Once that has been addressed, we can make some additional improvements by reducing hardware jitter via including a RTC time reference. However first steps first, fix the soft jitter.

Re: 1995 Ford E-150

Posted: Sat Apr 19, 2014 7:10 pm
by E4ODnut
Thanks for the update.

I still have the problem with PA5 though. I'm hoping that Andrey can assign a new pin to see if I can recover PIP. I don't want to try a new board until I've exhausted all possibilities on this one.

Re: 1995 Ford E-150

Posted: Fri Apr 25, 2014 4:11 am
by AndreyB
I know it took a couple of days but I think it is ready:

#1 So, please measure PD1 frequency on the old firmware version, before updating. Mine says ~52Hz.
#2 Update to current version
#3 Re-measure PD1 frequency. I am seeming something like 59.6Hz. Looks much better now!

PS: There is still bug with signal generation - the signal stops after some time. So, if it shows nothing just reset it.

Re: 1995 Ford E-150

Posted: Mon Apr 28, 2014 7:00 pm
by E4ODnut
Andrey,
Sorry about the late reply, I've been a bit busy with other things.

The old frequency at PD1 measured at ~53.75Hz to ~ 53.85 Hz. With the latest firm ware it measures 1.432V, 59.99 Hz to 60.00 Hz. For a 6 cyl 4 stroke engine that is 1200 RPM.

I get no read out on the Dev Consol when I connect PD1 to PA5. As I mentioned, I think I may have killed PA5 but I have no idea how.

Re: 1995 Ford E-150

Posted: Mon Apr 28, 2014 7:26 pm
by AndreyB
E4ODnut wrote:Andrey,
Sorry about the late reply, I've been a bit busy with other things.
No worries, I am blessed that you have not given up on me yet.
E4ODnut wrote: The old frequency at PD1 measured at ~53.75Hz to ~ 53.85 Hz. With the latest firm ware it measures 1.432V, 59.99 Hz to 60.00 Hz. For a 6 cyl 4 stroke engine that is 1200 RPM.
Please tell me this looks like some progress :) And thanks for forcing me to look into this issue.
E4ODnut wrote: I get no read out on the Dev Consol when I connect PD1 to PA5. As I mentioned, I think I may have killed PA5 but I have no idea how.
That's because you were using the default firmware which wants a fully functional discovery. I've just updated your custom version - it's at http://rusefi.com/temp/zombie.zip - this one should use PA8 (not 5) as input pin. This would give this MCU a chance to serve it's purpose in full, but it's time to order couple more of these :)

Re: 1995 Ford E-150

Posted: Mon Apr 28, 2014 8:20 pm
by E4ODnut
Good news!

With the zombie firmware, Discovery plugged into the analog board and output board, with input from my simulator, I have accurate RPM from my minimum of ~121 RPM to maximum of ~29,000 RPM. For this engine I almost never exceed ~3500 RPM. As the revs climb, the RPM read out gets jumpier. I suspect that this is legitimate because the output frequency from my 555 timer isn't rock solid. I've noticed the same effect with MS on real engines. I'm not sure if it is the way the periods are sampled or not. As far as RPM for display is concerned it would be nice to have some kind of averaging built in so the display doesn't have so much digit rattle.

In any case it looks like you have the RPM thing fixed so we can get on to other things.

TPS, IAT, CLT and O2 response looks good.

I notice that I have no injector pulses below ~550 RPM. Shall we look at that next?

I'd like to get as much life out of Discovery 1 as I can, in case during the course of experimenting I take out some more pins. When we've made further progress and the lack of pins becomes a real problem I'll get another board or two. Humour me on this one please Andrey,

Re: 1995 Ford E-150

Posted: Mon Apr 28, 2014 8:25 pm
by AndreyB
550 is coming from

Code: Select all

engineConfiguration->crankingSettings.crankingRpm = 550;
Apparently default cranking fuel was zero.
Please enter these two commands:
set_cranking_fuel_min 6 -40
set_cranking_fuel_max 6 40


that would set same 6ms fuel length for the whole -40C to 40C range.

Re: 1995 Ford E-150

Posted: Tue Apr 29, 2014 4:03 am
by E4ODnut
OK. The injectors now fire from cranking speed on.

What's next?

Re: 1995 Ford E-150

Posted: Tue Apr 29, 2014 11:35 am
by AndreyB
TPS, IAT, CLT and O2 response looks good.
You also need MAP, right?

While I find the page with your MAP specs, can you please try compiling the firmware from source code? You would need to "SVN Update" and "clean_build.bat"

That's so that you can create fresh version of the zombie firmware. You would need to swap DRIVER, PORT and PIN values between

Code: Select all

#define PRIMARY_SHAFT_POSITION_INPUT_DRIVER ICUD3
#define PRIMARY_SHAFT_POSITION_INPUT_PORT GPIOC
#define PRIMARY_SHAFT_POSITION_INPUT_PIN 6
and

Code: Select all

#define LOGIC_ANALYZER_1_DRIVER ICUD1
#define LOGIC_ANALYZER_1_PORT GPIOA
#define LOGIC_ANALYZER_1_PIN 8
so that PRIMARY_SHAFT uses ICUD1@GPIOA 8

Re: 1995 Ford E-150

Posted: Tue Apr 29, 2014 3:15 pm
by E4ODnut
Correct. I do need MAP. I suppose I could re-tune for Alpha -N, but it would be a step backwards.

"SVN Update" worked but it gave me a warning that "one or more files are in a conflicted state".
"clean_build.bat seemed to work.

Where do I find the defines to change?

Re: 1995 Ford E-150

Posted: Tue Apr 29, 2014 3:17 pm
by AndreyB
config/boards/arro_board.h