One of the things that still pisses me off/makes me shudder is I broke the oil filter in the family car, ran it for a dozen or so miles until the engine seized and the damn light never came on.
Mercedes A-Class has an oil pressure warning light in the middle of the display you canât normally see - turns out this comes on if you follow the manufacturersâ instructions in a check-up and fill the oil level to the recommended level - because the oil tank is warmed and the oil begins to froth, this sets off the sensor, so if you follow the manufacturersâ manual you will always set off your own oil pressure warning light⌠who knew?
Most auto parts stores will read from the OBD II port for free
They might in the US, here in the UK theyâll generally try and charge you ÂŁ20 for the privilege. An OBD2 cable costs about ÂŁ15.
Clearing the trouble codes turns off the light but puts the car into a âNot Ready to Testâ mode. Until some time has passed (about 24 hours, and that must include some periods of 55+ MPH and idling in traffic, among other things) there is a stored code that will not turn on the CEL,
This depends on the car, in my Peugeot itâs less than five minutes and you just have to take it above a certain number of revs for a few seconds in order for the engine management to re-calibrate.
The dang Prius gas light comes on with about 3 gallons remaining. That car is a filthy liar on top of it - I canât even tell you how many times the gas light has come on, mileage calculator says I should have used 10 gallons, I go fill up, and it takes 8-9 gallons. For my fairly short commutes, thatâs another couple days I couldâve gone without filling up.
You can get a $20 bluetooth OBD-II transmitter that can send the output to your Android or iOS device. You can then interpret the codes and figure out whatâs going on. Buying and OBD reader is a small barrier, but it keeps out most of those for whom the information would convey no useful information.
I donât know that you car giving everyone the equivalent of an obscure computer dialog saying âError -1748â would be super helpful to most people, and people figuring it is something they can fix themselves might lead to serious problems.
Reading the number from a display to someone else over e.g. a cellphone can be pretty helpful when something breaks (or even just starts complaining) in the field.
As of the serious problems, I am SICK of people trying to âprotectâ me from myself.
Well, itâs true that fewer and fewer people can consider themselves qualified to fix their cars anymore (partly due to increased complexity, partly due to the popular perception that cars are too complicated to work on anymore, partly due to a decline in popularity of dirty-handed DIYness), but the thing is, the codes needed to be short back in the OBD-I and OBD-II days because they needed to be read either by counting the flashes of a light, or on the screen of a small handheld device that couldnât display many characters. Since many (if not most) new cars come with screens for satnav and entertainment packages, thereâs no reason why an OBD-III protocol couldnât display a simple description of the problem, like the code descriptions of old, right on the screen:
Misfire detected in cylinder #2
O2 sensor detects mixture rich beyond ECMâs capability to compensate
Lean mixture consonant with vacuum leak
More than 7500 miles since last oil change
High coolant temp - A/C compressor disabled - check thermostat
To quote Clarkson, how hard could it be?
Or a Mini CooperâŚ
Do you rent all your cars?
You canât possibly have owned very many of them and not experienced the intermittent, maddening fonogoddamnedgoodreason check engine light coming on.
There is a check motherboard light. Itâs bright blue, with some random gibberish scrawled over the top of it
Might be a Toyota owner. ;^) In the past 28 years that Iâve been a licensed driver, Iâve owned or been otherwise responsible for 19 cars and trucks, and of the seven that have been new enough to actually possess Malfunction Indicator Lamps (as GM used to call them), Iâve only ever seen the MIL light up in two of them, not counting the times when the MIL lights up upon starting the vehicle, when all the dashboard indicators light up as a self-test. The '97 Volvoâs MIL lit up when it needed that vacuum leak repaired in the intake manifold gasket, and the '93 Caprice had the MIL light up a couple times for various reasons. The '94 Toyota Truck is still running up in Alaska with over 270,000 miles on the clock, and its MIL has never been triggered. I never saw the MIL go off in the couple years I had the '95 Firebird (1996-1998), nor the 2005 Subaru WRX (2005-2009), and our '07 Toyota RAV 4 and '04 Toyota Sienna are both approaching 100,000 miles with nary a MIL trigger between them.
But Iâm a tight-twistinâ gas-cap sonofabitch. ;^)
About as easy as it can be. A hardcoded string table mapped to the numbers. I could code that by hand in Microchip PIC assembler almost 20 years ago (about when PIC16C84 was new-ish). (I am too old for assembler now, so Atmel avr-gcc flavor of C it is.)
For an app running on a real operating system it is even easier, at least if you already have a code skeleton you can mod.
Yeah, thatâs about what I thought. Should be almost exactly the same as the old system, but with longer character strings as the code results. Of course, in this day and age, there should be even more granular detail.
This very morning I took the Sienna in to have the A/C recharged. Last time I took it in for this purpose, the A/C system was fine, but the thermostat needed replacing, and as the engine got hot, the ECM sensibly shut off the A/C compressor to help cool the engine. (My wife usually drives it, and hadnât noticed that the temperature gauge was getting a bit warmer than usual.) Anyway, this time I watched the temperature gauge, and no, it still wasnât getting excessively high, even on our recent hot-ass days, so I figured this time surely the 10-year-old minivan just needed new freon. But the mechanic called back an hour or two ago and said nope, the freon pressure is still fine, but the carâs running hot again⌠this time because the main fan wonât turn on. The secondary fan, the one that turns on when the engine temperature gets a tad too warm or when you turn on the A/C, is still working fine, but the main fan motor is dead. The cooling system is burly enough that weâve driven the car this way for weeks and weeks during the hottest autumn on record in L.A., and it hasnât overheated⌠but it did get hot enough to disable the A/C after a few minutes of driving.
So we need to install a new main fan. Gonna set me back $400 or so. Of course, I could go dig a used fan up at a junkyard, but I donât mind spending the money on a new one, and I donât particularly feel like pulling out the old one and putting in a new one for the negligible amount of money I might save by buying a new one from Toyota myself.
Anyhoo, a smart ECM might have been able to communicate to me that the engine is running hotter than usual, though not nearly hot enough to actually overheat, just enough to occasionally disable the A/C compressor, and that the reason for this is $MAIN_FAN_NOT_OPERABLE or, in the case of the previous fault, $MAIN_FAN_OPERABLE => CHECK_THERMOSTAT.
The system can have its own diagnostics. Moving parts that can seize are fairly easy; and even stupid $1.50 computer case fans have a pulse output to measure their rpms, no reason why it couldnât scale. WIth enough memory, which is not a problem in the age of multigigabyte flash disks, many parameters can be logged and then correlated, and shown in some sort of graph as they were developing over time (e.g. calculated motor power output vs (engine temperature minus ambient temperature), that could be a good indicator of cooling system performance and impending failure). A current and rpm sensor on a motor can indicate degradation of attached mechanical assembly, as more force is needed to get it moving. Vibration sensors can provide early warning for degradation of bearings.
With enough data, and suitable processing, the car can do a lot of preventive maintenance on itself.
The monitoring devices on satellites and space probes, which allow e.g. watching power consumption on individual bus branches, can be a good inspiration here.
I tellya, itâs a bummer that planned obsolescence and a distaste for letting car owners fix their own shit are factors here. Automakers should have been doing this for years now.
I still hope for aftermarket modkits with self-diagnostic electronics. Perhaps opensource engine control unit, too, designed for interfacing with different kinds of sensors and fuel injectors⌠A generic package of car electronics, which can be wired into many sorts of carsâŚ
âŚand, letâs say we can dream, CAD drawings (or at least 3d scans) of the mechanical parts that fail most often. So they can be made from a suitable alloy in any CNC shop.
There actually are a set of rudimentary motherboard error codes too. Depending on the manufacturer, itâs either expressed as a set of high and low pitched Mobo speaker beeps, a sequence of monotone beeps, a set of 4 or 5 numbered lights on the front of the case (I work with a lot of Dell Optiplex 780s, and they have this type of error code indicator), or a flashing light on the motherboard. Most of the time youâll never be able to find what these indicators mean. Usually the manufacturer never bothers to add a table of the codes to their PDF manual on the product site. And thereâs absolutely no standard for what anything means. Well, there are standards (IBM has one that a few companies used to adhere to) but nobody uses them any more.
There are also the POST codes. These are normally invisible, they are sent to hardware port 0x80, and can be shown with a PCI (or, at extra-old machines, ISA) card. They are BIOS-specific (what BIOSes are there these days? Used to be AMI, Award, and couple othersâŚ). In the good olâ ISA times, when I was making these cards, all you needed was a couple gates (you needed the A0âŚA19 signals, could be hardwired to a decoder made of couple gates, and a IOWR# signal that together with the matching addresses latched the D0âŚD7 signals to output of a 74HC574 chip), a latch (the 574), and a pair of 7seg displays and 4bit-to-hexdigit decoders (attached to the 574). All just the discrete 74xx line of chips, nothing fancy.
And if Iâd be good for something, Iâd learn how to make cards for PCI (okay, PCI-Express) bus⌠Would be handy for e.g. high-speed data acquisitionâŚ
The POST cards can be cheaply bought on eBay these days.
Also, see this:
Hmm. I didnât know about POST Codes. In fact, I thought mostly the purpose of the POST was just to make sure that the system had the expected electrical conductivities and resistances. Like, if you had a cracked mobo, or an improperly seated RAM DIMM, itâd know to poweroff. Thatâs what most of the machines I work on do. A lot of machines by default are set to âpower on after power failureâ which is really stupid for anything not plugged into a UPS and isnât mission critical. If the power goes out, why would it be a good idea to turn the machine back on as soon as thereâs enough juice to trip the PSU? Where I live, when the power comes back on, itâs very dirty and might cycle off again. I donât know if itâs the linemenâs doing or what, but itâs like itâs designed to wreck PCs that automatically turn back on when the power comes back.
Good lord, youâve never had an O2 sensor go bad? Each of our cars have gone thru at least 2.