Powering an ODB1 ECU on the Bench

Type-GS-R-Turbo

#61 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Hey guys, Today is the official release of the OBD I Engine Simulator. It can be found on http://www.moates.net under the Engine Simulator category!

Image

The one in the above picture is missing the switches for the VTEC Pressure and Service Check Connector because all of the completely assembled ones are at Craig's already LOL.

No upgradable firmware yet, but this is something I'll likely add and notify you guys of. Either way, it works great no codes (that can't be disabled).

Smooth1

#62 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Guys, this unit is top notch quality in person. Thanks for a great product Darren.

Craig Moates

#63 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Darren rocks again, great work! :twisted:

7rrivera7

#64 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Darren, what do I need to study in order to design products like this? I have tinkered in digital electronics and have basic knowledge but it wasn't my major.

Any books, online references or study material you can suggest is welcome.

Thanks!

JaredKaragen

#65 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Darren, I was having a conversation with a friend that was totally unrelated, but it made me think of your rising or falling edge dilemma...

It has to be falling edge it reads from... look at how the CKP sensor reads... sloping all the way up until an abrupt drop.... it has to read the falling edge, while the rest of the time it is rising.

Just thought I would put in my .02c =)

Type-GS-R-Turbo

#66 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Thanks for the support guys. Purchasing products like this keeps the dream alive for the bigger and better projects I have in the pipeline ;)

Quote:
Darren, what do I need to study in order to design products like this? I have tinkered in digital electronics and have basic knowledge but it wasn't my major.

Any books, online references or study material you can suggest is welcome.

Thanks!


Well there are a couple of aspects of this project so my knowledge came from a variety of sources:
1) Schematic/Board layout - I know how to connect everything to a microcontroller because I've spent a significant amount of time hooking up DIP package microcontrollers on breadboards. When you switch to surface mount, the pin names are all the same, you just have to have a board laid out to solder them to. About two years ago I discovered that I live less than a mile away from Craig of Moates.net so when I started working there, I prodded him to show me how to lay out boards. He gave me a quick and dirty run through on how he does everything with Eagle. He also introduced me to http://www.33each.com. Soon after I met Craig I switched my major to computer engineering. (I was a business major when I figured out all the microcontroller stuff, LOL)

2) Writing code - My first experience with C came when I was a sophomore in college and I took a C programming class. After doing this and multiple computer science projects for attractive females stuck in similar computer science classes for their nursing/premed major, I became quite good at it.

Recommendations:
Pick up a breadboard and get some microcontrollers headed your way. Most companies (except NXP) offer free samples on their microcontrollers. (Microchip and ST for sure). Get a seven segment LED going counting up and down from 0 to 9 or something. It won't take long before you see why these things are so useful.

It took me awhile before I found an ideal platform to start with. With PICs (at the time, I'm not so sure about nowadays) there were no worthwhile free C compilers. After writing a handful of programs in PIC Assembly, I split the cost for the student license of the CCS C compiler with a couple of buddies and got a legit copy of it. That compiler has saved me TONS of work on the PIC chips. Tons of built in functions for literally everything. However, it wasn't very long before I realized that PICs were for newbs. (it occurred as soon as I realized that Hondata used PICs on everything LOL). Dave (Blundar) told me I should look into ARM chips because "They are incredibly powerful and don't use a broken architecture like PICs". I wouldn't fully understand that statement until I took computer architecture and an ARM Representative gave a speech at my school. I became the advocate for ARM so hardcore in my comp arch. class that my teacher put a special question about the ARM pipeline on our final. The rest of the class hated me. LOL

Once you're comfortable getting basic stuff down on a breadboard, grab the lite version of Eagle start getting a feel for it. Once you start getting into more advanced chips, its going to be harder to find DIP packages. (I've spent a lot of time soldering resistor legs to SOIC chips to convert them to DIP, they look like rectangular spiders LOL). So inevitably you're going to need to get boards made. Its tricky the first few times but with a deal like $33 each or even the cheaper barebones special, you can get all the practice you need.

If you live near a university, see about getting involved on the robotics team. That's a great way to get started with exactly this kind of stuff and have somebody else foot the bill ;) Plus they may end up trusting you with keys to the lab.

