Bringing TBI and Multi Port Fuel Injection to a New Level.     EFI Conversions and Tuning! Seattle to Portland! E-mail Tuning Consultant!
Page 21 of 26 FirstFirst ... 111617181920212223242526 LastLast
Results 301 to 315 of 376

Thread: DIY LTCC or similar system for LT1s

  1. #301
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    432
    There's no spark calculation going on. Look at the source in isr_est() where I'm picking up spark advance from the EST line negative edge - there's no way it could get any simpler or save cpu time by sniffing the ALDL.
    It looks like I missed the most important part.
    That`s genious and simple. I never thought of it. I always consider there were some calculations done from dwell and spark on arduino side, but when you get the falling edge you are wright on the spark spot and the delay is negligible.

    On the PCM there is some est lag scalar that adds every 1500 rpm 1 spark degree. If you experience any lag problems it can be increased to compensate.

  2. #302
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    I haven't made any progress on the controller firmware since 0.9.8, but I did make a discovery that I found interesting.

    Quote Originally Posted by kur4o View Post
    64 bit interger for time isn`t too much. PCM use 16 bit value and the range is $4000-$88 and the conversion is 983040/x = rpm
    0.015234*x = msec.
    After thinking this through, I'm probably going to play with the timer prescalers and see if I can't get this one to fit into a 16 bit space. Essentially the prescaler is a divider that the mcu's timer section uses to divide clock cycles to determine when to increment the timer value. The one I'm using on the low res interval timer (time between tdc) is counting 0.5 us (two ticks equals 1 microsecond). This gives great resolution, but I don't think such precision is going to be necessary. The idea I came up with for a cylinder balance test will be happening at < 2000 rpm, where a larger divisor will still give ample resolution. Unfortunately what I discovered with the engine on a stand may complicate the cylinder balance test idea.

    One of the items on my winter todo list was to mark TDC externally somewhere. The reason for this is because when I built the engine last winter I degreed the cam to the specs on the cam card. For a 109 ICL I ended up locking the cam bolts down at + 3.5 degrees. This always bothered me because I wanted to be able to rely on the PCM timing numbers to be "gospel". But if the PCM picks up timing from the opti, my commanded spark advance is going to be +3.5 degrees less than actual. So instead of messing with marking the unkeyed damper or anything similar, I decided to hook up the controller in input test mode to the opti, and adjust the trigger wheel to where I wanted it. After spending a couple hours finding what I was confident was TDC without pulling the heads (incidentally - piston stop bolts are patently useless on engines with angled plugs and 170+ lb spring seat pressures), I was finally making progress.

    So I took the rotor out and put it on the same pile of useless parts that my keyring with Holley primary jets lives under. The rotor screws need to be carefully cut down by about 3/32" and a #10 washer is also needed under each screw to adequately secure the trigger wheel. Then I connected the controller up to the opti with power being supplied by a 12v ac adapter. My initial reading for #1 had the low-res signal coming on at 7.5 degrees BTDC!

    I pulled the trigger wheel off and bent one of the fingers that centers it on the outer-most pin, and set it back on with the wheel retarded a few degrees. It just so happened that the next TDC that passed by on the degree wheel was #6, and the low res led came on right at 0 so I put blue threadlocker on the rotor screws and tightened them down. Unfortunately I failed to scratch off one of my other todo list items before this - making a high resolution image of the wheel on a flatbed scanner.

    Anyway, after carefully turning the engine through about 25 rotations at about 2 degrees per second while counting high res signals, I discovered that my trigger wheel has quite a bit of variation between cylinders (or my 11" "precision" degree wheel is complete garbage).

    Code:
    Cyl    LowResRisingEdge
    1    3 BTDC
    8    4 BTDC
    4    2.5 BTDC
    3    1 BTDC
    6    0 BTDC
    5    1 BTDC
    7    1.5 BTDC
    2    2.5 BTDC
    This was really disturbing to me, but then I looked through some of the images I'd collected of trigger wheels and found they were all carrying part # 10475417, while mine is inscribed with # 3001277. So I suppose one explanation is that I have a substandard aftermarket trigger wheel - the previous owner told me the distributor was purchased on <big auction site> for next to nothing, so the "cheap chinese crap" explanation fits.

    This sort of muddies the idea of a cylinder balance test built-in to the controller, because 4 degrees variance between cylinders is enough to skew results.

    So, does anyone have a 10475417 opti trigger wheel they would be willing to sell?

  3. #303
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    214
    Hi
    Just some feedback..

    I guess the figures were consistantly out?
    Could the sensors have been affected by ambient light in any way as it can affect them.
    The opti is usually run in the dark!


    Thanks
    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  4. #304
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    Absolutely consistent. I spun the thing over at least 25 times looking for something that was changing. #6 always came on at 0 and #8 at 4 and there were always 45 high res pulses between low res. The only explanation I can think of for this is that the center hole is cut off center in the trigger wheel, or the material wasn't perfectly flat when the laser cut it.

    Barring any miracles I guess I'm going to go looking for another aftermarket / remanned opti and see what I can find.

    I know no-one wants to yank their water pump to dismantle their opti, but I'd be interested to see what part #s the trigger wheels have on them if anyone has spares / cores lying around.

    Edit1: Looking at the trigger wheel more closely this morning I'm noticing some warpage where the indexing pin / fingers are. I'm going to pull the distributor body and see if I can straighten this out and re-test.

    Edit2: Getting the wheel to relax completely made no difference. Additionally I noticed a small amount of slop in the bearing so I'm going to order a remanned body that from the photo looks to have the # 10475417 trigger wheel.

  5. #305
    Fuel Injected! vilefly's Avatar
    Join Date
    Sep 2017
    Age
    48
    Posts
    116
    I might have an opportunity to find a part number. We have a customer coming into the shop who will be replacing the timing cover to distributor seal in order to fix an oil leak on their 1996 buick roadmaster. We'll see if I can find a part number. I just wonder if the distributor is OEM or not.

  6. #306
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    I've googled both #s on the wheels and come up with nothing. I believe the one I have is an aftermarket maker - these distributors can be had complete on parts sites for < $100 and they're described as "completely new". But the remanned delco remys are $165 for just the base (no cap or rotor) with a core, and nearly $300 for a semi-complete one (also with a core).

    What I'd really like to know is what MSD is putting in their super pricey unit.

    I knew something was wrong when I noticed some inconsistency in when the high res signal would turn off in relation to the low res coming on.

    I suppose I'll keep the old unit to use for testing the controller on a bench. I'll be happy to have the engine back in without finding any more skeletons. I also discovered today that my flywheel + clutch is toast.

  7. #307
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    432
    There is no need to rotate the wheel inside the opti. You can set base timing point here "12044 Spark Reference Angle".
    You can measure the wheel with a protractor. If the low res lots are 90* apart it is good. I can`t see a problem with the wheel except the possibility of unequally spaced high resolution slots, but even in that case you can`t have more than 360 degrees in a circle. So if you sum all the deviations it should equal that.
    if one cylinder is advanced one of the next cylinders should be retarded.

    Mechanical play can explain some of the advance. Uneven stretched chain and uneven worn cam/crank sprockets tooths too. So you need to investigate further for some other issues before dumping the opti.
    The one you have looks like crap but as long it is working it is good. The one I had apart has opti wheel spot welded and p/n was starting with 10. I forgot to take some internal pictures.

  8. #308
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    I asked about Spark Reference Angle early in 2017 when I was generating a base tune for first fire. What do I put here, -3.5? Nobody seemed to know and Steveo told me I should just skew my coolant temp adder table.

    The timing set is a cloyes heavy duty roller with less than 5500 miles on it, so I highly doubt the problem is slop in the timing set. If it were that I would expect to see fluctuation in the TDC signal, especially when I turn the engine backwards. The only reasonable explanation is that the trigger wheel was poorly cut.

  9. #309
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    432
    Quote Originally Posted by spfautsch View Post
    I asked about Spark Reference Angle early in 2017 when I was generating a base tune for first fire. What do I put here, -3.5? Nobody seemed to know and Steveo told me I should just skew my coolant temp adder table.

    The timing set is a cloyes heavy duty roller with less than 5500 miles on it, so I highly doubt the problem is slop in the timing set. If it were that I would expect to see fluctuation in the TDC signal, especially when I turn the engine backwards. The only reasonable explanation is that the trigger wheel was poorly cut.
    You need to set it at 3.5 degrees but it needs a whole number so you choose between 3 or 4 degrees. This scalar is substracted from total advance the PCM calculates. So if the PCM commands 30 degrees and the cam is advanced 3.5 degrees you will get 33.5 total minus the scalar 3 degrees. You get 30.5 at the end.

    The fluctuation you get might be normal play. The PCM also have built in error margin. It is +-2 degrees from mid point for high resolutions counter. I`ve monitor the counter it is called CYLID in the stream. The midpoints are 46,56,66,76 and 86 for different cylinders. i checked some logs and compare result. On steady throtle till 3-4000 rpm you get most of the time *6s, At higher rpm and rapid accelerations you go at *5s and very rare 4*. I checked your last log and there is excessive *5 at low rpm. So there is definitely something wrong. Opti wheel or excessive slope at hardware components. I will dig some old tunerpro logs with heavily stretch chain and worn crank sprocket to compare results.

    So upto 1.5 degrees deviation might be normal. As you might have noticed half the cylinder got good signal 3,6,5,7 and the other half got high error number. That is one full crank revolution for 3,6,5,7 and one full crank revolution for 2,1,8,4. Maybe half of the opti wheel is bad or it is half of the cam sprocket or cam related. Does the results are similar with the opti wheel at stock position?

  10. #310
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    I should have a remanned distributor base sometime next week. Hopefully it will have the 10475417 trigger wheel. I'll report back when it arrives.

    Thanks for the explanation on the 12044 constant. The description in the xdfs I have aren't very specific as to what it does, and since there's no external markings I would have had no way to confirm whether it was removing or adding timing.

    I didn't test thoroughly with the wheel in the original location, but I did move it twice after I removed the distributor the other day and observed 4 degrees of skew between cyl 1 and cyl 8 each time. The fit between the center hole in the trigger wheel and the centering hub of the distributor isn't extremely tight, but I can't see it causing a consistent 4 degrees of skew.

  11. #311
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    Quote Originally Posted by kur4o View Post
    The fluctuation you get might be normal play. The PCM also have built in error margin. It is +-2 degrees from mid point for high resolutions counter. I`ve monitor the counter it is called CYLID in the stream. The midpoints are 46,56,66,76 and 86 for different cylinders.
    I wanted to reply to this the other day but was busy getting my hands dirty. The numbers your'e seeing there directly correlate to this function in the sequence detection.

    Code:
    int8_t detectSequence(uint8_t seqDegrees) {
    
      // note: returns the index of sequencer array, not cylNo
      if ((seqDegrees > 82) && (seqDegrees < 90)) {
    
        return -1;
        
      } else {
                           // 90 - 14 = 76 #4
        if ((seqDegrees > 72) && (seqDegrees < 80)) {
    
          // next cyl #4
          return 2;
                          //  90 - 24 = 66 #6
        } else if ((seqDegrees > 62) && (seqDegrees < 70)) {
    
          // next cyl #6
          return 4;
                          // 90 - 34 = 56 #7
        } else if ((seqDegrees > 52) && (seqDegrees < 60)) {
    
          // next cyl #7
          return 6;
                          // 90 - 44 = 46 #1
        } else if ((seqDegrees > 42) && (seqDegrees < 50)) {
    
          // next cyl #1
          return 0;
         
        }
      
      }
      return 0;
      
    }
    Where 86 are the four non-indexed low-res slots, four degrees wide (2, 3, 5 & 8).

    Quote Originally Posted by kur4o View Post
    i checked some logs and compare result. On steady throtle till 3-4000 rpm you get most of the time *6s, At higher rpm and rapid accelerations you go at *5s and very rare 4*. I checked your last log and there is excessive *5 at low rpm.
    Can you give me timestamps of this? The number here directly correlates to the error statistic "E" that the controller is streaming. Essentially $EE is giving the degree count when the low res slot ends (falling edge) as "CYLID". Mine is giving the remainder of 90 minus however many high res degrees were counted since the last low res rising edge (TDC). If it isn't counting 90 between each TDC signal then an interrupt was missed or there was some oscillation of the cam or distributor shaft that caused the phototransistor to be switced on and off twice on one trigger edge. It's been a week or better since I looked over these logs, but I don't recall seeing consistent error counts at low RPMs in the plaintext logs. This makes me think the PCM might be missing interrupts more than the controller is. It's also possible on vented optis that a few thousands of clearance between the cam dowel pin and the index slot in the opti drive could be to blame.

    Whatever the case, I wanted to thank you for describing how the PCM keeps time on the low res pulses for RPM. It got me thinking in the right context to optimize the RPM tracking. I was hung up on needing absolute / literal time intervals (i.e. microseconds) to work with, but I was able to find a timer prescaler that let me have 16us resolution (very adequate) while keeping the low res timer value / RPM lookup in a 16 bit space as well as eliminating a bunch of uneccessary code. I was also able to change the lookup table so it uses these same time intervals, which eliminated the need to perform any math beyond comparisons for RPM tracking. Ultimately I'll have the uart logging spit out this raw number as well, and then will use a script or something on the computer that's doing the logging to convert it to human readable RPMs.

    The next thing I'd like to tackle is doing something similar with voltage detection. The way it currently works the controller is taking the raw ADC values and converting that to millivolts, then translating that to an index to the voltage table (1v / row). The millivolt conversion and subsequent dissection into human readable voltage is highly intensive floating point math. If I can figure out how to handle the table creation using the precompiler I hope to be able to do the same with voltage detection so it uses the raw ADC values for table lookups. This will speed things up immensely.

    Edit: after dropping 8 bennys on a new clutch and flywheel yesterday I needed to do something a little lighter and less depressing, so I installed my freshly painted coil brackets. Notice, no wood grain!

    Pic1
    Pic2
    Pic3

  12. #312
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    432
    The numbers I saw in your last log testing the arduino controller. The first part when you are idling is rich on *5s. I dig an old log I made with stretched chain and heavily worn crank sprocket and found that at idle it is full with *7s which is very interesting. I suspect very small deviations at the opti will lead to 1-2 degree error. The opti I have is the old design so it might not be directly comparable with the dowel pin design.

    My last logs with new chain and almost new crank sprocket with the same opti bring very consistent *6s at idle with coolant temperatures ranging from freezing cold to really hot.Only a moderate drop to *5s is seen at heavy acceleration above 3000 rpm and single *4s at 6000 rpm.

    So in comparison a stretched chain will increment the second digit by one in most cases.

    Glad I helped to optimize the code. The voltage aquisition at the PCM is really simple. You got ADC channel hex value of 00-ff where 1 corresponds to 0.1 volts. So you got 255 steps or 0-25.5 volts resolution.
    I don`t know how arduino converts the ADC channel in hex, so I suggest, to log some raw data in hex from the ADC channel and see how voltage changes with 1 increment in hex. Than you can figure some easy conversion.

  13. #313
    Fuel Injected! vilefly's Avatar
    Join Date
    Sep 2017
    Age
    48
    Posts
    116
    The 96 roadmaster optispark that came in earlier this week looked original. Mitsubitsi pickup and all. The optical wheel had 10475417 on it.

  14. #314
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Posts
    251
    Quote Originally Posted by kur4o View Post
    The first part when you are idling is rich on *5s.
    It sure is - I keep forgetting about the "hacker" view settings. I'll have to add a user setting to eehack so that's the default view.

    Strangely, I see very few count errors in the microcontroller's log data. Nothing remotely close to the number of 5s I'm seeing just skimming through the .eedata log.

    Quote Originally Posted by kur4o View Post
    My last logs with new chain and almost new crank sprocket with the same opti bring very consistent *6s at idle with coolant temperatures ranging from freezing cold to really hot.Only a moderate drop to *5s is seen at heavy acceleration above 3000 rpm and single *4s at 6000 rpm.
    Is this with stock valvetrain or do you have mods? I don't know if my roller rockers could be contributing any, but I have ~170lbs seat pressure and ~380lbs open springs.

    Quote Originally Posted by kur4o View Post
    I don`t know how arduino converts the ADC channel in hex, so I suggest, to log some raw data in hex from the ADC channel and see how voltage changes with 1 increment in hex. Than you can figure some easy conversion.
    I already have the conversions worked out - the only difficulty I will have is calculating the dwell skew for different voltage ranges. I'm going to try to work that out now. The ADC in the mcu returns 0-1023 (0x0-0x3ff), which is far more resolution than required. I'm also using a voltage divider network to keep the ADC input within a range of 0-5v.

    Quote Originally Posted by vilefly View Post
    The 96 roadmaster optispark that came in earlier this week looked original. Mitsubitsi pickup and all. The optical wheel had 10475417 on it.
    Thanks - I'm relatively sure that's the Delco Remy part. Curious, is that a low mileage roadmaster? Ironically I saw a beige wagon with the wood "inlay" this morning on my way to work. My wife would shoot me, but I'd just love to have a b-body wagon.

  15. #315
    Fuel Injected! vilefly's Avatar
    Join Date
    Sep 2017
    Age
    48
    Posts
    116
    I think the roadmaster has about 140K miles on it. Supposedly, the distributor was replaced by firestone, but it looks OEM-new to me. It came to me when it still had a misfire with new wires on it......burnt wires. This roadmaster has a pretty rough interior. Panels missing, and such. I found mine in perfect shape in a small town in nebraska. I find it best to shop in small towns instead of big cities with boombox-obsessed punks.

Similar Threads

  1. Which TBI system is better?
    By KeyAir in forum GM EFI Systems
    Replies: 39
    Last Post: 01-13-2016, 12:18 PM
  2. Hard start 93 LT1 with LTCC Ignition Mod
    By beestoys in forum GM EFI Systems
    Replies: 0
    Last Post: 05-17-2015, 10:58 PM
  3. ABS system?
    By K1500ss4x4 in forum Gear Heads
    Replies: 3
    Last Post: 02-05-2014, 08:21 PM
  4. Vortec EGR System?
    By EagleMark in forum OBDII Tuning
    Replies: 40
    Last Post: 06-02-2013, 12:07 PM
  5. Quicker way to do Spark Hook test on the street for LT1s and others?
    By sherlock9c1 in forum Fuel Injection Writeups Articles and How to New and Old
    Replies: 15
    Last Post: 03-02-2013, 03:52 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •