DIY opensource Engine Control Unit: rusEfi

Discussion in 'Automotive Electronics' started by russian, Jul 2, 2015.

  1. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    Two years ago I have started this project and it seems to be gaining some traction now. Since that's a car engine control unit, it's right on the border between electronics, software and automotive - with challenging tasks in all three areas.

    As of today, the electronics and automotive pieces are much better covered than the software piece. I am posting here because I am looking for people who would be interested to contribute to the software side of this - that's your chance to gain some karma in a real-life, real-time fun project.

    Keywords: STM32F4, ChibiOS/RT, KiCad

    Here is an article about the project which gives a fair overview @ http://autoweek.com/article/product...homebuilt-fuel-injection-set-rival-megasquirt

    Our issue tracker is at https://sourceforge.net/p/rusefi/tickets/
    And our website is http://rusefi.com/

    Please do not hesitate :)



    [​IMG]

    [​IMG]
     
  2. Eric Binkerd

    New Member

    Jun 18, 2015
    19
    3
    Wow, this is impressive. Nice work. What makes has this been tested on?

    Edit: Ok, got a chance to read your site info.

    Looks like Mazda and Honda. Mazda uses a ttl cam signal, correct?
     
    Last edited: Jul 6, 2015
  3. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    Yep, most miles on the road would be different Mazdas. My own test mule is a Dodge Neon. The engine with most power would probably be the inline-6 turbo-charged BMW. The highest revs would be a Sachs moped engine :)

    Mazda is TTL, Honda and BMW are VR - this does not matter for us, we use the same MAX9926 chip to handle both. It's an over-kill in case of a Hall-effect sensor.
     
  4. Eric Binkerd

    New Member

    Jun 18, 2015
    19
    3
    That's great! Dual signal as well I assume? And this is sequential ignition and injection?
     
  5. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    MAX9926 has two channels yes, and both are used. Honda OBD-I actually uses three signals, but the 3rd is only to facilitate starting.

    Yep, sequential everything if you have a cam sensor - you can only have sequential with a cam sensor.
     
  6. jrap

    Administrator

    Jun 25, 2006
    961
    200
    A little off-topic, but I'd suggest you move your repository over to Github! Sourceforge has a bad rep nowadays.
     
    Eric Binkerd likes this.
  7. Eric Binkerd

    New Member

    Jun 18, 2015
    19
    3
    Are you using ADC for the analog inputs? What sort of limitations have you ran into with them? Can the inputs be used for triggering or tracing, eg.. temp, WO2...?
    How many configurable outputs does it have?
    Is this compatible with a GM Map sensor?

    Thanks for taking the time to answer all my questions. I think this is awesome, I wasn't into this stuff when MS was in its early stages. But now this is something I can get on board with.
     
  8. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    I am using stm32 build-in ADC. the thing which does not help is the fact that all car signals want to be 5v analog, and stm32 is a 3v chip with a 3v ADC, thus an op-amp, and a divider, thus mild issues with rail-to-rail. This kind of looks resolved with the right op-amp.

    not sure what you mean with tracing. Yes temp/wo2/etc inputs are all going in, all the ones needed. Originally this thing was only compatible with voltage-producing MAPs like GM, recently I've added support for frequency-based MAF from a Ford.

    There is a bunch MAPs we've experienced already but it's all pretty straight-forward if another one needs to be added:

    static FastInterpolation denso183(0, -6.64, 5, 182.78);
    static FastInterpolation honda3bar(0.5, 91.422, 3.0, 0);
    static FastInterpolation subyDenso(0, 0, 5, 200);
    static FastInterpolation gm3bar(0.631, 40, 4.914, 304);
    static FastInterpolation mpx4250(0, 8, 5, 260);
    static FastInterpolation dodgeNeon2003(0.5, 0, 4.5, 100);

    As for how many inputs, technically it's on the picture above :) 12 analog inputs plus 12 low-side ouputs plus a bit of more weaker hi/low side ouputs.
     
  9. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
  10. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    I am now stuck with knock sensor decoding. I have a TPIC8101 interface chip on my board which I communicate with via SPI. I've got everything to work on a bench but not on the actual car :(

    Bench test:


    Me tapping on the knock sensor on the car while the car is not running, this tells me that the sensor is alive:


    that's the sensor output while the car is running:


    and here's the problem: knock interface output is constantly high on the car while it's running. I am expecting to see a drop when I command the chip to start integration but it just stays high for some reason:


     
  11. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    FINALLY I am able to reproduce the issue on a bench. It works if I power the board with 5v (USB) and it does not if I power it with 12v? !@#!@$???

    TPIC does not respond to me if board is powered with 12v, and it does respond if it's powered with 5v. I am a bit lost :(
     
  12. russian

    Thread Starter Member

    Sep 1, 2012
    55
    1
    Well, this was funny. This was about the 5v chip expecting logic level at 70% of VCC, and my 3v MCU failing to deliver in case of 5.00vcc, while it was OK with 4.4vcc coming from USB.

    Now I need to get knock, ideally on a parked car. Any hints anyone?

     
Loading...