Announcement

Collapse
No announcement yet.

Reading live data with Arduino?

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

    Reading live data with Arduino?

    Hello,

    I have an idea of making a little display to show various live-data from the engine.
    My car is a 1988 318i (With the euro M40 Engine).
    Im thinking of using the ECU to read data from it - just like a diagnostics tool would do. There are appropriate pins in the diagnostics plug - Pin 15 (RX) and Pin 20 (TX) and i thinking i should use them.
    Did anyone do anything like this? Does anyone have any good info on that?
    Would be really grateful.

    Thank you,

    Max.
    5-lug Kit | E36 & E46 Hub & Brake Adaptor for E30!
    Leave feedback about my transactions!
    sigpic

    #2
    The real trick is understanding and decoding the communication protocol. I don't know of any resources regarding that, but maybe someone on here does. I am also unsure of which real-time parameters you get from that. A little bit of data logging info I have seen seems to indicate that the update interval is 1Hz (1 sample per second) which is painfully slow and not of much use beyond troubleshooting issues. You definitely cannot tune that way.

    Transaction Feedback: LINK

    Comment


      #3
      Been trying to find any today, but had absolutely no luck.. But i gues i could use the C3 connector on the cluster to show some data. It is the same plug OBC uses. Data like fuel, speed can be received from there..
      5-lug Kit | E36 & E46 Hub & Brake Adaptor for E30!
      Leave feedback about my transactions!
      sigpic

      Comment


        #4
        As far as I have been able to tell by messing with the OBC's electronics, there is no digital data going into it. It takes various analog inputs and uses the coding plug in the back to determine stuff like MPG, range, speed, etc. It figures fuel consumption by measuring the number of injector pulses and their duration, and then using some flow parameters in the coding plug to compute the flow rate. Speed is determined directly from the speed sender signal as far as I can tell. I have come up with plans to make an E30 data logger using a dsPIC controller in the past, but I never really finished those since it looks like going with a Stand-Alone ECU is probably a better overall solution anyway. I did make some 4 channel 1kHz loggers from regular PIC controllers in like 2007 (to read air flow sensor, intake air temp, throttle position and WBO2 contocontroller output) and that of course required all sorts of work to determine the AFM & its thermistor's transfer functions.

        Transaction Feedback: LINK

        Comment


          #5
          I have an Arduino and have wondered to same thing but I agree with the above. Getting it to communicate directly with each other will be a challenge. However, you can monitor the sensors directly through the analog inputs on the arduino. You will also need to build a connector to connect the arduino in parallel with the ecu input pins.

          I also have a raspberry pi and you might have better luck finding monitoring/tuning software that is Linux based and flashing it to an SD card. You could still use the arduino as an interface to transfer data. I think it has more analog inputs that can be used to connect to all the sensors.



          Take a look at the interfaces required to work with their software. If you can turn the arduino into a EEPROM reader/burner you might be on to something.

          Just some ideas for you, good luck!

          Sent from my SGH-T769
          Last edited by djmossm42; 05-04-2014, 07:39 AM.
          Wheelwell

          Shadowline Motorsport: LED & 3D Printed Accessories - 10% off for new customers!
          LED Bulb Thread
          R6 LED Review

          Comment


            #6
            yeah, on these engines - no. the DMEs are so slow, and there's really nothing of interest on the OBD port anyway, that whatever you're thinking isn't going to work like you hope.

            if it were an OBDII car, sure.

            as far as parallel sensors, you can do that sometimes but you have to be careful. you can't just tap into the crank sensor for example. coolant sensors have a bias resistor so you'd have to take that into account.
            Build thread

            Bimmerlabs

            Comment


              #7
              The DME used on E30's can't report live data. Only later BMW's have DME's that can do that.
              The car makes it possible, but the driver makes it happen.
              Jim Levie, Huntsville, AL

              Comment


                #8
                Live data is not that needed, sensor data would be good enough, without tapping into anything.
                5-lug Kit | E36 & E46 Hub & Brake Adaptor for E30!
                Leave feedback about my transactions!
                sigpic

                Comment


                  #9
                  Originally posted by bmwman91 View Post
                  I have come up with plans to make an E30 data logger using a dsPIC controller in the past, but I never really finished those since it looks like going with a Stand-Alone ECU is probably a better overall solution anyway.
                  This is the direction you are headed, if you have the time, resources, and support to create and develop your own standalone management system, more power to you. If those things are limited, consider that the hard work has been done for you and there are a few options available.

                  Whatever you decide, it may be a good idea to have a back up chip at minimum.

                  Sent from my SGH-T769
                  Wheelwell

                  Shadowline Motorsport: LED & 3D Printed Accessories - 10% off for new customers!
                  LED Bulb Thread
                  R6 LED Review

                  Comment


                    #10
                    Originally posted by Max399 View Post
                    Live data is not that needed, sensor data would be good enough, without tapping into anything.
                    there's nothing to report - sensor data at 1hz is going to be useless. it has a narrowband O2 sensor so that won't do you any good either.

                    as far as standalones, you don't have to create it from scratch.. there's tons of good options out there that do live datalogging. MS3 will do high resolution logging directly to an SD card at a rate significantly faster than an OBD2 port can.
                    Build thread

                    Bimmerlabs

                    Comment


                      #11
                      Originally posted by djmossm42 View Post
                      This is the direction you are headed, if you have the time, resources, and support to create and develop your own standalone management system, more power to you. If those things are limited, consider that the hard work has been done for you and there are a few options available.

                      Whatever you decide, it may be a good idea to have a back up chip at minimum.

                      Sent from my SGH-T769
                      By stand-alone, I meant installing an already-developed one. I wish I had the time and energy to do one myself, but it would be reinventing the wheel since VEMS and MSIII are already damn fine solutions for less than what it would cost me to develop my own.

                      Transaction Feedback: LINK

                      Comment


                        #12
                        Originally posted by nando View Post
                        as far as parallel sensors, you can do that sometimes but you have to be careful. you can't just tap into the crank sensor for example. coolant sensors have a bias resistor so you'd have to take that into account.
                        Yup. Many of the sensors are resistive and have bias resistors that allow the sensors to work as voltage dividers so that the ECU gets a variable voltage signal as the sensor's resistance changes. If you are going to tap into ANY of the analog signals, you need to have a high impedance buffer circuit connected to the signal so that it doesn't mess up the signal for the ECU. Basically, you will need to take the analog line and run it to a unity gain opamp buffer, and then on the output of that you can do whatever you want.

                        The crank and cam position signals are a somewhat different matter. You want both high impedance input, and the input stage needs to be able to handle up to 100V peak voltages. Variable reluctance sensors have sinusoidal output voltages that are proportional to the speed of the sensing wheel. MSII and before used an LM1815 for this signal, which is a chip specifically designed for use with VR sensors. The input impedance of the typical LM1815 application circuit should be high enough to not mess things up for the ECU.

                        Transaction Feedback: LINK

                        Comment


                          #13
                          I know this is old, but any updates?

                          I was thinking about buying an arduino and building a signal transmogrifier to adapt E30 signals to this 05 Matrix dash I have lying around. It's just an excuse to learn arduino, but I think it could look pretty good in an e30. I would make a new bezel for it, not the round tubes it has in the matrix.



                          I'm not sure yet if I want to convert the signals to ones that this cluster can read or just control the stepper motors directly. I could probably convert them all with an arduino uno, but the stepper motor control would need to be a mega or due because it needs more pinouts. If I just convert the signals then the ODO will still work.

                          From my research, there are a few different types of signals to deal with. I have an 85 318i with the M10 so your car may and or may not have different readings. This is just what I found searching the internet a little so not sure how correct it is.

                          Speed is 9 pulses per axle rotation from a hall sensor in the diff.
                          RPM I -think- is a variable frequency sine wave coming off the coil in the distributor, but haven't researched it fully. It might just be a pulse or a dirty square wave.
                          Fuel level is 0 ohms full and 60 ohms empty.
                          Temp sensor is 60 ohms hot and 400ohms cold.
                          Oil pressure is a simple on/off.
                          Parking brake is a simple on/off.
                          Brake lining is a simple on/off.
                          Brake fluid is a simple on/off.
                          CEL is a simple on/off.
                          Other stuff light headlights and turn signals are probably just on/off but some are tied together for high beams/hazards etc.

                          Comment


                            #14
                            Toyota? ugh. looks like it's missing the PRND indicator. :p

                            anyway, that thing probably runs on some form of CAN.

                            fuel level is a lot more complicated than that.. it's a voltage, not a resistance BTW, and the gage itself acts as a bias resistor.
                            Build thread

                            Bimmerlabs

                            Comment


                              #15
                              Reading live data with Arduino?

                              Haha don't prnd when I row my own. I used to own a matrix and bought this to swap my 03 dash which was all red. Sadly in 05 they changed the pin outs so it didn't work. Car is gone and this has been sitting in my closet forever.

                              I looked it up, it doesn't run on can. The schematic is kinda blurry, but all the sensor inputs are separate. Gotta find a better schematic.

                              Arduino can supply 3.3-12v and read analog inputs. The gas gauge should be a cake walk. What I did read somewhere was some E30 have two gas senders or something, maybe a normal and reserve? I'll just meter it out.
                              Last edited by Navarone; 02-21-2015, 02:02 PM.

                              Comment

                              Working...
                              X