OBD II and CAN -- auto repair for the 21st century
#1
Posted 19 October 2008 - 01:40 PM
It turns out his car is billowing smoke - not from the tailpipe, but under the hood.
On further interrogation it turns out that it failed inspection -- in April (not that it stopped him from driving it daily) and will cost more than the car is worth to repair. He wanted help finding a new one.
Now I love his dealer (I go to the same one), but I've never seen a dealer who wasn't overly eager to write a car off. It's not greed, it's keeping the customer happy. They don't want to take chances. If the car keeps breaking down after $5000 in repairs, you're going to blame them, and that's not good for business.
On even more interrogation (I tell you, I'm on the verge of beating the man with a bag of lentils), I learn that he has no idea what is wrong with his car. After a harsh round of over-the-phone legume abuse, I finally get him to fax me a copy of the dealer's report. Sure enough, it may not require a full transmission replacement (though that's what the factory recommends) and may be an easy fix. I just depends which of to flavors of engine he has.
The smoke? I'm 99% sure that's just a loose valve cover gasket. It turns out he's been slowly losing oil for six months.
Now, we'll set aside the question of why he couldn't have told me all this in the spring, so I could have worked on it in the lazy warmth of the summer (no, we won't. I hate hate HATE working on cars in the cold, it numbs my hands, freezes the nuts and makes every rough edge sharper). We'll try to make the best of it. This is a good excuse for me to build something I've wanted for ages: a full OBD II/CAN engine computer analyzer.
In Massachusetts, like most states with so-called "smog control inspections", *any* error code will fail your car. They don't even do a real safety inspection anymore. They just give it a visual once-over on their way to plug their computer into the car's computer socket. I don't want this to turn into a winter-long project. I want to fix it all in one weekend and be done -- and that means reading and resetting the error codes, various sensors, and maybe doing some realtime datalogging
OBD? OBD-II? CAN?
OBD (On-Board Diagnostics) was an early system that let mechanics read crude error codes from your onboard car computers (on some early models, it simply flashed an uninformative "Engine Trouble" light) in cars up to roughly 1996 (depending on make/model) OBD II was an upgraded version used on all cars since 1996 (and some cars before that) [more info] []way too much info on wikipedia]. CAN (Controller Area Network) is a much faster and more sophisticated networking system that is in all 2008 and later models (in the US, I don't know about the rest of the world) The faster bus allows reading of real-time operating data.
CAN is sophisticated enough to create a "glass cockpit" for automobiles -- or even aviation simulators and light aircraft (I haven't checked what fighters/airliners use). General in-the-field automation, and many other industries are starting to use it too. It's been available in the Linux kernel since 2.6. You can see why I want to get some hands-on experience with it
You can buy a simple OBD-II reader for $70-150, but I figure I can build a combined OBD-II/CAN interface, run by free downloaded software for less, and it will be capable of doing considerably more: resetting errors, realtime data colection and debugging, digital analysis and diagnosis. It will work on any car made since 1996, and probably any car I drive for the next ten years. Hacker value aside, it's a good investment.
It should be a heck of a ride. Join me, won't you?
#2
Posted 19 October 2008 - 10:15 PM
There is an affordable ($32.50 CDN) specialty chip on the market, the ELM327, which handles OBD-II/CAN [6pp Quick Reference PDF] [59 pp full datasheet], and a wide assortment of freeware software that communicates with this chip via USB or RS-232 or BlueTooth. The schematic for the adapter is pretty simple, and I bet I can find a pre-designed Printed Circuit to etch, if I look hard enough. Why re-invent the wheel?
Here are some videos of these solutions in operation so you can see some of the things it can do.
OBD too techie for ya? There are step-by-step OBD for Dummies tutorials. This one is for the free ScanTool
From Chile: A Chinese knockoff running an old version of EasyOBDII -- video is over a year old.
A home brew circuit running OBD-diag (note how tiny and simple the serial adapter is)
CarMan software on a Nokia N800 handheld computer, using Linux, connected by BlueTooth, 1997 (cool ideas: use OBD-II to provide additional dash gauges or modify an LCD for a windshield head-up display)
Using OBD to assess a COSM-II HHO (hydrogen from electrlysis system
I'm skeptical of HHO, but I seriously applaud his method, and I'll read his blog to see what he has to say
Man spricht hier Deutsch -- weil OBD-II weltweit ist.
A demo/discussion of CAN
There are several commercially manufactured adapters based on the ELM-327, if you don't feel like rolling your own, including some quite cheap Chinese knock-offs (<$30 shipped -- less than the single-unit price of the ELM327 chip).
If you're considering a knock-off, due to limited need, you should be aware that some models have poor quality control, or other limitations -- e.g.: they may be based on the older V1.2 instead of v1.3 chip being shipped by ELM Electronics today, or may not work with the latest version of some free software (knock-off detection?) By all accounts, you should *at least* research the specific seller and their product carefully before buying, to assess your risk of getting a lemon. I'm curious to try one -- I can most likely fix one that arrives broken-- but I know I'm going to have to build my own from scratch eventually, if only to have something to experiment with.
I'm off to read...
#3
Posted 09 May 2009 - 06:47 PM
Naturally, I forgot, until today, when a note in my project planner warned that Elm Electronics (maker of the IC chip) would be closing for a 10-day vacation. So when better to post this than today, when I have no tech backup?
Below are some drawings for the circuit (you an wire it point to point, if you wish). I have more data, including spec sheets, PDFs for cleaner template printing, and Gerber files for automated production. I'll post a ZIP bundle later.
Someday, I'll do a printed circuit board thread. It easier than you think. Here are the outlines of three methods that I recommend. You can Google for the details, or start a thread here in the TC. Remember, these are just outlines, designed to show you that, yes, you CAN do it. I taught myself to do it as a broke ~10 year old, using incredibly crude materials (I even had to make my own FeCl). These instruction probably leave out useful details (e.g. FeCl should only contact plastic, glass, unchipped enameled, or other nonreactive materials -- never metal)
SCHEMATIC:
PCB LAYOUT: (both sides)
TEST VOLTAGES WITH and WITHOUT IC: (to test that your wiriing/traces are correct, and IC is working)
As I said, I'll be providing a package with better building details/drawings. These are just for study/info purposes.
NEXT UP: A look at one of those cheap Chinese knockoffs
Under $5 to buy, over $20 to ship, yet still a bargain for parts alone. Some say this kills Western business, but I say we tinkerers help our nations far more by developing our skills to invent/design. If our nations fall, it will be because we made ourselves incapable of anything but monkeywork and passive consumerism --and then couldn't compete on monkeywork. Did 30 years of blind "buy American" flag-waving help Detroit be competitive?
It's better to make ourselves the next Henry Ford than the next Ford Motor Co -- before WE are the ones making knockoffs
One branch of this project will modify/upgrade the knock-off with "genuine" parts to make a latest-generation unit while putting MORE cash in the Canadian designer/inventor's pocket than a pricey unit from a manufacturer (with his big volume discount). It's no more unYourCountryan than fixing you own car and depriving a pricey mechanic/dealership of business.
[ETA: outlined Press-N-Peel method, which I don't personally use, but is probably the best way for most people]
#4
Posted 11 May 2009 - 11:25 AM
"James Carville emerges from the conflagration riding a burning alligator . . ."
#5
Posted 13 May 2009 - 01:33 AM
The casing is extruded aluminum, with pretty good fit and finish. (It was actually better when I received it, before six months of occasional disassembly and reassembly) Boy, this brings back some memories. This is what we used to impress customers back in the early 80s when I ran a small design/consulting house, and most shops were submitting prototypes in phenolic boxes with sheet aluminum faceplates. We'd stick a slab of iron in the second slot: the Pointy Headed Bosses swooned over the "precision engineering" (We'd tell the techs it was for rigidity in "space reserved for future expansion)
Take a tip from Scotty: even today, when everyone seems to want to trim every ounce, adding weight to a prototype will make your competitors' prototypes feel like toys, and then make your version without it seem like genius.
Sometimes we actually *did* use that second slot for expansion. For example, we could add a wireless board here, or flash memory for data logging and logic for debugging really pesky intermittent events--or maybe a microphone and the new inexpensive Arduino accelerometer, for a gadget that could help diagnose mystery noises in the car as you drove. GPS has a lot of interesting potential for the true geek, since CAN/OBDC knows *exactly* how much fuel is being metered into the engine at any instant. You measure a lot of former imponderables, like the exact effect of hills or sharp turns on mileage.
Note that the casing consists of two identically asymmetric extrusion (one edge has a ridge, the other has a groove), and that the PCB is in the bottom half. This will help you with speedy reassembly.
The CAN/OBDC cable is a nice bonus. At one point last year, these were running almost as much as an entire assembled unit. Though overseas competition spurred some vendors to bring the price down, it's the second costliest "necessary component" for a home-built unit, second only to a legitimate ELM chip. Since it has a DE-9 connector on the other end (also known, incorrectly, as a "serial" or "RS-232" connector), we can reuse the cable when we build a full CAN unit.
I'm including larger shots of the top and bottom of the PCB, because we may need them to determine why some newer versions of various software won't work with knockoffs, if upgrading to the latest real ELM doesn't clear that up. Though it isn't evident in these shots, build and soldering quality was pretty darn good on this model, as shipped, unlike horror stories I've read about some other models -- too good, I think, to be just "the luck of the draw" without some real production QC.
#6
Posted 17 May 2009 - 05:02 PM
I've been using Digimoto Light, but I'm hoping I get ahold of the author of a custom piece of software at the MP3Car forums. I haven't found anything Linux based that I liked yet.
Have you done any tinkering with your OBD2 interface yet, Orph?
Also, I've heard it's possible to reprogram the PRAM with the interface. Any idea what kind of things that could do?
"James Carville emerges from the conflagration riding a burning alligator . . ."
#7
Posted 19 May 2009 - 01:16 PM
Some of the software was borrowed, and the controller computer I'd been using is currently being used on another project. I hope to get the band together this summer to write up some sort of proper software reviews.
I will say this much: the ones I tried ran fine on a Virgin Webplayer that long ago modified for automotive dashboard mounting and 12v operation. Since that's a 90s-era 200MHz Pentium-class LCD web appliance (given away free to subscribers to Virgin's failed dial-up ISP -- see my thread on replacing broken LCDs), almost any computer that's still in your closet will be powerful enough to run these programs under Win98se (for USB support) or Win2K or *nix.
The one reason for upgrading your chip that leaps immediately to mind is the resolution of some buffer lockup issues, but there were other workarounds for those, and not everyone had problems to begin with.
#8
Posted 19 May 2009 - 08:48 PM
It doesn't come with a cable, but it lists sources for the OBDC/CAN connector (and all the other parts as well). If I were building it myself, I'd either spend a few more bucks for a fully premade cable with both ends assembled, plus a hood (I've seen them for as little as $7 lately) or if expense was an issue, skip the D-connector end, and solder those wires directly into the corresponding holes on the board -- that will save you buying both the male and female D connectors, which are kind of going out of style anyway. On the other hand, since they are going out of style, you may be able to salvage them from an old serial cable extension (or dead motherboard, modem cable, etc)
Since the ELM327 is the real brains of both designs, and both interface with the same OBDC programs, they should be functionally equivalent. Any modifications we make to our design won't directly apply, but can very likely be adapted.
I don't know if the kit comes with a chart of test voltages, as ours does. I'd have found that very useful when I was starting out
#9
Posted 25 May 2009 - 09:55 AM
"James Carville emerges from the conflagration riding a burning alligator . . ."
#10
Posted 20 September 2009 - 12:42 PM
Worse, I think that most of us know that dealer mechanics are not automatically the best diagnosticians or repairment. For example, Volvo dealer technicians are forbidden to work on transmissions. They can only perform replacements, and are required to send the old transmission back to Sweden. If you need such a replacement, you will be given the official line that "Volvo doesn't sell rebuilt transmissions", but there can be little question that the nominally "new" transmission Volvo does sell was rebuilt from a returned unit, especially if you have an older model. Many states, like Massachusetts, have laws saying that you are entitled to keep the broken part for inspection, but manufacturer imposed "core charges" that can run thousands of dollars make that option useless for most owners. What would you do with the broken transmission, even if you kept it? And with so few cores available, there is little expertise in rebuilding them.
Last year I fixed a red warning light problem on my father's Volvo transmission. Far from being impossible to fix, as the dealer said, it was a simple electrical short in the wire to the S2 solenoid. Repair cost? Under two hours and two bucks for an amateur like me. A good auto shop should have been able to do it in an hour, were the resources available.
The Massachusetts legislature is currently considering a "right to repair" law that would force the manufacturers to release the OBD/CAN codes and other onboard computer information. Needless to say, the auto manufacturers are fighting it hard, because manufacturer secrecy has created a thriving industry in third-party OBD/CAN code databases, with subscriptions costing thousands of dollars, which would immediately distribute information released in Massachusetts to the rest of the world.
I'll be following this law, and anyone who votes against it or tries to block it from a vote, because there is no substantial auto manufacturer presence in Massachusetts, nor any benefit to consumers from not having access to critical data about their own car. IMHO, it would clearly highlight state legislators who are "excessively susceptible to lobbying interests"
#11
Posted 06 February 2012 - 12:51 AM
I'll be buying a "light use" truck/van/cargo minivan at Interstate Auctions soon. I just want some convenient cargo capacity, though I won't foreseeably put many miles on it for many years. I can therefore tailor my usage to how many trouble-free miles it seems to have left in it over time. It's a reality of "convenience" utility vehicles: lifetime reg/ins will likely exceed the purchase price, since you aren't pressed to buy immediately and can wait for a bargain. Since my personal inspection/test-drive window will just a few hours before any auction series, I'm looking into the current state of OBD-II/CAN readers. Sometimes the mere fact that the error codes were reset a few miles ago can tell me not to waste my time. (My favored auction house doesn't routinely reset codes, but beware: some do.)
You can get an OBD-II Bluetooth unit on Amazon for about $20, similar to the price on eBay, DealExtreme or other oriental-origin site, and only several dollars more than the cheapest hardwire USB OBD-II converter. I recommend that even if you feel strongly about using an authentic ELM327 chip or want to build your own unit, you're still better off buying one of these for parts: a bare OBD-II connector still runs $13 or more. My old wired unit has a lot of parts (like the housing and connectors, useful for other projects) that are worth almost what I paid for it, years ago, so one way or another I'm going Bluetooth.
Bottom line: despite the logging capabilities of most current OBD-II apps for laptops or handhelds, It's foolish to do an OBD-II test drive alone. You should have someone else drive while you monitor the OBD-II from the passenger seat -- even if a 3-5 ft (1-1.6 m) hard cable will reach, it's often very awkward.
I haven't looked at the current state of the art in laptop apps (Windows or *nix), but if you have a smartphone or tablet, the Torque app seems to be ruling the roost, at least on a first look. Comments? Suggestions?
#12
Posted 07 August 2012 - 03:01 AM
Newer cars use CAN (Controller Area Network) which is just a slightly fancier OBD. Amusingly, CAN was invented for cars by the Society of Automotive Engineers back in 1983, but over the past 20 years this very capable networking system has been used for everything from airplanes (including combat jets) to tanks to factories and power stations, while cars hobbled along with some crippled OBD subset -- usually idiosyncratic and not as easy to use as a full CAN
The Car Kracker project is a useful controller that works with the ISO 9141 "standard" (The standard doesn't deserve ironic quotes, but the implementations do) which is common for most Honda, Chrysler, Toyota, VW, Minis Land Rovers and BMW's from 1995-2005. It can also be used on some other makes/models (especially with all the rebadging that has been going on since the 80s) and as more and more hackers learn to use microcontrollers, I can see it branching out into other standards -- this could be easier than starting a thriving project for those other standards from scratch.
What can it do? Well, I haven't looked into it in depth, but it shows promise for allowing you to reprogram electronic dashboard or radio displays to show what *you* want, to integrate car systems with bluetooth or the web (via cell or wifi), collect running data, add locking and other functions -- it's still in its early days.
This post is just a heads-up so those of you who are interested can research it on the web for your own uses.
"You don't use science fiction to become right. You use it to illustrate why you're right." - Orpheus
► "I don't suffer from stress. I'm a carrier." -- Orpheus
"Yeah, we feel the same way." -- USS Nimitz, USS Dwight D. Eisenhower, USS Carl Vinson
"What does a Heavy Cruiser have to do to get some respect around here?" -- XMC Andromeda
#13
Posted 07 August 2012 - 03:15 AM
Discussion is an exchange of knowledge: argument is an exchange of ignorance.
Peace is not the absence of conflict, but the ability to cope with it.
APOGEE MESSAGE BOARD
#14
Posted 15 August 2012 - 10:49 PM
The official manufacturer repair manuals increasingly recommend disconnecting the battery for more and more repairs. Sometimes it's really warranted, sometimes it's just necessary to get the (+) cable out of the way, and sometimes it's just excessive paranoia about possible static discharge.
Unfortunately, as they recommend it more and more, it's also increasingly inconvenient. Disconnecting the battery allows the car's RAM to discharge, which can lose many settings: the time on the clock, the channels on the radio, custom seat positions -- and on some cars can reset the security system, disable the radio entirely (ostensibly an anti-theft measure) or cause other serious inconveniences.
Mechanics commonly attach a simple jig (two wires connected to a 9v battery clip) across the battery cables before disconnecting the battery. It saves a LOT of time and inconvenience, but it's not ideal. For one thing, 12v is better (but probably not worth the hassle unless you already have a 12v battery handy. On many cars, you have to turn the key for this simple mechanics jig to work, but this activates other circuits, may expose your car electronics unnecessarily and may draw more current than a 9v battery can sustain for very long.
A better solution is to use the OBD connector to feed your cars electronics directly (pin 4 is power ground, Pin 16 is +12v). I recently saw a $250 OBD battery bypass at my mechanic's garage and couldn't resist taking it apart (with his permission) Inside it had a small 12v SLA battery, a few LEDs, some resistors, and not much else
Small SLAs (Seal Lead Acid) and similar 12v batteries are cheap. or you can use one 9v or 6-8 AAA batteries in series. The rest is optional, and probably in your junkbox. Your biggest expense would be a male ODB plug (which have gotten a lot cheaper in the past year), but you can equally easily use single-pin terminals, micro clips or even small alligator clips wrapped in electrical tape.
The female OBD-II connector on your car, seen head on.
Attach the bypass battery to pin 4(- or GND) and 16 (+)
BEFORE you disconnect the car's battery.
#15
Posted 13 January 2013 - 10:10 PM
"You don't use science fiction to become right. You use it to illustrate why you're right." - Orpheus
► "I don't suffer from stress. I'm a carrier." -- Orpheus
"Yeah, we feel the same way." -- USS Nimitz, USS Dwight D. Eisenhower, USS Carl Vinson
"What does a Heavy Cruiser have to do to get some respect around here?" -- XMC Andromeda
Also tagged with one or more of these keywords: OBD, CAN, automotive, CarRepair, DIY, hacking
DIY
Create →
Creators Corner →
Design a working handheld GUI device in minutes [WATCH!]Started by Guest-Orpheus-Guest , 27 Mar 2013 |
|
|
||
Create →
Creators Corner →
Slick trick to generate smooth 3D-printed plastic objectsStarted by Guest-Orpheus-Guest , 04 Mar 2013 |
|
|
||
DIY
Create →
Creators Corner →
Wall WartsStarted by Guest-Orpheus-Guest , 03 Mar 2013 |
|
|
||
Discuss →
Orbis Terrarum →
War with China?Started by Guest-offworlder-Guest , 19 Feb 2013 |
|
|
||
DIY
Create →
Creators Corner →
Easy repair of alphanumeric LCD displays on consumer devicesStarted by Guest-Orpheus-Guest , 19 Jan 2013 |
|
|
0 user(s) are browsing this forum
0 members, 0 guests, 0 anonymous users










