Since '02 xBhp is different things to different people. From a close knit national community of bikers to India's only motorcycling lifestyle magazine and a place to make like-minded biker friends. Join us

Castrol Power 1

Regularly check tyre pressures.

Our Partner

Announcement

Collapse
No announcement yet.

Custom Fuel Injection

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by Andante View Post
    Lets throw this discussion in a different direction? Who has any idea what is needed to run a CDI? I'm not asking you to post schematics. Which bits of information would be required to determine ignition timing?

    I expect something like:
    1) RPM
    2) Throttle position
    3) Temperature?
    4) Crank angle (TDC signal?)
    In the Basic CDI system you don't change anything. The original Advance/ Retard unit (if any ) is retained. The CDI unit sits between the coil and the points and takes the load off the points and gives a fat and consistant ( multiple) spark.

    But when using a microprocessor based system, The mechanical Advance/Retard unit is done away and the complete Advance and Retard curves are programmed in to the micoprocessor. Normally the Unit is setup for Advance at the Optimum RPM and during slow speeds the firing timing is retarded electronically.

    But when the Microprocessor based system is used system is used with Fuel Injection, then the Air Temperature, Manifold pressure, RPM, Crank Angle, Throttle position, Lambda value ( Oxygen content ) in the exhaust etc are all fed into the Micro to control the fuel air ratio to get the optimum fuel efficiency by controlling the Fuel injection Solenoids.
    Last edited by sudharma; 09-13-2009, 11:56 AM. Reason: Additional Info.
    sigpic

    Comment


    • #32
      Originally posted by sudharma View Post
      But when using a microprocessor based system, The mechanical Advance/Retard unit is done away and the complete Advance and Retard curves are programmed in to the micoprocessor. Normally the Unit is setup for Advance at the Optimum RPM and during slow speeds the firing timing is retarded electronically.

      But when the Microprocessor based system is used system is used with Fuel Injection, then the Air Temperature, Manifold pressure, RPM, Crank Angle, Throttle position, Lambda value ( Oxygen content ) in the exhaust etc are all fed into the Micro to control the fuel air ratio to get the optimum fuel efficiency by controlling the Fuel injection Solenoids.
      The timing is advanced at lower RPMs, not retarded. It is retarded as RPMs increase as time available for the ignition tends to decrease.

      As as to the second para, all these bells and whistles are needed for an ECU. A basic CDI needs a crank position sensor only. Maybe a temperature sensor, a TPS or a manifold pressure sensor can be added too. That is about it.

      No offense meant!
      Your biking tells a lot about the person you are!

      Comment


      • #33
        Originally posted by abhijeet080808 View Post
        The timing is advanced at lower RPMs, not retarded. It is retarded as RPMs increase as time available for the ignition tends to decrease.

        As as to the second para, all these bells and whistles are needed for an ECU. A basic CDI needs a crank position sensor only. Maybe a temperature sensor, a TPS or a manifold pressure sensor can be added too. That is about it.

        No offense meant!
        Actually he's right, timing gets advanced at higher RPM. This is because there's less time for the fuel to burn. On top of that it could be that the definition of timing advance could be unclear. Generally, timing advance is measured in degrees before TDC. So retarding the timing is an expression for firing the spark later than would be optimal. (Too much timing advance can/will cause knocking.)

        As for the bells and whistles. Yes, crank angle is probably the most important one. I would expect a TPS to be a good second. Any thing in addition to that is most likely overkill. (However a temperature sensor could be useful in cases where an engine get too hot, as it would need less aggressive timings.)

        Also for system that does not waste a spark you'll need to either measure the voltage across the sparkgap, or have a camshaft position sensor.

        As far as I know most microcontroller based implementations calculate RPM from the crank sensor. Together with the other inputs they then look up the required advance. The only thing I wonder is how do they achieve correct timings, since it would seem the calculation is always one revolution behind. (Unless, the crank angle is measured at BDC, in that case you could specify the timing as degrees after BDC.)
        Last edited by Andante; 09-14-2009, 04:43 PM. Reason: Some corrections

        Comment


        • #34
          Originally posted by Andante View Post
          Actually he's right, timing gets advanced at higher RPM. This is because there's less time for the fuel to burn. On top of that it could be that the definition of timing advance could be unclear. Generally, timing advance is measured in degrees before TDC. So retarding the timing is an expression for firing the spark later than would be optimal. (Too much timing advance can/will cause knocking.)

          Yeah, according to wiki, it is advanced at higher rpms. Damn confusing terminologies!!! Sorry about that!

          As for the bells and whistles. Yes, crank angle is probably the most important one. I would expect a TPS to be a good second. Any thing in addition to that is most likely overkill. (However a temperature sensor could be useful in cases where an engine get too hot, as it would need less aggressive timings.)

          Also for system that does not waste a spark you'll need to either measure the voltage across the sparkgap, or have a camshaft position sensor.

          As far as I know most microcontroller based implementations calculate RPM from the crank sensor. Together with the other inputs they then look up the required advance. The only thing I wonder is how do they achieve correct timings, since it would seem the calculation is always one revolution behind. (Unless, the crank angle is measured at BDC, in that case you could specify the timing as degrees after BDC.)

          The crank position is measured at say 30 degree before TDC. Then, the microcontroller determines the correct timing, say 10 BTDC. It waits till the crank reaches 10 degree BTDC and fires. The time it waits is derived from the current crank speed. (rpm)
          Yeah, it can be said it is actually always a step behind. But our engines do not vary that much per revolution I guess.
          Your biking tells a lot about the person you are!

          Comment


          • #35
            Originally posted by abhijeet080808 View Post
            Yeah, it can be said it is actually always a step behind. But our engines do not vary that much per revolution I guess.
            I suppose the actual difference in RPM is not going to be big enough to account for the difference. More over if the RPM does rise too fast, it would simply result in retarded timing. Which is probably not going to be too bad.
            Also, the timing on the work stroke is going to be determined during the intake/compression (that is non-work) strokes, which means at that point the engine is running completely on the inertia of the flywheel, and thus the timing for that particular revolution cannot change much. Actually it can only slow down. (Looking at the torque curves from a single cylinder engine, you only see positive torque during the work stroke.)

            Anyway, i think should be quite possible to come up with an implementation on a microcontroller that determines the current speed of the engine and does a look up based on that. It would even be possible to factor in something like a TPS. I wish I had the time and materials to try something like this, since it seems quite doable. I've been working with AVR controllers, and it seems they should be fast enough to do the trick. (Even with the engine running at 10krpm and the controller running at 8MHz, it has enough time to execute 48000 instructions, which is plenty. Measuring RPM also not too hard at such speeds.)

            Comment


            • #36
              Originally posted by abhijeet080808 View Post
              The timing is advanced at lower RPMs, not retarded. It is retarded as RPMs increase as time available for the ignition tends to decrease.

              As as to the second para, all these bells and whistles are needed for an ECU. A basic CDI needs a crank position sensor only. Maybe a temperature sensor, a TPS or a manifold pressure sensor can be added too. That is about it.

              No offense meant!
              You are absouletly right. The advance retard should be the other way round. Mistake while typing. I stand corrected. Thanks for pointing out the mistake.
              sigpic

              Comment


              • #37
                Originally posted by sudharma View Post
                You are absouletly right. The advance retard should be the other way round. Mistake while typing. I stand corrected. Thanks for pointing out the mistake.
                Actually, you were right the first time round, see the other discussion that happened after his comment.

                Comment


                • #38
                  Originally posted by Andante View Post
                  I suppose the actual difference in RPM is not going to be big enough to account for the difference. More over if the RPM does rise too fast, it would simply result in retarded timing. Which is probably not going to be too bad.
                  Also, the timing on the work stroke is going to be determined during the intake/compression (that is non-work) strokes, which means at that point the engine is running completely on the inertia of the flywheel, and thus the timing for that particular revolution cannot change much. Actually it can only slow down. (Looking at the torque curves from a single cylinder engine, you only see positive torque during the work stroke.)

                  Anyway, i think should be quite possible to come up with an implementation on a microcontroller that determines the current speed of the engine and does a look up based on that. It would even be possible to factor in something like a TPS. I wish I had the time and materials to try something like this, since it seems quite doable. I've been working with AVR controllers, and it seems they should be fast enough to do the trick. (Even with the engine running at 10krpm and the controller running at 8MHz, it has enough time to execute 48000 instructions, which is plenty. Measuring RPM also not too hard at such speeds.)
                  Yes, I guess it would have mattered in case of 2 stokes.

                  Of course it is all based on a look up table. But the thing is to find the correct values and that requires a lot of testing under various loads.

                  Even I need some free time! I have the hardware circuit made, now only if I can get some time to write down the codes and find optimal timings. I am using an ATmega32 MCU. I guess I can count on you for help! And a TPS would be nothing more than a potentiometer (like in a volume control knob).

                  BTW, what do you do? Just curious!
                  Your biking tells a lot about the person you are!

                  Comment


                  • #39
                    Originally posted by Andante View Post
                    Actually, you were right the first time round, see the other discussion that happened after his comment.
                    Me old man. Getting confused now. What I understood was that "Advance" means advancing the firing earlier and "Retard" means delaying the firing. So I was right the first time ? Thanks to all.
                    sigpic

                    Comment


                    • #40
                      Originally posted by sudharma View Post
                      Me old man. Getting confused now. What I understood was that "Advance" means advancing the firing earlier and "Retard" means delaying the firing. So I was right the first time ? Thanks to all.
                      Sorry for creating the confusion! At higher rpms timing is indeed advanced!
                      Your biking tells a lot about the person you are!

                      Comment


                      • #41
                        Originally posted by abhijeet080808 View Post
                        Yes, I guess it would have mattered in case of 2 stokes.

                        Of course it is all based on a look up table. But the thing is to find the correct values and that requires a lot of testing under various loads.

                        Even I need some free time! I have the hardware circuit made, now only if I can get some time to write down the codes and find optimal timings. I am using an ATmega32 MCU. I guess I can count on you for help! And a TPS would be nothing more than a potentiometer (like in a volume control knob).

                        BTW, what do you do? Just curious!
                        I'm just a crazy tech head.

                        But seriously, I am a software engineer. For my day job I work for a company that builds web based applications for foreign clients. My position is requires me to take care of management, architecture and also coding. (I know it's very different from electronics and all.)

                        In the little bits of spare time and for some of the company R&D, I tinker with electronics, micro controllers and stuff like that. I have some hands on experience with the ATmega16, which is nearly the same as the 32. I generally find dealing with micro controllers to be easier than dealing with the hundreds of thousands of lines of code we maintain for our projects.

                        Stuff like this (riding, bikes, bike tech) is a diversion for me to keep things interesting.

                        So yea, I can definitely try and help out with your algorithms and use of the hardware bits, like counters and timers. It's a personal interest of mine. As for the actual timings to use, that's something that can only be gotten by experimenting. Also what kind of influence a TPS should have on the timings isn't entirely clear to me, probably it should used as a modifier. Like when at WOT you would run with more advance than while at part throttle. (Maybe guys like Joel would be kind enough to drop some hints on that?)
                        Last edited by Andante; 09-16-2009, 12:46 PM.

                        Comment


                        • #42
                          Originally posted by Andante View Post
                          I'm just a crazy tech head.

                          But seriously, I am a software engineer. For my day job I work for a company that builds web based applications for foreign clients. My position is requires me to take care of management, architecture and also coding. (I know it's very different from electronics and all.)

                          In the little bits of spare time and for some of the company R&D, I tinker with electronics, micro controllers and stuff like that. I have some hands on experience with the ATmega16, which is nearly the same as the 32. I generally find dealing with micro controllers to be easier than dealing with the hundreds of thousands of lines of code we maintain for our projects.

                          Stuff like this (riding, bikes, bike tech) is a diversion for me to keep things interesting.

                          So yea, I can definitely try and help out with your algorithms and use of the hardware bits, like counters and timers. It's a personal interest of mine. As for the actual timings to use, that's something that can only be gotten by experimenting. Also what kind of influence a TPS should have on the timings isn't entirely clear to me, probably it should used as a modifier. Like when at WOT you would run with more advance than while at part throttle. (Maybe guys like Joel would be kind enough to drop some hints on that?)
                          Good knowing about you!

                          Some hints on sample timings for P150 would be nice!

                          When the TPS senses a higher amount of throttle at a given rpm, it means the engine is under greater load. In such cases, the timing needs to be retarded or else the engine will ping under load.

                          Ok, and funny as it may sound, how exactly does a engine sound under deto? Mine never detonates I guess. A sound clip would be appreciated!
                          Your biking tells a lot about the person you are!

                          Comment


                          • #43
                            Originally posted by abhijeet080808 View Post
                            Some hints on sample timings for P150 would be nice!

                            When the TPS senses a higher amount of throttle at a given rpm, it means the engine is under greater load. In such cases, the timing needs to be retarded or else the engine will ping under load.

                            Ok, and funny as it may sound, how exactly does a engine sound under deto? Mine never detonates I guess. A sound clip would be appreciated!
                            Actually, I wasn't asking Joel for sample timings. Simply for how to treat the info from the TPS, like advance or retard the timing compared to baseline. But if he's willing to drop some info on it, I do hope he does.

                            And likely you're right, about having to retard the timing at WOT, stands to reason.

                            As for the sound, I'm pretty sure you would know it when you hear it. I've read it being described as dropping coins in a bottle. And heavy knock sounds exactly like that, like a hammer hitting your engine. The bad part is that it's not easy to make out light engine knock. So the problem is getting it to run without any amount of knock, because even light knock will destroy an engine. The thing a lot of these guys seem to use is a special amplifier/mic, which is held against the engine and filters out all the low frequency sound.
                            Last edited by Andante; 09-16-2009, 01:26 PM.

                            Comment


                            • #44
                              Originally posted by Andante View Post
                              Actually, I wasn't asking Joel for sample timings. Simply for how to treat the info from the TPS, like advance or retard the timing compared to baseline. But if he's willing to drop some info on it, I do hope he does.

                              And likely you're right, about having to retard the timing at WOT, stands to reason.

                              As for the sound, I'm pretty sure you would know it when you hear it. I've read it being described as dropping coins in a bottle. And heavy knock sounds exactly like that, like a hammer hitting your engine. The bad part is that it's not easy to make out light engine knock. So the problem is getting it to run without any amount of knock, because even light knock will destroy an engine. The thing a lot of these guys seem to use is a special amplifier/mic, which is held against the engine and filters out all the low frequency sound.
                              That is what I fear. If I go about experimenting with different timings, I hope I won't detonate my engine to death!

                              And we only retard the timing at WOT under load, say WOT at 3k rpm in a higher gear. Else if it is WOT at say 7k rpm, the timing is not retarded as such.
                              Your biking tells a lot about the person you are!

                              Comment


                              • #45
                                Originally posted by abhijeet080808 View Post
                                That is what I fear. If I go about experimenting with different timings, I hope I won't detonate my engine to death!

                                And we only retard the timing at WOT under load, say WOT at 3k rpm in a higher gear. Else if it is WOT at say 7k rpm, the timing is not retarded as such.
                                Ah, I get it now. Even though I didn't mean only at WOT. So it's a timing retard for specific RPM regions. Where as for higher RPM, you don't need to. Sounds easy enough to implement in software. Just how much retard is needed, is something that is to be figured.

                                Now it's my turn to ask: What is it you do?

                                Comment

                                Working...
                                X