Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : OBD2 Interfac e?
Author | Message | ||||
Nick Guru Joined: 09/06/2011 Location: AustraliaPosts: 512 |
Is anyone working on an automotive ODB2 interface for the Maximite? This would be a great project and would promote the Maximite quite well as a useful tool. Nick |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
I made a list of all the pic32 pins and how they are used in the colourmm. Here is the part for the can bus devices: name conflicts with Pin# MM Description ----------------------------------------------------------- ----- C1RX ETXD1/PMD11/RF0 87 Pin 25 bus receive pin C1TX ETXD0/PMD10/RF1 88 Pin 26 bus transmit pin AC1RX SS4/U5RX/U2CTS/RF12 40 nc Alternate bus receive pin AC1TX SCK4/U5TX/U2RTS/RF13 39 SD - Clock to card (Alternate bus transmit pin) == C2RX PMD8/RG0 90 nc bus receive pin C2TX ETXERR/PMD9/RG1 89 nc bus transmit pin AC2RX T4CK/RC4 8 nc Alternate bus receive pin AC2TX T3CK/RC3 7 Pin 34 Alternate bus transmit pin nc = Not Connected From this i think you can use the first can bus device on pin 25 and 26. The second can bus device is not brought out to the connector. http://ww1.microchip.com/downloads/en/DeviceDoc/61154B.pdf Microblocks. Build with logic. |
||||
Nick Guru Joined: 09/06/2011 Location: AustraliaPosts: 512 |
I no nothing about ODB2. Is this a "CAN" interface bus? If so, is this what is yet to be added to the Maximite firmware? (newbie here) Nick |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
CAN-bus usually accessed via 6 and 14 pin of OBD II connector [code] OBD 2 CAN pinout Pin Signal Description 4 CGND GND 5 SGND GND 6 CAN High 14 CAN Low 16 +12v Battery power [/code] from: http://pinoutsguide.com/CarElectronics/obd_can_bus_pinout.sh tml As far as i understand it the can bus is the interface and odb II is the protocol. A nice app example that could also be made on an mm: Android ODB II I just bought the item showed in the video on amazon for $15 OBDII Bluetooth scanner Microblocks. Build with logic. |
||||
Nick Guru Joined: 09/06/2011 Location: AustraliaPosts: 512 |
So all we need is a CAN interface on the Maximite, The necessary cable connector and then software that mimics the functions of that ODB II scanner... and then make it better! Nick |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Nick, regarding CAN, please read: http://www.thebackshed.com/forum/forum_posts.asp?TID=4889&PN =1&TPN=6 and: http://priuschat.com/threads/my-duinomite-mega-canview-v4-eq uivalent-project.112429/ Don... https://www.dontronics.com |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 6098 |
Silicon Chip February 2010 had an article on OBDII and an OBDII to RS232 converter project. Worth a read. Jim VK7JH MMedit MMBasic Help |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3801 |
The ideas behind OBD II are fairly simple but the details aren't. There are in round terms 4 different Standard interfaces (ISO, VPW, PWM & CAN) and lots of protocols and non-standard interfaces. Well worth a serious read on wikipedia but it is only an intro and only really to the standard. Many people let an ELM (such as ELM327, USB or Bluetooth) do a lot of the work and then just interface to the elm. That way you don't need a CAN (it's on the elm), just USB or BT, and also most of the speedy stuff is buffered OK by the elm. If you're planning to use DM/MMBasic you have to worry somewhat about the speed. It's common for car makers to put non-standard stuff on the OBD connector pins, sometimes contrary to the standard, so be very wary about voltages etc which may be present. And of course you can get nasty voltage spikes from a car, up to about 42V. The kind of code to talk to an elm is in scantool.net for which quite a bit of source code is available. To use USB you'd need the DM as a host and I don't think MMBasic provides that. Or any BT support? John |
||||
jdh2550 Regular Member Joined: 16/07/2012 Location: United StatesPosts: 62 |
Note that C1RX & C1TX would need to go to a CAN transceiver chip before attaching to the CAN bus. The transceiver takes the TX/RX signals and actually puts out the CAN-High / CAN-Low signals on the bus. At least I think that's how it works. I think the DM must have a transceiver in between C1 and it's CAN port. If you were to make a hardware add-on for the MM to add a transceiver then if you want to make a "better" solution than the DM add in opto-isolation (or some other form of isolation). That's currently "missing" from the DM solution. When you have the hardware in place you should be able to use Frank Voorburgs CAN implementation. |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3801 |
There's no need for opto-isolation. Have a look at the data sheet for the chip used by the DM Mega :) It can withstand all the nasty stuff. John |
||||
jdh2550 Regular Member Joined: 16/07/2012 Location: United StatesPosts: 62 |
I'll have a look. However, I'd be bridging between a Prius HV battery pack's ground and the chassis ground of the 12V system. If there were an "event" it wouldn't be pretty... |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3801 |
For safety are they not very very thoroughly bonded together? I'm puzzled anyway, why do you want to bridge between them? For OBD you would not be, would you? John |
||||
jdh2550 Regular Member Joined: 16/07/2012 Location: United StatesPosts: 62 |
I'm no EE so my terminology is probably not right. I'm doing a project on the Prius which requires creating two separate CAN buses. The HV pack has it's own ground. I.e. it's a completely separate circuit from the normal 12V circuit. This means it takes two failures in the HV circuit to create a live chassis. This is a "good thing" The CAN bus operates relative to the vehicle ground. In the normal Prius there's a battery ECU that measures HV pack voltage and communicates this on the main CAN bus. I'm assuming that the battery ECU has isolation in it to keep the two circuits electrically isolated. In my project I want to replace the normal small NiMH pack with a big LiFePO4 pack. Furthermore I want to be able to use EV only power when driving at highway speeds. The normal Prius will top out at around 50mph. To go faster you have to change the behavior of the main hybrid ECU. The way I change that behavior is to separate the ICE ECU onto it's own bus and to create a new battery ECU. I intercept messages between hybrid ECU and ICE ECU and instead inject my own messages - hence the need for the bridge. And if I replace the battery ECU then I need to make sure I still have isolation (fried vehicle occupants are just too messy to clean up). In fact, I'm thinking of repurposing the existing battery ECU so that should address the isolation issue for me. All this is explained in more detail over at: http://priuschat.com/threads/yapip-recreating-peefs-approach .109724/ In particular see: http://priuschat.com/threads/yapip-recreating-peefs-approach .109724/page-8#post-1595655 http://priuschat.com/threads/yapip-recreating-peefs-approach .109724/page-9#post-1611497 It's this Prius project that lead me to the DM Mega (thanks to Bruce on Priuschat.com). |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3801 |
OK. You're not really doing OBD2. It sounds interesting but a separate thread might really have been helpful, with the background to help people see that you're doing something else. I'd study the way the (allegedly?) separate systems are electrically wired over the CAN bus since it's terribly central to not getting anything or anyone fried. Several guys here are pretty good electically & electronically so may well have ideas. I'm wondering if this really should go in a new thread, though, because even the CAN messages the Prius uses for things like battery SoC are not actually OBD2. If a mod is reading... how about splitting this stuff off please? John |
||||
Print this page |