STD
EngineSystemsManagement - Printable Version

+- STD (https://www.superturbodiesel.com/std)
+-- Forum: Other (https://www.superturbodiesel.com/std/forumdisplay.php?fid=19)
+--- Forum: Projects (https://www.superturbodiesel.com/std/forumdisplay.php?fid=14)
+--- Thread: EngineSystemsManagement (/showthread.php?tid=2426)

Pages: 1 2


EngineSystemsManagement - winmutt - 03-20-2011

The idea is simple, combine an arduino, a few sensors (boost, altitude, RPM, rack position etc), some bluetooth magic and an Android to create an in car gauge cluster that will eventually control a VGT/VNT turbo.

My first layout:

[Image: attachment.php?aid=4187]


Proof of concept:
http://www.youtube.com/watch?v=BXAOf7vJYEU



RE: EngineSystemsManagement - stan - 03-20-2011

why bluetooth+android instead of running some gauges? or what about giving the setup its own lcd?


RE: EngineSystemsManagement - yankneck696 - 03-20-2011

Just a step away from controlling the electronic IP's, I would say. With that, you would be able to infinitely tune the turbo &IP to work together & get any response you want. Oh, you can't adjust it with the Android, can you? Just monitor the gagues, or can you actually BT a change into the processor? That would be wickednizzacool !!!


RE: EngineSystemsManagement - stan - 03-20-2011

(03-20-2011, 02:08 PM)yankneck696 Just a step away from controlling the electronic IP's, I would say. With that, you would be able to infinitely tune the turbo &IP to work together & get any response you want. Oh, you can't adjust it with the Android, can you? Just monitor the gagues, or can you actually BT a change into the processor? That would be wickednizzacool !!!

i haven't messed with bluetooth and arduinos, but strictly speaking its a matter of what he writes into the code.

i still don't think i would be so eager to use BT especially if it was for mission critical systems.


RE: EngineSystemsManagement - 300D50 - 03-20-2011

I hope to see this graduate from the Arduino IDE into one of atmel's automotive grade MCU's, and then take over the IP... Big Grin


RE: EngineSystemsManagement - yankneck696 - 03-20-2011

I was thinking that with bi-directional communication, you could do a multistage setup, like the Bullydog & such. There would be multiple tunes that can be picked at will from the changes in code.
I havent truly programmed anything since the Wang 2200, but BASIC was pretty easy to do with if/then.

Ed


RE: EngineSystemsManagement - winmutt - 03-20-2011

(03-20-2011, 02:56 PM)yankneck696 I havent truly programmed anything since the Wang 2200, but BASIC was pretty easy to do with if/then.

Ed

Processing the arduino language is pretty easy.

If there is a market I will do a one board solution.


RE: EngineSystemsManagement - yankneck696 - 03-20-2011

I guess I could see a huge market for all of the 606 electronic engines with something that's flexible enough to handle the different element sizes. I do know that's alot of R&D, but you may want to leave possibilities open.
Also, I think most of the cell carriers use the Android platform, so good pick.

Ed


RE: EngineSystemsManagement - winmutt - 03-20-2011

(03-20-2011, 01:16 PM)stan why bluetooth+android instead of running some gauges? or what about giving the setup its own lcd?

Well lats face it. Gauges of any kind rarely look as good and as clean as stock. They also dont blink bright red or set off klaxons. The cost of an LCD is ~ the cost of the bluetooth shield. I have found what I consider to be an awesome place for my android.


RE: EngineSystemsManagement - winmutt - 03-20-2011

(03-20-2011, 02:08 PM)yankneck696 Just a step away from controlling the electronic IP's, I would say. With that, you would be able to infinitely tune the turbo &IP to work together & get any response you want. Oh, you can't adjust it with the Android, can you? Just monitor the gagues, or can you actually BT a change into the processor? That would be wickednizzacool !!!
You could easily change parameters in the arduino, however they would be lost on reset. It would be pretty easy to get a good config on the fly and then reburn with a variety of configurations.



RE: EngineSystemsManagement - winmutt - 03-20-2011

(03-20-2011, 02:18 PM)stan i still don't think i would be so eager to use BT especially if it was for mission critical systems.
The arduino would handle the processing for controlling the turbo. Everything else is just an input.



RE: EngineSystemsManagement - JTY - 03-22-2011

Nice setup, personally i would go with standalone setup with custom LCD built in the car as i have with my own supermeter project that uses
also microcontroller for everything. Also LCD are really cheap and you get them in million different sizes and formats.
It's nice to have phone support, but then you need your phone always and it's married with your phone little bit too much Smile



RE: EngineSystemsManagement - winmutt - 03-23-2011

(03-22-2011, 07:04 PM)JTY Nice setup, personally i would go with standalone setup with custom LCD built in the car as i have with my own supermeter project that uses
also microcontroller for everything. Also LCD are really cheap and you get them in million different sizes and formats.
It's nice to have phone support, but then you need your phone always and it's married with your phone little bit too much Smile

Pictures of your LCD? I couldnt find a good place for it which is why I went with the phone. I don't talk much on the phone anyways so it works better for me.


RE: EngineSystemsManagement - stan - 03-23-2011

(03-23-2011, 12:43 PM)winmutt
(03-22-2011, 07:04 PM)JTY Nice setup, personally i would go with standalone setup with custom LCD built in the car as i have with my own supermeter project that uses
also microcontroller for everything. Also LCD are really cheap and you get them in million different sizes and formats.
It's nice to have phone support, but then you need your phone always and it's married with your phone little bit too much Smile

Pictures of your LCD? I couldnt find a good place for it which is why I went with the phone. I don't talk much on the phone anyways so it works better for me.

how about an LCD character display? there are tons available if you check out mouser. adding the code to run a display is easy as hell. you can get graphic lcds too if you really want. i would think its much smarter to leave the phone out of it, especially when all you're doing is using it for a display.

[Image: 16x2-Red-0.jpg]

[Image: foto_dogm163s-a_3d.jpg]


RE: EngineSystemsManagement - JTY - 03-24-2011

(03-23-2011, 12:43 PM)winmutt Pictures of your LCD? I couldnt find a good place for it which is why I went with the phone. I don't talk much on the phone anyways so it works better for me.

I have several versions for different uses.

Big high contrast character LCD:
[Image: p1030236.jpg]

Small graphical LCD:
[Image: p1030333.jpg]

Big inverted character LCD:
[Image: supermeter-diesel1.jpg]

Best with LCD is the contrast in every weather, night time, even in direct sunshine always good visibility, here's one with direct sunlight:
[Image: p1030230.jpg]

Here's also OLED based LCD from first character prototype spring 2009.
This OLED is very nice, but in direct sunshine fades a little bit.
I still have this display model in two turbo cars because it integrates so nicely:




RE: EngineSystemsManagement - winmutt - 03-25-2011

Yes but where do you put the LCD screens?


RE: EngineSystemsManagement - winmutt - 03-25-2011

Moving forward with things that the Android excels at. GPS speed VS reported from speedo.

I have been looking at the GPS code and this will be the next implement. Reported speed vs GPS. The display will always show GPS speed and then reported speed as an offset.

Nothing much other to report than I got landscape mode working properly and will be the default for car dock.


RE: EngineSystemsManagement - stan - 03-25-2011

i suppose you could always just include a harness for an LCD - maybe put a jumper on your final board to have the arduino swap some variables around for display on a character lcd. keep it modular!

i know that i've wanted to build a control system to run wvo 2-tank, but this sounds like fun too.


what are you using on the sensor side for rack position and fluid temps? i've figured that the stock temp sensors might just be k-type thermocouples but i havent had the time or money to investigate (and get a thermocouple amplifier board).

have you thought about fuel pressure sensing? being able to see both line pressure and pressure drop across the filters would be handy for diagnostics.


RE: EngineSystemsManagement - winmutt - 03-26-2011

(03-25-2011, 01:56 AM)stan i suppose you could always just include a harness for an LCD - maybe put a jumper on your final board to have the arduino swap some variables around for display on a character lcd. keep it modular!
On the model Arduino I have the number of pins is limited and I believe I may not be able to monitor everything I want.
Quote:i know that i've wanted to build a control system to run wvo 2-tank, but this sounds like fun too.

what are you using on the sensor side for rack position and fluid temps? i've figured that the stock temp sensors might just be k-type thermocouples but i havent had the time or money to investigate (and get a thermocouple amplifier board).
I doubt the fluids use a K type thermocoupler, more likely a thermistor no?
Quote:have you thought about fuel pressure sensing? being able to see both line pressure and pressure drop across the filters would be handy for diagnostics.
Not really, I am focused on VNT control.




RE: EngineSystemsManagement - 300D50 - 03-26-2011

Get a huge atmel mcu, breadboard, 7805 regulator, and a crystal, and flash the arduino bootloader.
No need to buy pre-fab unless you want to. Wink


RE: EngineSystemsManagement - JTY - 03-26-2011

(03-26-2011, 07:50 AM)300D50 Get a huge atmel mcu, breadboard, 7805 regulator, and a crystal, and flash the arduino bootloader.
No need to buy pre-fab unless you want to. Wink

Yes vote for bigger mcu, maybe atmel or microchip.
I use microchip PIC family, they have great mcu's with lot's of I/O pins.
Also like better to have modular system with wide range of sensor support ntc/ptc, k-type thermocouples, map sensors, wideband lambda etc.


(03-25-2011, 01:40 AM)winmutt Yes but where do you put the LCD screens?

It depends on the car, usually at left side window corner or between gauge cluster and steering wheel. Casing also depends which display and car.

Like this, same oled display in my audi:
[Image: audi-s6-oled.jpg]

Sorry no picture only video, here's the normal place i use:


Also why i like direct LCD display better than bluetooth or other remote display is that the response is fast, almost instant. When you are driving fast you need to get the sensor information reliable, quickly and accurate.
Before i started to build my on system i used some ready systems from the market, but wow how slow they were Angry



RE: EngineSystemsManagement - eurotuning - 03-26-2011

In my opinion the best is a tablet pc, you can buy in circuit city the Archos 7 for $100, and then have the TunerStudio with a nice display cluster.


RE: EngineSystemsManagement - winmutt - 03-29-2011

(03-26-2011, 11:34 PM)eurotuning In my opinion the best is a tablet pc, you can buy in circuit city the Archos 7 for $100, and then have the TunerStudio with a nice display cluster.

And they have car mounts. The problem with this is theft. My phone comes with me when I leave the car....


RE: EngineSystemsManagement - winmutt - 04-01-2011

Got a few hours of code in last night. Got the MAX6675 code in for the EGT sensor and started working up a simple protocol for streaming the different inputs to the Android. The documentation the on the Arduino is pretty lacking once you get further into it. Having a hard problem with strings, probably going to go old school and use malloc instead of futzing around with their Strings class (only avail in Arduinp 0019 and up however the 0022 I have installed doesn't like uploading code).

Also got the serial interface working on the BT shield and was able to set it at 115200 baud. At this point I have 7 more digital I/O pings and 4 more analogs. I fired up the analog without anything plugged in last night. Code is getting tighter, I have ~5k out of a max of 14k. I think instead of trying to convert numbers on the arduino into human readable I will let the android handle that, should cut a k or two of code out.

Reprogramming the Arduino is a PITA as you have to remove the BT shield to upload code and then the BT shield wont work with the USB cord plugged in, so I am constantly swapping them in and out.


RE: EngineSystemsManagement - garage - 04-01-2011

I love reading the updates on this thread..
But all this shit is just WAY over my head ha.

Once this is complete is it going to be like an App for a smartphone to act as an LCD screen for the benz? Reading boost, egts, controlling a VGT, etcetc??
Im confused as to how the phone is going to keep track of/control this wirelessly?
I dont even have a smartphone yet...so im really behind haha


RE: EngineSystemsManagement - stan - 04-03-2011

(04-01-2011, 08:47 AM)winmutt Got a few hours of code in last night. Got the MAX6675 code in for the EGT sensor and started working up a simple protocol for streaming the different inputs to the Android. The documentation the on the Arduino is pretty lacking once you get further into it. Having a hard problem with strings, probably going to go old school and use malloc instead of futzing around with their Strings class (only avail in Arduinp 0019 and up however the 0022 I have installed doesn't like uploading code).

Also got the serial interface working on the BT shield and was able to set it at 115200 baud. At this point I have 7 more digital I/O pings and 4 more analogs. I fired up the analog without anything plugged in last night. Code is getting tighter, I have ~5k out of a max of 14k. I think instead of trying to convert numbers on the arduino into human readable I will let the android handle that, should cut a k or two of code out.

Reprogramming the Arduino is a PITA as you have to remove the BT shield to upload code and then the BT shield wont work with the USB cord plugged in, so I am constantly swapping them in and out.

whats the issue you are having with strings?

and what issues are you having uploading code? (i've got an uno and a duemilanove here, and running 0022).




RE: EngineSystemsManagement - winmutt - 04-04-2011

(04-03-2011, 05:03 PM)stan
(04-01-2011, 08:47 AM)winmutt Got a few hours of code in last night. Got the MAX6675 code in for the EGT sensor and started working up a simple protocol for streaming the different inputs to the Android. The documentation the on the Arduino is pretty lacking once you get further into it. Having a hard problem with strings, probably going to go old school and use malloc instead of futzing around with their Strings class (only avail in Arduinp 0019 and up however the 0022 I have installed doesn't like uploading code).

Also got the serial interface working on the BT shield and was able to set it at 115200 baud. At this point I have 7 more digital I/O pings and 4 more analogs. I fired up the analog without anything plugged in last night. Code is getting tighter, I have ~5k out of a max of 14k. I think instead of trying to convert numbers on the arduino into human readable I will let the android handle that, should cut a k or two of code out.

Reprogramming the Arduino is a PITA as you have to remove the BT shield to upload code and then the BT shield wont work with the USB cord plugged in, so I am constantly swapping them in and out.

whats the issue you are having with strings?

and what issues are you having uploading code? (i've got an uno and a duemilanove here, and running 0022).
http://arduino.cc/forum/index.php?topic=55470.new;topicseen#new

Looks like I got a response.

Re strings, the examples I saw did not include malloc when using char* as I would expect in normal ol C. Turns out I do need them, so next time I get some time in I will hopefully get it all fixed up.



RE: EngineSystemsManagement - stan - 04-05-2011

i'm slightly off (high fever) right now but why wouldnt you just use a string? its a valid data type in arduino.


RE: EngineSystemsManagement - winmutt - 04-05-2011

In 0019 and up, and Amarino takes a char*. It also takes up more memory than raw char*


RE: EngineSystemsManagement - winmutt - 04-08-2012

A year later and I'm getting back to this project. Bad news is that I have lost the code. Good news is that I now have a Asus transformer and can develop right on the android. Much better than the old way. I also have a spare phone for the project and am not sure where to put the display. Ashtray may still be the reigning champion.


RE: EngineSystemsManagement - Purplecomputer - 04-08-2012

Arduino using processing right? if so i might be able to help with some of the coding that is if Im not to rusty with Processing.


RE: EngineSystemsManagement - w123love - 04-08-2012

(04-08-2012, 08:24 PM)winmutt A year later and I'm getting back to this project. Bad news is that I have lost the code. Good news is that I now have a Asus transformer and can develop right on the android. Much better than the old way. I also have a spare phone for the project and am not sure where to put the display. Ashtray may still be the reigning champion.

Boom. Ashtray mount is where its at. I did one with a 4x20 character LCD display. The ashtray could probably take a 6x30 if desired.


RE: EngineSystemsManagement - winmutt - 11-09-2012

Sadly during the last move I lost the box that had this project in it. Gonna start looking for new stuff tonight.


RE: EngineSystemsManagement - Simpler=Better - 11-10-2012

(11-09-2012, 07:17 PM)winmutt Sadly during the last move I lost the box that had this project in it. Gonna start looking for new stuff tonight.

Sure the GF didn't "misplace" it during the move :p ?


RE: EngineSystemsManagement - winmutt - 11-10-2012

Im sure my wife doesnt want me spending another $100 on "stuff". I did find an arduino+lcd combo for $35, the k type thermocoupler breakout for $10 and a boost solution for $5. It's not the fancy android I want yet, really can't justify the cost of bluetooth and I want a permanent readout.


RE: EngineSystemsManagement - winmutt - 11-30-2012

Reboot. I couldn't resist this puppy: http://www.amazon.com/SainSmart-Sensor-Shield-Display-Module/dp/B009A5261M/ref=?ie=UTF8&m=A10EAPE4CAYC9P


RE: EngineSystemsManagement - winmutt - 12-11-2012

My SainSmart came AND my wife found the old arduino and all the extras I had on it. Yay!


RE: EngineSystemsManagement - SurfRodder - 12-13-2012

(12-11-2012, 07:20 AM)winmutt My SainSmart came AND my wife found the old arduino and all the extras I had on it. Yay!

Score!


RE: EngineSystemsManagement - winmutt - 05-24-2013

Two years later I have boost and egt working. Need to run to frys at some point this weekend to get some wires and a case and I'll feed the tach in as well.


RE: EngineSystemsManagement - Purplecomputer - 05-24-2013

(05-24-2013, 05:20 PM)winmutt Two years later I have boost and egt working. Need to run to frys at some point this weekend to get some wires and a case and I'll feed the tach in as well.

Are you keeping the micro controller on the arduino development board or did you move it onto another board that you have designed?

I'm working on the same project. Can't get the LCD to work. I'm using sample code from the library so its obviously how I'm using the breadboard to hook it up.


RE: EngineSystemsManagement - winmutt - 05-28-2013

(05-24-2013, 06:24 PM)Purplecomputer
(05-24-2013, 05:20 PM)winmutt Two years later I have boost and egt working. Need to run to frys at some point this weekend to get some wires and a case and I'll feed the tach in as well.

Are you keeping the micro controller on the arduino development board or did you move it onto another board that you have designed?

I'm working on the same project. Can't get the LCD to work. I'm using sample code from the library so its obviously how I'm using the breadboard to hook it up.

I am and I too had a ton of problems getting the lcd to work. The documentation is shiet in some places. What are you using?


RE: EngineSystemsManagement - winmutt - 05-28-2013



The following is now working:

LCD Output
Boost gauge (need banjo bolt anyone got one?)
Pyro gauge


TODO:
Tachometer input (this is work in progress)
BT interface
Android interface
Noise makers
ALDA cut off


RE: EngineSystemsManagement - Purplecomputer - 05-28-2013

(05-28-2013, 08:51 AM)winmutt
(05-24-2013, 06:24 PM)Purplecomputer
(05-24-2013, 05:20 PM)winmutt Two years later I have boost and egt working. Need to run to frys at some point this weekend to get some wires and a case and I'll feed the tach in as well.

Are you keeping the micro controller on the arduino development board or did you move it onto another board that you have designed?

I'm working on the same project. Can't get the LCD to work. I'm using sample code from the library so its obviously how I'm using the breadboard to hook it up.

I am and I too had a ton of problems getting the lcd to work. The documentation is shiet in some places. What are you using?

i bought a cheap $10 16x2 lcd based off the HD44780.
when i start messing around with some of pin placements I get block of grey to appear but no text. Might take it to one of the professors on campus to help me out.

are you going open source with the code?

Once I get mine up and running I was planning on sharing it.
Not much of a good coder though :/


RE: EngineSystemsManagement - winmutt - 05-28-2013

Open source, yes. It's nothing pretty just a bunch of hobbled together demos Big Grin.


RE: EngineSystemsManagement - lgreeley83 - 05-28-2013

I hate to dumb down a thread but I'm just happy I didn't see iPhone anywhere. Android ftw.


RE: EngineSystemsManagement - winmutt - 06-06-2013



A bit of a hack job on the tach but pretty decent for round 1. And yes the lcd is mounted with .... duct tape. I will probably do something involving glue and clips later. Found that a resistor was blown on the tach, that's an easy fix. I also broke two more important lights (oil warning, water level) lights off th pcb on the right but am going to pull a part this weekend.

All the code is slapped together now, this is the debug=1 setting. I don't know the reference values for the pressure sensor yet and I haven't figured out what the best way is to measure frequency from tach. I am also worried about the resistor that I found in the tach, makes me wonder how it fried and not the ELR etc.


RE: EngineSystemsManagement - Simpler=Better - 06-06-2013

I'd pay $20 for a writeup of wiring diagrams, part numbers, part sources, code, and how to load the code.

In other words, that looks sick


RE: EngineSystemsManagement - winmutt - 06-09-2013

Mounted in car and looks great. I ended up having to pass on the project box I got and mounted the arduino straight to the rear or the clock. I should of done more bench testing never actually tested LCD and Pyro at same time and the pyro is registering a number and that is it (max6675). Both run on SPI so I think there is a conflict there. And oh ya, now my clock doesnt work :\


RE: EngineSystemsManagement - winmutt - 06-13-2013

So I pulled the cluster today and plugged it into USB to start debugging my problem and it came up as 0 F. I r&r'ed power again and it came up as 0 F again. In the car it was random numbers. So my hypothesis is that using the USB car charger input to 5v on the board might not have been such a smart thing and the shield with the max6675 (pyro) isnt getting enough (or maybe to much) power. I will go to radioshack at lunch and pickup a 2.1mm plug and fuse holder and see if that fixes things.


RE: EngineSystemsManagement - winmutt - 06-16-2013

I've tracked down my issue to a code problem and now a grounding problem in the thermocouple. Need to pull the sensor and make sure its in the wiring.