Personally, I wasn't feeling the robotics team, so instead I got on the FSAE team at LSU and did their electronics. Most FSAE teams are comprised purely of Mechanical Engineers that don't want to learn anything about electronics, so you'll be way more valuable to them than you would to the robotics team. Although if you're just starting out, you may want to be on a team like the robotics team where you have the opportunity to learn the electronics first.

Anyway, I hope this helps. If you have specific questions feel free to PM me or shoot me an email.

Orthello

#67 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

I studied electronics at a private school in Holland. We learned a lot about the basic/traditional electronics like resistors, caps, (FE) transistors, etc. etc. Also programming in C and C++ was involved but working with controllers wasn't teached.

After I swiched electronics for an IT job about 8 years ago (java developer, and since one year C#) all the electronics knowledge got somewhere in my toes.
Two years back I was playing with a GPS antenne and found out how extremly simple it was to use that bit of hardware with a PC. It made all the electronics knowledge bubble up again and made me so freaking eager to do hands-on electronics stuff again. So I got myself a mission.
Buy an AP1 cockpit en start finding out de exacte signal specs for VSS en ECT and build my own converter accordingly to fit everything in my EE8 afterwards.

So that's where my journey started. I grabbed all my meters, parts and breadboard from the shed and started playing around with the stuff. Because I never use PICs, AVRs or ARMs I was looking for a solution with traditional electronics. This was harder then I thought. After talking to Mark Lamond (who didn't want to give me any details about the AP1 signals) he encouraged me to start learn stuff about controllers.

I desided to start with a PIC and PICbasic as there were tons of simpel tutorials to start with and there were (more or less) free tools to start developing code and simulate the program.

One year after I started learning to use PICs and finding out the signal details for ECT and VSS, without a scope or an S2000!! (yes, I'm insane!!!) I created my first working AP1 converter.

Now I'm at a point that I feel comfortable with PICs and I want to start to use C with AVR controllers.
PICs aren't that structured as you would like. Porting a program from one PIC to another (because you want to use a bigger PIC with extra options) always (at least in 99% of the cases) you need to rewrite your program to have the inputs and outputs match the previous PIC pin design.

AVRs are far more structured with regard to inputs and outputs.

Now people are talking about ARM I'm getting curious. If getting familiar with ARM is as simple/difficult to learn as AVR, It's better to go with ARM I think.
Hopefully there are good and not to expensive (development)tools to start playing with ARM.
For me it's just hobby.

If you want to play with PIC (or AVR or ARM) you need a level of basic electronics skills.
Think about you need to know how to create a stable 5V power supply. (with an 7805 for example)
You also need to know how to use LEDs on 5V by calculating the correct resistor value.
Think about pull-up and pull-down resistors and debouncing mechanical switches (the old VSS in 4th gen civics for example are very noisy and need propper debouncing)
Next you need some programming skills in any language.
And get comfortable with reading datasheets.

Assembler is complex and hard to read and learn. If you're playing with PIC/AVR/ARM for just hobby purpose, stay away from Assembler and use a next generation language like Basic or C. Assembler is way to intimidating.


some links:
PICBasic dev: Proton by CrownHill
PIC simulation: PIC Simulator IDE by OshonSoft (also available for AVR, Z80 and 8085 processors)
Circuit and PCB design: Eagle

note for PIC Sim from Oshonsoft... the free version works for two hours each time you start the program. And can just be started an X number of times.
Use this reg key (from a .reg file) every time you start PIC Sim and the X counter will say "this is the 2nd time you start PIC sim" ;)
Code:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Data\Microsoft]
"Address"="10485760"

Yes... Oshon hides the counter in the IE section of the registry. ;) REGMON found this key for me.
With this trick you can use the Oshon simulator unlimited number of times. You only need to start the program after every two hours. That's all.


To program a PIC or AVR you need a programmer. That can be a universal programmer like the one from Willem.org.
But you can also choose to build your own (jet very simple!!) ICSP programmer by using your pc's COM/LPT port.
Advantage of ICSP... no need to pull the processor from the board every time you want to change your software (firmware)
ICSP = In Circuit Serial Programming

example of simple ICSP boards:
Galve-Wisp (COM port)
best-microcontroller-projects (LPT port)

This post isn't a complete overview but just some tips and links where to start.




oh... LOL...
The "hello world" example for new software developers is equal to the "blinking LED" example for new electronics developers. :D
So... first thing... try to make a LED blink.

good luck!

