View Single Post
Old 08-20-2008, 09:07 AM   #130 (permalink)
Test Tool Engr.
Join Date: Aug 2008
Location: Elgin, IL, USA
Posts: 47

Red Rocket - '02 Honda Civic LX Sedan
90 day: 33.57 mpg (US)

Bronze Bucket - '98 Toyota Corolla VE
90 day: 34.97 mpg (US)

Silver Bullet - '06 Hyundai Sonata GL
90 day: 31.58 mpg (US)
Thanks: 0
Thanked 0 Times in 0 Posts
I'm not too worried about CAN at the moment. (Honestly, this project isn't so amazingly difficult that the whole thing couldn't be ported to a non-Arduino AT90CAN completely in a handful of days).

My personal opinion is that if CAN is important, using the Arduino becomes more of a hindrance than a help, honestly -- ATmega168 and AT90CAN are basically software-compatible parts already, so why not just use the AT90CAN for everything? But then one has to worry about solderability, since AT90CAN is only a flat-pack part.

AT90CAN has dual USART, which means one could be dedicated to J1850 PWM (via a transceiver chip) while the other is doing ISO 9141. I think you could probably get away with J1850 VPW in software -- it's not as baud-sensitive a protocol. They're a $10 part in low quantity, and everything can be run in the same place -- that's really where you want to be if cost is an issue.

But I digress. If you want it done quick, re-use stuff people have done before you. If you want it done cheap, do it all over again yourself. But to be honest, using an Arduino for half of the task and then the ELM or an AT90CAN to save your butt when you find out Arduino isn't up to the task doesn't make too much sense to me, honestly. (Well, the Arduino+ELM one does, but only if the situation we're dealing with is "I need it right away.")

What we need here is to consider the pros and cons of a design before trying to brute-force it. My estimate is that on an Arduino, we have this situation:
- ISO 9141-2: Likely able to implement using UART + level converting chip
- J1850 VPW: Likely able to implement using GPIO + level converting chip
- J1850 PWM: Likely able to implement using UART + I/O handler chip
- CAN: Requires external chip to make it talk at decent speeds.

With an AT90CAN, we run into most of the same situation, but you have two USARTs instead of the one UART the ATMega168 has, so running both in the same bit of software becomes a little more feasible. Plus CAN has dedicated HW, so no external chip. If I had a car with CAN, I'd be heading this route right about now... but luckily, I don't!

With Arduino+ELM327, we have no problems except for our pocketbooks. I can't imagine the cheapest solution involving an ELM327 costing significantly less than $60.

Bottom line is, before tackling CAN, I think getting ISO and VPW to work on the existing platform would be a reasonable milestone, since the hardware is there to do so.
  Reply With Quote