Warning.... it's very veeeeeeery addictive, so think before you start :D

7rrivera7

#68 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Wow thanks guys for the tremendous responses :shock:

I appreciate you've shared these tips and pointers which will allow me to concentrate in the areas most appropriate at this time. I've got a new mission!

Type-GS-R-Turbo

#69 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Update!

I've sold a handful of these units, thank you for your support!

I've also received some feedback that VTEC doesn't engage when using the stock code in the ECU.

The typical situation would be that you just added VTEC to an ECU, you burn a P30 ROM to the chip and you don't get VTEC.

Well as we all know, the stock code requires Vehicle Speed, Coolant Temperature, Oil Pressure, etc to all be perfect for this to work.

While Vehicle Speed and Coolant Temp are relatively easy fixes, I've found that the Oil Pressure remover for CROME leaves a lot to be desired. CROME Gold fixes this issue, so the attached binary is a CROME Gold map with the appropriate changes made such that VTEC will engage at 5000 RPM no matter what.

Attachment:
Engine Sim - VTEC Test.bin

dohcvtec

#70 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

i did my part, bought the EngineSim and its on its way to me. :mrgreen:

you know, if you provide the code on the pic, i can make the change for it to support OBD0 ecu's. (Change the pulses for the 24 tooth wheel to 16 tooth wheel, and so on)

locash

#71 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

I ran across this while I was perusing the moates site and knew I had to have one! Thanks for making something useful, and I hope that it only continues to get better.. Any plans for making a case for it, to make it more, uh, durable? :)

At any rate, thanks again, I can't wait to use it!

Type-GS-R-Turbo

#72 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Quote:
you know, if you provide the code on the pic, i can make the change for it to support OBD0 ecu's


Well I would be a little bit more open about releasing the final source code if I didn't see a copycat board appear mere weeks after I posted my original source code. However I may decide to provide it to particular individuals on a request basis.

Quote:
Any plans for making a case for it, to make it more, uh, durable?


I've considered having a case for it, but these units are very expensive to manufacture as is. If somebody can point me in the direction of a plastic enclosure that is approximately the same size, I may consider using it. I can design the board around it.

Also, would anybody be interested in a lower-cost version of the unit without connectors?

locash

#73 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Someone already copied the thing? sheesh, the vultures are out!

Looks like I'll use my CNC equipment and get to work on making a case for the one I ordered, do you have a simple cad file of where all of the mounting holes, pot holes, and external board dimensions, that you could share? I like the idea of the clear "cover" of sorts that you used when showing the gauges on your youtube video.. :)

Would the version without connectors just need the ecu plugs with wire soldered to them, or would the board already have the wires attached? Either way, most people here wouldn't mind adding a few connectors to save a few bucks, as this is a DIY forum, eh? :)

locash

#74 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

I received my unit today, and while evaluating it, I ran across a few things..

1. Coolant Temp pot intermittently working. (may not be the pot itself, perhaps something else wrong?). Tried a few ecu's, on Neptune and Hondata systems to no avail..

2. No mounting holes in PCB? Strange, makes mounting it a bit difficult, lol..

3. Would it be possible to add a power switch to this in future versions? The VTP switch is less useful than a power switch, lol.. :)

4. Might be a good idea to supply a dc power supply with higher voltage/amperage output, voltage was in the 9-10v range while powering an ecu with an S300.. I think the power supply provided was a 12v, 500mw unit? (I dont have the unit in front of me to check right now)..

5. VSS output would be a nice addition, as when testing ecu's prepared for Hondata S300, vtec will not operate without VSS input..

6. Injector LED's stay OFF above 6000rpm, would be nice if they just stayed ON, so you know that the injector is actually firing.. :)

Please only take this as constructive criticism, the unit is still very helpful, and will undoubtedly save lots of headaches down the road, every tuner should have one, and I've already told a few people to buy them, so hopefully the sales will put some beer money in your pocket! If some of these things can be addressed with a firmware update, that would be great, if I need to send it in, that can be done as well..

Thanks!

locash

#75 โ—ˆ 2016-04-04

Re: Powering an ODB1 ECU on the Bench

Update: I found that the ECT pot does not properly work if the SCS switch is off.. If I turn on the SCS switch, the ECT pot works normally.. Odd..

Also, ECT max is 190F? Might be a good idea to allow a swing from say, 30F to 250F..